Blame ChangeLogP541.txt

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