Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Hvordan visualiserer NSIGHT-systemer CPU-GPU-interaksjoner


Hvordan visualiserer NSIGHT-systemer CPU-GPU-interaksjoner


NSight Systems er et kraftig verktøy designet for å visualisere og analysere CPU-GPU-interaksjoner i applikasjoner, og gir innsikt i ytelsesflaskehalser og optimaliseringsmuligheter. Slik visualiserer det disse interaksjonene:

Systemomfattende ytelsesanalyse

NSIGHT-systemer fanger opp systemomfattende aktivitetsdata, inkludert både CPU- og GPU-hendelser, og viser dem på en enhetlig tidslinje. Denne tidslinjen lar utviklere se hvordan forskjellige komponenter i systemet samhandler med hverandre over tid, noe som gjør det lettere å identifisere korrelasjoner, avhengigheter og flaskehalser i applikasjonens arbeidsflyt [3] [4].

CPU -aktivitetsvisualisering

NSIGHT -systemer visualiserer CPU -aktivitet ved å vise trådtilstander, utnyttelse og algoritmeutførelse. Dette hjelper utviklere til å forstå hvordan CPU -ressurser blir brukt og hvor potensielle flaskehalser kan eksistere. Verktøyet støtter multi-prosess-treanalyse, slik at brukere kan spore aktiviteten til flere prosesser og tråder samtidig [1] [3].

GPU -aktivitetsvisualisering

For GPU-aktivitet gir NSIGHT-systemer detaljert innsikt i GPU-arbeidsmengder, inkludert streaming-multiprocessor (SM) optimalisering, hukommelsesoverføringer og utførelse av kjerne. Den støtter å spore forskjellige GPU -APIer som CUDA, Vulkan og OpenGL, slik at utviklere kan analysere GPU -beregning og grafikkoppgaver i dybden [3] [4]. Verktøyet tilbyr også prøvetaking av GPU -beregninger, som inkluderer beregninger som SM -bruk, Tensor Core Activity og instruksjonsgjennomstrømning. Disse beregningene hjelper utviklere med å optimalisere GPU -ytelsen ved å identifisere underutnyttelse eller ineffektivitet i GPU -ressursbruk [1] [3].

Korrelerende CPU- og GPU -hendelser

En av de viktigste funksjonene i NSIGHT -systemer er dens evne til å korrelere CPU- og GPU -hendelser. Ved å visualisere både CPU- og GPU -aktiviteter på samme tidslinje, kan utviklere se hvordan CPU -operasjoner påvirker GPU -ytelse og omvendt. Denne korrelasjonen er avgjørende for å identifisere flaskehalser som oppstår på grunn av interaksjoner mellom CPU og GPU, for eksempel forsinkelser i dataoverføring eller synkroniseringsproblemer [3] [4].

Lav overhead og skalerbarhet

NSIGHT -systemer er designet for å fungere med lavt overhead, noe som sikrer at profileringsprosessen ikke påvirker applikasjonens ytelse betydelig. Dette gjør det egnet for å analysere komplekse, store applikasjoner som kjører på forskjellige NVIDIA-plattformer, fra arbeidsstasjoner til datasentre og skymiljøer [3] [6].

Brukergrensesnitt og navigasjon

Verktøyet gir en brukervennlig GUI som lar utviklere navigere gjennom tidslinjevisningen ved hjelp av rullefelt, musehjul og snarveier. Dette grensesnittet gjør det mulig for brukere å zoome inn på spesifikke tidsområder eller hendelser, noe som letter detaljert analyse av ytelsesproblemer [5] [9].

Totalt sett tilbyr NSIGHT Systems et omfattende syn på CPU-GPU-interaksjoner, slik at utviklere kan optimalisere applikasjonene sine for bedre ytelse og effektivitet på et bredt spekter av plattformer.

Sitasjoner:
[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/controlutions/4047370/attachments/2159916/3643963/nsight%20Systems%20-%20x86%20Introduction%20-%20cern.pd
[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