After much too long a wait, Component PAPI, or PAPI-C, or PAPI 4.0.0 has finally arrived.
The inaugural release of Component PAPI represents a significant architectural change from PAPI 3.7.x and earlier. As such, your application must be recompiled and relinked to libpapi, the PAPI library for this version to work. PAPI-C is backward compatible with earlier versions of PAPI. All new library features are supported through new APIs and all old APIs still work as expected. Applications instrumented for PAPI should continue to work as expected with no changes.
The major change in PAPI-C is the support of multiple components, or counting domains, in addition to the traditional hardware counters found in the cpu. The goal of this first release of PAPI-C is to provide a stable technology platform within which to explore the development and implementation of additional components.
Although a small number of components are provided with this release, the major objective has been to guarantee that PAPI-C works at least as well as earlier PAPI releases and on the same range of hardware platforms. We think we have achieved that goal.
One new addition to PAPI-C is internal support for IBM BlueGene P. IBM's previous patches are now integral to the PAPI code base, making future support and development more viable.
Although there is no compelling reason for satisfied users to upgrade from PAPI 3.7.2, the PAPI-C branch is the one that will be supported in the future. You'll need to do it sometime; you might as well upgrade now!