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:
http://web.eecs.utk.edu/~vweaver1/paper ... hanges.pdf
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.
- 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
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.
Go to the Software page at http://icl.cs.utk.edu/papi/software/ to download PAPI 5.0, and as always, please contact us through this User Forum if you have any questions or complaints about this release.