【问题标题】:switching block focus in cuda-cdb在 cuda-cdb 中切换块焦点
【发布时间】:2011-02-11 06:13:26
【问题描述】:

很简单...我想改变 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

【问题讨论】:

    标签: gdb cuda


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 2020-12-27
      • 1970-01-01
      相关资源
      最近更新 更多