используя nsight для отладки - PullRequest
2 голосов
/ 02 мая 2011

Я использую NSight для отладки своего кода CUDA, и у меня есть вопрос: Как я могу разместить точку останова для определенного потока и блока?

Когда я помещаю точку останова в ядро, отладчик всегда останавливается в потоке 0 блока 0.

Ответы [ 2 ]

9 голосов
/ 02 мая 2011

Как обсуждалось в интерактивной справке в Nsight, вы можете установить точку останова и сделать ее условной для идентификатора блока и потока следующим образом:

Чтобы установить условие блока или потока в точке останова CUDA C:

  1. Установить точку останова на строке исходного кода.
  2. Щелкните правой кнопкой мыши точку останова.
  3. В раскрывающемся меню выберите Условие ...
  4. Тип:

    @ blockIdx (0,2,0) && @threadIdx (5,0,0)

  5. Нажмите ОК. Глиф точки останова показывает знак плюс.

4 голосов
/ 03 мая 2011

попробуйте использовать CUDA Debug Focus. Вы можете отлаживать любой поток в любом блоке, который вы хотите ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...