【问题标题】:How to limit the number of registers used by each thread in Numba (CUDA)如何限制 Numba (CUDA) 中每个线程使用的寄存器数量
【发布时间】:2018-03-12 02:23:10
【问题描述】:

正如标题所说,我想知道在启动内核时是否有办法限制每个线程使用的寄存器数量。 我在每个线程上执行大量计算,因此使用的寄存器数量太高,然后占用率很低。我想尝试减少使用的寄存器数量,以尝试改进并行线程执行,可能会以更多内存访问为代价。

我搜索了答案,但没有找到解决方案。我认为可以使用 CUDA 工具链设置线程使用的最大寄存器数,但是使用 Numba 时也可以吗?

编辑:也许还强制在多处理器中执行最少数量的块,以强制编译器减少使用的寄存器数量。

【问题讨论】:

    标签: python cuda numba


    【解决方案1】:

    据我所知,numba 提供的 cuda.jit 工具不允许将参数传递给 CUDA 汇编器,这将允许控制寄存器分配,这可以通过本机 CUDA 工具链实现。

    所以我认为没有办法做你所问的。

    【讨论】:

    • 现在好像有办法了,参考max_registershere
    猜你喜欢
    • 2013-07-07
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    相关资源
    最近更新 更多