我可以使用PTX文件中包含的PTX功能作为外部设备功能将其链接到应该调用该功能的另一个.cu文件吗?
这是来自CUDA - link kernels together的另一个问题,其中函数本身不包含在.cu文件中,但我宁愿以某种方式链接PTX函数。
答案 0 :(得分:2)
您可以按照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。