CUDA:相同的代码在Quadro 3000M和Tesla C1060上有不同的结果

时间:2013-01-17 14:56:31

标签: cuda gpu gpgpu

以下链接指向的代码适用于Tesla C1060但在使用Quadro 3000M的移动工作站上无效。

这主要是代码的作用:

http://pastebin.com/9JKUMwZ4

Quadro 3000M上的执行只是跳过内核并在几毫秒内输出一个blanck图像。 特斯拉C1060上的执行在(例如)100秒内输出处理过的图像。奇怪的是,在最后几天,c1060上的执行也显得相当不可预测(有时跳过内核,有时输出奇怪的数字为-10 ^ 12,......)。我不明白这种行为。 它可能是驱动程序版本问题吗?

提前感谢您的帮助。

PS。 ubuntu 11.10上的两台机器

Quadro 3000M  ---> Cuda compilation tools, release 4.1, V0.2.1221
Tesla C1060   ---> Cuda compilation tools, release 4.1, V0.2.1221
编辑:问题很可能与我的2张卡的不同GPU架构有关。

1 个答案:

答案 0 :(得分:1)

__syncthreads()声明中有if。这不允许导致死锁。

请参阅__syncthreads() Deadlock帖子。

Cuda-memcheck和调试器是调查此类问题和其他问题的最佳方法。