PAPI: Performance Application Programming Interface

The PAPI Performance Application Programming Interface provides machine and operating system independent (portable) access to hardware performance counters found on most modern processors. Any of over 100 preset events can be counted through either a simple high level programming interface or a more complete low level interface from either C or Fortran.

The high level API lets you start, stop, and read the counters for PRESET events on the cpu only. It is designed for simplicity, not flexibility. It includes 8 functions. The low-level API manages hardware events in user-defined groups called Event Sets. It is meant for experienced application programmers and tool developers wanting fine-grained measurement and control of the PAPI interface. It provides access to both PAPI preset and native events, and supports all installed components. Approximately 50 functions comprise the low-level API.

Additionally, PAPI provides a collection of simple utility commands, located in the bin/ PAPI install directory.

For PAPI usage information, please consult the PAPI documentation below.

Platforms and Locations

Platform Location Notes
x86_64 CHAOS 5

/usr/local/tools/papi

Multiple versions are available. Use Dotkit to load.
x86_64 TOSS 3 /usr/tce/packages/papi/* Multiple versions are available. Use module to load.
BG/Q

/usr/local/tools/papi

Multiple versions are available. Use Dotkit to load.

Troubleshooting

  • Consult the PAPI documentation (below)
  • Contact the LC Hotline to report a problem.

Documentation and References

LLNL-WEB-670397