Current PAPI Software and Patches
Showing 5-9 of 22 Entries
Announcing PAPI 5.3.0

Just in time for Christmas stocking-stuffers (and too late for SuperComputing), PAPI 5.3 is now available.

This release includes several enhancements for Intel MIC (Xeon Phi) architectures, including support for offload code in addition to the previously released support for native code. See INSTALL.TXT for details. In addition to offload support, we've enhanced support for host-side power reading from MIC and added a utility to aid in plotting the results.

Intel finally admitted that Ivy Bridge supports Floating Point measurement at least as well as Sandy Bridge and added Floating Point events to the official event table. PAPI 5.3 supports them too. See the PAPI topic: Counting Floating Point on Sandy Bridge and Ivy Bridge for details.

The linux-rapl component had a problem with dynamic range. The length of time you could measure was a function of the (random) starting value. This component has been rewritten to insure access to the full 32-bits of dynamic range, and a test, rapl_wraparound, has been provided to estimate how long you can measure a naive gemm. The cautionary note is that you no longer get an error message on overflow, so you need to check your timings and results for reasonableness. See the PAPI topic: Accessing RAPL for more details.

We made some major changes in the way we handle ctests. First, many of the ctests were built based on outdated configure switches in the makefile(s). We rewrote the tests to determine at runtime whether or not they can run. This may result in more tests executing on your systems than in the past. Enjoy! Next, recognizing the value of our test suite as example code, we restructured the way make install-all works. This option now creates location independent makefiles that will allow you to clone your own copy of the tests directory and modify these tests for your own purposes.

There have been several other bug fixes and enhancements:

  • the Intel Haswell event table now supports PAPI_L1_ICM
  • AMD Bulldozer now supports Core select masks
  • the CUDA component now properly reports the number of native events
  • the command_line utility no longer skips the last event on a list
  • icc builds no longer add an extraneous -openmp flag


papi-5.3.0.tar.gz   Download View License

PAPI 5.2.0 Now Available

This release represents a major overhaul of the component build and test architecture. We've also modified several components to disable themselves at initializaton if the proper libraries or hardware is not available. This makes configuration and distribution of PAPI much easier on heterogenous architectures.

We've also added inital support for Intel Haswell and Power 8 architectures, and moved processor support code to the components directory.

A new component allows measurement of MIC power consumption from the host processor. This complements the earlier component that read MIC power from within native MIC code.

We added a new API to the High Level Interface:
PAPI_epc() measures the rate per cycle of any event, not just instructions or flops. It also provides reference cycles and core cycles where supported, to allow you to calibrate for clock rate changes within a processor. See the man page for details.

The papi_native_avail utility now supports "include" (-i) and "exclude" (-x) filters to more easily display a subset of event names from a potentially large list. See the man page for more information.

Other Enhancements:

  • Component tests are now included with install-tests make target.
  • Components with external library dependencies load them at runtime allowing better distribution (infiniband, cuda, vmware, nvml and host-side micpower)
  • Perf_events, perfctr[_ppc] and perfmon2[_ia64] have been moved under the components directory
  • (Intel) Uncore support has been split into its own component
  • Lustre component better handles large numbers of filesystems

And there's more details on these changes in the file ChangeLogP520.txt inside the PAPI tarball.

papi-5.2.0.tar.gz   Download View License

PAPI 5.1.0 Ready for Download

Well, it's really PAPI, but who's counting?
A few final last minute fixes caused us to bump the version number, just to keep the source code repository happy.

We added support for PAPI on the Intel Xeon Phi processor, aka MIC or KNC or Knight's Corner. PAPI cross-compiles on the host and runs on the MIC. Note that this currently requires a kernel patch to the MIC kernel. Details can be found in INSTALL.txt.

We also added a new component to measure power usage on MIC cards. This is a native MIC-based component that provides a selection of power, current and voltage measures.

PAPI now supports measuring uncore events on Intel Sandy Bridge processors, which requires support for a new domain: PAPI_DOM_SUPERVISOR to measure events at the system level.

We added a new API, PAPI_get_eventset_component, which returns the component index of a given eventset and is parallel to the PAPI_get_event_component call introduced in PAPI 5.0.

We improved the papi_command_line utility to print output in a variety of formats, and to display event units if they're available.

Other changes and enhancements include:

  • Various build system fixes.
  • NVML component fixes.
  • ARM Cortex A15 support.
  • Enhanced doxygen formatting for html pages.
  • and a host of miscellaneous bug fixes.


papi-   Download View License

PAPI 5.1.1 is Here

PAPI 5.1.1, a new incremental release of PAPI is now ready for download.

The main reason for this release was to add support for Intel IvyBridge EP.

But while we were at it we couldn't resist throwing in a few more things including:

  • build fixes for SPARC and IA64
  • assorted perf_event fixes, including support for perf_event_paranoid = 2
  • CUDA component fixes to eventset ordering
  • ARM support for pthread_mutexes
  • better overflow support for BG/Q components
  • tighter logic in the execution of the script

As always, you can get more details on these changes in the file ChangeLogP511.txt inside the PAPI tarball.

papi-5.1.1.tar.gz   Download View License

Minor Release, Major Impact

PAPI 5.0.1 is now available both as a tarball and as a patch to the recent 5.0.0 release. We recommend that all users and tools upgrade to this release.

Why, you may ask, are we releasing again so soon after the 5.0 release?

Primarily because we discovered a bug that randomly causes derived PRESET events to be computed incorrectly. This is a small fix with big implications, and was reported by an early PAPI 5.0 user in our bug reports forum. Thank you for helping to improve our package.

While we were at it, we decided to polish a few other less important things as well:

  • we updated the libpfm4 library with some Sandy Bridge fixes
  • we fixed some problems with the build system and external libpfm4 libraries
  • we fixed some event definitions for Intel Ivy Bridge processors
  • we updated the CUDA component to support CUDA 5 and Kepler
  • we added support for RAPL energy measurement on Ivy Bridge

If you've already installed PAPI 5.0.0, you can download a patch here and apply it to your source code and rebuild the library.

If you'd rather install from a tarball you can use the download link below.


papi-5.0.1.tar.gz   Download View License

Showing 5-9 of 22 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 © 2016 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.

May 30 2016 Admin Login