Current PAPI Software and Patches
Showing 16-20 of 21 Entries
PAPI 4.1.2 Release

The PAPI 4.1.2 release is now available for download. This is a minor release of PAPI-C. It addresses a number of bugs and other issues that have surfaced since the 4.1.1 release.

This version:

* fixes an issue with overflows in perf_events in which events would continue to count in the overflow handler. This led to saturation at low thresholds and eventual segfaults;
* fixes a bug in multiplexing that caused sporadic segfaults in some circumstances;
* fixes a situation in which perfctr could add uncountable events;
* fixes various locking and forking issues identified by users;
* adds support for Intel Westmere;
* refreshes support for Matlab and freeBSD;
* refreshes the preset event definitions for Intel Nehalem;

along with a variety of code cleanups and enhancements.

This version bump is a recommended upgrade for anyone using PAPI, but if you aren't seeing any problems with your current installation, it is not required.

For a summary of changes, read the PAPI 4.1.2  Release Notes.

And for installation instructions read the Installation Notes.
papi-4.1.2.tar.gz   Download View License

PAPI 4.1.1 Release

The PAPI 4.1.1 release is now available for download. This is a minor release of PAPI-C. It addresses a number of bugs and other issues that have surfaced since the 4.1.0 release.

This version fixes an issue in which 'make clean' would go into an infinite loop searching for the doc directory. It also implements a better mechanism for insuring that threads in linux kernels get their own interrupts for perf_events. Various features are now enabled or disabled at runtime based on kernel versioning, and support for the perf-counter interface in linux kernel 2.6.31 has been deprecated in favor of the perf-events interface in kernel 2.6.32 and above.

Support for the perf-events interface built into recent linux kernels has been strengthened and broadened.

In addition a number of corner cases in the test code have been examined and addressed. A WARNING state was implemented for the tests, to allow information to be provided without actually FAILing the test.

For a summary of changes, read the PAPI 4.1.1  Release Notes.

And for installation instructions read the Installation Notes.
papi-4.1.1.tar.gz   Download View License

PAPI 4.1.0 Release

The PAPI 4.1.0 release is now available for download. It incorporates all the fixes from the 4.0 patches, as well as a few other goodies.
New platform support includes Intel's Nehalem EX and Westmere processors.
Support for IBM Blue Gene / P has been improved to include the PAPI_TOT_CYC event.
This release includes significant code cleanup to eliminate compiler warnings and type inconsistencies and to eliminate memory leaks.
We also now support embedded doxygen comments for documentation. Doxygen documentation can be found here.
The component build environment has been restructured to make it easier to add and build components without modifying baseline PAPI code. See the /src/components/README file for details.
PAPI can now also be built with a generic cpu option. This is useful in cases where you have an older unpatched kernel and want to test other components, or if you want to build instrumented code on a platform other than the test platform to verify proper compilation. This takes the place of PAPI's old "any-null" substrate build.
We have added experimental implementations of an Infiniband and a Lustre component. We have also added an example component to illustrate and template component coding.

For a summary of changes, read the PAPI 4.1.0  Release Notes.

And for installation instructions read the Installation Notes.


papi-4.1.0.tar.gz   Download View License

Applying Patches

Just in case there's any confusion on what to do with the PAPI software patches, the following instructions will step you through the process:

  1. Download the patch file. Some browsers will simply open and display this file, so you may need to do a "Save As...". Use the filename displayed in the url. Example: papi400patch1.diff
  2. Download, unzip and untar the zipped tarball of interest. Example: papi-4.0.0.tar.gz.
  3. Copy the diff file into the papi directory and cd to it.
  4. Apply the patch. Example: patch -p1 < papi400patch1.diff

Note that these patches are cumulative against the base release, but only one patch can be applied.

PAPI 3.7.2 Release
If you've been having trouble installing PAPI on the new Linux kernels (2.6.31 and 2.6.32) you might want to check out the new PAPI 3.7.2 release.

Thanks to an update error in the tarball, PAPI 3.7.1 did not have the promise automatic configuration support for the 2.6.31 kernel. While fixing that, we also added clean support for the 2.6.32 kernel and the name change from perf_counter to perf_event

As with PAPI 3.7.1, if PAPI 3.7.0 is working fine for you, there’s no pressing reason to upgrade.

In addition to improved support for the new kernels, we also:
  • fixed and updated some last level cache size issues on recent AMD and Intel processors,
  • hardened some of the multiplexing tests so they won't fail as easily,
  • and added a spec file for easier production of rpms.

For a summary of changes, read the PAPI 3.7.2  Release Notes.

And for installation instructions read the Installation Notes.
papi-3.7.2.tar.gz   Download View License

Showing 16-20 of 21 Entries

Source Code Repository


If you would like to interactively browse the PAPI source code, go to the Web based source browser here:

This source browser is also accessible through the Trac bug reporting system or directly through the Browse Source link in the menu to the left.

You can also stay up to date directly by cloning a copy of our git Source Code Repository

Make sure git is installed on your machine. You can download a copy here.

Download the PAPI repository the first time with the following command:

> git clone

This creates a complete copy of the papi git repository on your computer in a folder called 'papi'.

To make sure your copy is up to date with the repository:

> cd papi
> git pull


Copyright © 2015 The University of Tennessee. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
· Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
· Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer listed in this license in the documentation and/or other materials provided with the distribution.
· Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. in no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Nov 29 2015 Admin Login