正如标题所示,我想知道在启动内核时是否有办法限制每个线程使用的寄存器数量。 我在每个线程上执行大量计算,因此使用的寄存器数量太高,然后占用率很低。我想尝试减少用于尝试改进并行线程执行的寄存器数量,可能以更多内存访问为代价。
我搜索了答案,但我找不到解决方案。我认为可以设置线程使用CUDA工具链的最大寄存器数,但使用Numba时是否也可以?
编辑:也许还强制在多处理器中执行最少数量的块,以迫使编译器减少使用的寄存器数量。
答案 0 :(得分:1)
据我所知,numba提供的cuda.jit
工具不允许将参数传递给CUDA汇编程序,这样可以控制寄存器分配,就像使用本机CUDA工具链一样。
所以我认为没有办法解决你的问题。