Az NSSight Systems egy hatékony eszköz, amelynek célja az alkalmazások CPU-GPU interakcióinak megjelenítésére és elemzésére, betekintést nyújtva a teljesítmény-szűk keresztmetszetekbe és az optimalizálási lehetőségekbe. Így képzelje el ezeket az interakciókat:
Rendszerre kiterjedő teljesítmény-elemzés
Az NSSight Systems rögzíti a rendszerszintű tevékenységi adatokat, beleértve mind a CPU, mind a GPU eseményeit, és egységes idővonalon jeleníti meg őket. Ez az ütemterv lehetővé teszi a fejlesztők számára, hogy megnézhessék, hogy a rendszer különböző alkotóelemei hogyan lépnek kapcsolatba egymással az idő múlásával, megkönnyítve a korrelációk, függőségek és szűk keresztmetszetek azonosítását az alkalmazás munkafolyamatában [3] [4].
CPU tevékenységi megjelenítés
Az NSSight rendszerek megjelenítik a CPU aktivitását azáltal, hogy megmutatják a szál állapotát, a felhasználást és az algoritmus végrehajtását. Ez segít a fejlesztőknek megérteni, hogyan használják a CPU erőforrásait, és hol létezhetnek potenciális szűk keresztmetszetek. Az eszköz támogatja a multi-process fa elemzését, lehetővé téve a felhasználók számára, hogy egyszerre nyomon kövessék a több folyamat és szál aktivitását [1] [3].
GPU tevékenységi megjelenítés
A GPU tevékenysége esetén az NSSIGH Systems részletes betekintést nyújt a GPU munkaterhelésébe, ideértve a streaming-multiprocessor (SM) optimalizálását, a memóriaátutalásokat és a kernel végrehajtását. Támogatja a különféle GPU API -k, például a CUDA, a Vulkan és az OpenGL nyomon követését, lehetővé téve a fejlesztők számára, hogy mélyebben elemezzék a GPU számítási és grafikus feladatait [3] [4]. Az eszköz GPU metrikák mintavételét is kínálja, amely olyan mutatókat is magában foglal, mint az SM felhasználása, a tenzor alapvető aktivitása és az utasítások átvitele. Ezek a mutatók segítenek a fejlesztőknek a GPU teljesítményének optimalizálásában azáltal, hogy azonosítják a GPU erőforrás -felhasználásának alulfelhasználását vagy hatékonyságát [1] [3].
A CPU és a GPU események összefüggése
Az NSIGHT rendszerek egyik legfontosabb jellemzője a CPU és a GPU események korrelálásának képessége. A CPU és a GPU tevékenységeinek ugyanazon idővonalon történő megjelenítésével a fejlesztők láthatják, hogy a CPU műveletei hogyan befolyásolják a GPU teljesítményét, és fordítva. Ez a korreláció elengedhetetlen a szűk keresztmetszetek azonosításához, amelyek a CPU és a GPU közötti interakciók, például az adatátviteli késleltetések vagy a szinkronizálási problémák miatt fordulnak elő [3] [4].
Alacsony felső és méretezhetőség
Az NSSight Systems -t úgy tervezték, hogy alacsony fölött működjön, biztosítva, hogy a profilozási folyamat nem befolyásolja jelentősen az alkalmazás teljesítményét. Ez lehetővé teszi a különféle NVIDIA platformon futó komplex, nagyszabású alkalmazások elemzéséhez, a munkaállomásoktól az adatközpontokig és a felhőkörnyezetig [3] [6].
Felhasználói felület és navigáció
Az eszköz felhasználóbarát GUI-t biztosít, amely lehetővé teszi a fejlesztők számára, hogy görgetősávokkal, egérkerékkel és billentyűparancsokkal navigáljanak az idővonal nézetén. Ez a felület lehetővé teszi a felhasználók számára, hogy bizonyos időtartamokat vagy eseményeket nagyítsenek, megkönnyítve a teljesítményproblémák részletes elemzését [5] [9].
Összességében az NSSight Systems átfogó képet nyújt a CPU-GPU interakciókról, lehetővé téve a fejlesztők számára, hogy optimalizálják alkalmazásukat a jobb teljesítmény és hatékonyság érdekében a platformok széles skáláján.
Idézetek:
[1] https://extremecomputtraining.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.pdfffffffffff
[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