Performance Application Programming Interface

It is being widely used to collect low level performance metrics (e.g. instruction counts, clock cycles, cache misses) of computer systems running UNIX/Linux operating systems.

PAPI provides predefined high level hardware events summarized from popular processors and direct access to low level native events of one particular processor.

Operating system support for accessing hardware counters is needed to use PAPI.

For example, prior to 2010, a Linux/x86 kernel had to be patched with a performance monitoring counters driver (perfctr link) to support PAPI.

Supported Operating Systems and requirements are listed in the official repository's documentation INSTALL.txt.