Interoperability#
Machine Representation#
cuTile executes Python tile code on NVIDIA GPUs by translating the Python code into a machine representation that can be executed by CUDA devices. Functions, types, and objects all have a machine representation.
Machine representations are defined in terms of corresponding CUDA C++ entities.
Example: cuda.tile.float16 has the same machine representation as __half in CUDA C++.
Interoperability with SIMT#
Inter-Kernel#
Inter-kernel interoperability refers to all interoperability concerns that do not cross the kernel boundary - everything except mixing tile and SIMT code in a kernel. This includes:
Writing tile and SIMT kernels in the same source file.
Linking tile and SIMT kernels into the same binary.
Passing the same kinds of arrays to both tile and SIMT kernels.
Inter-kernel interoperability shall be supported.