Я использую cuda-gdb для отладки моей программы. В ядре 512 блоков (одно измерение) с 1024 нитями (одно измерение) в каждом блоке. Я хочу переключиться на блок 112, а затем запустить функцию ядра построчно, чтобы найти ошибку. Однако когда я запускаю cuda block 112
в cuda-gdb, он выводит:
(cuda-gdb) cuda block 112
Request cannot be satisfied. CUDA focus unchanged.
info cuda blocks
выводит:
(cuda-gdb) info cuda blocks
BlockIdx To BlockIdx Count State
Kernel 0
* (0,0,0) (79,0,0) 80 running
Я знаю, что могу установить условную точку останова на ядреработает следующим образом:
b kernel_fun_name if blockIdx.x == 112
Однако даже после того, как я подождал около двух часов, cuda-gdb не выдал ничего нового, и он, похоже, застрял.
Итак, есть лиудобный / быстрый способ переключиться на незапущенный блок?