将内核链接到PTX功能

时间:2013-12-18 11:32:15

标签: c++ cuda ptx

我可以使用PTX文件中包含的PTX功能作为外部设备功能将其链接到应该调用该功能的另一个.cu文件吗?

这是来自CUDA - link kernels together的另一个问题,其中函数本身不包含在.cu文件中,但我宁愿以某种方式链接PTX函数。

1 个答案:

答案 0 :(得分:2)

您可以按照cuModuleLoadcuModuleGetFunction从文件系统加载包含您自己代码的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