|
Packit Service |
a1973e |
2015-03-02
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* bcc508a9 src/components/perf_event/pe_libpfm4_events.c: Thanks much to Gary
|
|
Packit Service |
a1973e |
Mohr for the patch: This patch fixes a problem in the perf_events component
|
|
Packit Service |
a1973e |
that could cause get event info to produce incorrect results. The problem was
|
|
Packit Service |
a1973e |
reported by Harold Servat and occurs when the functions
|
|
Packit Service |
a1973e |
PAPI_event_name_to_code and PAPI_get_event_info are called for an event with
|
|
Packit Service |
a1973e |
a mask (name:mask) and then called again for the event without a mask (name).
|
|
Packit Service |
a1973e |
When this is done the second call to PAPI_get_event_info will incorrectly
|
|
Packit Service |
a1973e |
return the event name and mask from the first call (name:mask). This patch
|
|
Packit Service |
a1973e |
also corrects a problem found with valgrind which was causing memory on the
|
|
Packit Service |
a1973e |
heap to get stranded. We were passing a char **event_string to the libpfm4
|
|
Packit Service |
a1973e |
encode function and he was allocating some memory and giving us back a
|
|
Packit Service |
a1973e |
pointer to the allocated space. The code in PAPI was responsible for freeing
|
|
Packit Service |
a1973e |
this space but failed to do so. After looking closer at the PAPI code, it
|
|
Packit Service |
a1973e |
does not need the information returned in this space so the patch changes the
|
|
Packit Service |
a1973e |
code to not ask for the information so that libpfm4 no longer allocates heap
|
|
Packit Service |
a1973e |
space.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 62e90303 src/Makefile.inc src/configure src/configure.in...: Generating
|
|
Packit Service |
a1973e |
pkg-config files for papi Thanks to William Cohen for this patch (and to
|
|
Packit Service |
a1973e |
Phil Mucci for the patch review). Some software makes use of pkg-config
|
|
Packit Service |
a1973e |
(http://www.freedesktop.org/wiki/Software/pkg-config/) when using libraries.
|
|
Packit Service |
a1973e |
pkg-config selects compiler flags and libraries for compiling user code based
|
|
Packit Service |
a1973e |
on the installation location of the package. It could make it a bit easier to
|
|
Packit Service |
a1973e |
build other software on papi by abstracting where the libraries are
|
|
Packit Service |
a1973e |
installed. Rather than having some complicated path to the installed
|
|
Packit Service |
a1973e |
library, users could use "pkg-config --libs --cflags papi" to get that
|
|
Packit Service |
a1973e |
information for the compile. If there are multiple versions of papi
|
|
Packit Service |
a1973e |
available on the machine, the user could get a particular one with something
|
|
Packit Service |
a1973e |
like "pkg-config --libs --cflags papi-5.4.0".
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-02-28
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* f6bc16c6 src/papi_events.csv: Add support for ARM 1176 cpus This is the
|
|
Packit Service |
a1973e |
chip in the original Raspberry Pi. With the recently released Raspberry Pi
|
|
Packit Service |
a1973e |
3.18.8 kernel perf_event support is finally enabled by default.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-02-27
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 74801065 src/papi_events.csv: Add ARM Cortex A7 support. Tested on a
|
|
Packit Service |
a1973e |
Raspberry Pi 2 board.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-02-25
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 71e6e5e5 src/ctests/krentel_pthreads.c: Sync thread exit in
|
|
Packit Service |
a1973e |
krental_threads.c Thanks to William Cohen for this patch and to Phil Mucci
|
|
Packit Service |
a1973e |
for approving it. William Cohnen and Michael Petlan noticed that this test
|
|
Packit Service |
a1973e |
can have threads dangling after the main thread is done. This patch tracks
|
|
Packit Service |
a1973e |
the created threads and ensures that they are joined before the code exits.
|
|
Packit Service |
a1973e |
Note: There is still some problem remaining. For example, the following test
|
|
Packit Service |
a1973e |
will sometimes (maybe 1 of 10 runs) generate an error message. >
|
|
Packit Service |
a1973e |
./ctests/krentel_pthreads 8 2000 10 .... [10] time = 8, count = 38110, iter =
|
|
Packit Service |
a1973e |
20, rate = 1905500.0/Kiter PAPI Error: thread->running_eventset == NULL in
|
|
Packit Service |
a1973e |
_papi_pe_dispatch_timer for fd 14!. [0] time = 8, count = 38161, iter = 20,
|
|
Packit Service |
a1973e |
rate = 1908050.0/Kiter krentel_pthreads.c PASSED
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-02-20
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* c0de16d8 INSTALL.txt: Added additional notes and examples for the MIC.
|
|
Packit Service |
a1973e |
Specify how to use qualifiers to set exclude_guest and exclude_host bits to
|
|
Packit Service |
a1973e |
0. Use micnativeloadex to run the utilites.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-02-11
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 65825ef7 src/utils/native_avail.c: Change papi_native_avail to refer to
|
|
Packit Service |
a1973e |
event qualifiers (qual) rather than event masks. Thanks to Gary Mohr for
|
|
Packit Service |
a1973e |
this patch and the following notes. This patch file fixes one bug and
|
|
Packit Service |
a1973e |
replaces the term "Unit Mask" and other names used to identify a unit mask
|
|
Packit Service |
a1973e |
with the term "event qualifier". This renaming was done because the term
|
|
Packit Service |
a1973e |
"Unit Mask" has a very specific meaning in the hardware. Many of the flags
|
|
Packit Service |
a1973e |
and other fields we can now provide with an event to control how it is
|
|
Packit Service |
a1973e |
counted have nothing to do with the unit masks defined in the manuals
|
|
Packit Service |
a1973e |
provided by the hardware vendors. Summary of what changed: Removed the -d
|
|
Packit Service |
a1973e |
command line argument. It controlled if units should be displayed in output.
|
|
Packit Service |
a1973e |
Now we always display units if they are defined (only place I have seen them
|
|
Packit Service |
a1973e |
defined is with rapl events). Fixed bug when displaying event units. It was
|
|
Packit Service |
a1973e |
displaying the units information in front of the event name and description.
|
|
Packit Service |
a1973e |
It now displays the units information after the description. Renamed the
|
|
Packit Service |
a1973e |
-noumasks argument to -noqual. This prevents event qualifiers (previously
|
|
Packit Service |
a1973e |
known as unit masks) from being displayed. Replaced headings "Unit Mask" and
|
|
Packit Service |
a1973e |
"Mask Name" with "Qualifiers" and "Name" (when displaying a single event).
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-02-10
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 91e36312 src/ctests/Makefile.recipies src/ctests/attach_cpu.c: Test case
|
|
Packit Service |
a1973e |
for attaching an eventset to a single CPU rather than a thread (attach_cpu)
|
|
Packit Service |
a1973e |
Thanks to Gary Mohr for this contribution. This patch adds a test case to
|
|
Packit Service |
a1973e |
demonstrate how to attach an event set to a cpu so that the event counts for
|
|
Packit Service |
a1973e |
events in that event set reflect how many of those events occurred on the
|
|
Packit Service |
a1973e |
attached cpu (instead of the number of events that occurred in a thread of
|
|
Packit Service |
a1973e |
execution). See comments in attach_cpu.c to see how and why to probe with
|
|
Packit Service |
a1973e |
specific cpus (e.g. ./attach_cpu 3).
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-02-02
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 1fc57875 src/components/cuda/Makefile.cuda.in src/components/cuda/README
|
|
Packit Service |
a1973e |
src/components/cuda/Rules.cuda...: Updated CUDA component supporting multiple
|
|
Packit Service |
a1973e |
GPUs and multiple CUDA contexts. This PAPI CUDA component uses the CUPTI
|
|
Packit Service |
a1973e |
library to get information about the event counters. NOTE: To use this PAPI
|
|
Packit Service |
a1973e |
CUDA component, there is a difference from standard PAPI usage. When adding
|
|
Packit Service |
a1973e |
PAPI events to the CUDA component, each event needs to be added from the
|
|
Packit Service |
a1973e |
correct CUDA context. To repeat, for each CUDA device, switch to that device
|
|
Packit Service |
a1973e |
and add the events relevant to that device! If there is only one CUDA
|
|
Packit Service |
a1973e |
device, then the default context will be used and things should work as
|
|
Packit Service |
a1973e |
before.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 40151180 src/ftests/Makefile: Reported by Mark Maurice: On linux systems
|
|
Packit Service |
a1973e |
without a fortran compiler installed we get an error when building the PAPI
|
|
Packit Service |
a1973e |
fortran tests. The reason for the error is that in the Makefile in the
|
|
Packit Service |
a1973e |
ftests directory the @echo lines start with spaces instead of tabs. 'make' is
|
|
Packit Service |
a1973e |
fussy about tabs and spaces and gives a 'missing separator' error if a
|
|
Packit Service |
a1973e |
command starts with spaces instead of a tab.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2015-01-20
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 1dec8a9d src/components/lustre/linux-lustre.c: Thanks to Gary Mohr for the
|
|
Packit Service |
a1973e |
patch:The patch provided solves the segmentation faults produced by the
|
|
Packit Service |
a1973e |
lustre component.The changes done by the patch are in the
|
|
Packit Service |
a1973e |
_lustre_shutdown_component() by adding lustre_native_table=NULL statement and
|
|
Packit Service |
a1973e |
Later num_events=0 and table_size=32 were added in the same function to fully
|
|
Packit Service |
a1973e |
solve the segmentation faults
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-12-17
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* aba85b18 man/man1/PAPI_derived_event_files.1 man/man1/papi_avail.1
|
|
Packit Service |
a1973e |
src/Makefile.inc...: User defined events: Enhance PAPI preset events allow
|
|
Packit Service |
a1973e |
user defined events via a user event definition file. Thanks to Gary Mohr
|
|
Packit Service |
a1973e |
for this patch and its documentation.
|
|
Packit Service |
a1973e |
-------------------------------------------------------- This patch file
|
|
Packit Service |
a1973e |
enhances the code that processes PAPI preset event definition files
|
|
Packit Service |
a1973e |
(papi_events.csv) so that it can also now be used to process a user provided
|
|
Packit Service |
a1973e |
event definition file. PAPI still looks for an environment variable
|
|
Packit Service |
a1973e |
'PAPI_USER_EVENTS_FILE' and if found uses its value as the pathname of the
|
|
Packit Service |
a1973e |
user event definition file to process (same behavior as before). The change
|
|
Packit Service |
a1973e |
is that this is done right after processing the PAPI preset events rather
|
|
Packit Service |
a1973e |
than at the end of PAPI_library_init (after all components were initialized).
|
|
Packit Service |
a1973e |
An advantage of using this approach is that now user defined events, like
|
|
Packit Service |
a1973e |
preset events, can define multiple versions of the same event where each
|
|
Packit Service |
a1973e |
version is customized to a particular hardware platform (or pmu name). The
|
|
Packit Service |
a1973e |
code which processes preset events was also enhanced in the following ways:
|
|
Packit Service |
a1973e |
The papi_avail command was updated to also list user defined events in its
|
|
Packit Service |
a1973e |
output. The papi_avail help and man page have been updated to include user
|
|
Packit Service |
a1973e |
defined events in the descriptions. The man page was also updated to add a
|
|
Packit Service |
a1973e |
"see also" reference to a new 'PAPI_derived_event_files' man page. A new
|
|
Packit Service |
a1973e |
'PAPI_derived_event_files' man page to provide the user information about how
|
|
Packit Service |
a1973e |
to build an event definition file has been added. This patch file contains
|
|
Packit Service |
a1973e |
both the source file changes (needed by doxygen) and updated copies of the
|
|
Packit Service |
a1973e |
man pages created by doxygen. The code now allows both postfix (Reverse
|
|
Packit Service |
a1973e |
Polish Notation) and infix (algebraic) formulas to be entered. There is a new
|
|
Packit Service |
a1973e |
derived event type 'DERIVED_INFIX' to specify that the formula is provided in
|
|
Packit Service |
a1973e |
the algebraic format. The formulas will always be converted to postfix
|
|
Packit Service |
a1973e |
format as part of the event definition processing so if the user does a
|
|
Packit Service |
a1973e |
'papi_avail -e <eventName>' later it will always be displayed as a postfix
|
|
Packit Service |
a1973e |
formula. When defining a new derived event (either preset or user defined),
|
|
Packit Service |
a1973e |
it is now possible to use any already known native event, preset event or
|
|
Packit Service |
a1973e |
user defined event. This means that new derived events can be created as a
|
|
Packit Service |
a1973e |
relationship between other already known (their definitions had to already be
|
|
Packit Service |
a1973e |
processed) derived events. When derived events are created, there is a list
|
|
Packit Service |
a1973e |
of native events needed by that defined event created and optionally a
|
|
Packit Service |
a1973e |
formula to compute the derived events value. If a new derived event is
|
|
Packit Service |
a1973e |
created that depends on another derived event, then the new event will
|
|
Packit Service |
a1973e |
inherit all the native events used by the event it depends on and the new
|
|
Packit Service |
a1973e |
derived events formula will be merged with the formula from the event it
|
|
Packit Service |
a1973e |
depends on (if there was one or if it had an implied formula like derived add
|
|
Packit Service |
a1973e |
or sub). This means that after event definition processing completes the
|
|
Packit Service |
a1973e |
event tables inside PAPI always contain the list of all native events needed
|
|
Packit Service |
a1973e |
to compute the derived events results and a postfix formula that will be used
|
|
Packit Service |
a1973e |
to compute the events result. So if a user does a 'papi_avail -e
|
|
Packit Service |
a1973e |
<eventName>', the output will show what events PAPI is going to count and how
|
|
Packit Service |
a1973e |
they will be used to generate the events final value. A new command 'EVENT'
|
|
Packit Service |
a1973e |
has been added to the code which is intended to be used for user defined
|
|
Packit Service |
a1973e |
events. It is identical to the existing command 'PRESET' used to define
|
|
Packit Service |
a1973e |
preset events. They are interchangeable and both can be used in both preset
|
|
Packit Service |
a1973e |
and user defined event definition files. The code now allows the user to
|
|
Packit Service |
a1973e |
provide a short and long description for the derived event. The event
|
|
Packit Service |
a1973e |
definition commands 'PRESET' and 'EVENT' now support tags of "LDESC" and
|
|
Packit Service |
a1973e |
"SDESC" to identify what is found in the following string. This was done the
|
|
Packit Service |
a1973e |
same way as the already supported 'NOTE' tag. These changes do not support
|
|
Packit Service |
a1973e |
the ability to create #define variables that can then be used in event
|
|
Packit Service |
a1973e |
definition formulas. This was supported by the old user event definition
|
|
Packit Service |
a1973e |
code. These changes delete the existing papi_user_event code (two files that
|
|
Packit Service |
a1973e |
are no longer needed).
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-12-15
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* f8b722a9 src/components/perf_event/tests/event_name_lib.c: perf_event
|
|
Packit Service |
a1973e |
tests: add sample haswell offcore event
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-12-11
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* adbae8cd src/papi_events.csv: Update presets for Intel Haswell and
|
|
Packit Service |
a1973e |
Haswell-EP (according to the updates of the libpfm4 event table for Intel
|
|
Packit Service |
a1973e |
Haswell and Haswell-EP). These mods have not been tested due to lacking
|
|
Packit Service |
a1973e |
access to an Intel Haswell system.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-11-14
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* ca1ba786 doc/Doxyfile-common papi.spec src/Makefile.in...: Bump master to
|
|
Packit Service |
a1973e |
5.4.1, we just released out of the stable-5.4 branch.
|
|
Packit Service |
a1973e |
|