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).
To show the software versions:
module avail map
Loading the module will set the path and any necessary
module load map/version
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 &
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.