使用nsight进行调试

lin*_*ina 2 c c++ cuda nsight

我正在使用NSight来调试我的CUDA代码,我有一个疑问:如何为特定的线程和块设置断点?

当我在内核上放置一个断点时,调试器总是在块0的线程0处停止.

tal*_*ies 9

正如在Nsight的在线帮助中所讨论的,您可以设置断点并使其以块和线程ID为条件,如下所示:

要在CUDA C断点上设置块或线程条件:

  1. 在一行源代码上设置断点.
  2. 右键单击断点.
  3. 从下拉菜单中选择条件...
  4. 类型:

    @blockIdx(0,2,0)&& @threadIdx(5,0,0)

  5. 单击确定.断点字形显示加号.