Software
Applying Patches
2010-02-02
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

PAPI 4.0.0 Patch 1
2010-01-29

This patch should be applied to the PAPI 4.0.0 tarball to address several issues identified and fixed since the release of the tarball on January 19, 2010.

Patches are cumulative; each patch contains all fixes since the release.

This patch addresses the following:

  • configure was mis-identifying some Pentium 4 processors; this has been corrected.
  • the ctests/shlib test now tests against the shared math library, libm.so, instead of libpapi.so
  • the PAPI_set_multiplex() call was silently returning without setting multiplex TRUE in cases where no event had been assigned to an eventset. This silent error has been removed.
  • the perfmon and perf_events counter interfaces were not properly handling event unit masks. This has been fixed.
  • PAPI_name_to_code() was not exiting properly in certain circumstances, failing on events where there should have been a match. This has  been corrected.
Of these fixes, the last two are the most significant. If you are seeing problems with converting valid event names to codes, this patch should be applied.


Component PAPI 4.0.0
2010-01-19

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.

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

And for installation instructions read the Installation Notes.

 


PAPI 3.7.2 Release
2009-12-05
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.1
2009-11-14

Just in time for SC09, PAPI 3.7.1 is now available for download. This is an incremental release of Classic PAPI with a few bug fixes and a few new or improved features.

If PAPI 3.7.0 is working fine for you, there’s no pressing reason to upgrade.

If you’d like better support for the new perf_counter interface in the Linux 2.6.31 kernel, this might be the ticket. We’ve added autodetection of the perf_counter interface in the new kernel and eliminated some bugs that prevented basic counting of many Intel and Opteron events.

In addition to some other general cleanup, we also fixed a long-standing bug in multiplexing and better positioned PAPI for building rpms.

For a summary of changes, read the PAPI 3.7.1 Release Notes

And for installation instructions read the following: Installation Notes


PAPI 3.7.0
2009-09-09

The latest release of PAPI Classic is here.

PAPI version 3.7.0 provides support for the latest processors from Intel and AMD, including Core i7 (Nehalem) and Atom, Shanghai and Istanbul.

In addition, this version includes preliminary support for IBM's upcoming Power7 on Linux, and Sun's Niagara2.

While we were at it, we resurrected support for PAPI on Windows, with implementations for 32-bit Windows versions on the newer Intel and Opteron processors.

To better handle SIMD instructions on newer processors, we've provided some new PRESET events. Two of these, PAPI_SP_OPS and PAPI_DP_OPS let you properly count floating point operations inside SIMD instructions.

In response to the buzz about the inclusion of perf_counters support in the upcoming linux 2.6.31 kernel, we've included an experimental PAPI interface to that module. Basic counting works, but the edge cases haven't been fully tested yet. Versions for IBM Power and Intel Core2 have been tested.

Finally, we've changed the way we deliver documentation. All the PAPI documentation is now online only, and not part of the source release. This should allow us to keep it more current and responsive to the needs of our users.

As always we've cleaned up a bunch of bugs and have provided a more stable and robust release. This is a recommended upgrade for all users.

For a summary of changes, read the PAPI 3.7.0 Release Notes

And for installation instructions read the following: Installation Notes



CVS Repository

CVS Repository

If you would like to interactively browse the PAPI CVS Repository by the WWW, go to the Web based PAPI CVS Viewer.

You can also stay up to date directly via our CVS Repository. Note that there are multiple branches active, check the repository for which branch you are interested in.

The first time, the Checkout phase:

> setenv CVSROOT :pserver:anonymous@cvs.eecs.utk.edu:/cvs/homes/papi
> cvs login
> Password:
> cvs co all

The next time, the Update phase:

> cvs update

The last time:

> cvs logout

Feb 09 2010 Admin Login