【发布时间】:2014-08-19 06:33:08
【问题描述】:
在我较早的 CUDA 项目中,我有全局变量:
__device__ uint8_t dev_intersect
__constant__ uint8_t dev_flags
...并以这种方式使用它们:
cudaGetSymbolAddress((void**)&ptr_dev_intersect,"dev_intersect")
cudaMemcpyToSymbol("dev_flags",&flags,sizeof(flags))
现在,由于 CUDA 5.0(和更高版本)必须直接传递符号(不带字符串),所以我这样定义全局变量:
__device__ uint8_t *dev_intersect
__constant__ uint8_t *dev_flags
...并以这种方式调用函数:
cudaGetSymbolAddress((void**)&ptr_dev_intersect,dev_intersect)
cudaMemcpyToSymbol(dev_flags,&flags,sizeof(flags))
到目前为止,我做得对吗?我在问你,因为当我更新代码时,我开始收到其他错误,这让我有点怀疑。谢谢你的帮助。
【问题讨论】:
标签: cuda