Сравнение NVIDIA Parallel Nsight и Visual Profiler

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


person Siddhartha Mondal 'Sid'    schedule 22.02.2012    source источник


Ответы (3)


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

ОБЩИЙ

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

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

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

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

ОТСЛЕЖИВАНИЕ АКТИВНОСТИ

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

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

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

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

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

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

ПРОФИЛИРОВАНИЕ CUDA

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

  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. Улучшена поддержка счетчиков Tesla PM.

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

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

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

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

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

person Greg Smith    schedule 20.09.2012

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

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

person akk    schedule 25.02.2012

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

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

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

person Jeff Davis    schedule 10.05.2012