Могу ли я перейти к профилированию конкретного вызова определенного ядра?

Я использую графический интерфейс NSight Compute (ncu-ui) для профилирования ядер в определенном приложении. Мое приложение вызывает ядро my_kernel_1тысячи раз, затем вызывает тысячи раз. Я не хочу профилировать все вызовы всех ядер; Я просто хочу профилировать один вызов my_kernel_2(например, десятый или средний).

Я знаю, что когда профилирование приостановлено, я могу перейти к следующему вызову ядра; но - я не хочу нажимать эту кнопку тысячу раз. Есть ли способ перейти к следующему вызову ядра с определенным именем? Или, в качестве альтернативы, предоставить список имен ядер, которые не должны быть профилированы?

2 ответа

Если вы используете версию с графическим интерфейсом, посмотрите «Активность» > «Профиль» > «Фильтр» в окне подключения.

Завершение ответа ХёнуКима:

Вы можете организовать пропуск вызовов ядра, которое вас не интересует, и некоторых вызовов интересующего вас ядра, но только до начала профилирования; и только в неинтерактивном режиме профилирования:

  1. Нажмите кнопку Connect, чтобы открыть диалоговое окно Connection:
  2. Выберите вкладку «Общие».
  3. Введите имя выходного файла; профилирование будет неинтерактивным, поэтому необходим файл.
  4. Перейдите на вкладку «Фильтр»:

  1. В поле «Имя ядра» введите regex:^my_kernel_2$- чтобы соответствовать только интересующему вас ядру.
  2. Выберите количество вызовов, которые вы хотите пропустить (второго ядра - вас не волнуют вызовы my_kernel_1, что не совпадает. Есть несколько вариантов.
  3. Если вы не хотите профилировать все оставшиеся вызовы интересующего вас ядра, также выберите номер для профилирования.
  4. Нажмите Запуск. После завершения профилирования и существования процесса отчет будет загружен.
Другие вопросы по тегам