【发布时间】:2012-12-14 15:27:42
【问题描述】:
只是对 CUDA 的一些疑问。也许他们可能看起来很愚蠢的问题;对此我深表歉意。
如果我在 GPU 上声明一个变量(例如,具有 N 个元素的数组 alpha,cudaMalloc((void**)&alpha, N * sizeof(double)))并在全局函数中分配它的值而不释放它内存,这个变量应该可以用于其他后续的全局函数吧?
此外,是否可以(或可取)在 GPU 上计算一个标量变量并使其在 GPU 上的多个全局函数之间共享,还是每次都将它作为来自 CPU 的参数传递更好?
感谢您的关注。
【问题讨论】:
-
感谢您的所有回答。我无法在 GPU 上计算我的所有项目,因为我有一个递归循环。因此,我的目标是在此循环之外的 GPU 上计算一些常量数组,而不释放所使用的内存,以及 CPU 上的一些常量标量。然后,在递归循环中,我将尽可能使用全局函数。
标签: cuda global-variables