Intel Trace Analyzer and Collector
Intel Trace Analyzer and Collector (ITAC) are two tools used for analyzing MPI behavior in parallel applications. ITAC identifies MPI load imbalance and communication hotspots in order to help developers optimize MPI parallelization and minimize communication and synchronization in their applications. Using Trace Collector on Cori must be done with a command line interface, while Trace Analyzer supports both a command line and graphical user interface which analyzes the data from Trace Collector.
Environmental models for ITAC in ULHPC¶
module load purge
module load swenv/default-env/v1.2-20191021-production
module load toolchain/intel/2019a
module load tools/itac/2019.4.036
module load vis/GTK+/3.24.8-GCCcore-8.2.0
Interactive mode¶
# Compilation
$ icc -qopenmp -trance example.c
# Code execution
$ export OMP_NUM_THREADS=16
$ -trace-collective ./a.out
# Report collection
$ export VT_STATISTICS=ON
$ stftool tracefile.stf --print-statistics
Batch mode¶
Shared memory programming model (OpenMP)¶
Example for the batch script:
#!/bin/bash -l
#SBATCH -J ITAC
###SBATCH -A <project_name>
#SBATCH -N 1
#SBATCH -c 16
#SBATCH --time=00:10:00
#SBATCH -p batch
module purge
module load swenv/default-env/v1.2-20191021-production
module load toolchain/intel/2019a
module load tools/itac/2019.4.036
module load vis/GTK+/3.24.8-GCCcore-8.2.0
$ export OMP_NUM_THREADS=16
$ -trace-collective ./a.out
To see the result
$ export VT_STATISTICS=ON
$ stftool tracefile.stf --print-statistics
Distributed memory programming model (MPI)¶
To compile
$ mpiicc -trace example.c
#!/bin/bash -l
#SBATCH -J ITAC
###SBATCH -A <project_name>
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH --time=00:10:00
#SBATCH -p batch
module purge
module load swenv/default-env/v1.2-20191021-production
module load toolchain/intel/2019a
module load tools/itac/2019.4.036
module load vis/GTK+/3.24.8-GCCcore-8.2.0
srun -n ${SLURM_NTASKS} -trace-collective ./a.out
$ export VT_STATISTICS=ON
$ stftool tracefile.stf --print-statistics
Tip
If you find some issues with the instructions above, please report it to us using support ticket.
Last update: December 2, 2024