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.

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