Arm MAP is a parallel profiler that shows you which lines of code took the most time and why. It supports both interactive and batch modes for gathering profile data, and supports MPI, OpenMP, and single-threaded programs. Syntax-highlighted source code with performance annotations enable you to drill down to the performance of a single line, and a rich set of zero-configuration metrics help you visualize memory usage, floating-point calculations, and MPI usage across processes.

Arm MAP is cross-platform and can run on your laptop, the latest supercomputer, and tomorrow's upcoming architectures. It supports 64-bit Armv8, x86_64, knl, and ppc64le.


User tasks

Python profiling

Use Arm MAP to profile applications that contain Python scripts.

Learn more

Region profiling

Try Caliper to profile regions of your application.

Learn more

Write your own metrics

Learn how to write your own Arm MAP custom metrics. This example shows how to write a custom metric using PAPI instructions-per-cycle (IPC).

Read blog

Solve performance issues

Learn how to use Arm MAP to profile and solve application performance issues. This video demonstrates how to identify a workload imbalance on an application that performs matrix multiplication across multiple processors.

Learn more

Get support

  • Square with an ellipses in (speech bubble).
  • HPC community

    Join the Arm Developer Community to ask questions, get answers, share ideas, and read the latest blogs.

    Go to HPC community
  • The top half of a human.
  • Get support

    The support team are ready to help if you have any questions or problems using Arm MAP.

    Contact us