I am wondering how the CUDA kernel developed using CUDA tile submitted to the GPU? Does it still using the cuLaunchKernel API or something new method to launch the CUDA tile kernel?
At the moment, cuTile launch is a python function (since all of cuTile is exposed via python, currently. In the future there will be a C++ binding.)
I guess maybe you are asking does it āunder the hoodā call a C++ library function that we might be familiar with (like cuLaunchKernel). I donāt know. But I would say 2 things: 1. I think you can figure it out with a profiler. 2. If its unspecified, then I think it is subject to change. i.e. its an implementation detail.
Having said all that, my guess is there is a pythonic library somewhere in there where the launch() api rests, and it is in turn probably calling a C++ function that is already available in CUDA driver (or runtime) API, such as cuLaunchKernel.
Yes - the standard CUDA APIs still work with Tile.
- You can compile Tile IR bytecode to cubin using the
tileirascompiler, and run that cubin using standard CUDA APIs. - The
cuModuleLoadā¦APIs can load and JIT compiler Tile IR bytecode as well (it JIT compiles the bytecode under the hood).