9 ms·
I like the driver API because it allows treating Cuda kernels like hot-reloadable shaders. It's fun to develop while being able to change the code at runtime.
by mschuetz 3mo ago
I like the driver API because it allows treating Cuda kernels like hot-reloadable shaders. It's fun to develop while being able to change the code at runtime.
- einpoklum 3mo ago> I like the driver API because it allows treating Cuda kernels like hot-reloadable shaders. It is also much more friendly for library authors; and easier to wrap; and actually exposes a bunch of features the "runtime API" doesn't. The difficulty with it is that there just so many API calls; dozens of calls just for copying, for example. That was part of my motivation for writing my wrappers - making the supposedly "lower-level" API more accessible and intuitive than the supposedly "higher-level" API; and better integrated with the other libraries: NVTX, NVRTC, PTX compiler, fatbin library etc. > It's fun to develop while being able to change the code at runtime. It's also _the_ way to debug your kernels: If you don't load them dynamically, you have to recompile your application or kernel test harness every time you make a change to the kernel.