* dfa52d3f man/man1/PAPI_derived_event_files.1 man/man1/papi_avail.1
man/man1/papi_clockres.1...: Generated man files for release
* 43c1be67 src/ctests/all_native_events.c: ctests all_native: Make sure we
count all native events for KNL.
* adc47828 src/components/perf_event_uncore/tests/perf_event_uncore_lib.c:
perf_event_uncore tests: KNL has uncore support.
* 0a9e1a8d src/components/perf_event/tests/event_name_lib.c: perf_event
tests: add KNL offcore event.
* e9144b9b src/papi_events.csv: Added preset definitions for KNL.
* 03c766a6 src/components/rapl/linux-rapl.c: linux-rapl: update KNL support
Knight's Landing does not support pp0, and also it uses a different unit for
DRAM RAPL (much like the hsw-ep does)
* ce57b7a7 src/testlib/test_utils.c: testlib: give better error message if
component failed to initialize Old message: ./zero test_utils.c
FAILED Line # 697 Error: Zero Counters Available! PAPI Won't
like this! New message: ./zero Component perf_event disabled due to Error
initializing libpfm4 test_utils.c FAILED Line # 702
Error: ERROR! Zero Counters Available!
* ae00a502 src/papi_internal.c: add William Cohen's rewrite of the
_papi_hwi_postfix_calc function which corrects the parsing and makes the
parser more robust by catching any errors in the parsing early with asserts
in the code rather than silently corrupting memory.
* a6359b9d src/papi_preset.c: This was another bug of smashing the stack.
This code declared the stack as: static char stack[PAPI_HUGE_STR_LEN]; But
then did this later. memset(stack, 0, 2*PAPI_HUGE_STR_LEN); How our static
analysis tools didn't catch this one?
* f35e6e77 doc/Doxyfile-common papi.spec src/Makefile.in...: Updated PAPI
version to 5.5 for upcoming release.
* 48aee8e1 src/Makefile.inc src/components/cuda/Rules.cuda
src/components/cuda/linux-cuda.c: cuda/sampling, cuda: Move sampling build
rules to the cuda component. Minor bugfix in linux-cuda.c to check ok return
* 78249608 src/components/cuda/sampling/libactivity.so
src/components/cuda/sampling/test/matmul...: cuda/sampling: Removing
generated files that should not be in the repository
* 10385c63 src/components/cuda/sampling/Makefile: Adding the missing Makefile
* 45c2935e src/papi_events.csv: Correct IBM Power7 and Power8 computation of
PAPI_L1_DCA When reviewing the test results for IBM Power7 and Power8
Michael Petlan found that the PAPI_L1_DCA preset was incorrectly computed.
The L1 cache misses need to be subtracted rather than added to the result.
* 0364d397 src/components/powercap/README
src/components/powercap/tests/powercap_basic.c: Cleanup powercap component.
Most changes are cosmetic and achieved by runing thru astyle and cleaning up
manually. README file should match the powercap component now rather than
inheriting generic comments from other components.
* 1c64bfc0 src/papi_events.csv: Added FP (SP, DP) presets for Broadwell. NOT
TESTED yet due to lack of access to bdw hardware
* 0d006ea3 src/components/rapl/linux-rapl.c: add Intel Skylake and Knights
Landing RAPL support
* bd921b74 src/ftests/fmatrixpapi.F src/testlib/ftests_util.F: Eliminate the
sole use of ftests_skip subroutine There was only one test using ftests_skip
subroutine, fmatrixpapi.F. Converted fmatrixpapi.F to use ftest_skip
subroutine like all the other Fortran tests.
* e9cde551 src/ctests/tenth.c: Correct the event string names for tenth.c
There are stray ": " at the end of the event names in ctests/tenth.c. These
are unneeded because the ctests support routines already insert a ": " after
then event name when the error is printed out.
* 97fb93c3 src/testlib/ftests_util.F: Have Fortran test support code report
errors more clearly When a Fortran test called the ftest_skip or ftest_fail
the support code would attempt to print out error strings. However, this
support code would print out gibberish because the string was not properly
initialized. There doesn't seem to be a easy way in Fortran to get the error
string, for the time being just print out the error number and people will
need to manually map it back to the string.
* db9c70f5 src/papi_events.csv: Added FP (SP, DP) presets for Skylake.
Corrected L1_LDM|STM, L2_DCW|TCW, PRF_DM, STL_ICY presets for Skylake.
* 9de0c97f src/components/libmsr/linux-libmsr.c: Bugfix: libmsr component can
now disable itself without printing an error message to the screen
* d09657bf src/components/cuda/linux-cuda.c: Bugfix: CUDA component can now
disable itself without printing an error message to the screen
* 4718b481 src/components/perf_event/perf_event.c
src/components/perf_event_uncore/perf_event_uncore.c: Force all processors to
check event schedulability by reading the counters There are situations
where the perf_event_open syscall will return a file descriptor for a set of
events even when they cannot be scheduled together. This occurs on 32-bit
and 64-bit ARM processors and MIPS processors. This problem also occurs on
linux kernels older than 2.6.33 and when the watchdog timer steals a
performance counter. To check that the performance counters are properly
setup PAPI needs to check that the counter values can be successfully read.
Rather than trying to avoid this test PAPI will now always do it.
* 35264ea6 src/papi.h: update the caddr_t compatability hack in papi.h Erik
Schnetter <email@example.com> reported that the workaround failed with a
C11 compiler. Really, we should replace all instances of caddr_t with
something better, but I'm not sure what that does dor older compilers or
breakage of ABI.
* 504d05c3 src/Rules.pfm4_pe src/papi.h src/papi_fwrappers.c: Only expose the
shared libary symbols listed *papi.h files The shared library should avoid
exposing internal symbols of the library. This change hides the PAPI's
internal symbols when it is built with libpfm 4. Only the functions in papi.h
and the associated fortran wrapper functions are visible to code using the
library. This change also makes libpapi.so slightly smaller (29KB for
stripped x86_64 shared libary or about 6%). Note that a similar patch has
been proposed for upstream libpfm4 and would be needed for the bundled libpfm
if papi is being built with the bundled libpfm4.
* 943fb056 INSTALL.txt: Fix leftover doxygen reference in INSTALL file. Fix
leftover doxygen reference in INSTALL file. Noticed this while working
through build/install steps on a local system, Looks like the doxygen command
was switched from Doxyfile-everything to Doxyfile-html as part of revision
bfee45 "Rework the doxygen configuration files" This fixes up the INSTALL
reference to match.
* 947f6cb3 src/Makefile.inc: Fix a bashism found in Makefile.inc While
building on an ubuntu system, hit an error that took a bit to run down.
/bin/sh: 1: [: perf_event: unexpected operator /bin/sh: 1: [:
perf_event_uncore: unexpected operator This was on an ubuntu system where
/bin/sh is actually /bin/dash, and is due to a bashism in Makefile.inc for
the build and clean of cuda_samples. Swapping out the '==' for an '=' should
* 7996d480 src/components/coretemp/linux-coretemp.c: Make coretemp internal
functions static where possible As much of the internal of the papi shared
library should be hidden. A number of the internal functions for the
perf_event and coretemp components should be static since they are only used
within the individual component. Making the functions static allows the
compiler to generate better code and reduce the number of entries in the PLT
(Procedure Link Tables).
* a0240d5a src/components/perf_event/perf_event_lib.h: Removed the re
declaration of the static functions in the perf_event_lib.h
* 5d6e8295 src/components/appio/appio.c src/components/example/example.c
src/components/lmsensors/linux-lmsensors.c...: Thanks to William Cohen of
RedHat for providing the patches with following description Make perf_event
and perf_event_uncore internal functions static where possible Make appio
component internal functions static where possible Make example component
internal functions static where possible Make lmsensors component internal
functions static where possible Make lustre component internal functions
static where possible Make micpower component internal functions static where
possible Make mx component internal functions static where possible Make net
component internal functions static where possible Make rapl component
internal functions static where possible Make stealtime component internal
functions static where possible.
* 0eb308b4 src/components/cuda/README: Fixed cuda component README to use the
correct configure flags. Thanks to Jianqiao Liu for pointing out errors in
the README file.
* 70bd7584 src/components/powercap/utils/README
src/components/powercap/utils/powercap_write_test.c: Cleanup powercap
utility. Removed mention of libmsr and no-longer-needed union type left over
from the libmsr example
* 03afa3fe src/components/powercap/README
src/components/powercap/utils/README...: added intial powercap write test and
* 8fd9e4e3 src/components/powercap/tests/Makefile
src/components/powercap/tests/powercap_basic.c: added power cap read test
* edf8af95 src/components/powercap/Rules.powercap
src/components/powercap/linux-powercap.c: added PAPI component
* 66df01be ChangeLogP542.txt ChangeLogP543.txt RELEASENOTES.txt...: PAPI
5.4.3 release (releasenotes, changelog, man files, ...)