改写SDK时候,看到SDK在.cu中用了全局变量,我也顺手写了个__device__的全局指针用于存储数据,并且用cudamalloc分配,结果死活kernel无法启动,发现应该是给全局指针的分配不成功。上网看了资料,发了帖子http://topic.csdn.net/u/20120406/11/96e76e5d-0923-444e-9b62-abaeac28e676.html,都没找到解决办法。
其实换一个思路,为什么一定要用全局呢,直接在main函数中分配,然后用形参传进去,一切OK。困扰了两天的问题解决。
但是,如果在某些特殊情况下非要用__device__声明全局指针,那该怎么正确的分配空间呢。。。