标签: cuda gpu nvidia
我写了一个CUDA库,无论如何专门在某些库内核上设置寄存器上限而不是在库中的所有内核上设置寄存器上限?
答案 0 :(得分:2)
在C代码级别没有。您可以使用__launch_bounds__关键字指定每个块的线程的预期上限,这可能导致在编译周期中每个线程限制的上限寄存器。或者,如果编译为PTX,则可以将.maxnreg引入内核前导码。
__launch_bounds__
.maxnreg
CUDA 5现在支持单独编译并具有设备代码链接器,因此还应该可以使用不同的编译器参数将内核编译到不同的设备对象文件,然后将它们链接到库对象中。