cuda调试问题

在Nsight中调试时出现这个问题链接不上怎么解决?
Module Loaded: 00f3e1a0 C:/Users/we/Desktop/RNG/RNG/kernel.cu
线程 ‘CUDA Default Context’ (0x0) 已退出,返回值为 0 (0x0)。
线程 ‘’ (0x106a1a8) 已退出,返回值为 0 (0x0)。
程序“[11964] RNG.exe: CUDA”已退出,返回值为 0 (0x0)。

LZ您好,请您检查以下几点:

1:您是否在项目属性——配置属性——CUDA Runtime API——GPU——Generate GPU Debug Information 这里选为G0?(上述按照VS2008写的,2010略有不同)

2:您是否在您的kernel里面设置了断点?

3:您是否是从nsight菜单下选择的start cuda debugging?

请您逐一检查上述3条,如有不符,请按照上面修改一下,再试验。

欢迎您继续反馈,祝您调试愉快~

请版主把第一步说的详细些?最好是10版本的!

楼主您好,10版如下操作:

(1)右键点击您的.cu文件,选择属性
(2)弹出一个窗口。然后你会看到CUDA C/C++字样,但一下,展开。然后选择Device
(3)然后此时你会看到此窗口的右侧部分出现一个“Generate GPU debug information", 点一下,选择-G。
(4)build all
(5)在你的kernel的头部或者你喜欢的地方,设置断点。
(6)从nsight菜单中,选择start cuda debugging。

以上就是全部操作步骤。希望您能理解。:slight_smile:

我按照版主所说的做了,可每次连接之后又会自动的断开不知为什么呢?

我按照版主所说的做了,可每次连接上之后又会自动的断开不知为什么 呢?出现这样的提示Module Loaded: 01e2e1b0 C:/Users/we/Desktop/RNG/RNG/kernel.cu
线程 ‘CUDA Default Context’ (0x0) 已退出,返回值为 0 (0x0)。
线程 ‘’ (0x1f2a1c8) 已退出,返回值为 0 (0x0)。
程序“[14096] RNG.exe: CUDA”已退出,返回值为 0 (0x0)。

那就奇怪了。您看下您设置断点的kernel, 和您的host code调用的,是否同一个?

如果您执行的kernel和设置断点的kernel不是同一个kernel, 那么自然不能命中。

请排查这个原因。

如果这个也确定无误。那我就不知道了。

以及,为了您的安全,请rebuild all一次,别忘记了哈。