Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon W jaki sposób systemy NSight wizualizują interakcje CPU-GPU


W jaki sposób systemy NSight wizualizują interakcje CPU-GPU


NSight Systems to potężne narzędzie zaprojektowane do wizualizacji i analizy interakcji CPU-GPU w aplikacjach, zapewniając wgląd w wąskie gardła i możliwości optymalizacji. Oto jak wizualizuje te interakcje:

analiza wydajności w całym systemie

NSight Systems przechwytuje dane dotyczące aktywności w całym systemie, w tym zarówno zdarzenia procesora, jak i GPU, i wyświetla je na ujednoliconej osi czasu. Ta harmonogram pozwala programistom zobaczyć, w jaki sposób różne komponenty systemu oddziałują ze sobą w czasie, ułatwiając identyfikację korelacji, zależności i wąskich gardeł w przepływie pracy aplikacji [3] [4].

Wizualizacja aktywności CPU

Systemy NSight wizualizują aktywność procesora, pokazując stany wątków, wykorzystanie i wykonywanie algorytmu. Pomaga to programistom zrozumieć, w jaki sposób są wykorzystywane zasoby procesora i gdzie mogą istnieć potencjalne wąskie gardła. Narzędzie obsługuje analizę drzew wieloprocesowych, umożliwiając użytkownikom śledzenie aktywności wielu procesów i wątków jednocześnie [1] [3].

GPU Wizualizacja aktywności

W przypadku aktywności GPU Systemy NSight zapewnia szczegółowy wgląd w obciążenia GPU, w tym optymalizację multiprocesora strumieniowego (SM), transfery pamięci i wykonywanie jądra. Obsługuje śledzenie różnych interfejsów API GPU, takich jak CUDA, Vulkan i OpenGL, umożliwiając programistom dogłębnie analizę zadań obliczeniowych i graficznych GPU [3] [4]. Narzędzie oferuje również próbkowanie wskaźników GPU, które obejmują wskaźniki takie jak wykorzystanie SM, aktywność rdzenia tensora i przepustowość instrukcji. Te wskaźniki pomagają programistom zoptymalizować wydajność GPU poprzez identyfikację niewykorzystania lub nieefektywności w użyciu zasobów GPU [1] [3].

Korelowanie zdarzeń CPU i GPU

Jedną z kluczowych cech systemów NSight jest jego zdolność do skorelowania zdarzeń CPU i GPU. Wizualizując zarówno działania procesora, jak i GPU na tej samej osi czasu, programiści mogą zobaczyć, w jaki sposób operacje procesora wpływają na wydajność GPU i odwrotnie. Ta korelacja ma kluczowe znaczenie dla identyfikacji wąskich gardeł, które występują z powodu interakcji między CPU i GPU, takich jak opóźnienia przesyłania danych lub problemy z synchronizacją [3] [4].

niskie koszty ogólne i skalowalność

NSight Systems jest zaprojektowany do działania z niskim kosztem ogólnym, zapewniając, że proces profilowania nie wpływa znacząco na wydajność aplikacji. To sprawia, że ​​nadaje się do analizy złożonych aplikacji na dużą skalę działających na różnych platformach NVIDIA, od stacji roboczych po centra danych i środowiska chmur [3] [6].

Interfejs użytkownika i nawigacja

Narzędzie zapewnia przyjazne dla użytkownika GUI, które pozwala programistom nawigować po widoku osi czasu za pomocą skrótów przewijania, koła myszy i skrótów klawiatury. Ten interfejs umożliwia użytkownikom powiększenie określonych zakresów czasowych lub zdarzeń, ułatwiając szczegółową analizę problemów z wydajnością [5] [9].

Ogólnie rzecz biorąc, NSight Systems oferuje kompleksowy widok interakcji CPU-GPU, umożliwiając programistom optymalizację ich aplikacji w celu lepszej wydajności i wydajności na wielu platformach.

Cytaty:
[1] https://extremeComputingTraining.anl.gov/wp-content/uploads/sites/96/2022/11/atpesc-2022-track-6-talk-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%20Introdukction%20-%20Cern.pdf
[5] https://www.youtube.com/watch?v=tgchxcfm-yo
[6] https://docs.nersc.gov/tools/performance/nvidiaProftols/
[7] https://www.youtube.com/watch?v=Kkanp0kl_hk
[8] https://docs.nvidia.com/nsight-systems/usergoide/index.html
[9] https://www.youtube.com/watch?v=dudgo66iadu
[10] https://dev-discuss.pytorch.org/t/using-nsight-system-to-profile-gpu-workload/59