【问题标题】:convert shared memory into register with Cuda使用 Cuda 将共享内存转换为寄存器
【发布时间】:2015-03-06 22:10:12
【问题描述】:

有没有办法将我不使用的共享内存转换为寄存器内存?使用 nvcc 编译时应该使用什么命令?

【问题讨论】:

    标签: cuda nvcc


    【解决方案1】:

    不,提供共享内存的硬件资源不同于提供寄存器空间的硬件资源,共享内存硬件不能替代寄存器。

    【讨论】:

    • 所以如果我需要更多的寄存器空间,我不能只使用共享内存中的一些额外内存吗?没有办法做这样的事情吗?
    • 不,没有。如果您根本不使用共享内存,或者很少使用共享内存,您可以告诉 GPU,它将允许将一些共享内存用作 L1。这涵盖了in the programming guide。但这不会影响寄存器的使用,较新的 CUDA 运行时包应该自动检测到这种情况,并将共享内存拆分转移到首选 L1。无法将共享内存重新用作寄存器空间。
    猜你喜欢
    • 2012-09-30
    • 2021-08-12
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2019-11-20
    • 2015-11-06
    • 1970-01-01
    相关资源
    最近更新 更多