Nsight Eclipse中的内核条件断点

时间:2013-11-19 08:47:52

标签: cuda gpu nsight cuda-gdb

我在安装了2个M2050卡的SUSE Linux机器上运行CUDA 5.5,这两个卡都不用于运行X11。我试图通过使用Nsight Eclipse调试器来专门使用设备0的内核。如果我在内核中设置(无条件)断点,则调试器首先在块0 /线程0上中断,然后如果我继续执行,它将在不同块中看似随机的线程上在相同的点再次中断5或6次退出内核并继续下一个内核。内核中的程序执行正确并正确显示。主机代码调试没有问题。

如果我使条件相同的断点,如本文所述:

using nsight to debug

我发现调试器的行为没有区别。断点上的条件似乎被忽略,调试器在退出内核之前在5或6个随机线程上中断。这些行为似乎对我都没有多大意义。我认为无条件断点应该在线程0或所有线程上中断。而且我认为条件断点应该只在它所依赖的线程上中断。我已经查看了NVIDIA文档,stackoverflow等,此时似乎已经用尽了我的选择。我想知道是否有其他人看到了类似的行为或者可能有一些指示。

1 个答案:

答案 0 :(得分:1)

  1. 到达设备的每个新“批处理”线程的无条件断点中断。这是必需的,因此您可以浏览所有线程。
  2. 由于某些技术问题,应该在内核中断至少一次后设置条件断点。这将在CUDA Toolkit 6.0中修复。