我的CUDA程序有太多的内核函数,如果我打开CUDA调试模式,我必须在触发某个内核函数的断点后等待整整一个小时。
有没有办法让Nsight在某些内核函数之后开始调试,或者只调试某个内核函数?
我在VS2012使用Nsight
答案 0 :(得分:0)
理论上您可以按照Nsight帮助文件(在线帮助或本地帮助)中的说明进行操作。在撰写本文时页面是here)。
简而言之:
NSIGHT_CUDA_DEBUGGER
的环境变量设置为1
。然后在您的CUDA内核中,您可以添加如下的断点:
asm("brkpt;");
这与主机代码中的__debugbreak()
内在或int 3
汇编指令类似。点击后,您将看到一个对话框,提示您附加CUDA调试器。
在实践中,至少对我而言 Just Are Not Work ™。也许你会有更多的运气。