2

我正在使用 NSight 调试我的 CUDA 代码,但我有一个问题:如何为特定线程设置断点并阻塞?

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

4

2 回答 2

9

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

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

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

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

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

于 2011-05-02T10:59:27.500 回答
4

尝试使用 CUDA 调试焦点。你可以调试任何你想要的块中的任何线程......

于 2011-05-03T05:27:37.893 回答