使用 nsight 进行调试

发布于 2024-11-04 20:40:12 字数 95 浏览 0 评论 0原文

我正在使用 NSight 调试我的 CUDA 代码,但我有问题: 如何为特定线程和块放置断点?

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

I am using NSight to debug my CUDA code and I have question:
how can I place a breakpoint for a specific thread and block?

When I place a breakpoint on the kernel the debugger always stops at thread 0 of block 0.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦亿 2024-11-11 20:40:12

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

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

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

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

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

As discussed in the online help in Nsight, you can set a breakpoint and make it conditional on block and thread id like this:

To set a block or thread condition on a CUDA C breakpoint:

  1. Set a breakpoint on a line of source code.
  2. Right-click on the breakpoint.
  3. From the drop-down menu, select Condition...
  4. Type:

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

  5. Click OK. The breakpoint glyph shows a plus sign.

做个ˇ局外人 2024-11-11 20:40:12

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

try to use CUDA Debug Focus. you can debug any thread in any block you want...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文