Да, вы можете.Драйвер CUDA имеет встроенные средства профилирования.Как это сделать, обсуждается в файле Compute_Profiler.txt
, который вы найдете в каталоге doc
инструментария, но основная идея заключается в следующем:
$ COMPUTE_PROFILE=1 COMPUTE_PROFILE_CSV=1 COMPUTE_PROFILE_LOG=log.csv COMPUTE_PROFILE_CONFIG=config.txt ./app
, который указывает среде выполнения включитьдля профилирования используйте вывод в формате csv, записанный в log.csv
, включая статистику профиля, прочитанную из config.txt
.После запуска приложения среда выполнения удалит выходной файл с необработанными результатами профилирования.Затем вы можете использовать инструмент по вашему выбору, чтобы посмотреть на них.Визуальный профилировщик может быть открыт для вывода, но большая часть необычной синхронизации, которую он выполняет, требует, чтобы вывод генерировался с использованием его собственных файлов конфигурации профиля (под капотом он динамически делает то же самое, что вы делаете вручную, но налетать).Я покопался в копиях и скопировал копии файлов конфигурации, чтобы можно было восстановить определенные прогоны профилирования приложений без профилировщика на узлах безголового кластера.Не слишком весело, но это можно сделать.