ompP is a profiling library for OpenMP applications. It offers detailed information on how each parallel region performs together with measurements of various overheads (such as load imbalances, creating the region, etc.).

This page demonstrates usage on our systems and offers a short tour of some of the functionality – please see the website for more details on the project webpage:

or documentation installed with the software (see $OMPP_HOME/doc/ompp-usage.txt).

Basic usage

Before using, please execute the following to make the software available:

Before profiling an application, it needs to be rebuilt by preprending kinst-ompp-papi to the normal compilation line e.g.

When the application is run, a text file containing the profile will be generated. The profile will offer information on each parallel region (including file/line numbers), along with estimates for various overheads incurred by OpenMP.


The behaviour can be influenced by setting various the OMPP_* environment variables, enabling it to print more or less detail, or output in a machine readable format. This may include PAPI hardware performance counters, e.g.

Please see the software’s documentation for more information.

Example output