The Figure below shows the internal design of the To be easy to use, well documented, and freely available ARCHITECTURE To provide a standardize API among users, vendors, and academics To present a set of standard definitions for performance metrics on all To provide a solid foundation for cross platform performance analysis tools Some goals of the PAPI Project are as follows: These considerations motivated the development of the PAPI Project. Programming interfaces on different platforms. InĪddition, performance metrics may have different definitions and different However, there are only a few APIs that allow access to theseĬounters, and most of them are poorly documented, unstable, or unavailable.
#Papi papi code
These countersĬan provide performance tool developers with a basis for tool development andĪpplication developers with valuable information about sections of their code Such as Intel Pentium, IA-64, AMD Athlon, and IBM POWER series. Hardware counters exist on every major processor today,
#Papi papi portable
Implement a portable and efficient API (Application Programming Interface) toĪccess the hardware performance counters found on most modern microprocessors. This project was created to design, standardize, and University of Tennessee’s Innovative Computing Laboratory in the Computer The PAPI Project is being developed at the PAPI is an acronym for Performance Application That passes the argument of 1 that the user should write to handle errors. Information on native events, multiplexing, overflow, and etc. Platforms on which they are supported, a table of PAPI supported tools, more These appendices provide various listings and tables, such Information on PAPI two mailing lists for the users to ask various questions With the names, values, and descriptions of the return codes are given as wellĪs a discussion of the PAPI function that can be used to convert error codes toĮrror messages along with a code example with the corresponding output. Various negative error codes that are returned by the PAPI functions. To implement these features are also discussed. Threads, MPI, overflows, and statistical profiling. Section discusses the advanced features of PAPI, which includes multiplexing, CodeĮxamples along with the corresponding output are included as well. Code examples along with the corresponding output are included as well.įunctions associated with obtaining hardware and executable information. Code examples along with theĬorresponding output are included as well.įunctions associated with obtaining real and virtual time from the platform’s High-level and low-level interfaces in detail. Query, and preset translation with the corresponding output. There are code examples using native events, preset The preset query and translation functions are alsoĭiscussed in this section. Section provides an explanation of events as well as an explanation of nativeĪnd preset events. Shows the relation between certain pseudo-types and Fortran variable types.
#Papi papi install
States the necessary steps in order to install PAPI on the various supportedįiles in which function calls are defined and the form of the function callsįor both the C and Fortran calling interfaces. This section provides an installation guide for PAPI. Intended users are atyle='font-size:12.0pt'>III.
#Papi papi how to
This document is intended to provide the PAPI user with aĭiscussion of how to use the different components and functions of PAPI. Table of Overhead for the Various Platforms
Table of Native Encoding for the VariousĪppendix F. Starting, Reading, Adding, and Stopping events inĬonverting an Event Set into a MultiplexedĪppendix E.