2011-02-08 2 views
0

Довольно просто ... Я хочу изменить фокус в cuda-gdb. Я могу изменить на другой поток в текущем блоке (блок 0), но не на другой блок. Я использую/CUDA CUDA-GDB 3,0переключить блок фокус в cuda-cdb

Путь в руководстве 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

ответ

3

Если вы запустите info cuda sm (IIRC), вы увидите текущие активные блоки. Невозможно перейти на блок (или деформацию внутри блока), который уже завершил выполнение.

Если вы хотите посмотреть конкретный блок, вы должны иметь возможность разбить на себя функцию ядра, а затем сменить фокус, а затем продолжить сеанс отладки.

Смежные вопросы