切换块焦点在cuda-cdb中

时间:2011-02-08 19:45:01

标签: gdb cuda

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

3.0手册中的方法:

(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).

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

(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)>>>]

我做错了什么?


cuda 3.0 | ubuntu 9.04 | gtx 480

1 个答案:

答案 0 :(得分:3)

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

如果你想查看一个特定的块,那么你应该能够打破内核函数本身,然后改变焦点,然后继续调试会话。