Удаленное профилирование CUDA?
Можно ли удаленно выполнить выполнение профиля CUDA (аналогично computeprof), а затем вернуть профиль для анализа?
Конкретный удаленный компьютер работает без головы и не находится под моим контролем, поэтому нет X, нет библиотек Qt и т. Д.
1 ответ
Да, ты можешь. Драйвер 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
, После запуска приложения среда выполнения удалит выходной файл с необработанными результатами профилирования. Затем вы можете использовать инструмент по вашему выбору, чтобы посмотреть на них. Визуальный профилировщик может быть уверен, что открыт для вывода, но большая часть причудливой синхронизации, которую он выполняет, требует, чтобы вывод генерировался с использованием его собственных файлов конфигурации профиля (под капотом он динамически делает то же самое, что вы делаете вручную, но на летать). Я покопался в копиях и скопировал копии файлов конфигурации, чтобы можно было повторно запустить определенные профилирования приложений без профилировщика на узлах безголового кластера. Не слишком весело, но это можно сделать.