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
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.
The PAPI 4.2.0 release is now available for download.
This release now builds for linux platforms using the libpfm4 interface by default. New platform support is provided for AMD Bobcat, Intel SandyBridge, and ARM Cortex A8 and A9. Preliminary support is also provided for MIPS 74K.
We have reviewed and updated all doxygen generated man pages for documentation. Doxygen documentation can be found here.
Several components, particularly the CUDA component, have been updated, and a test environment for component tests has been implemented.
Two new utilities have been added: papi_error_codes and papi_component_avail.
A host of bug fixes and code clean-ups have been implemented.
For a summary of changes, read the PAPI 4.2.0 Release
Notes.
The
PAPI 4.1.4 release is available for download. This is n internal release of
PAPI-C, intended to suppor the Cray toolchain. It contains fixes for several bugs and some newly supported platforms.
This
version:
* adds support for Intel SandyBridge processors; * adds support for ARM Cortex A8 and A9 processors; * enhances support for NVIDIA CUDA component; * updates support for libpfm4 * replaces out of date man pages with doxygen generated man pages.
Unless you're curious or in need of one of the above features, we recommend that you wait to upgrade until the release of PAPI 4.2.
The
PAPI 4.1.3 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.2 release. See the software
page to download the tarball.
This
version:
* adds support for AMD Family 15h (Interlagos) processors; * adds an NVIDIA CUDA component (pending release of CUDA 4.0); * adds support for POWER7/AIX.
There
are a number of other enhancements and bug fixes included in this version,
along with some caveats and known bugs. These are outlined in more detail in
the PAPI 4.1.3 Release Notes.
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.
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.
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.
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.
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:
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
Download, unzip and untar the zipped tarball of interest. Example: papi-4.0.0.tar.gz.
Copy the diff file into the papi directory and cd to it.
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
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.
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.
Sponsored By:  
 
 
Industry Support From: