Skip to content

Allinea Performance Reports

Introduction

Allinea Performance Reports characterize the performance of HPC application runs. After executing your application through the tool, a synthetic HTML report is generated automatically, containing information about several metrics along with clear behavior statements and hints to help you improve the efficiency of your runs.

Allinea Performance Reports is most useful in profiling MPI programs.

Our license is limited to 64 MPI processes.

Installed Versions

For the current list of installed versions, use:

$ ml av Forge

The module sets up environment variables, required for using the Allinea Performance Reports.

Usage

Instead of running your MPI program the usual way, use the perf-report wrapper:

$ perf-report mpirun ./mympiprog.x

The MPI program will run as usual. perf-report creates two additional files, in *.txt and *.html format, containing the performance report. Note that demanding MPI code should be run within the queue system.

Example

In this example, we will be profiling the mympiprog.x MPI program, using Allinea performance reports. Assume that the code is compiled with Intel compilers and linked against Intel MPI library:

First, we allocate nodes via the express queue:

$ salloc -A PROJECT_ID -p qcpu_exp --nodes=2 --ntasks-per-node=128 --cpus-per-task=1
salloc: Granted job allocation 1566484
salloc: Waiting for resource configuration
salloc: Nodes cn[206-207] are ready for job

Then we load the modules and run the program the usual way:

$ ml intel/2020b Forge/20.1.1
$ ml PerfReports/6.0
$ mpirun ./mympiprog.x

Now let us profile the code:

$ perf-report mpirun ./mympiprog.x

Performance report files mympiprog_32p*.txt and mympiprog_32p*.html were created. We can see that the code is very efficient on MPI and is CPU bounded.