Downloading and Installing PAPI

Clone 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

To install PAPI on your system:

  • Find the section in INSTALL.txt that pertains to your hardware and operating system.
  • Follow the directions to install required components and build the PAPI libraries.
  • Run the test suite when you are finished to verify that everything went ok. NOTE: Although we make every attempt to get all tests to PASS or SKIP on all platforms, there are occasional instances of FAILures due to excessively tight compliance thresholds or platform idiosyncrasies. Don't panic if one or two tests FAIL. Contact us with complete output and we'll see what we can do.



Showing 11-15 of 25 Entries
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

PAPI 5.0.0 Release, AKA PAPI-V with support for Virtual Systems

The PAPI 5.0.0 release is now available for download.

This is a major release of PAPI. Parts of both the internal component and external low-level interfaces have changed. This will break your 4.4 compliant components and links to shared libraries.

Although we have tried to keep the impact of these changes minimal, we have made changes to the Application Binary Interface, the Application Programming Interface, and the Component Development Interface. A full detailed description of the changes to PAPI 5.0 can be found here:

Meanwhile here's a quick summary of changed APIs:

  • PAPI_perror now behaves like its posix cousin. The API has been changed to reflect this.
  • Both PAPI_perror and PAPI_strerror can now report errors from components as well as pre-defined PAPI errors.
  • The data returned by PAPI_get_component_info has been cleaned up significantly. If you were using esoteric fields, they may no longer be there.

And some new APIs:

  • PAPI add named event, PAPI remove named event, PAPI query named event
  • PAPI get event component, PAPI enum cmp event, PAPI get component index
  • PAPI disable component by by name, PAPI disable component

PAPI-V also add detection of operation inside a virtual environment and several virtual machine related components, including one to report stealtime from linux.

If you're running on a SandyBridge machine, you can use the new RAPL component to measure power consumed by the chip, and if you're running certain NVidia cards, you can use the NVML component to measure power on that card.

Oh, and if you're using SandyBridge or IvyBridge processors, good luck with counting Floating Point operations. They'll work on SandyBridge if you're careful and only count Floating Point; they won't work at all on IvyBridge.

As always, please contact us through the mailing list or User Forum if you have any questions or complaints about this release.

papi-5.0.0.tar.gz   Download View License

PAPI 4.4.0 Release with BG/Q Support

The PAPI 4.4.0 release is now available for download.
The title says it all -- or almost.

This is a major release of PAPI-C. Not because it breaks compatibility with previous versions. It doesn't. But because it adds support for IBM's latest Blue Gene machine, the BG/Q. That may not matter to most of our users, but to those for whom it matters, it matters a lot.

This effort is the product of a three year collaborative development effort between IBM and the performance tools community. They are to be commended for spear-heading this effort to get it right.

You may notice that we bumped the release version from 4.2.1 to 4.4.0. Because we could. And because it helps Cray, another one of our development partners, keep their versioning consistent. You didn't miss 4.3. We just skipped it.

In addition to the new BG/Q support, we have incorporated a handful of bug fixes, code clean-ups and library updates.

And oh, by the way, this is the first release from our git repository. We think we got it right, but let us know if you see any anomalies.

Bug fixes include:

  * Fix buffer overrun in lmsensors component 
  * libpfm4: Update to current git libpfm4 snapshot
  * Fix broken Pentium 4 Prescott support we were missing the netbusrt_p
    declaration in papi_events.csv
  * Fix various locking issues in the threaded code.
  * Fix multiplexing of large eventsets on perf_events systems.
    This presented when using more than 31 multiplexed events on perf_event 

papi-4.4.0.tar.gz   Download View License

PAPI 4.2.1 Release

The PAPI 4.2.1 release is now available for download.

This is a minor release of PAPI-C. It does not break binary or semantic compatibility with previous versions.

We have reviewed and updated all doxygen generated man pages for documentation, and reworked the output from papi_native_avail and papi_xml_event_info.
We have also added support for AMD Family 11 and 12 processors, and redefined the PAPI_FP_OPS event for Intel SandyBridge so that it only requires 4 counters and can run properly with hyperthreading enabled.
A host of bug fixes and code clean-ups have also been implemented, including significant rewrites of several components for clarity and functionality.

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

And for installation instructions read the Installation Notes.

papi-4.2.1.tar.gz   Download View License

Showing 11-15 of 25 Entries

Copyright © 2018 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.

Jun 25 2018 Admin Login