我可以使用PTX文件中包含的PTX函数作为外部设备函数来将其链接到另一个应调用该函数的.cu文件吗?
这是来自CUDA - link kernels together的另一个问题,该函数本身未包含在.cu文件中,但是我宁愿以某种方式链接PTX函数。
最佳答案
您可以通过cuModuleLoad
和cuModuleGetFunction
从文件系统中以自己的代码加载包含PTX代码的文件,如下所示:
CUmodule module;
CUfunction function;
const char* module_file = "my_ptx_file.ptx";
const char* kernel_name = "my_kernel_name";
err = cuModuleLoad(&module, module_file);
err = cuModuleGetFunction(&function, module, kernel_name);
您还可以将PTX代码作为字符串直接传递给CUDA驱动程序,请参见Passing the PTX program to the CUDA driver directly。
关于c++ - 将内核链接到PTX功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20657004/