Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CUDA全局变量_Cuda - Fatal编程技术网

CUDA全局变量

CUDA全局变量,cuda,Cuda,如何在CUDA中创建全局变量 __device__ float *devD; cudaMalloc((void**)&devD, s); calculateDT_T2B<<<dimGrid, dimBlock>>>(); cudaMemcpy(dtr, devD, s, cudaMemcpyDeviceToHost); print(dtr); \uuuuu设备\uuuuuuu浮动*devD; 库达马洛克(void**)和德维多(s); 计算出的t_T

如何在CUDA中创建全局变量

__device__ float *devD;
cudaMalloc((void**)&devD, s);
calculateDT_T2B<<<dimGrid, dimBlock>>>();
cudaMemcpy(dtr, devD, s, cudaMemcpyDeviceToHost);
print(dtr);
\uuuuu设备\uuuuuuu浮动*devD;
库达马洛克(void**)和德维多(s);
计算出的t_T2B();
cudaMemcpy(dtr、devD、s、cudaMemcpyDeviceToHost);
打印(dtr);
它没有给出正确的答案(给出了一些随机数)。但是当我打电话的时候

calculateDT_T2B<<<dimGrid, dimBlock>>>(devD); instead of
calculateDT_T2B<<<dimGrid, dimBlock>>>();
computedt2b(devD);而不是
计算出的t_T2B();

它给出了正确的答案。。为什么?

您不能直接使用
cudamaloc
分配到GPU内存中的
\uuuu设备\uuuuu
符号上。这样做时,您只在主机内存中分配。请看我给你自己的,几乎完全一样,你张贴在一分钟内这一个。短版本用于将动态分配的设备指针写入静态声明的符号。

您能发布整个代码吗?你在哪里申报devD?它的范围真的是全球性的吗?这个问题与你关于同一主题的其他问题有什么不同?为什么不应该删除其中一个?