===== Performance Reports ===== ==== Synopsis: ==== ''perf-report'' is a lightweight profiling tool that provides basic information about where the computing time is actually spent in a given application. It is developed by ARM (formerly Allinea) [[https://developer.arm.com/tools-and-software/server-and-hpc/debug-and-profile/arm-forge]] and very easy to use, i.e. by simply prefixing the usual executable with a call to ''perf-report''. It is nowadays integral part of [[doku:forge|ARM's forge]]. ==== Usage: ==== For example, analyzing a simple MPI job could be done with the help of the following submit script to [[doku:slurm|SLURM]] #!/bin/bash # #SBATCH -J prflng #SBATCH -N 2 #SBATCH --ntasks-per-node=16 #SBATCH --ntasks-per-core=1 module purge module load openmpi/4.1.4-gcc-12.2.0-x6sxxj3 arm/20.1_FORGE perf-report srun --jobid $SLURM_JOB_ID --mpi=pmi2 -n 32 ./a.out This will result in the creation of two summary files in *.txt and *.html format providing an overview of the relative time spent in MPI, I/O, OpenMP etc. Note the 'Energy' section in recent releases ! ==== Further Reading: ==== ''/opt/sw/x86_64/glibc-2.17/ivybridge-ep/allinea/20.1_FORGE/doc/userguide-forge.pdf'' ( part 4, explanations, examples, typical cases )