我可以使用 PTX 文件中包含的 PTX 函数作为外部设备函数将其链接到另一个应该调用该函数的 .cu 文件吗?
这是来自CUDA的另一个问题- 将内核链接在一起,其中函数本身不包含在 .cu 文件中,但我宁愿有一个 PTX 函数以某种方式链接。
您可以通过以下方式从文件系统加载包含您自己代码中的 PTX 代码的cuModuleLoad
文件cuModuleGetFunction
:
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 驱动程序,请参阅将 PTX 程序直接传递给 CUDA 驱动程序。