【发布时间】:2015-07-01 20:22:18
【问题描述】:
我试图在内核中声明一个 __global 内存块,比如
__global float arr[200];
我假设这会在全局内存中创建一个我可以在内核中引用的数组。程序编译成功,但随后 当我运行它时,它显示:
错误:具有自动存储持续时间的变量 不能存储在命名地址空间中
我不知道为什么会这样。 为了使用全局内存,我们是不是必须在使用前在主机端创建一个缓冲区?
如果我想创建一个由所有线程共享的数组,除了为这个全局数组传递另一个新参数之外,我能做些什么呢?
【问题讨论】: