Using cubin files from kernels

I was wondering if there is any support for loading a cubin file as a kernel, and then launch it from a host application. I have seen something similar mentioned in the Programming Guide 1.1 called Module Management where you have functions like cuModuleLoad and cuModuleLoadData.

What I am unsure about is what is actually contained in the module? Is it just the kernel, or does it also include the setup from the host? I would like to write an application that can launch several different types of kernels, but have them precompiled and run them on demand with the use of an API that can load the kernel into a context, and then get the host to launch it.

What I am really asking, is there any way to launch device code that is compiled during runtime by using API calls?

Look at the driver API samples in the SDK (the ones with drv substring in the name).


You can use cuModuleLoad() which accepts filename of your .cubin file or cuModuleLoadData() which accepts contents of your .cubin file as a string.