forked from icl-utk-edu/papi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLogP510.txt
427 lines (320 loc) · 18.9 KB
/
ChangeLogP510.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
2013-01-15
* 0917f567 src/threads.c: Cleaned up compiler warning (gcc version 4.4.6)
* 06ca3faa src/components/bgpm/CNKunit/linux-CNKunit.c
src/components/bgpm/IOunit/linux-IOunit.c
src/components/bgpm/L2unit/linux-L2unit.c...: Cleaned up compiler warnings on
BG/Q (gcc version 4.4.6 (BGQ-V1R1M2-120920))
2013-01-14
* 56400627 .../build/lib.linux-x86_64-2.7/perfmon/__init__.py
.../lib.linux-x86_64-2.7/perfmon/perfmon_int.py
.../build/lib.linux-x86_64-2.7/perfmon/pmu.py...: libpfm4: remove extraneous
build artifacts. Steve Kaufmann reported differences between the libpfm4 I
imported into PAPI and the libpfm4 that can be attained with a git clone
git://perfmon2.git.sourceforge.net/gitroot/perfmon2/libpfm4 Self: Do libpfm4
imports from a fresh clone of libpfm4.
2013-01-11
* 4ad994bc src/papi_events.csv: Clean up armv7 cortex a15 presets Clean up
armv7 cortex a15 presets and add presets for L1 and L2 cache
* d54dabf5 ChangeLogP510.txt RELEASENOTES.txt doc/Doxyfile-common...: Prepare
the repo for a 5.1 release. * Bump the version number to 5.1 * Update the
man pages * Create a changelog for 5.1 * Update RELEASENOTES
* 8816a3b8 INSTALL.txt: Update INSTALL.txt Add information about installing
PAPI on Intel MIC. Based upon information from Vince Weaver's PAPI MIC
support page. http://www.eece.maine.edu/~vweaver/projects/mic/
* 8dc1ca23 TEST.TXT: Remove TEST.TXT This was a leftover from a switch over
to git.
* 292d6c9b src/papi_libpfm3_events.c: Fix build on ia64 When trying to build
papi 5.0.1 for IA64, my collegue got compile errors due to perfmon.h not
being included. We're not sure if this actually is a configure bug, but this
patch fixed it.
* 25424f41 src/extras.c: Fix kernel warning in _papi_hwi_stop_timer() In
_papi_hwi_stop_timer() we were calling setitimer( timer, NULL, NULL ) to
disable the itimer. Recent Linux kernels print warnings if you do this; NULL
is not a valid second argument to setitimer() and possibly this wasn't really
working before. According to the manpage the proper fix is to call
setitimer() with a valid "new_value" field but with the values all 0. That
is what this patch does.
2012-11-30
* a7d70127 src/components/micpower/README
src/components/micpower/Rules.micpower
src/components/micpower/linux-micpower.c...: MIC power component The Intel
MIC (Xeon PHI) card reports power of several components of the card. These
values are reported in a sysfs file, so this component is cloned from the
coretemp component.
2013-01-08
* 121cd0a6 src/Makefile.in src/Rules.pfm4_pe src/configure...: configure: Add
shortcut for mic support. * Add a --with-mic flag to enable the several
options to cross compile for mic. MIC builds are cross-compiled and Matt and
I were unable to figure out how to trigger cross compilation with just our
flag. This is short-hand for setting --with-arch=k1om --without-ffsll
--with-walltimer=clock_realtime_hr \ --with-perf-events --with-tls=__thread
--with-virtualtimer=cputime_id * Automatically cause make to pass
CONFIG_PFMLIB_ARCH_X86=y to libpfm4's make. So to build for the mic card one
has to do: {Set pathing to find the x86_64-k1om-linux-gcc cross-compiler} $
./configure --host=x86_64-k1om-linux --with-mic $ make Thanks to Matt
Johnson for the legwork on configure shortcuting.
2013-01-07
* f65c9d9e src/papi_events.csv: Add preset events for ARM Cortex A15
2012-12-14
* 61a9c7b1 man/man3/PAPI_get_eventset_component.3 src/papi.c: Doxygen: Add a
new API entry Add the manpage for the new PAPI_get_eventset_component api
entry.
2013-01-02
* 38d969ab doc/Doxyfile-man1 doc/Doxyfile-man3 doc/Makefile...: Doxygen:
Cleanup generated man pages. Mark a few \page sections as \htmlonly so that
man pages are not built for them. Modify the makefile to rm some data
structures that are generated. Doxyfile-man3: * Take out papi_vector.h, this
file only defines a few data structures from which we don't need manpages.
papi.h: * PAPI_get_component_index's inline comment had the close /**> to
delimit its description, but doxygen uses /**<. papi_fwrappers.c: * Mark the
group PAPIF as internal so that a man page is not generated for it. utils/*:
* Remove some useless htmlonly directrives, doxygen will generate pages for
any data structure, htmlonly doesn't stop that. Doxyfile-man1: * Change a
flag in Doxyfile-man1 so that we don't document internal data structures in
the utilities. We don't do this in -man3 because of the \class workaround we
use to create manpages for each of the PAPI_* api entry points. Because we
call them classes, they would be caught in the no data structures flag.
* 7b790c09 doc/Doxyfile-html src/papi.h src/papi_fwrappers.c...: Doxygen:
Cleanup some of the markup We were not using htmlonly correctly... The idea
was to use \htmlonly to not build manpages for a few things. To properly hide
\page s you want things like: /** \htmlonly \page Foo I don't want this to
generate a manpage. \endhtmlonly */
2012-12-07
* 152bac19 src/papi.c: Doxygen: Cleanup papi.c Cleanup some \ref s, \ref
PAPI_function() isn't happy, use \ref PAPI_function it'll put in the proper
links. Remove _papi_overflow_handler doc block. We had the block but no
code.
2012-12-20
* 7a40c769 src/components/rapl/tests/rapl_overflow.c: RAPL test code: Add
flexibility to the test code. Per Will Cohen; ------------------ I was
reviewing some test results for the papi test and found that the
rapl_overflow.c tests makes an assumption that there are exactly two
packages. As a result the test will fail on machines with a single package.
The following is a patch to make it a bit more flexible allow 1-n packages in
the test. -Will -----------------
2012-12-19
* 96c9afb0 src/components/appio/README src/components/appio/appio.c
src/components/appio/appio.h...: Added events for seek statistics and support
for intercepting lseek() calls.
2012-12-14
* 003abf6d src/Rules.perfctr-pfm: Rules.perfctr-pfm: pass CC in all cases.
Perfctr user library was not being passed CC when built.
2012-12-05
* e2c05b29 src/papi_internal.c: papi_internal.c: Refactor dublicated code in
cleanup and free eventset. Currently the code to free runtime state is
duplicated in cleanup and free. The perf_event_uncore test exposed an issue
where free cleaned up cpu_attach state but cleanup did not, causing a leak.
Have _papi_hwi_free_EventSet call _papi_hwi_cleanup_eventset to free most of
the runtime state of the eventset and then allow free_eventset to free the
Eventset Info struct.
2012-12-13
* 7d020224 src/configure src/configure.in: configure: Change fortran compiler
search order. Bandaid fix to buildbot errors. By default, configure would
find icc before gcc but gfortran would be used before ifort. The real fix is
to test that object code from the c compiler can be linked to by the fortran
compiler.
2012-12-12
* 87b6e913 src/papi_events.csv: ivy_bridge: remove PAPI_HW_INT event
Apparently recent Intel Vol3B documentation removed this event, and the most
recent libpfm4 merge followed suit. I asked at Intel about this and possibly
they only removed it because they didn't think anyone was using it. Maybe
they'll ad it back
2012-12-10
* 293b26b9 src/Makefile.inc: Makefile.inc: Fix library link ordering. Per
Will Cohen ----------------------------------------------------------- I ran
across a problem when trying to build papi with the bundled libpfm and an
earlier incompatible version of libpfm was already installed on the machine.
The make would use the /usr/lib{64}/libpfm.so before trying to use the
locally built version and this would cause problems. The attached patch
changes the order of the linking and uses the local built libpfm before it
tries the installed version. -Will
-----------------------------------------------------------
2012-12-12
* 57e6aa0d src/Makefile.in: Makefile.in: export CC_COMMON_NAME In 17cfcb4a I
started using CC_COMMON_NAME in Rules.pfm4 but failed to have configure put
it in Makefile.
2012-12-11
* 17cfcb4a src/Rules.pfm4_pe src/configure src/configure.in: Cleanup icc
build Start using -diag-disable to quiet down some of the remarks icc carps
about in libpfm4. Also have configure export CC_COMMON_NAME and check
against that in Rules.pfm4_pe. afec8fc9a reverted us to passing
-Wno-unused-parameter to icc, polluting buildbot.
2012-12-10
* afec8fc9 src/configure src/configure.in: configure: Attempt to better
detect which C compiler we are using. This attempts to address trac bug 162.
http://icl.cs.utk.edu/trac/papi/ticket/162 Specifying full paths for CC
caused issues in our configure logic. We set several flags specific to gcc or
icc and this was breaking down EG "/usr/bin/gcc" != "gcc" Now we attempt to
execute whatever CC we are going to use and grep its version string. We set a
CC_COMMON_NAME \in {"gcc", "icc", "xlc", "unknown"} based upon the above and
later check CC_COMMON_NAME inplace of CC to set compiler specific flags.
* 14432aa0 src/linux-timer.c src/papi.c: Minor Coverity fixes. Thanks, Will
Cohen.
2012-12-07
* ba5e83d4 src/papi_user_events.c: papi_user_events.c: Fix memory leak.
Reported by William Cohen as detected by the coverity tool.
* 166498a8 src/components/nvml/linux-nvml.c: nvml component: fix
detectDevices() The routine detectDevices() always returned with the error
PAPI_ESYS when there was a device available. This resulted in that there were
no nvml events available. Fixed.
* 11ad5894 src/components/nvml/linux-nvml.c: nvml component: add missing
variable declaration In the routine _papi_nvml_init_componen(), the variable
papi_errorcode was not declared which prevented this component to build.
Added declaration of papi_errorcode as int.
2012-12-06
* 9567dfef src/ftests/first.F src/ftests/second.F: Fix warning messages
issued by gfortran 4.6.x regarding loss of precision when casting REAL to
INT. Thanks to Heike for identifying the proper intrinsics.
* 72588227 src/papi.c src/papi.h: Add PAPI_get_eventset_component() to get
the component index from an event set. This is symmetric with
PAPI_get_event_component which extracts the information from an event. In
response to a request from John Mellor-Crummey.
* 2e055d40 src/components/rapl/linux-rapl.c: Fix a compiler warning about a
possibly uninitialized return value.
2012-12-05
* 1aae2246 src/utils/command_line.c: Reformat the floating point output
string to recognize that you can't cast the *value* of a long long to a
double and expect to get the right answer; you need to cast the *pointer* to
a double, then everything works.
* 0e834fc2 src/utils/command_line.c: Incorporated use of the new
PAPI_add_named_event API. Restructured output to support formatted printing
of built-in DATATYPEs: UINT64 prints as unsigned followed by (u); INT64
prints as signed; FP64 prints as float (but I don't like the default format);
BIT64 prints a hex, prefixed by '0x'. Also if info.units is not empty, units
are appended to output values. These features can be demo'd with the RAPL
component.
* af6abec2 src/papi.h: Rearranged DATATYPE enums so INT64 is now default (0)
value. Also added a BIT64 type for unspecified bitfields.
2012-12-04
* 862033e0 src/components/bgpm/IOunit/linux-IOunit.c
src/components/bgpm/IOunit/linux-IOunit.h
src/components/bgpm/L2unit/linux-L2unit.c...: Resolved multiple components
conflict on BG/Q when overflow is enabled for multiple events from different
components at the same time.
* 44744002 src/utils/command_line.c: Add -x and -u options to
papi_command_line to allow printing counter values in hexadecimal and
unsigned formats.
2012-11-30
* 25a914c5 src/papi_user_events.c: Cleanup unused variable warnings in
user_events code.
2012-11-28
* 9a75f872 src/Rules.pfm4_pe src/configure src/configure.in: Cleanup the
build under icc. libpfm4's build system uses a gcc specific flag,
-Wno-unused-parameter. It does this via a variable, DBG, in config.mk:
DBG?=-g -Wall -Werror -Wextra -Wno-unused-parameter The Intel compiler
doesn't understand -Wno-unused-parameter and complains about it. In
Rules.pfm4_pe we set DBG for icc builds.
2012-11-27
* 4def827b src/configure src/configure.in: Fix the perfctr build that was
breaking due to missing CPU Mark Gates was reporting PAPI 5 wasn't running
properly on Keeneland. It looks like some CPU cleanups in the configure code
broke things. Hopefully this helps the situation.
2012-11-21
* 4316f172 src/perf_events.c: perf_events: get rid of "PAPI Error: Didn't
close all events" error This was more meant as a warning; it could trigger
when closing an EventSet that had an event partially added but failed for
some reason.
* 671e10bd src/utils/command_line.c: papi_command_line: fix error output The
error messages got a bit weird looking due to the PAPI error printing changes
a while back.
* 959afa49 src/papi_internal.c: Fix _papi_hwi_add_event to report errors back
to user. Previously _papi_hwi_add_event would report all errors returned by
add_native_events() as being PAPI_ECNFLCT even though add_native_events()
returned a wider range of errors.
* 8ecb70ba src/perf_events.c: Have perf_event return PAPI_EPERM rather than
PAPI_ECNFLCT if the kernel itself returns EPERM
* 9053ca1c src/perf_events.c: Work around kernel issue with
PERF_EVENT_IOC_REFRESH It's unclear exactly the best way to restart
sampling. Refreshing with 1 is the "official" way as espoused by the kernel
developers, but it doesn't work on Power. 0 works for Power and most other
machines, but the kernel developers say not to use it. This makes power user
0 until we can figure out exactly what is going on.
* e85df04b src/components/appio/tests/appio_test_socket.c: - added support
distinguishing between network and file I/O. - added events to measure
statistics for sockets - updated README
2012-11-15
* 248694ef src/x86_cpuid_info.c: Update x86_cpuid_info code for KNC. On
Knight's Corner the leaf2 code returns 0 for the count value. We were
printing a warning on this; better would be to just skip the cache detection
code if we get this result.
2012-11-08
* 82c93156 src/linux-bgp-memory.c src/linux-bgp.c src/linux-bgp.h: There was
more cleaning up necessary in order to get PAPI compiled on BG/P. It should
work now with the recommended configure steps described in INSTALL.
2012-11-07
* 77da80b3 src/Makefile.inc src/configure src/configure.in...: Make BGP use
papi_events.csv This was easier than trying to clean up the
linux-bgp-preset-events.c file to have the proper file layout.
* fc8a4168 src/linux-bgp.c: Fix some linux-bgp build issues. No one has
tried compiling after all the PAPI 5.0 changes so many bugs slipped in.
* c16ef312 src/ctests/perf_event_uncore.c: Fix type warnings in
perf_event_uncore test.
* 3947e9c8 src/ctests/perf_event_uncore.c: Put a bandaid on the
perf_event_uncore test. Check for an Intel family 6 model 45 processor
(sandybridge ep) before executing the test.
2012-09-27
* a23d95f8 src/papi.c src/papi.h src/papi_fwrappers.c...: Mark some comments
@htmlonly. This cleans up what man pages are generated.
2012-11-07
* d239c350 src/Makefile.inc src/Rules.pfm4_pe: Factor out duplicate install
code from Rules.pfm4_pe The Makefile.inc has a rule to installed shared
libraries. However, Rules.pfm4_pe also has a slightly different set of rules
to install code for shared libraries. This leads to the same shared library
being installed under two different names. The duplicate code has been
removed from Rules.pfm4_pe and a symbolic link has been added to ensure that
any code that might have linked with
libpapi.so.$(PAPIVER).$(PAPIREV).$(PAPIAGE) still runs.
2012-10-30
* fcc64ff9 src/papi_events.csv: Add PAPI_HW_INT event for IvyBridge
2012-10-26
* ef89fc56 src/papi_events.csv: MIC: update PAPI_FP_INS / PAPI_VEC_INS
instruction We were using VPU_INSTRUCTIONS_EXECUTED for PAPI_FP_INS but
really it's more appropriate for PAPI_VEC_INS This leaves PAPI_FP_INS
undefined, which breaks a lot of the ctests. A long term goal should probably
be modifying the tests to use another counter if PAPI_FP_INS isn't available
(this affects Ivy Bridge too).
2012-10-25
* 975c03f1 src/perf_events.c: perf_event: fix granularity bug cut-and paste
error in the last set of changes. Would have meant if you tried to
explicitly set granularity to thread you'd get system instead.
* 3cd3a62d src/configure src/configure.in src/ctests/Makefile...: Add
perf_event_uncore ctest Also add a new type of ctest, perf_event specific
In theory we should have configure only enable this if perf_event support is
being used.
* 5ee97430 src/perf_events.c: perf_event: add PAPI_DOM_SUPERVISOR to allowed
perf_event domains perf_event supports this domain but since we didn't have
it in the list PAPI wasn't letting us set/unset this. This is needed for
uncore support, as for uncore domain must be set to allow monitoring
everything.
* c9325560 src/perf_events.c: perf_event enable granularity support Add
support for PAPI_GRAN_SYS to perf_event. This is needed for uncore support.
2012-10-18
* 59d3d758 src/mb.h src/perf_events.c: Update the memory barriers It turns
out PAPI fails on older 32-bit x86 machines because it tries to use an SSE
rmb() memory barrier. (Yes, I'm trying to run PAPI on a Pentium II. Don't
ask) It looks like our memory barriers were copied out of the kernel, which
doesn't quite work because it expects some kernel infrastructure instead.
This patch uses the definitions used by the "perf" tool instead. Also
dropped the use of the mb() memory barrier on mmap tail write, as the perf
tool itself did a while ago so I'm hoping it's safe to do so as well. It
makes these definitions a lot simpler.
2012-10-08
* bcdce5bc src/perf_events.c: perf_event: clarify an error message The
message was saying detecting rdpmc support broke, but the real error is that
perf_events itself is totally broken on this machine and it's just rdpcm was
the first code that tried to access it.
2012-10-02
* 3bb3558f src/mb.h: Update memory barries for Knights Corner Despite being
x86_64 they don't support the SSE memory barrier instructions, so add a case
in mb.h to handle this properly.
2012-10-01
* 38a5d74c src/libpfm4/README src/libpfm4/docs/Makefile
src/libpfm4/docs/man3/libpfm_intel_atom.3...: Merge libpfm4 with Knights
Corner Support
* bf959960 src/papi_events.csv: Change "phi" to "knc" to match libpfm4 for
Xeon Phi / Knights Corner support
2012-09-20
* d9249635 ChangeLogP501.txt RELEASENOTES.txt: Update releasenotes and add a
changelog for 5.0.1
* a1e30348 man/man1/papi_avail.1 man/man1/papi_clockres.1
man/man1/papi_command_line.1...: Rebuild the manpages for a 5.0.1 release.