Reaching Others University at Buffalo - The State University of New York
Skip to Content

MAP

MAP is graphical interface for profiling serial and MPI codes. It is licensed from Allinea, who are also the developers of DDT (Distributed Debugging Tool).

Category:  Profiler

Usage Notes

To show the software versions:
    module avail map

Loading the module will set the path and any necessary variables:
    module load map/version

Additional Information
MAP is a licensed product. It is available to all CCR users but limited to 32 CPU tokens.

The MAP manual is available on the CCR front-end in pdf format and may be viewed using xpdf. It is located at the following path:

   /util/allinea/tools/doc/userguide.pdf   (for version 4.0)

Running MAP on CCR

There are three steps to running map on the CCR cluster:

(1) You must first re-compile your code with debugging enabled. Typically, you would use the "-g -O0" options when compiling and linking.

(2) You must then run your application under control of the MAP profiler. Typically this involves a small modification to your SLURM script to replace the usual launcher (e.g. mpiexec.hydra or srun) with "map -profile". This will produce a .map output file. Example SLURM scripts may be found off the front-end at:
      /util/allinea/example/map/slurm-map-mpi   (an example using intel-mpi)
      /util/allinea/example/map/slurm-map-serial   (an example for serial codes)

(3) Load the .map file produced in step 2 into the MAP graphical interface and analyze the performance of your code.
      map your_map_file.map &

 

Did You Know?

MAP provides a convenient timeline view of code performance, including memory usage and time spent performing computation vs. communication. Users can zoom into any part of the timeline and navigate the associated code blocks. This facilitates rapid identification of bottlenecks.