CUDA设备功能如何工作?

时间:2013-10-08 14:55:38

标签: cuda nvidia

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

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

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

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