использование nsight для отладки

#c #c #cuda #nsight

#c #c #cuda #nsight

Вопрос:

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

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

Ответ №1:

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

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

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

    @blockIdx(0,2,0) amp;amp; @threadIdx(5,0,0)

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

Ответ №2:

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