Linaro MAP is a high-performance profiler designed to optimize the efficiency of software running on multicore processors.
Supports a wide range of programming languages, including C, C++, Fortran, and Python, and is capable of analyzing both parallel and single-threaded applications.
Quickly pinpoints performance bottlenecks down to the source line, providing in-depth analysis of pthreads, OpenMP, and MPI-based parallel and threaded code.
Promptly identifies issues related to communication and workload imbalances in multi-process codes, making it an invaluable tool for developers looking to enhance application performance and scalability in complex computing environments.
“The software developers in our group use Linaro Forge on an almost daily basis, not only for finding and fixing errors but also in order to get a more profound insight into program execution and data states.”
Dr. Aurel Neic, Postdoctoral Researcher, Institute of Biophysics Medical University of Graz
Profile your code without distorting application behaviour. Linaro MAP is Linaro Forge's scalable low-overhead profiler with no instrumentation or code changes required. It helps developers accelerate their code by revealing the causes of slow performance. From multicore Linux workstations to the largest supercomputers, you can profile realistic test cases with typically less than 5% runtime overhead.
Linaro MAP profiles parallel, multithreaded, and single threaded codes, providing in-depth analysis and bottleneck pinpointing to the source line. Unlike most profilers, it can profile pthreads, OpenMP or MPI for parallel and threaded code, including communication and workload imbalance issues for MPI and multi-process codes.
Linaro MAP exposes a wide set of performance indicators, including MPI metrics, Perf counters, I/O metrics, memory usage and even your own custom metrics. Profile computation (with self, child and call tree representations over time), thread activity (to identify over-subscribed cores and sleeping threads that waste CPU time for OpenMP and pthreads), instruction types, as well as synchronization and I/O performance.