Instruction Mix

We use the MIAMI performance modeling framework that utilizes Intel's PIN (binary instrumentation tool) to collect and categorize an application's instruction mix.

Memory Bandwidth

The memory bandwidth tool utilizes PAPI and measures the read and write bandwidths for a designated portion of the application.


mpiP is a lightweight profiling library for MPI applications. It is used to collet basic communication characteristics (point-to-point and collective calls) as well as the communication topology.

Memory Reuse Distance

Reuse distance is defined as the number of distinctive data elements accessed between two consecutive references to the same element. This tool also utilizes Intel's PIN as the backend to obtain the memory reuse information.

Static Analysis

We perform basic analysis on an application's source code to get several static analysis metrics ( Cyclomatic Complexity, programming languages used, types of parallelism, lines of code, functions etc.)

Coming soon

Performance Modeling using Aspen

Aspen (Abstract Scalable Performance Engineering Notation) is a domain specific language for performance modeling that fills an important gap in existing techniques for performance prediction. It is designed to enable rapid exploration of new algorithms and architectures.