NVIDIA Parallel Nsight против визуального профилировщика - PullRequest
2 голосов
/ 23 февраля 2012

Я работаю с CUDA на платформе Windows.На платформе Windows у нас есть доступ как к Parallel Nsight, так и к Visual Profiler.Оба довольно хороши, но в то же время они имеют почти одинаковые возможности для профилирования и трассировки.Может кто-нибудь сказать мне, как они отличаются, и какой лучше для платформы Windows?Мне в основном понадобится инструмент для профилирования.

Ответы [ 3 ]

5 голосов
/ 20 сентября 2012

Nsight Visual Studio Edition 2.2 предлагает следующие преимущества по сравнению с Visual Profiler:

ОБЩИЙ

  1. Интеграция в Visual Studio 2008 SP1 и 2010 (требуется Professional Edition, поскольку VS Express Edition не поддерживает пакеты интеграции).

  2. Локальные и удаленные сеансы анализа. Удаленные сеансы также можно настроить для копирования приложения и ресурсов в удаленную систему.

  3. Сбор информации из целевого приложения или из дерева процессов.

  4. Представления отчетов поддерживают более сложные группировки и фильтрацию. Таблицы данных могут быть экспортированы в Excel.

TRACE ACTIVITY

  1. Отслеживание активности ОС, включая время жизни процесса, потока и модуля, переключение контекста потока, причины ожидания потока, использование ЦП, использование ЦП процесса и использование потока.

  2. Сбор рабочей трассировки API и GPU для CUDA, OpenGL 2.x-3.x, DirectX 9-11 и OpenCL 1.1 и отображение всей информации на временной шкале.

  3. Сбор трассировок стека вызовов по всем отслеживаемым вызовам API или только в том случае, если отслеживаемые вызовы API возвращают ошибки.

  4. Программные счетчики CUDA для отображения выделенной памяти для контекста.

  5. Дополнительный контроль над тем, какая информация отслеживается. Это очень важно, поскольку отслеживание слишком большого количества информации может привести к тому, что приложение станет связанным с ЦП.

  6. Отображение временной шкалы и дерева для пользовательских комментариев из библиотеки расширений инструментов NVIDIA и маркеров производительности D3D.

CUDA PROFILING ACTIVITY

  1. Профилировщик CUDA предоставляет метод для захвата вашего ядра и многократного воспроизведения его прозрачным для вашего приложения. Это позволяет собирать данные профилирования в недетерминированных приложениях и только с 1 запуском ваших приложений. Visual Profiler <= 5 требует, чтобы приложение было детерминированным, чтобы оно могло многократно перезапускать приложение. </p>

  2. Поддерживает сбор многих полезных показателей, которые пока не поддерживаются Visual Profiler, включая допустимые отклонения, что является наиболее важным показателем для понимания, если у вас достаточно причин занятости и отклонения, чтобы помочь вам понять, что ограничивает производительность применение.

Visual Profiler имеет следующие преимущества:

  1. Кроссплатформенная.

  2. Предоставляет экспертную систему для просмотра собранной информации.

  3. Ссылки в результатах на Руководство по передовой практике CUDA.

  4. Временная шкала может отображать корреляцию между событиями CPU и GPU при нажатии на событие.

  5. CUDA 5.0 поддерживает новый профилировщик командной строки (nvprof).

  6. CUDA 5.0 поддерживает корреляцию источника для расхождения ветвей и доступа к памяти с неправильными шаблонами доступа.

  7. Профилировщик CUDA 5.0 интегрирован в Nsight Eclipse Edition.

  8. Лучшая поддержка счетчиков PM Tesla.

Visual Profiler в CUDA 5.0 добавляет ряд функций, доступных в Nsight 1.5 и 2.x, включая

  • Библиотека расширений NVIDIA Tools для аннотирования вашего приложения диапазонами и маркерами, которые могут отображаться на временной шкале.

  • Параллельная трассировка ядра на графических процессорах Fermi и Kepler.

Оба инструмента предоставят вам очень полезную информацию для анализа вашего приложения. Я рекомендую вам использовать последнюю версию каждого из инструментов.

В следующей версии Nsight VSE будет много новых функций для изучения работы вашего ядра CUDA. Для получения дополнительной информации см http://developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S0430-GTC2012-Developing-CUDA-Nsight.pdf.

3 голосов
/ 26 февраля 2012

РЕДАКТИРОВАТЬ (передумать): Основываясь на переоценке NVIDIA Parallel Nsight и Visual Profiler, теперь я считаю, что NVIDIA Parallel Nsight намного лучше для анализа производительности.

Причины объясняются ответом @Jeff Davis.

1 голос
/ 11 мая 2012

Преимущество Parallel Nsight заключается в том, что оно встроено прямо в Visual Studio и обеспечивает естественный рабочий процесс для разработчиков Windows.

  • В Parallel Nsight 2.2 всякий раз, когда для цели задано значение "localhost"Монитор запускается автоматически.Это верно как для анализа, так и для профилирования CUDA, а также для отладки CUDA.

  • Запуск монитора занимает короткое время (примерно столько же, сколько требуется для запуска любимого веб-браузера), но это один раз.Пока монитор не будет остановлен или машина не будет перезапущена, нет необходимости снова запускать монитор.

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