Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jak vizualizují systémy Nsight Vizualizují interakce CPU-GPU


Jak vizualizují systémy Nsight Vizualizují interakce CPU-GPU


Nsight Systems je výkonný nástroj určený k vizualizaci a analýze interakcí CPU-GPU v aplikacích a poskytuje informace o úzkých místech výkonu a optimalizačních příležitostí. Zde je návod, jak to vizualizuje tyto interakce:

Systémová analýza výkonu

Systémy NSIGHT zachycují data aktivity v celém systému, včetně událostí CPU i GPU, a zobrazuje je na sjednocené časové ose. Tato časová osa umožňuje vývojářům vidět, jak různé komponenty systému v průběhu času interagují mezi sebou, což usnadňuje identifikaci korelací, závislostí a úzkých míst v pracovním postupu aplikace [3] [4].

Vizualizace aktivity CPU

Systémy NSIGHT vizualizují aktivitu CPU tím, že ukazují stavy vláken, využití a provádění algoritmu. To pomáhá vývojářům pochopit, jak se používají zdroje CPU a kde by mohla existovat potenciální úzká místa. Tento nástroj podporuje analýzu stromů s více procesy, což uživatelům umožňuje sledovat aktivitu více procesů a vláken současně [1] [3].

Vizualizace aktivity GPU

Pro aktivitu GPU poskytuje Systems Nsight Systems podrobné informace o pracovní zátěži GPU, včetně optimalizace streamování-multiprocesoru (SM), přenosy paměti a provádění jádra. Podporuje sledování různých API GPU, jako jsou CUDA, Vulkan a OpenGL, což vývojářům umožňuje analyzovat GPU výpočet a grafické úkoly do hloubky [3] [4]. Tento nástroj také nabízí vzorkování metrik GPU, který zahrnuje metriky, jako je využití SM, aktivita jádra tenzoru a propustnost instrukce. Tyto metriky pomáhají vývojářům optimalizovat výkon GPU identifikací nedostatečného využití nebo neefektivnosti při využití zdrojů GPU [1] [3].

Korelace událostí CPU a GPU

Jednou z klíčových rysů systémů NSIGHT je jeho schopnost korelovat události CPU a GPU. Vizualizací aktivit CPU i GPU na stejné časové ose mohou vývojáři vidět, jak operace CPU ovlivňují výkon GPU a naopak. Tato korelace je zásadní pro identifikaci úzkých míst, která se vyskytují v důsledku interakcí mezi CPU a GPU, jako jsou zpoždění přenosu dat nebo problémy synchronizace [3] [4].

Nízká režie a škálovatelnost

Nsight Systems je navržen tak, aby fungoval s nízkou režií, což zajišťuje, že proces profilování významně neovlivňuje výkon aplikace. Díky tomu je vhodný pro analýzu komplexních, rozsáhlých aplikací běžících na různých platformách NVIDIA, od pracovních stanic po datová centra a cloudová prostředí [3] [6].

Uživatelské rozhraní a navigace

Tento nástroj poskytuje uživatelsky přívětivé GUI, které umožňuje vývojářům procházet zobrazením časové osy pomocí posuvníků, myši a zkratky klávesnice. Toto rozhraní umožňuje uživatelům přiblížit konkrétní časové rozsahy nebo události, což usnadňuje podrobnou analýzu problémů s výkonem [5] [9].

Celkově nabízí Nsight Systems komplexní pohled na interakce CPU-GPU, což vývojářům umožňuje optimalizovat své aplikace pro lepší výkon a efektivitu napříč širokou škálou platforem.

Citace:
[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%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