我希望使用
声明如下:
__constant__
内存,以便所有线程在所有内核中都可以访问。声明如下:
extern __constant__ float smooth [8 * 1024];
我正在使用以下方式将数据复制到这个变量中:
cudaMemcpyToSymbol("smooth", smooth_local, smooth_size, 0, cudaMemcpyHostToDevice);
平滑尺寸 = 7K字节
这个程序给了我不正确的输出。
但是当我在-deviceemu
模式下运行它,并尝试在内核中打印这两个变量的内容时,我得到的平滑值全为零,而平滑本地的值是正确的。
我尝试在cudaMemcpyToSymbol
之后立即打印输出,但仍然得到了0.
有人能解释一下我的问题吗?