MAP – MPI profiling

Allinea Tools MAP is a low-overhead profiling application for programs that use Message-Passing Interface (MPI). It collects the detailed information on resource usage (time, speed/rate and memory) by your application and its components, MPI message-passing communications, and input/output (I/O) transfer. It helps to determine the performance bottlenecks, optimize your application and use of the resources.
The program you want to profile needs to be compiled with the debugging flag. For most compilers, it is -g. It is also better to turn off compiler optimization flags for debugging purposes. For example,

% mpif90 -g -o helloworld.exe helloworld.f90

To collect data from your application, MAP needs two small libraries to be linked with your program. Usually it could be done automatically, and your program will be dynamically-linked to the needed libraries. It will be directed by the environmental variable MAP_MPI_WRAPPER depending on the MPI implementation.

If you are using Intel MPI impi, set


If you are using openmpi/1.7.5 with Intel ifort and icc compilers, set



While its common when debugging to submit runs from inside a debugger, for profiling the usual approach would be to run the program offline, producing a profile file that can be inspected later. With MAP profile you could do either way. You could launch it a GUI application and follow the program execution, or could use the command-line options and save the profiling data for the offline analysis using a GUI tool. For configuring and running GUI MAP tool follow these instructions on how to configure and run MAP.
Launching MAP could be done in one of the following ways:

  • In Pegasus2 environment by launching a GUI tool in the interactive queue:
    % module load allinea/4.2.1
    % bsub -q interactive -Is -XF map

    This requires logging to a graphical node ( and have X11 forwarding enabled.

  • Using a remote Mac OS/X GUI client: Install and launch
  • Using a remote PC Windows GUI client: Install and launch
  • Using a remote Linux/Unix GUI client: Install and launchNote that launching a remote GUI client is a faster way than launching it via interactive queue on Pegasus2, because the graphical interface running on your local machine and does not require X11 forwarding.
  • Using in-line options in the runscript, for offline MAP analysis at a later time.
    % module load allinea/4.2.1

    Replace mpiexec or mpirun in your job runscript with ddt. Add command-line options for memory debugging, setting the tracepoints, or saving output as *.html for the offline debugging (add -offline option), as needed. Consult the Chapter 17.8. Starting MAP in A Job Script in User’s Guide (DDT + MAP) AllineaTools V.4.2.1 for exploring the options. For example, if your runscript launches the job as follows:

    mpirun -n 1024 myprogram

    replace it with:

     map -profile -n 1024 myprogram

    Then submit it as a usual batch job:

    % bsub < ./

    MAP will run without a GUI, gathering data to a *.map profile file. Its filename is based on a combination
    of program name, processor count and timestamp, like, although this may be changed with the -output argument. To examine this file, either start GUI MAP application and select the Load Profile Data File option, or access it directly with command:

    % map


After you launched the GUI application, configure and run MAP!

Refer to the Chapters 17-23 on MAP options and configurations in a User’s Guide.

User’s Guide could also be found in the AllineaTools installation directory on Pegasus2 in the following location:



Examples of MAP tool view for a complex parallel program are shown below. MAP with Input/Output view:


MAP with Parallel Stack View:


MAP with Project Files view:



NB: The history of your system configuration and the last programs you debugged or profiled with AllineaTools is saved in your home directory on pegasus2:





Debugging and Profiling with AllineaTools

DDT – Distributed Debugging Tool

MAP – MPI Profiling

PerformanceReports – MPI profiling summary

MAP: configure and run

AllineaTools (DDT + MAP) User’s Guide. Version 4.2.1-37994

HPC Documentation

HPC Home