-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASENOTES.txt
872 lines (734 loc) · 36.6 KB
/
RELEASENOTES.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
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
This file documents changes in recent PAPI releases in inverse chronological
order.
For details on installing PAPI on your machine, consult the INSTALL.txt file
in this directory.
===============================================================================
PAPI 4.2.1 RELEASE NOTES 13 Feb 2012
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP421.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is a minor release of PAPI-C. It does not break binary or semantic
compatibility with previous versions.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
RECENT CHANGES IN PAPI 4.2.1
===============================================================================
Bug Fixes:
----------
* solaris substrate set_domain call was added.
* multiplexing math errors were fixed in perf_events.c
* more multiplexing read path errors were identified and fixed
* src/linux-timer.c: Fix compilation warning if you specify
--with-walltime=gettimeofday
* src/linux-timer.c: Fix the build on Linux systems using mmtimer
* src/linux-common.c: Update the linux MHz detection code to use
bogoMIPS when there is no MHz field available in /proc/cpuinfo.
* src/: configure, configure.in: Fix a typo in the perfctr section;
it was causing a machine to default to perfctr when it had no
performance interface. ( a centos vm image with a 2.6.18 kernel)
Also checks that we actually have perfctr if we specify
--with-perfctr.
* Fix SMP ARM issues reported by Harald Servat.
Also, adds proper header dependency checking in the Rules files.
* src/ctests/api.c: Make the api test actually test PAPI_flops() as
it claims to do, rather than PAPI_flips().
* src/papi_events.csv: Update the coreduo (not core2) events. Most
notably the FP events were wrong.
* src/papi_events.csv: Modify Intel Sandybridge PAPI_FP_OPS and
PAPI_FP_INS events to not count x87 fp instructions.
The problem is that the current predefines were made by adding 5
events. With the NMI watchdog stealing an event and/or
hyperthreading reducing the number of available counters by half,
we just couldn't fit.
This now raises the potential for people using x87-compiled
floating point on Sandybridge and getting 0 FP_OPS. This is only
likely if running a 32-bit kernel and *not* compiling your code
with -msse.
A long-term solution might be trying to find a better set of FP
predefines for sandybridge.
* src/components/lmsensors/: Rules.lmsensors, configure.in: Fixed
configure error message and rules link error for shared object
linking. Thanks Will Cohen.
* src/components/lmsensors/linux-lmsensors.h: Added missing string
header
* src/components/net/tests/: net_values_by_code.c,
net_values_by_name.c: Apply patch suggested by Will Cohen to
check for system return values.
* src/Makefile.inc: Patch to cleanup dependencies, allowing for
parallel makes. Patch due to Will Cohen from redhat
* src/: papi_internal.c, threads.c: Fix two race
conditions that are probably the cause of the pthrtough
double-free error.
When freeing a thread, we remove and free all eventsets belonging
to that thread. This could race with the thread itself removing
the evenset, causing some ESI fields to be freed twice.
The problem was found by using the Valgrind 3.8 Helgrind tool
valgrind --tool=helgrind --free-is-write=yes ctests/pthrtough
In order for Helgrind to work, I had to temporarily modify PAPI
to use POSIX pthread mutexes for locking.
Enhancements:
-------------
* general doxygen cleanups
* cleanup output of overflow_allcounters for clarity in debugging
* updates to most recent (as of Feb 1) libpfm4
* remove now-opaque event codes from papi_native_avail
and papi_xml_event_info
* src/: papi_internal.c Update the component initialization code
so that it can handle a PAPI ERROR return gracefully. Previously
there was no way to indicate initialization failure besides just
setting num_native_events to 0.
New Platforms:
-------------
* src/libpfm4/lib/: pfmlib_amd64_fam11h.c, events/amd64_events_fam11h.h
Support for AMD Family 11.
* src/libpfm4/lib/: pfmlib_amd64_fam12h.c, events/amd64_events_fam12h.h
Support for AMD Family 12.
Deprecated Platforms:
---------------------
* remove obsolete ACPI component
New / Improved Components:
---------------
* PAPI CUDA component updated for CUDA / CUPTI 4.1.
* SetCudaDevice() now works with the latest CUDA 4.1 version.
* Auto-detection of CUDA version for backward compatibility.
* PAPI_read() now accumulates event values. This fixes a bug
in earlier versions.
* extensive updates and cleanups to the example and coretemp components.
* significant updates of lustre, and mx components
* The linux net component underwent extensive updates and cleanups.
In particular, it nows dynamically detects the network
interface names [1] and export 16 counters for each interface
(see also src/components/net/{CHANGES,README}).
Open Issues:
-------------
* multiplex1.c was rewritten to expose a multiplexing bug in the perf_events
kernel (3.0.3) for MIPS
* src/components/lmsensors/: Latest versions of lmsensors are incompatible
with current lmsensors component. Interface needs to be updated for forward
compatibility.
* There's a problem with broken overflow on POWER6 linux systems.
We suspect a kernel problem, but don't know exactly which version(s)
We're running a 2.6.36 kernel where the problem has been identified.
It may be fixed in newer versions.
Experimental:
-------------
* a new vmware component has been added to report a variety of soft events
when running as a guest in a VMWare environment
===============================================================================
PAPI 4.2.0 RELEASE NOTES 26 Oct 2011
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP420.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is a major release of PAPI-C. It add a significant new feature in
user-defined events. It also marks a shift from external (and out-dated)
man pages to doxygen generated man pages. These pages can be found online at:
http://icl.cs.utk.edu/papi/docs/. They are also installable with "make install",
and you can build your own versions using doxygen.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
RECENT CHANGES IN PAPI 4.2.0
===============================================================================
Bug Fixes:
----------
* Bug in CUDA v4.0 fixed. It caused a threaded application to hang when
parent called cuInit() before fork() and child called also cuInit().
All fork ctests pass now if papi is configured with cuda component.
* If papi is configured with cuda component and running a threaded
application, we need to make sure that a thread doesn't free the same
memory location(s) more than once. Now all pthread ctests pass with cuda.
* ctests/thrspecific works now with the CUDA component
* Added CudaRemoveEvent functionality (broken in earlier CUDA RC versions).
* ctests/all_native_events works now for the default CUDA device.
* Add locking to papi_pfm4_events so that adding/looking up event names
doesn't have a race condition when multiple threads are doing it at once.
* Fixed a series of problems with Itanium builds.
* Set FD_CLOEXEC on the overflow signal handler fd. Otherwise if we exec()
with overflow enabled, the exec'd process will quickly die due to lack
of signal handler. This patch is needed due to a change in behavior in
Linux 3.0. Mark Krentel first noticed this problem.
* Recent Ubuntu versions use the ld flag --as-needed by default, which
breaks the PAPI configure step for the libdl check, as the
--as-needed flag enforces the rule that libraries must come after the
object files on the command line, not before. The fix for this is to put
the libdl check it in LIBS instead of in LDFLAGS.
* Removed an fopen() without an fclose() on /proc/cpuinfo in papi.c.
This was being done to set the event masks properly for itanium and p4.
Since the platform code sets CPU vendor and family for us we don't
really have to open cpuinfo. This fix may also work on non-Linux
systems too.
* Update papi.h to properly detect if being built with a C99 compiler.
Enhancements:
-------------
* Default support for libpfm4
* ./configure --with-libpfm3 to support legacy libpfm3 builds
* PERF_COUNT_SW software events are available under perf_events with
libpfm4
* Nehalem/Westmere/SandyBridge Offcore event support is ready,
but support is not yet available in the Linux kernel.
* Add new utility to display PAPI error codes and description strings.
* Add API to access error descriptions: PAPI_descr_error( int error_code).
* Add support for handling multiattach properly.
* Cleanups to avoid gcc-4.6 warnings.
* Added ability to add tests to components. All component tests are
compiled with PAPI when typing 'make'and cleaned up with 'make clean'
or 'make clobber'. Also added tests to the example and cuda components.
* CUDA component is now thread-safe. Multiple CPU
threads can access the same CUDA context. Note, it's possible to
create a different CUDA context for each thread, but then we are
likely running into a limitation that only one context can be
profiled at a time.
* LOTS of code cleanup thanks to Will Cohen of RedHat.
* Refactored test code so no-cpu-counters can build with components
* Build all utilities with no-cpu-counters
* Modify run_tests.sh so that you can set the VALGRIND command
externally via environment variable without having to edit
run_tests.sh itself. Also adds Date and cpuinfo information to the
beginning of run_tests.sh results. This can help when run_tests.sh
output is passed around when debugging a problem.
* Parallel make now works.
New Platforms:
-------------
* AMD Family 14h Bobcat (libpfm4 only)
* Intel SandyBridge (libpfm4 only)
* ARM Cortex-A8 and Cortex-A9 (libpfm4 only)
Deprecated Platforms:
---------------------
* although still technically supported, we are no longer actively testing
platforms based on the perfmon and perfctr patches. All linux kernels
> 2.6.32 provide internal support for perf_events.
New / Improved Components:
---------------
* Add a number of 'native' events to the component info structure in
example component.
* Introduce a papi_component_avail utility; lists the components we were
built with, optionally with native/preset counts and version number.
Open Issues:
-------------
* On newer Linux kernels (2.6.34+) the nmi_watchdog counter can steal one
of the counters, reducing by one the total available.
There's a bug in Linux where if you try to use the full number of
counters on such a system with a group leader, the sys_perf_open()
call will succeed only to fail at read time.
(instead of the proper error code at open time).
I do wish there were a way to notify the user more visibly,
because losing a counter (when you might only have 4 total to
begin with) is a big deal, and most Linux vendors are starting to
ship kernels with the nmi_watchdog enabled.
Experimental:
-------------
* Preliminary support for MIPS 74K.
===============================================================================
PAPI 4.1.4 RELEASE NOTES 29 Aug 2011
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP414.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is an internal release of PAPI-C targetted specifically for a Cray tools
release. It precedes a more general 4.2.0 release and incorporates changes and
updates since PAPI 4.1.3.
Detailed changes will be documented in the 4.2.0 release. Meanwhile the list
below highlights the most significant changes since 4.1.3.
* Intel SandyBridge is now supported
* libpfm4 support has been updated
* internal doxygen documentation has been added for the entire API
* the man pages have been replaced with doxygen generated man pages
* CUDA component support has been improved
* an infrastructure for testing components only has been implemented
* various bugs have been addressed
If you find issues with the 4.1.4 release, please bring them to our attention
ASAP, so they can be addressed prior to the general 4.2.0 release.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
===============================================================================
PAPI 4.1.3 RELEASE NOTES 06 May 2011
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP413.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is a minor release of PAPI-C. It addresses a number of bugs and other
issues that have surfaced since the 4.1.2 release.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
CHANGES IN PAPI 4.1.3 SINCE PAPI 4.1.2
===============================================================================
Bug Fixes:
----------
* Fixed a linux-timer.c compile error that only shows up on PPC.
* Fixed ctests/all_native_events.c:
It failed when PAPI was built with several components because the
eventset failed to add events that were not from the first component.
* Redefined PAPI_FP_OPS for Nehalem; Now counts properly for 32-bit code.
* Uncovered and resolved bugs in attaching to fork/exec'd code.
* Reworked eventset cleanup code to avoid an error situation in perf_events
where events were being removed from a terminated attached process.
* Fixed a configure bug preventing non-default bitmode builds of perf_event
versions of PAPI.
Enhancements:
-------------
* consolidated a bunch of duplicated linux code into "linux-xxx.c" files.
* Split WIN32 specific code out from linux common code.
* Renamed various perfctr functions to be _perfctr_ rather than _linux_.
* Added function pointer destroy_eventset to the PAPI vector table.
Needed for the CUDA Component.
* PAPI_assign_eventset_component now refuses to reassign components.
* Implemented inherit feature for perf_events. Thanks to Gary Mohr.
* Added a case to utils/cost.c to test for processing derived events.
* Added utils/multiplex_cost.c.
* Added --with-assumed-kernel to configure
New Platforms:
-------------
* POWER7 / AIX support is now available (see Known Bugs below)
* Intel Westmere for perfctr.
* AMD Family 15h (Interlagos) and 10h RevE processors.
Deprecated Platforms:
---------------------
New Components:
---------------
* NVidia CUDA: still in pre-release until NVidia releases official CUDA4.
Open Issues:
-------------
* Currently using PAPI_attach() to attach to multiple processes at the same
time will not work. On the perf_events substrate this may fail with a
PAPI_EISRUN error for the subsequent attaches. On other substrates the
additional attaches may work but results read back will be invalid.
This behavior will be fixed in a subsequent PAPI release.
Experimental:
-------------
* libpfm4 support is experimentally available but subject to change
Known Bugs:
-----------
* POWER7 / AIX has some known bugs in this version:
* PAPI_FP_OPS overcounts by 50% in many cases
* multiplexing does not work correctly
* memory limits for threaded tests are causing problems
===============================================================================
PAPI 4.1.2 RELEASE NOTES 20 Jan 2011
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP412.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is a minor release of PAPI-C. It addresses a number of bugs and other
issues that have surfaced since the 4.1.1 release.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
CHANGES IN PAPI 4.1.2 SINCE PAPI 4.1.1
===============================================================================
Bug Fixes:
----------
* fixed a long-standing subtle bug identified by Richard Strong that caused
segfaults when multiplexing
* fixed several bugs that were causing test failures on POWER6/AIX
* properly detect Pentium M in configure
* fixed a problem with perf_events not properly handling overflows; first
identified by Mark Krentel
* fixed a problem where perfctr was silently adding uncountable events
* fixed a lock bug identified by Martin Schindewolf
* fixed forking order for {multi|zero}_attach.c
Enhancements:
-------------
* updated support for freeBSD submitted by Harald Servat
* a plethora of code cleanups submitted by Robert Richter
* addressed compatibility issues in run_tests.sh to make it posix comliant
* refreshed PAPI_Matlab support
* reimplemented SUBDBG print capabilities to address an issue first
identified by Maynard Johnson
* refreshed preset event definitions for Nehalem, including implementations
for PAPI_HW_INT; submitted by Michel Brown
* added 3 new error codes: PAPI_EATTR, PAPI_ECOUNT, and PAPI_ECOMBO.
These provide more detail on why an event add fails
* implement cpuid leaf4 mtrics required by Intel Westmere
New Platforms:
-------------
* Intel Westmere on perfctr and perf_events
Deprecated Platforms:
---------------------
New Components:
---------------
Open Issues:
-------------
* PowerPC970 / linux is currently not supported by configure
* POWER7 / AIX support is in development
Experimental:
-------------
* libpfm4 support is experimentally available and subject to change
Known Bugs:
-----------
===============================================================================
PAPI 4.1.1 RELEASE NOTES 01 Oct 2010
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP411.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is a minor release of PAPI-C. It addresses a number of bugs and other
issues that have surfaced since the 4.1.0 release.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
CHANGES IN PAPI 4.1.1 SINCE PAPI 4.1.0
===============================================================================
Bug Fixes:
----------
* resolved confusion in event table naming for Intel Core, Core2 and Core
Duo processors; cleaned up Nehalem and Westmere event definitions.
* the --with-no-cpu-counters function and timing functions for AIX
were fixed.
* compiler flags for AIX Fortran were fixed.
* doc directory is now preserved to prevent 'make clean' from entering an
ininite loop.
* prevent passing -Wextra to libpfm build, which was throwing errors in
that build under certain circumstances.
* fix a subtle problem in multiplexing in which final counter values could
be under-reported. Changes the behavior of PAPI_stop when multiplexing.
See the ChangeLog for further details.
Enhancements:
-------------
* now supports attach/detach for perf_events, thanks to Gary Mohr.
* update cache information for recent Intel x86 processors.
* F_SETOWN_EX was implemented in perf_events to guarantee that each
process recieves it's own interrupts. This fixes a bug in high
interrupt rates reported by Rice.
* perf_events checks permissions at configuration rather than at start.
Thanks to Gary Mohr.
* Pentium IV now supported under perf_events in kernel 2.6.35
* add a WARNING for tests cases that don't fail but have issues
that may need to be addressed.
* add OS kernel version to component info struct; useful for enabling /
diabling features in PAPI based on kernel version
* updated to terminal release (3.10) of libpfm.
* mmtimer support added for Altix / perf_events.
New Platforms:
-------------
Deprecated Platforms:
---------------------
* support for perf_counters in the 2.6.31 Linux kernel has been deprecated
New Components:
---------------
* CoreTemp: exposes stuff in the /sys/class/hwmon directory
Open Issues:
-------------
* support for cross-compiling perf-events on new Cray architectures is
still in development.
Experimental:
-------------
Known Bugs:
-----------
===============================================================================
PAPI 4.1.0 RELEASE NOTES 22 Jun 2010
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP410.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is the second release of Component PAPI, or PAPI-C. See other references
to PAPI-C, including the description in this file under PAPI 4.0.0 for details
on the differences between Classic PAPI and PAPI-C.
This release includes significant code cleanup to eliminate compiler warnings
and type inconsistencies and to eliminate memory leaks.
We also now support embedded doxygen comments for documentation. See the PAPI
website for more details.
The component build environment has been restructured to make it easier to add
and build components without modifying baseline PAPI code. See
/src/components/README for details.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
CHANGES IN PAPI 4.1.0 SINCE PAPI 4.0.0
===============================================================================
Bug Fixes:
----------
* configure was mis-identifying some Pentium 4 processors
* the ctests/shlib test now tests against the shared math library, libm.so,
instead of libpapi.so, which works more predictably with library renaming.
* multiplexing was silently returning without setting multiplex TRUE in
cases where no event had been assigned to an eventset. An event must be
added to an eventset or PAPI_assign_eventset_component() must be called
before multiplexing can be enabled. This silent error has been removed.
* the perfmon and perf_events counter interfaces were not properly handling
event unit masks. This has been fixed.
* PAPI_name_to_code() was not exiting properly in certain circumstances,
failing on events where there should have been a match. This is corrected.
* a serious but insidious bug in the overflow logic was corrected. This bug
would only show up when PAPI_overflow was called between calls to
PAPI_add_event. Overflow would only be set for the last call of
PAPI_overflow. This has been corrected.
* IBM Blue Gene P systems were corrupting stack frames and crashing when the
papi_get_event_info call was executed. This has been fixed.
* The PAPI cycles event was not working for IBM Blue Gene P. This is fixed.
* papi_native_avail was exiting improperly when using the -e option.
This caused problems with batch execution systems (like Blue Gene P).
This has been fixed.
* a significant number of memory leaks have been purged.
* compiler warning flags have been tightened and a range of warnings have
been eliminated.
* removed implicit type conversions in prototypes.
Enhancements:
-------------
* the utils/papi_version utility now reports four digits where the last digit
matches the patch number.
* Pentium II and Athlon now use libpfm for event decoding like all other x86
platforms.
* Doxygen documentation has been added to the API and components.
* Component compilation has been completely restructured. See
/papi/src/components/README for details.
* PAPI can now be compiled with a no-cpu-counters option.
New Platforms:
-------------
* the ultrasparc architecture has been resurrected
* freebsd support was migrated from PAPI 3.7
* Intel Nehalem EX and Westmere support has been added
Deprecated Platforms:
---------------------
* IBM BG/L has been deprecated.
* POWER 3 and POWER4 have been deprecated
New Components:
---------------
* Infiniband: Experimental
* Lustre: Experimental
* example: provides simple test case and template code.
Open Issues:
-------------
Experimental:
-------------
Known Bugs:
-----------
===============================================================================
PAPI 4.0.0 RELEASE NOTES 19 Jan 2010
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP400.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This is the inaugural release of Component PAPI, or PAPI-C. It represents a
significant architectural change from PAPI 3.7.x and earlier. As such, your
application must be recompiled and relinked to libpapi, the PAPI library for
this version to work.
PAPI-C is backward compatible with earlier versions of PAPI. All new library
features are supported through new APIs and all old APIs still work as expected.
Applications instrumented for PAPI should continue to work as expected with no
changes.
The major change in PAPI-C is the support of multiple components, or counting
domains, in addition to the traditional hardware counters found in the cpu. The
goal of this first release of PAPI-C is to provide a stable technology platform
within which to explore the development and implementation of additional
components.
Although a small number of components are provided with this release, the major
objective has been to guarantee that PAPI-C works at least as well as earlier
PAPI releases and on the same range of hardware platforms. We think we have
achieved that goal.
Visit the PAPI Reference pages for more information at:
http://icl.cs.utk.edu/projects/papi/wiki/Main_Page
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
CHANGES IN PAPI 4.0.0 SINCE PAPI 3.7.2
===============================================================================
Bug Fixes:
----------
Enhancements:
-------------
- The perf_events linux kernel interface is supported for POWER and x86 in
linux kernels 2.6.31 and above.
- PAPI info now includes information on multicore heirarchy. This is reported
in the header of many tests.
New Platforms:
-------------
- IBM Blue Gene P has been fully integrated into the code base. It still
suffers the same quirks and limitations as the earlier pre-release.
Open Issues:
-------------
- Components are invoked from the configure line; Requires PAPI source code
modifications to add new components.
Experimental:
-------------
Known Bugs:
-----------
- some tests involving overflow and profiling fail with linux perf_events
- multiple event overflow only works for last event enabled on (at least)
Intel Core2 and Itanium architectures.
- clock speeds on variable speed Intel systems can be misreported, leading to
incorrect calculations of mflops
- memory leaks may lead to (rare) seg faults on Pentium4 systems
===============================================================================
PAPI 3.7.2 RELEASE NOTES 02 Dec 2009
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP372.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This release is an incremental upgrade to PAPI 3.7.1. It fixes a mistake in
the 3.7.1 release by updating configure to better detect the proper counter
interface in linux kernels. Along the way, it also cleans up a few issues
found in the 3.7.1 release.
As always, if you identify strange behavior or reproducible bugs, please
contact the PAPI team or visit the PAPI User Forum.
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
CHANGES IN PAPI 3.7.2 SINCE PAPI 3.7.1
===============================================================================
Bug Fixes:
----------
- fixed L3 cache size reporting for AMD Family 10h processors
- fixed std deviation underflow in sdsc2 and sdsc4 tests
- fixed bug in counter assignment for FreeBSD Atom implementation
Enhancements:
-------------
- updated cache tables for Intel Nehalem i7 processors
- configure provides better autodetection of 2.6.31 or 2.6.32 kernels and
perf_counter interface (in most cases)
- configure provides better detection and autoselection of perfctr or perfmon
drivers for linux
- configure and sources have been modified to support perf_counter on
kernel 2.6.31 and perf_event on kernel 2.6.32
- a papi.spec file has been added to simplify creation of rpms
===============================================================================
PAPI 3.7.1 RELEASE NOTES 13 Nov 2009
===============================================================================
This file documents changes in recent PAPI releases in inverse chronological
order.
For details on installing PAPI on your machine, consult the INSTALL.txt file
in this directory.
For specific and detailed information on changes made in this release, grep
the ChangeLogP371.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This release is an incremental upgrade to PAPI 3.7.0. It cleans up several
issues found in the 3.7.0 release and provides better support for the
perf_counter interface introduced in Linux kernel 2.6.31.
As always, if you identify strange behavior or reproducible bugs, please
contact the PAPI team or visit the PAPI User Forum.
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
NOTE: If you are looking for the man pages and other user documentation, look
online. We decided we could provide better and more timely support by
maintaining just the online documentation. Let us know if you think this is a
bad decision.
CHANGES IN PAPI 3.7.1 SINCE PAPI 3.7.0
===============================================================================
Bug Fixes:
----------
- fixed long standing subtle multiplexing bug in which TIDs and PIDs would get
confused. TIDs would then get lost leading to long term instability.
- fixed unit mask handling in perf_counters
- fixed uninitialized string issue in /proc/cpuinfo parsing
- fixed event reporting errors for various Opteron Family 10h models
Enhancements:
-------------
- FreeBSD support for Intel i7
- cleaned up libpapi.so naming for RedHat rpms
- cleaned up various other issues for rpms per RedHat
- autodetection of 2.6.31 perf_counter interface (in most cases)
- enhanced packaging options in configure to support building either static or
shared libraries independently
New Platforms:
-------------
- Support for the perf_counters (PCL: Performance Counters for Linux) interface
for Linux kernel 2.6.31 and later has been more completely tested on a
broader range of platforms, including Opteron, Core2, i7, and POWER.
It successfully performs basic counting operations and handles many multiplex,
overflow and profiling situations. It is still not as extensivelytested as the
perfmon or perfctr interfaces, but is ready for work. Caveat Emptor.
Major Issues:
-------------
- see 3.7.0
Experimental:
-------------
Known Bugs:
-----------
- see 3.7.0
===============================================================================
PAPI 3.7.0 RELEASE NOTES 08 Sep 2009
===============================================================================
For specific and detailed information on changes made in this release, grep
the ChangeLogP370.txt file for keywords of interest or go directly to the PAPI
cvs tree.
GENERAL NOTES
===============================================================================
This release is a recommended upgrade to PAPI 3.6.x. It addresses a number of
open issues and introduces support for several new platforms, including Intel
Nehalem (Core i7), Atom, POWER7 and Niagara2.
If you are currently using PAPI 3.6.x or earlier, it is recommended that you
upgrade to this version.
As always, if you identify strange behavior or reproducible bugs, please
contact the PAPI team or the PAPI User Forum.
And visit the PAPI website for the latest updates:
http://icl.cs.utk.edu/papi/
NOTE: If you are looking for the man pages and other user documentation, look
online. We decided we could provide better and more timely support by
maintaining just the online documentation. Let us know if you think this is a
bad decision.
CHANGES IN PAPI 3.7.0 SINCE PAPI 3.6.2
===============================================================================
Bug Fixes:
----------
- many minor bugs fixed in tests and in specific cpu components
- fixed support for Intel CoreDuo (not Core2) broken in PAPI 3.6.x
- fixed library init failure on AIX Power6 when executable names > 32 char long
- fixed avail.F construct that was crashing some versions of gfortran
Enhancements:
-------------
- A new utility has been added: papi_version
- Added 4 new PRESET events to better handle SIMD instructions on Intel cpus:
PAPI_DP_OPS - counts double precision scalar and vector FP operations
PAPI_SP_OPS - counts single precision scalar and vector FP operations
PAPI_VEC_DP - counts double precision vector instructions
PAPI_VEC_SP - counts single precision vector instructions
- FreeBSD support upgrade and new support for Atom and Intel Core2
New Platforms:
-------------
- Intel Core i7 (Nehalem) support for 7 core counters; no support for
Uncore counters
- Intel Atom
- AMD Opteron Barcelona, Shanghai, Istanbul event table support
- POWER7 support for Linux thanks to IBM
- Sun Niagara2 support thanks to Aachen University, Germany
- Resurrected support for PAPI on Windows; now supports Intel Core2 and Core i7
Major Issues:
-------------
- PAPI for Windows does not support 64-bit versions due to compiler issues.
Experimental:
-------------
- Support for the perf_counters (PCL: Performance Counters for Linux) interface
is available as a technology pre-release for Linux kernel 2.6.31 and later.
This has been tested on IBM POWER and Intel Core2 and successfully performs
basic counting operations. It has not been stress tested. Caveat Emptor.
Known Bugs:
-----------
- clock speeds are occasionally not reported correctly for systems with
SpeedStep technology.
- Intel Atom crashes on a small number of standard tests.
===============================================================================
PAPI 3.6.2 RELEASE NOTES 03 Oct 2008
NOTE: For releases prior to PAPI 3.7.0, please reference the tarball for an earlier
release, or use the on-line cvs viewer at:
http://icl.cs.utk.edu/viewcvs/viewcvs.cgi/PAPI/papi/
to see earlier versions of this file.
===============================================================================