Nsight Eclipse中的内核条件断点



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

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

使用nsight调试

我看不出调试器的行为有什么不同。断点上的条件似乎被忽略了,调试器在退出内核之前中断了5或6个随机线程。这两种行为对我来说似乎都没有多大意义。我认为无条件断点应该在线程0或所有线程上中断。我认为条件断点应该只在它所依赖的线程上中断。我已经查看了NVIDIA文档、stackoverflow等,在这一点上似乎已经用尽了我的选择。我想知道是否有其他人看到过类似的行为,或者可能有一些线索。

  1. 到达设备的每一批新线程都会出现无条件断点中断。这是必要的,这样你就可以探索你的所有线程
  2. 由于一些技术问题,应该在内核中断至少一次之后设置条件断点。这将在CUDA Toolkit 6.0中修复

相关内容

  • 没有找到相关文章

最新更新