PAPI  5.4.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
PAPI

Introduction

The PAPI Performance Application Programming Interface provides machine and operating system independent 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. A list of the function calls in these interfaces is given below, with references to other pages for more complete details.

High Level Functions

A simple interface for instrumenting end-user applications. Fully supported on both C and Fortran. See individual functions for details on usage.

The High Level API

Note that the high-level interface is self-initializing. You can mix high and low level calls, but you must call either PAPI_library_init() or a high level routine before calling a low level routine.

Low Level Functions

Advanced interface for all applications and performance tools. Some functions may be implemented only for C or Fortran. See individual functions for details on usage and support.

The Low Level API

Fortran API

The Fortran interface has some unique features and entry points. See individual functions for details.

PAPI Fortran API

Components

Components provide access to hardware information on specific subsystems.

Components can be found under the conponents directory or here. and included in a build as an argument to configure, '–with-components=< comma_seperated_list_of_components_to_build >'

PAPI Utility Commands

  • papi_avail - provides availability and detail information for PAPI preset events
  • papi_clockres - provides availability and detail information for PAPI preset events
  • papi_cost - provides availability and detail information for PAPI preset events
  • papi_command_line - executes PAPI preset or native events from the command line
  • papi_decode - decodes PAPI preset events into a csv format suitable for PAPI_encode_events
  • papi_event_chooser - given a list of named events, lists other events that can be counted with them
  • papi_mem_info - provides information on the memory architecture of the current processor
  • papi_native_avail - provides detailed information for PAPI native events
See Also
The PAPI Website http://icl.cs.utk.edu/papi