NSIGHT Systems-это мощный инструмент, предназначенный для визуализации и анализа взаимодействий ЦП-и-и-ГП в приложениях, предоставление понимания узких мест производительности и возможностей оптимизации. Вот как это визуализирует эти взаимодействия:
Анализ производительности в масштабах системы
Системы NSIGHT собирают данные об масштабах общенациональной активности, включая события CPU и GPU, и отображает их на единой временной шкале. Эта временная шкала позволяет разработчикам видеть, как различные компоненты системы взаимодействуют друг с другом с течением времени, что облегчает идентификацию корреляций, зависимостей и узких мест в рабочем процессе приложения [3] [4].
Визуализация активности процессора
Системы NSight визуализируют активность процессора, показывая состояния потока, использование и выполнение алгоритма. Это помогает разработчикам понять, как используются ресурсы процессора и где могут существовать потенциальные узкие места. Инструмент поддерживает анализ многопроцессных деревьев, позволяя пользователям отслеживать активность нескольких процессов и потоков одновременно [1] [3].
Визуализация активности графического процессора
Для активности GPU NSIGHT Systems предоставляет подробную информацию о рабочих нагрузках графических процессоров, включая оптимизацию потокового мультипроцессора (SM), передачу памяти и выполнение ядра. Он поддерживает отслеживание различных API -интерфейсов GPU, таких как CUDA, Vulkan и OpenGL, позволяя разработчикам анализировать вычисления GPU и графические задачи в глубине [3] [4]. Инструмент также предлагает выборку метрик графических процессоров, которая включает в себя метрики, такие как использование SM, активность тензора и пропускную способность инструкции. Эти метрики помогают разработчикам оптимизировать производительность графического процессора, выявляя недостаточное использование или неэффективность в использовании ресурсов GPU [1] [3].
Совместные события процессора и графического процессора
Одной из ключевых особенностей NSIGHT Systems является его способность коррелировать события процессора и графического процессора. Визуализируя деятельность как процессора, так и графического процессора на одной и той же временной шкале, разработчики могут увидеть, как операции процессора влияют на производительность графических процессоров и наоборот. Эта корреляция имеет решающее значение для определения узких мест, которые возникают из -за взаимодействия между ЦП и графическим процессором, таких как задержки передачи данных или проблемы синхронизации [3] [4].
Низкие накладные расходы и масштабируемость
NSight Systems предназначена для работы с низкими накладными расходом, гарантируя, что процесс профилирования существенно не влияет на производительность приложения. Это делает его подходящим для анализа сложных, крупномасштабных приложений, работающих на различных платформах NVIDIA, от рабочих станций до центров обработки данных и облачных сред [3] [6].
пользовательский интерфейс и навигация
Инструмент предоставляет пользовательский графический интерфейс, который позволяет разработчикам перемещаться по визу с временной шкалой, используя полосы прокрутки, колесо мыши и сочетания клавиш. Этот интерфейс позволяет пользователям увеличивать определенные временные диапазоны или события, облегчая подробный анализ проблем производительности [5] [9].
В целом, NSight Systems предлагает всесторонний взгляд на взаимодействия с процессором-и-и-ропами, что позволяет разработчикам оптимизировать свои приложения для лучшей производительности и эффективности на широком спектре платформ.
Цитаты:
[1] https://extremecomputingtraining.anl.gov/wp-content/uploads/sites/96/2022/11/atpesc-2022-track-6-2-keipert-nvidia.pdf
[2] https://bede-documentation.readthedocs.io/en/latest/software/tools/nsight-systems.html
[3] https://developer.nvidia.com/nsight-systems
[4] https://indico.cern.ch/event/962112/contributions/4047370/attachments/2159916/3643963/nsight%20systems%20-%20x86%20introduction%20-%20Cern.pdf
[5] https://www.youtube.com/watch?v=tgChxcfm-yo
[6] https://docs.nersc.gov/tools/performance/nvidiaproftools/
[7] https://www.youtube.com/watch?v=Kkanp0kl_hk
[8] https://docs.nvidia.com/nsight-systems/userguide/index.html
[9] https://www.youtube.com/watch?v=dudgo66iAdu
[10] https://dev-discuss.pytorch.org/t/using-nsight-systems-to-profile-gpu-workload/59