Software Archive: PAPI
PAPI code

PAPI source code for all platforms.
For supported platforms, see the supported platforms section.

PAPI 4.0.0 Patch 3 (2010-04-30)

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. It cannot be applied to a tarball that has been patched with an earlier patch file.

This patch addresses the following:

  • the utils/papi_version utility reports PAPI 4.0.0.3, where the last digit matches the patch number.
  • the ultrasparc architecture has been resurrected and supported in this patch.
  • IBM Blue Gene P systems were corrupting stack frames and crashing when the papi_get_event_info call was executed. This has been fixed.
  • papi_native_avail was exiting improperly when using the -e option. THis caused problems with batch execution systems (like Blue Gene P). This has been fixed.

Patches are cumulative; each patch contains all fixes since the release. See the descriptions for PAPI 4.0.0 Patch 1 and Patch 2 for other modifications.

[DIFF]

PAPI 4.0.0 Patch 2 (2010-03-09)

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. It cannot be applied to a tarball that has been patched with an earlier patch file.

This patch addresses the following:

  • the utils/papi_version utility now reports PAPI 4.0.0.2, where the last digit matches the patch number.
  • the papi.spec file has a correction for a minor typo in the ExcludeArch line.
  • a serious but insidious bug in the overflow logic was corrected. This bug would only show up when PAPI_overflow was called between calls to PAPI_add_event. Overflow would only be set for the last call of PAPI_overflow. This has  been corrected.

Patches are cumulative; each patch contains all fixes since the release. See the description for PAPI 4.0.0 Patch 1 for other modifications.

