Blame ChangeLogP541.txt

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