【问题标题】:How does a CUDA device function work?CUDA 设备功能如何工作?
【发布时间】:2013-10-09 00:29:30
【问题描述】:

来自内核的 CUDA 设备函数调用(使用__device__ 定义)是否与主机函数类似,即它是否涉及将返回地址推入堆栈并将变量推入堆栈并在返回时检索?

如果是,那么在这种情况下,堆栈使用哪个内存? (缓存、共享或全局)

【问题讨论】:

    标签: cuda nvidia


    【解决方案1】:

    __device__ 函数可以内联也可以不内联(一般来说,主机函数也是如此)。

    如果函数是内联的,则没有堆栈使用。

    如果函数没有内联,则有堆栈使用。

    堆栈是每个线程的堆栈,它位于称为“本地”内存的逻辑空间中,由线程在称为“全局”内存的逻辑空间所在的同一物理内存中管理,即 on - 板载 GPU DRAM。

    函数是否内联存在细微差别,您可能需要阅读相关文档section

    您可以阅读有关本地内存的更多信息here(向下滚动到本地内存部分)。

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 2014-08-19
      • 2015-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多