Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

Intel VTune Profiler

Intel VTune Profiler on suorituskyvyn analysointityökalu yhden ytimen ja säikeistyksen suorituskyvyn analysointiin, eli yhden laskentasolmun suorituskyvyn tarkasteluun. MPI-analyysissä useilla solmuilla VTune tuottaa erillisen analyysin jokaiselle solmulle. Kattavampi MPI-suorituskyvyn analyysi on mahdollista esimerkiksi Intel Traceanalyzerilla tai Scalascalla.

Saatavuus

Puhti: 2022.3

Lisenssi

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

Käyttö

Intel VTune Profiler on saatavilla intel-oneapi-vtune-moduulin kautta. Ympäristö otetaan käyttöön lataamalla moduuli:

module load intel-oneapi-vtune

Jos haluat saada tietoa lähdekooditasolla, käännä koodisi virheenkorjaustiedot sisältävällä valinnalla -g.

Tulosten kerääminen

Suorituskyvyn analysointi voidaan käynnistää joko VTunen graafisesta käyttöliittymästä tai VTunen komentorivityökalulla. HPC-järjestelmissä käytetään tavallisesti komentorivityökalua vtune bash-työssä. Ensimmäinen analyysi, jota suosittelemme kokeilemaan, on "performance snapshot". Tässä on esimerkkieräajotyön skripti, jota voidaan käyttää sen keräämiseen (muokkaa skriptiä sovelluksesi ja projektisi mukaiseksi!):

#!/bin/bash
#SBATCH --job-name=VTune_example
#SBATCH --account=<project_name>
#SBATCH --partition=small
#SBATCH --time=00:15:00
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=20
#SBATCH --mem-per-cpu=4000

# set the number of threads based on --cpus-per-task
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

module load intel-oneapi-vtune

srun vtune -collect performance-snapshot -- ./my_application

Oletuksena VTune kirjoittaa analyysin tulokset hakemistoon nimeltä r000ps nykyisen työhakemiston sisällä. Numero kasvaa automaattisesti, kun keräyksiä suoritetaan useita. Kaksi viimeistä kirjainta viittaavat analyysityyppiin. Voit käyttää myös mukautettua tuloshakemistoa valinnalla -r results_dir_name.

Kun analysoidaan MPI-sovelluksia (ja ajetaan useilla MPI-tehtävillä), tulee lisätä valinta -trace-mpi:

#SBATCH ...

srun vtune -collect performance-snapshot --trace-mpi -r results_dir_name -- ./my_application

MPI-töissä profilointityökalu luo erillisen hakemiston jokaiselle solmulle. Kerättävän datan määrän vähentämiseksi dataa voidaan kerätä vain osajoukolta tehtäviä käynnistämällä VTune kääreskriptin sisältä:

#SBATCH ...

export VTUNE_CL="vtune -collect performance-snapshot -trace-mpi -result-dir results_dir_name --"

cat << EOF > vtune_wrapper
#!/bin/bash

# Launch VTune only for one MPI rank per node
if [ $SLURM_LOCALID -eq 0 ]
then
exec $VTUNE_CL \$*
else
exec \$*
fi
EOF

chmod +x ./vtune_wrapper


srun ./vtune_wrapper ./my_application

rm -rf ./vtune_wrapper

Tulosten analysointi komentorivillä

Komentorivityökalua voidaan käyttää raporttien luomiseen kerätyistä tuloksista valinnalla -report:

vtune -report summary -r results_dir_name

Tulokset tulostetaan vakiotulosteeseen tai tiedostoon valinnalla -report-output output_filename.

VTune tukee suurta määrää erilaisia raportteja, esim. "hotspots", "hardware events", ja on myös mahdollista vertailla kahden raportin välisiä eroja:

vtune -report hotspots -r results_dir_name_00 -r results_dir_name_01

Oletuksena raportin aika ryhmitellään funktioittain, mutta se voidaan ryhmitellä myös lähdekoodiriveittäin (-group-by source-line) tai moduuleittain (-group-by module).

Lopuksi on mahdollista näyttää kutsupinojen CPU-aika (-report callstacks) tai näyttää kutsupuu ja esittää CPU-aika kullekin funktiolle (-report top-down).

Tulosten analysointi graafisella käyttöliittymällä

Tuloksia voidaan tarkastella vtune-gui-sovelluksella, jonka suosittelemme käynnistämään Desktop-sovelluksen kautta Puhdin selainkäyttöliittymässä. Voit myös kopioida koko tuloshakemiston työasemallesi paikallista analyysiä varten.

Tietty tulosjoukko voidaan avata antamalla tuloshakemiston nimi argumenttina komennolle vtune-gui:

vtune-gui results_dir_name

Tunnetut ongelmat

Joskus vtune-gui ei käynnisty ja antaa virheen "Failed to launch VTune Amplifier GUI...". Jos näin tapahtuu, tulee lopettaa kaikki jäljelle jääneet VTune-prosessit ja yrittää uudelleen:

killall -9 -r vtune
vtune-gui

Lisätietoja

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta