编译cuda程序时出现致命错误

Alv*_*vin 3 cuda nvidia

我正在使用动态并行性来实现一个程序.每当我编译代码时,它都会抛出致命错误,如下所示:

ptxas fatal : Unresolved extern function 'cudaGetParameterBuffer'

编译如下:

nvcc -o dyn_par dyn_par.cu -arch=sm_35

怎么解决?

Suh*_*tel 5

cudaGetParameterBuffercudadevrt库的一部分,您需要在编译器命令中指定--relocatable-device-code它并指定为true

nvcc -o dyn_par dyn_par.cu -arch=sm_35 -lcudadevrt --relocatable-device-code true
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看Nvidia 的CUDA Dynamic Parallelism Programming Guide(第21页介绍上述内容)