Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ako sa systémy NSight vizualizujú interakcie CPU-GPU


Ako sa systémy NSight vizualizujú interakcie CPU-GPU


Spoločnosť NSight Systems je výkonný nástroj určený na vizualizáciu a analýzu interakcií CPU-GPU v aplikáciách a poskytuje informácie o prekážkách výkonnosti a príležitostiach optimalizácie. Takto vizualizuje tieto interakcie:

Analýza výkonnosti v celom systéme

Systémy NSight zachytávajú údaje o celej aktivite, vrátane udalostí CPU a GPU, a zobrazujú ich na zjednotenej časovej osi. Táto časová os umožňuje vývojárom zistiť, ako rôzne komponenty systému v priebehu času interagujú, čo uľahčuje identifikáciu korelácií, závislostí a prekážok v pracovnom toku aplikácie [3] [4].

Vizualizácia aktivity CPU

NSight Systems vizualizuje aktivitu CPU tým, že ukazuje stavy vlákien, využitie a vykonávanie algoritmov. To vývojárom pomáha pochopiť, ako sa využívajú zdroje CPU a kde by mohli existovať potenciálne úzke miesta. Tento nástroj podporuje analýzu viacerých procesov stromov, čo používateľom umožňuje sledovať aktivitu viacerých procesov a vlákien súčasne [1] [3].

Vizualizácia aktivity

GPU

V prípade aktivity GPU poskytujú systémy NSight podrobný pohľad na pracovné zaťaženie GPU vrátane optimalizácie streaming-multiprocesor (SM), prenosu pamäte a vykonávania jadra. Podporuje sledovanie rôznych rozhraní GPU API, ako sú Cuda, Vulkan a OpenGL, čo vývojárov umožňuje hĺbku analyzovať výpočtové a grafické úlohy GPU [3] [4]. Tento nástroj tiež ponúka odber vzoriek metrík GPU, ktorý obsahuje metriky, ako je využitie SM, aktivita tenzorového jadra a priepustnosť inštrukcií. Tieto metriky pomáhajú vývojárom optimalizovať výkon GPU identifikáciou nedostatočného využívania alebo neefektívnosti pri využívaní zdrojov GPU [1] [3].

Korelačné udalosti CPU a GPU

Jednou z kľúčových funkcií systémov NSight je jeho schopnosť korelovať udalosti CPU a GPU. Vizualizáciou aktivít CPU a GPU na tej istej časovej osi môžu vývojári vidieť, ako operácie CPU ovplyvňujú výkon GPU a naopak. Táto korelácia je rozhodujúca pre identifikáciu prekážok, ktoré sa vyskytujú v dôsledku interakcií medzi CPU a GPU, ako sú oneskorenia prenosu údajov alebo problémy synchronizácie [3] [4].

Nízka režijná a škálovateľnosť

Spoločnosť NSight Systems je navrhnutá tak, aby pracovala s nízkymi režijnými nákladmi, čím sa zabezpečuje, že proces profilovania nemá významný vplyv na výkon aplikácie. Vďaka tomu je vhodné na analýzu komplexných rozsiahlych aplikácií bežiacich na rôznych platformách NVIDIA, od pracovných staníc do dátových centier a cloudových prostredí [3] [6].

používateľské rozhranie a navigácia

Tento nástroj poskytuje užívateľsky prívetivé GUI, ktoré umožňuje vývojárom prejsť cez zobrazenie časovej osi pomocou posúvacích tyčí, kolesa myši a klávesových skratiek. Toto rozhranie umožňuje používateľom priblížiť sa v konkrétnych časových rozsahoch alebo udalostiach, čo uľahčuje podrobnú analýzu problémov s výkonom [5] [9].

Celkovo ponúka spoločnosť NSight Systems komplexný pohľad na interakcie CPU-GPU, čo vývojárom umožňuje optimalizovať svoje aplikácie pre lepší výkon a efektívnosť v širokom spektre platforiem.

Citácie:
Https://extremecomputingtraining.anl.gov/wp-content/uploads/sites/96/2022/11/atpesc-2022-track-6-tAlk-2-conke-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/nvidiaprofools/
[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=dudgo66iaadu
[10] https://dev-discuss.pytorch.org/t/using-sight-systems-to-profile-gpu-workload/59