Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā NSight sistēmas vizualizē CPU-GPU mijiedarbību


Kā NSight sistēmas vizualizē CPU-GPU mijiedarbību


NSight Systems ir spēcīgs rīks, kas paredzēts, lai vizualizētu un analizētu CPU-GPU mijiedarbību lietojumprogrammās, sniedzot ieskatu veiktspējas sašaurinājumos un optimizācijas iespējas. Lūk, kā tas vizualizē šo mijiedarbību:

Sistēmas mēroga veiktspējas analīze

NSight sistēmas uztver visas sistēmas darbības datus, ieskaitot gan CPU, gan GPU notikumus, un tos parāda vienotā laika skalā. Šis laika grafiks ļauj izstrādātājiem redzēt, kā dažādas sistēmas sastāvdaļas laika gaitā mijiedarbojas viena ar otru, padarot vieglāku korelāciju, atkarību un sašaurinājumu identificēšanu lietojumprogrammas darbplūsmā [3] [4].

CPU aktivitātes vizualizācija

NSight sistēmas vizualizē CPU aktivitāti, parādot pavedienu stāvokļus, izmantošanu un algoritmu izpildi. Tas palīdz izstrādātājiem saprast, kā tiek izmantoti CPU resursi un kur varētu pastāvēt iespējamie sašaurinājumi. Šis rīks atbalsta daudzprocesu koku analīzi, ļaujot lietotājiem vienlaikus izsekot vairāku procesu un pavedienu aktivitātei [1] [3].

GPU aktivitātes vizualizācija

GPU aktivitātei NSIGHT sistēmas sniedz detalizētu ieskatu GPU darba slodzēs, ieskaitot straumēšanas-multiprocesora (SM) optimizāciju, atmiņas pārskaitījumus un kodola izpildi. Tas atbalsta dažādu GPU API izsekošanu, piemēram, CUDA, Vulkan un OpenGL, ļaujot izstrādātājiem padziļināti analizēt GPU aprēķināt un grafikas uzdevumus [3] [4]. Šis rīks piedāvā arī GPU metrikas paraugu ņemšanu, kas ietver metriku, piemēram, SM izmantošanu, tensora galveno darbību un instrukcijas caurlaidspēju. Šie rādītāji palīdz izstrādātājiem optimizēt GPU veiktspēju, identificējot nepietiekamu izmantošanu vai neefektivitāti GPU resursu lietošanā [1] [3].

korelē CPU un GPU notikumus

Viena no galvenajām NSight sistēmu iezīmēm ir spēja korelēt CPU un GPU notikumus. Vizualizējot gan CPU, gan GPU aktivitātes vienā un tajā pašā laika grafikā, izstrādātāji var redzēt, kā CPU operācijas ietekmē GPU veiktspēju un otrādi. Šī korelācija ir būtiska, lai identificētu sašaurinājumus, kas rodas CPU un GPU mijiedarbības dēļ, piemēram, datu pārsūtīšanas kavēšanās vai sinhronizācijas problēmas [3] [4].

zemas pieskaitāmās izmaksas un mērogojamība

NSight sistēmas ir paredzētas darbībai ar zemām pieskaitāmām izmaksām, nodrošinot, ka profilēšanas process būtiski neietekmē lietojumprogrammas veiktspēju. Tas padara to piemērotu sarežģītu, liela mēroga lietojumprogrammu analīzei, kas darbojas dažādās NVIDIA platformās, sākot no darbstacijām līdz datu centriem un mākoņu videi [3] [6].

Lietotāja saskarne un navigācija

Šis rīks nodrošina lietotājam draudzīgu GUI, kas ļauj izstrādātājiem pārvietoties pa laika skatu skatu, izmantojot ritjoslas, peles riteni un tastatūras saīsnes. Šī saskarne ļauj lietotājiem tuvināties noteiktiem laika diapazoniem vai notikumiem, atvieglojot detalizētu veiktspējas problēmu analīzi [5] [9].

Kopumā NSight Systems piedāvā visaptverošu CPU-GPU mijiedarbības skatu, ļaujot izstrādātājiem optimizēt savas lietojumprogrammas labākai veiktspējai un efektivitātei plašā platformu klāstā.

Atsauces:
[1] https://extremecomputingtraining.anl.gov/wp-content/uploads/sites/96/2022/11/atpesc-2022-strack-6-talk-2-keipert-nvidia.pdf
[2] https://beded-documentation.readthedocs.io/en/latest/software/tools/nsight-systems.html
[3] https://developer.nvidia.com/nsight-systems
.
[5] https://www.youtube.com/watch?v=tgchxcfm-yo
[6] https://docs.nersc.gov/tools/performance/nvidiproftools/
[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