NSight Systems on tehokas työkalu, joka on suunniteltu visualisoimaan ja analysoimaan sovellusten CPU-GPU-vuorovaikutuksia, tarjoamalla tietoa suorituskyvyn pullonkauloista ja optimointimahdollisuuksista. Näin se visualisoi nämä vuorovaikutukset:
järjestelmän laajuinen suorituskykyanalyysi
NSight Systems kuvaa järjestelmänlaajuisia aktiivisuustietoja, mukaan lukien sekä CPU- että GPU-tapahtumat, ja näyttää ne yhtenäisellä aikajanalla. Tämän aikajanan avulla kehittäjät voivat nähdä, kuinka järjestelmän eri komponentit ovat vuorovaikutuksessa toistensa kanssa ajan myötä, mikä helpottaa korrelaatioiden, riippuvuuksien ja pullonkaulojen tunnistamista sovelluksen työnkulussa [3] [4].
CPU -toiminnan visualisointi
NSight Systems visualoi CPU -aktiivisuuden näyttämällä ketjutiloja, käyttöä ja algoritmien suorittamista. Tämä auttaa kehittäjiä ymmärtämään, miten CPU -resursseja käytetään ja missä mahdollisia pullonkauloja voi olla. Työkalu tukee moniprosessin puiden analysointia, jolloin käyttäjät voivat seurata useiden prosessien ja säikeiden toimintaa samanaikaisesti [1] [3].
GPU -toiminnan visualisointi
GPU-toimintaa varten NSight Systems tarjoaa yksityiskohtaisia näkemyksiä GPU-työmääristä, mukaan lukien suoratoisto-monisuhde (SM) -optimointi, muistinsiirto ja ytimen suorittaminen. Se tukee erilaisten GPU -sovellusliittymien, kuten CUDA: n, Vulkanin ja OpenGL: n, jäljittämistä, mikä antaa kehittäjille mahdollisuuden analysoida perusteellisesti GPU -laskenta- ja grafiikkatehtäviä [3] [4]. Työkalu tarjoaa myös GPU -metrienäytteitä, jotka sisältävät mittarit, kuten SM -hyödyntäminen, tensorin ydinaktiivisuus ja ohjeiden läpimenon. Nämä mittarit auttavat kehittäjiä optimoimaan GPU: n suorituskykyä tunnistamalla Alipitozation tai tehottomuudet GPU -resurssien käytössä [1] [3].
Korreloivat prosessorin ja GPU -tapahtumat
Yksi NSIGHT -järjestelmien keskeisistä piirteistä on sen kyky korreloida suorittimen ja GPU -tapahtumia. Visualisoimalla sekä CPU- että GPU -toiminnot samassa aikajanassa, kehittäjät voivat nähdä, kuinka CPU -toiminnot vaikuttavat GPU -suorituskykyyn ja päinvastoin. Tämä korrelaatio on ratkaisevan tärkeä pullonkaulojen tunnistamiseksi, jotka johtuvat CPU: n ja GPU: n välisistä vuorovaikutuksista, kuten tiedonsiirtoviiveistä tai synkronointikysymyksistä [3] [4].
Matala yleiskustannus ja skaalautuvuus
NSight Systems on suunniteltu toimimaan alhaisella yleiskustannuksella varmistamalla, että profilointiprosessi ei vaikuta merkittävästi sovelluksen suorituskykyyn. Tämä tekee siitä sopivan monimutkaisten, laaja-alaisten sovellusten analysointiin eri NVIDIA-alustoilla työasemista tietokeskuksiin ja pilviympäristöihin [3] [6].
Käyttöliittymä ja navigointi
Työkalu tarjoaa käyttäjäystävällisen GUI: n, jonka avulla kehittäjät voivat selata aikajanan näkymää vierityspalkkien, hiiren pyörän ja pikanäppäimien avulla. Tämän käyttöliittymän avulla käyttäjät voivat lähentää tiettyjä aikatauluja tai tapahtumia, mikä helpottaa suorituskykyongelmien yksityiskohtaista analyysiä [5] [9].
Kaiken kaikkiaan NSight Systems tarjoaa kattavan kuvan CPU-GPU-vuorovaikutuksesta, jonka avulla kehittäjät voivat optimoida sovelluksensa paremman suorituskyvyn ja tehokkuuden saavuttamiseksi monilla alustoilla.
Viittaukset:
.
[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%20introdanction%20-%20cern.pdfffff
[5] https://www.youtube.com/watch?v=tgchxcfm-yo
[6] https://docs.nersc.gov/tools/performance/nvidiaproftols/
[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
.