当我在Nsight中调试时,Cuda错误30消失了

时间:2013-03-05 05:09:38

标签: cuda gpu nsight

VS 2010k和Nsight v3

我正在为一些cuda模块制作mod;当我在VS中以调试模式运行此主机代码时:

result = cuLaunchKernel ( cuFunction, dimGrid.x, dimGrid.y, dimGrid.z, dimBlock.x, dimBlock.y, dimBlock.z, shared, stream, argsG, 0);
cudaDeviceSynchronize();
err = cudaGetLastError();

我得到结果的值为零,但错误在第一次通过这部分代码时每次都是30 [或未知]。

所以我解雇了NSight想要解决这个问题。处理了我的整个输入文件,没有任何错误。打开Nsight和reran中的内存检查。再次处理整个文件而没有投诉。

所以:在Host调试下,每次启动此代码都会导致错误30,但是在Nsight的控制下运行并且没有错误。

有人有解释吗?

感谢

1 个答案:

答案 0 :(得分:0)

解决了thr程序问题:由于bug而计算出错误的全局内存地址。为什么Nsight 没有捕获错误但是直接航行 - 即使启用了内存检查,我也不明白。