[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.

[TAR.GZ]

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

[TAR.GZ]

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

[TAR.GZ]

PAPI 3.6.2 (2008-10-03)

The PAPI 3.6.2 release is here.

The primary reason for this release is support for IBM POWER6/AIX. We had naively claimed that support in earlier versions, but hadn't tested on a real live machine. There are still some restrictions on POWER6 support, as outlined in the Release Notes, but it is now functional in most cases.

While we were at it, we also added a few other bug fixes and enhancements, including better definitions of PAPI_FP_OPS on POWER5, 5+ and 6 machines. Details in the Release Notes.

This release is a recommended upgrade for all platforms.

And as always, for installation instructions read the following: Installation Notes

[TAR.GZ]

PAPI 3.6.1 (2008-08-04)

The incremental PAPI 3.6.1 release is here.

In addition to a handful of important bug fixes, this release also introduces support for SiCortex and the Cell processors.

Bugs addressed include:
- an identification problem with some Pentium4 models;
- a fix for overflow support on Intel Core processors;
- better support for fork/exec with overflow and profiling with perfctr and perfmon;
- fixes in Fortran headers for large negative number warnings;
- an alias for PAPI_ENUM_ALL to prevent legacy code from failing.

Further enhancements include:
- default inclusion of the perfmon_events.csv file in the library so events don't get lost;
- proper identification of POWER5+ and 5++ processers using AIX;
- the addition of nanosecond resolution to PAPI timers (where available).

This release is a recommended upgrade for all platforms.

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

And for installation instructions read the following: Installation Notes

[TAR.GZ]

PAPI 3.6.0 (2008-05-02)

After much delay and anticipation, PAPI 3.6 has finally been released.

In addition to support for newer dual and quad core processors from Intel and AMD, this version has added support for POWER6 with Linux, new offerings from Cray, Itanium multicore chips, and FreeBSD.

Further, PAPI now standardizes native event names on the interface provided by the perfmon2 interface across all applicable platforms.

Several utilities have been enhanced to provide more useful output, including papi_avail and papi_native_avail, and a new utility, papi_xml_event_info, has been added to provide event information in an xml format suitable for consumption by higher level performance tools.

This release is a recommended upgrade for all platforms.

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

And for installation instructions read the following: Installation Notes

[TAR.GZ]

PAPI-C Version 3.9.0 Technical Pre-Release (2007-07-04)

The first release of PAPI-C multi-component technology is now available in pre-release form. A small number of platforms are supported, including Pentium III, Pentium 4, Opteron, Itanium, and the Intel Core 2 series. This pre-release previews the API changes needed to support multiple simultaneous counting domains, and is beneficial for tool developers to explore. For more information, see the PAPI-C overviewTechnical documentation for the PAPI-C API is also available.

[TAR.GZ]

PAPI 3.5.0 (2006-11-09)

The much anticipated (and much delayed) release of PAPI 3.5 is finally here. It adds support for Intel Core2Duo, and brings support for IBM Blue Gene and Cray XT3 into compatibility with the rest of the PAPI world.

In addition, this release solidifies a wide range of issues including a number of bug fixes and enhancements.

New in this release is extensive support for 'configure', which is now supported (and required) on all platforms.

This release is a recommended upgrade for all platforms.

For a summary of changes, see the PAPI 3.5.0 Release Notes

For details on changes in this release, search the PAPI 3.5.0 Change Log.

Finally, for installation instructions read the following: Installation Notes

[TAR.GZ]

PAPI 3.2.1 (2005-11-23)

PAPI 3.2.1 is a stable and well tested release that is appropriate for use on all supported platforms. This version adds support for AIX/POWER5 and enhances support for Cray XT3. In addition it fixes the installation bug for Itanium that was introduced in the 3.1.0 release and cleans up a number of other issues.

NOTE: This is a replacement for the PAPI 3.2.0 release which had minor cosmetic problems. There are no feature changes in this release, other than a perfctr upgrade for Linux/PPC substrates.

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

For details on changes in this release, search the PAPI 3.2.1 Change Log, and the PAPI 3.2.0 Change Log.

Finally, for installation instructions read the following: Installation Note

[TAR.GZ]

PAPI for Blue Gene (2005-09-09)

PAPI 2.3.4.3.bgl This is a transitional release to provide preliminary PAPI support for the IBM Blue Gene / L.

This release supports the PAPI 2.3 interface.

Work is underway to provide support for PAPI 3.x.

Do NOT download this release for use on any system OTHER than BG/L.

[.TAR.GZ]

PAPI 3.0.8.1 (2005-03-09)

Fixes to several Makefiles to install utilities and the new utility man pages correctly.

PAPI 3.0.8 is a maintenance release that addresses a number of issues of some significance to specific platforms. In addition, event tables have been updated for a number of platforms, including POWER4 and Opteron. For a summary of changes read the release notes for this release. A complete list of changes since version 3.0.7 can be found in the change log.

Change Log

For a summary of changes, read the PAPI 3.0.8 release notes:

Release Notes

Finally, for installation instructions read the following: Installation Notes

[.TAR.GZ]

PAPI 3.0.7 (2004-12-03)

PAPI 3.0.7 addresses a number of issues of some significance to specific platforms. For complete changes read the change log for this release.

Change Log

For General PAPI 3.0 release notes read the following:

Release Notes

Finally, for installation instructions read the following: Installation Notes

[.TAR.GZ]

PAPI 3.0 Release (2004-10-20)

The official release of the new PAPI 3.0 interface is now available. See the FAQ, the User's Guide and the Change Log for further details. [.TAR.GZ]

PAPI 3.0-gamma (2004-10-04)

A gamma release of the new PAPI 3.0 interface is now available. This beta release fixes a number of bugs and offers several enhancements over the previous beta.

NOTE: PAPI_create_eventset now forces the EventSet being passed in to be set to PAPI_NULL, otherwise an error will be returned.

Release Notes

[.TAR.GZ]

PAPI 3.0 beta 4 (2004-7-29)

A fourth beta release of the new PAPI 3.0 interface is now available. This beta release fixes a number of bugs and offers several enhancements over the previous beta. In addition Cray X1 is now supported in this release.

Release Notes [.TAR.GZ]

PAPIvi Version Independent Header File (December 17, 2003)

***NOTE: An updated version of this file is included in PAPI 3.0 beta 3***

This header file can be substituted for 'papi.h' in user applications and allows them to be linked semi-transparently to either PAPI 2 or PAPI 3 libraries. Very useful for toolmakers who must support tools on platforms where they can't control the installed version of the PAPI library. [.TAR.GZ]

PAPI Version Independent Test Files (December 17, 2003)

These test files serve both to illustrate how to use the PAPI Version Independent programming interface and to test the current version of the papivi.h header file. Download these files for use with papivi.h Also see the PAPI Conversion Cookbook in the Documentation section. [.TAR.GZ]

PAPI 2.3.4.2 (May 13, 2003)

Bug fix in multiplex.c to allow a clean 64-bit build on POWER4. [.TAR.GZ]

PAPI 2.3.4.1 (May 9, 2003)

Identical to PAPI 2.3.4 with the addition of support for 64-bit codes on POWER4. [.TAR.GZ]

PAPI 2.3.4 (April 14, 2003)

Contains complete PAPI source code for all supported platforms. Includes a version of the PerfCtr Linux kernel patches with which this version of PAPI is compatible. Check out the INSTALL file before installing it. [.TAR.GZ]

PAPI 2.3.2 (February 11, 2003)

PerfCtr Linux kernel patches with which this version of PAPI is compatible. This version adds libpfm2.0 support, *alpha* memory extensions and hardware overflow on Itanium. Bug fixes including making profile 64 bit safe, itanium out of order values returned, Makefile problems and various other bugs. [.TAR.GZ]

PAPI 2.3.1 (November 15, 2002)

Includes alpha Pentium 4 support. [.TAR.GZ]

PAPI 2.3.0 (October 30, 2002)

Includes AIX 5, POWER4, Itanium II, Alpha Linux, Alpha DADD. [.TAR.GZ]

PAPI 2.1.0 (February 5, 2002)

Includes Itanium; First official release with multiplexing and Windows support. [.TAR.GZ]

PAPI 1.1.5 (December 15, 2000)

First official release of PAPI. [.TAR.GZ]

Windows Installers

Double-clickable installers for Windows. Windows sources are also found in the PAPI code section. For supported platforms, see the supported platforms

PAPI 3.0 beta 3 for Windows (June 11, 2004)

A Windows Installer for the PAPI 3.0 beta 3 release is available. This Installer includes all the componenents necessary to install and run PAPI on Windows 2000 or XP. It also includes test program source code and full documentation. Supports Pentium II, III and Athlon. [.EXE]

PAPI 3.0 beta 3 for Matlab on Windows (June 6, 2004)

An installer for all the required components for running PAPI from Matlab is available. These components are also included in the PAPI for Windows installer, but this installer is significantly smaller and includes just the Matlab components. [.EXE]

PAPI 2.3.0 (October 30, 2002)

Windows installer for PAPI 2.3. Supports Windows NT, 2K, XP [.EXE]

PAPI 2.1.0 (February 5, 2002)

Windows installer for PAPI 2.1. Supports Windows NT, 2K, XP [.EXE]

Aug 31 2014 Admin Login