Suorituskykyanalyysi
Pika-aloitus: tehokkuusraportti seff-komennolla
Slurm-työn tehokkuusraportti (komento: seff) antaa nopean yhteenvedon
sekä käynnissä oleville että päättyneille eräajoille pyydetyistä ja käytetyistä resursseista.
Se on helppo tapa saada yleiskuva siitä, kuinka tehokkaasti suorittimia käytettiin (CPU Efficiency) ja kuinka paljon varatusta muistista todella käytettiin (Memory Efficiency).
Vinkki
voit lisätä seff-komennon eräajotyöskriptisi loppuun, jotta saat aina
tehokkuusraportin töistäsi: seff $SLURM_JOBID
Esimerkkituloste yhden solmun työstä:
[kkayttaj@puhti-login11 logs]$ seff 29221065
Job ID: 29221065
Cluster: puhti
User/Group: kkayttaj/kkayttaj
State: COMPLETED (exit code 0)
Nodes: 2
Cores per node: 40
CPU Utilized: 16:01:21
CPU Efficiency: 97.17% of 16:29:20 core-walltime
Job Wall-clock time: 00:12:22
Memory Utilized: 23.68 GB (estimated maximum)
Memory Efficiency: 6.38% of 371.09 GB (185.55 GB/node)
Job consumed 24.14 CSC billing units based on following used resources
Billed project: project_2001659
CPU usage: 16.49 CPU BU
Mem usage: 7.65 CPU BU
Jos haluat tarkempaa tietoa ohjelmasi suorituskyvystä, sinun kannattaa käyttää jotakin saatavilla olevista profilointityökaluista (katso alla).
Profilointityökalut
Hyvät profilointityökalut voivat auttaa muodostamaan kokonaiskuvan ohjelman laskenta- ja viestintämalleista sekä tunnistamaan mahdollisia suorituskyvyn pullonkauloja. CSC:llä on saatavilla useita profilointityökaluja:
- Intel VTune Profiler on tehokas profilointityökalu, jota voidaan käyttää sovelluksesi suorituskykytiedon keräämiseen ja joka soveltuu sekä sarjallisiin että monisäikeisiin koodeihin
- Scalasca on jälkipohjainen rinnakkaisen suorituskyvyn analysointityökalu MPI-, OpenMP- ja hybridi-MPI+OpenMP-ohjelmille
- Intel Trace Analyzer and Collector on MPI-profilointi- ja jäljitystyökalu rinnakkaisohjelmille
- cProfile on suositeltu, sisäänrakennettu profilointityökalu Python-ohjelmille
- nvprof on komentorivikäyttöliittymä CUDA-profilointi- ja jäljitystyökalu CUDA-ohjelmille
- nsys on Nsight Systemsin komentorivikäyttöliittymä, koko järjestelmän kattava suorituskyvyn analysointityökalu, joka on suunniteltu visualisoimaan sovelluksen algoritmeja
- ncu on Nsight Computen komentorivikäyttöliittymä, työkalu CUDA-ytimien virheenkorjaukseen ja optimointiin