在 cuda-cdb 中切换块焦点

发布于 2024-10-16 15:00:05 字数 1107 浏览 1 评论 0原文

很简单...我想改变 cuda-gdb 中的焦点。我可以更改为当前块(块 0)内的不同线程,但不能更改为不同的块。我使用的是cuda/cuda-gdb 3.0

3.0手册中的方式:

(cuda-gdb) cuda 块
当前 CUDA 焦点:块 (0,0)。
(cuda-gdb)cuda 块(9,0)
CUDA 焦点不变。
(cuda-gdb) cuda 线程 (9,0,0)
新的 CUDA 焦点:设备 0、sm 1、warp 0、通道 9、网格 42672、块 (0,0)、线程 (9,0,0)。

或其他方式(来自 3.2 手册):

(cuda-gdb) 线程
[当前线程2(线程140272898447104(LWP 28681))]
[当前 CUDA 线程 <<<(0,0),(0,0,0)>>]

(cuda-gdb) 线程<<<(9),(10)>>>
切换到<<<(9,0),(10,0,0)>> my_kernel 中的 0x000000000246a5c8
    <<<(16,1),(128,1,1)>>> ...

(cuda-gdb) 线程
[当前线程2(线程140272898447104(LWP 28681))]
[当前 CUDA 线程 <<<(0,0),(0,0,0)>>]

(cuda-gdb)线程<<<20>>>>>
切换到<<<(0,0),(20,0,0)>> my_kernel 中的 0x000000000246a5c8
    <<<(16,1),(128,1,1)>>> ...

(cuda-gdb) 线程
[当前线程2(线程140272898447104(LWP 28681))]
[当前 CUDA 线程 <<<(0,0),(20,0,0)>>]

我做错了什么?


CUDA 3.0 | ubuntu 9.04 | ubuntu 9.04 GTX 480

Pretty simple... I want to change focus in cuda-gdb. I can change to a different thread within the current block (block 0), but not to a different block. I'm using cuda/cuda-gdb 3.0

The way in the 3.0 manual:

(cuda-gdb) cuda block
Current CUDA focus: block (0,0).
(cuda-gdb) cuda block (9,0)
CUDA focus unchanged.
(cuda-gdb) cuda thread (9,0,0)
New CUDA focus: device 0, sm 1, warp 0, lane 9, grid 42672, block (0,0), thread (9,0,0).

or the other way (from the 3.2 manual):

(cuda-gdb) thread
[Current Thread 2 (Thread 140272898447104 (LWP 28681))]
[Current CUDA Thread <<<(0,0),(0,0,0)>>>]

(cuda-gdb) thread <<<(9),(10)>>>
Switching to <<<(9,0),(10,0,0)>>> 0x000000000246a5c8 in my_kernel
    <<<(16,1),(128,1,1)>>> ...

(cuda-gdb) thread
[Current Thread 2 (Thread 140272898447104 (LWP 28681))]
[Current CUDA Thread <<<(0,0),(0,0,0)>>>]

(cuda-gdb) thread <<<20>>>
Switching to <<<(0,0),(20,0,0)>>> 0x000000000246a5c8 in my_kernel
    <<<(16,1),(128,1,1)>>> ...

(cuda-gdb) thread
[Current Thread 2 (Thread 140272898447104 (LWP 28681))]
[Current CUDA Thread <<<(0,0),(20,0,0)>>>]

What am I doing wrong?


cuda 3.0 | ubuntu 9.04 | gtx 480

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

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

发布评论

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

评论(1

云朵有点甜 2024-10-23 15:00:05

如果运行 info cuda sm (IIRC),您可以看到当前活动的块。无法切换到已完成执行的块(或块内的扭曲)。

如果您想查看特定块,那么您应该能够中断内核函数本身,然后更改焦点,然后继续调试会话。

If you run info cuda sm (IIRC) you can see the currently active blocks. It's not possible to switch to a block (or a warp within a block) that has already completed execution.

If you want to look at a specific block then you should be able to break on the kernel function itself, then change focus, then continue the debugging session.

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