Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

nvprof: CUDA-profileri

Saatavuus

  • Puhti: 11.7.50
  • Mahti: 11.5.50

Lisenssi

Käyttö on mahdollista sekä akateemisiin että kaupallisiin tarkoituksiin.

Käyttö

Profilointityökalu nvprof kerää ja näyttää profilointidataa komentorivikäyttöliittymässä. Se mahdollistaa CUDAan liittyvien toimintojen aikajanan keräämisen sekä CPU:lta että GPU:lta, mukaan lukien ytimien suoritus, muistosiirrot, muistin asetus sekä CUDA API -kutsut ja CUDA-ytimien tapahtumat tai metriikat. Profiloinnin tulokset näytetään konsolissa profilointidatan keräämisen jälkeen, ja ne voidaan myös tallentaa myöhempää tarkastelua varten joko nvprof- tai Visual Profiler -työkalulla.

Jotta voit käyttää nvprofia, sinun täytyy ensin ladata CUDA-moduuli:

module load cuda

CUDA-koodin profilointia varten lisätään sitten komento nvprof ennen tavallista komentoa, jolla koodi suoritetaan. Muuten suorittaminen on samanlaista kuin mikä tahansa muu CUDA-ajo Puhdissa tai Mahdissa.

Esimerkki nvprofin käytöstä ja tulosteesta:

$ nvprof dct8x8
======== Profiling result:
Time(%) Time Calls Avg Min Max Name
 49.52 9.36ms 101 92.68us 92.31us 94.31us CUDAkernel2DCT(float*, float*, int)
 37.47 7.08ms 10 708.31us 707.99us 708.50us CUDAkernel1DCT(float*,int, int,int)
 3.75 708.42us 1 708.42us 708.42us 708.42us CUDAkernel1IDCT(float*,int,int,int)
 1.84 347.99us 2 173.99us 173.59us 174.40us CUDAkernelQuantizationFloat()
 1.75 331.37us 2 165.69us 165.67us 165.70us [CUDA memcpy DtoH]
 1.41 266.70us 2 133.35us 89.70us 177.00us [CUDA memcpy HtoD]
 1.00 189.64us 1 189.64us 189.64us 189.64us CUDAkernelShortDCT(short*, int)
 0.94 176.87us 1 176.87us 176.87us 176.87us [CUDA memcpy HtoA]
 0.92 174.16us 1 174.16us 174.16us 174.16us CUDAkernelShortIDCT(short*, int)
 0.76 143.31us 1 143.31us 143.31us 143.31us CUDAkernelQuantizationShort(short*)
 0.52 97.75us 1 97.75us 97.75us 97.75us CUDAkernel2IDCT(float*, float*)
 0.12 22.59us 1 22.59us 22.59us 22.59us [CUDA memcpy DtoA]
nvprof tukee useita erittäin hyödyllisiä ajoasetuksia:

  • --export-profile: Vie profiili tiedostoon

  • --analysis-metrics: Kerää profilointidataa, joka voidaan tuoda Visual Profileriin

  • --print-gpu-trace: Näytä funktiokutsujen jälki

  • --openacc-profiling on: Profiloi myös OpenACC (oletuksena käytössä)

  • --cpu-profiling on: Ota käyttöön CPU:n profilointia

  • --csv --log-file FILE: Luo CSV-tuloste ja tallenna se tiedostoon FILE; kätevä kuvaajia tai vertailuanalyysiä varten

  • --metrics M1: Mittaa vain metriikka M1, joka on yksi NVIDIAn tarjoamista metriikoista ja jotka voidaan listata valitsimella --query-metrics.

Lisätietoja on NVIDIAn dokumentaatiossa.

Huomautus

nvprof ei tue arkkitehtuureja >SM70. Työkalua nsys tulee käyttää.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta