主要内容

注册计数nvlink错误

问题

由于编译时计算的最大寄存器数不匹配,NVIDIA编译器(nvcc)可能会在链接阶段失败。生成的CUDA内核编译时使用由NVCC决定的最大寄存器计数。内核可以在不同的CUDA文件中调用设备函数。设备函数可以被编译为使用更多的寄存器数量,超过内核的最大寄存器计数。

您可能会遇到以下模式的错误消息:

Nvlink错误:entry function 'xxx'带有n次调用的最大计数函数'”他说。

Nvlink错误:entry function 'xx'带有n次调用的最大计数函数'”他说。

在哪里xxx而且是混乱的函数名,n而且是整数,大于n

可能的解决方案

使用“-maxrregcount n”NVCC的编译器标志来指定寄存器的最大数量。使用GPU代码配置参数中的编译器标志选项将编译器标志传递给NVCC。例如,

cfg = coder.gpuConfig;cfg.GpuConfig.compilerFlags = ' -maxrregcountn”;

在哪里n抛出的错误消息中寄存器计数的最小整数是多少nvlink

Baidu
map