forked from icl-utk-edu/papi
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ChangeLogP600.txt
1617 lines (1316 loc) · 73.8 KB
/
ChangeLogP600.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
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2020-02-27 Steven Kaufmann <[email protected]>
* src/components/infiniband/tests/Makefile: Making MPI tester
optional
2020-02-22 Frank Winkler <[email protected]>
* src/papi_fwrappers.c: Added fortran wrappers for PAPI_rate_stop and
PAPI_hl_stop. Also fixed doxygen documentation for PAPI_flops_rate.
2020-02-21 Anthony Castaldo <[email protected]>
* src/components/rocm/tests/square.cpp,
src/components/rocm/tests/square.cu,
src/components/rocm/tests/square.hipref.cpp,
src/components/rocm_smi/linux-rocm-smi.c: Deleted test files from
the repository, and commented-out debug lines from rocm_smi.
* src/components/rocm/linux-rocm.c,
src/components/rocm/tests/Makefile,
src/components/rocm/tests/rocm_all.cpp: Added patches provided by
Evgeny Shcherbakov (AMD), and corrected bugs in rocm_all.cpp.
Tested and now functions as expected.
2020-02-20 Anthony <[email protected]>
* src/components/sde/tests/Makefile, src/configure, src/configure.in:
Added -lrt to LIBS (if needed) so that it propagates into the pkg-
config file papi.pc. Also, removed the explicit flag from the SDE
tests Makefile.
2020-02-19 Anthony <[email protected]>
* src/components/sde/sde_internal.h, src/configure, src/configure.in:
Enabled overflow by default in SDE and added -lrt detection in the
configure script.
2020-02-19 Anthony Castaldo <[email protected]>
* src/components/rocm/tests/rocm_all.cpp: Reconciling this version of
rocm_all.cpp with another pull request.
2020-02-18 Anthony Castaldo <[email protected]>
* src/components/cuda/linux-cuda.c: ---Correct cuda push/pop context
consistency--- In _cuda_cleanup_eventset we attempt to push a
current cuda context, set a new cuda context to do some cleanup,
then restore the original context with a pop. (cuCtxPushCurrent,
cuCtxPopCurrent). This was failing. We corrected it by doing a
Save+Restore instead of a Push+Pop using cuCtxGetCurrent,
cuCtxSetCurrent, different routines that do not require the cuda
Context Stack, and have fewer restrictions on their use.
2020-02-16 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/main.c: Added check for whether or not
the user provided a benchmark category. When using the Counter
Analysis Toolkit, if the user did not supply a benchmark category,
then it will run the 'branch' benchmark by default and inform the
user of such. The 'branch' benchmark executes the most quickly of
all the categories, making it a suitable default. These changes
were tested on the Intel Haswell architecture.
2020-02-13 Frank Winkler <[email protected]>
* src/run_tests.sh: Little change in test script based on commit
14cebbc. We have changed the high-level environment variable
PAPI_NO_WARNING to PAPI_HL_VERBOSE. Also, verbose output is off by
default, that's why this variable is not needed in the test script
anymore.
2020-02-13 Anthony Castaldo <[email protected]>
* src/components/cuda/linux-cuda.c: Modifications for more thorough
error-checking in routines before using pointers (ensuring they are
non-NULL). Suggested by Steve Kaufmann.
2020-02-11 Anthony Castaldo <[email protected]>
* src/components/rocm_smi/linux-rocm-smi.c: Removed a debug message.
2020-02-10 Anthony Castaldo <[email protected]>
* src/components/rocm_smi/linux-rocm-smi.c: Corrects a problem
producing a segfault. The function MakeRoomAllEvents() can
realloc() a table, but this can make the use of a pointer into the
former area produce a segfault.
2020-01-31 Anthony Castaldo <[email protected]>
* src/components/rocm_smi/linux-rocm-smi.c,
src/components/rocm_smi/tests/ROCM_SMI_Makefile,
src/components/rocm_smi/tests/rocmcap_plot.cpp: A new utility added
to tests, and debug lines (commented out) in component code until
SMI library problem with power events is sorted out.
* src/components/io/linux-io.c: We have to fopen/fclose the system
file for every read; otherwise Linux caches the file and reports
the same values every time.
2020-01-30 Anthony <[email protected]>
* src/high-level/papi_hl.c: Turned verbosity of HL API off by
default.
2020-01-30 Anthony Castaldo <[email protected]>
* src/components/io/linux-io.c: Rewrite to use ctx and ctl structures
for thread safety.
2020-01-29 Anthony Castaldo <[email protected]>
* src/components/rocm/Rules.rocm,
src/components/rocm/tests/rocm_all.cpp: Corrected a typo in
Rules.rocm, and cleaned up a test program rocm_all.cpp.
* src/components/io/linux-io.c: Provided some insurance that io
component initialization occurs only once.
2020-01-29 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/branch.c,
src/counter_analysis_toolkit/dcache.c,
src/counter_analysis_toolkit/flops.c,
src/counter_analysis_toolkit/gen_seq_dlopen.sh: Removed unnecessary
error reporting. Some error messages from the CAT benchmarks were
removed so as not to cause extraneous output. These changes were
tested on the Intel Broadwell architecture.
2020-01-28 Anthony <[email protected]>
* src/counter_analysis_toolkit/main.c: Avoid computing the latencies
twice.
* src/components/sde/sde.c: Updated the info that is reported by the
component about itself.
2020-01-28 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/flops.c: Fixed bug in FLOPS benchmark.
The FLOPS benchmarks ensure that the compiler does not discard the
results of the numerical kernels. A double-precision benchmark was
ensuring that the single-precision result was not discarded,
instead of the double-precision result. This has now been
corrected. This was tested on the Intel Broadwell architecture.
2020-01-28 Anthony <[email protected]>
* src/counter_analysis_toolkit/dcache.c,
src/counter_analysis_toolkit/dcache.h,
src/counter_analysis_toolkit/driver.h,
src/counter_analysis_toolkit/gen_seq_dlopen.sh,
src/counter_analysis_toolkit/icache.c,
src/counter_analysis_toolkit/icache.h,
src/counter_analysis_toolkit/main.c: Added code to show progress if
the user asks for it (-verbose flag), and removed confusing error
messages and dead code.
2020-01-28 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/main.c: Per the sscanf man page, it is
unnecessary to call free() in this block since memory for the
string would not be allocated. This was tested on the AMD EPYC
architecture.
2020-01-27 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/driver.h,
src/counter_analysis_toolkit/main.c: Added checks for negative
amounts of qualifers provided by the user. Previously, there was a
bug caused by a user providing a negative number of qualifiers.
Now, if a user does provide a negative number of qualifiers, this
number is set to zero. This fix was tested on the AMD EPYC
architecture.
2020-01-27 Anthony <[email protected]>
* src/components/perf_event/pe_libpfm4_events.c: Fixed problems with
debug macro.
2020-01-24 Damien Genet <[email protected]>
* src/components/infiniband/tests/Makefile: Adds missing rule for
compilation of MPI test
2020-01-24 Anthony Castaldo <[email protected]>
* src/components/perf_event/pe_libpfm4_events.c: New libpfm4 contains
"aliased" pmus for backward compatibility, amd64_fam17h ==
amd64_fam17h_zen1; this causes us to put BOTH pmus into the PMUs
supported string and double the events in native_avail. This update
recognizes when aliases exist (the names must be hard-coded) and
uses only one of the most recent name.
2020-01-23 Heike Jagode <[email protected]>
* src/components/infiniband_umad/README.md,
.../infiniband_umad/Rules.infiniband_umad, .../infiniband_umad
/linux-infiniband_umad.c, .../infiniband_umad/linux-
infiniband_umad.h, src/components/infiniband_umad/tests/Makefile,
.../tests/infiniband_umad_list_events.c,
.../tests/infiniband_umad_values_by_code.c: Retirement of
infiniband_umad component. With the latest advancements of the
infiniband component, infiniband_umad has become redundant.
2020-01-22 Damien Genet <[email protected]>
* src/components/Makefile_comp_tests.target.in: Propagating MPICC to
components tests
* src/components/infiniband/linux-infiniband.c,
.../infiniband/tests/MPI_test_infiniband_events.c: snprintf return
value, a classic now. And the 3-space indentation.
2019-09-04 Rizwan-ICL <[email protected]>
* src/components/infiniband/linux-infiniband.c,
.../infiniband/tests/MPI_test_infiniband_events.c,
src/components/infiniband/tests/Makefile: Added descriptions for
events of infiniband component using documentation provided by
Mellanox; Added test code to test the various events in infiniband
component and modified Makefile to compile the test code;
2020-01-22 Damien Genet <[email protected]>
* src/components/powercap_ppc/README,
src/components/powercap_ppc/Rules.powercap_ppc,
src/components/powercap_ppc/linux-powercap-ppc.c,
src/components/powercap_ppc/linux-powercap-ppc.h,
src/components/powercap_ppc/tests/Makefile,
src/components/powercap_ppc/tests/powercap_basic.c,
src/components/powercap_ppc/tests/powercap_limit.c: Merged in
feature/powercap_ppc (pull request #34) Feature/powercap ppc *
Powercapping for IBM PowerPC architecture, Power9 processors *
Adding 2 tests for powercap component on PPC architecture Power9
Approved-by: adanalis Approved-by: Anthony Castaldo
2020-01-22 Frank Winkler <[email protected]>
* src/high-level/scripts/papi_hl_output_writer.py: Fixed bug for
python3. - dict.iteritems() was removed in python3 --> Instead:
use dict.items() The output script works for both python2 and
python3.
* src/papi.c: Bug fix that was caused by commit db01193.
* src/examples/PAPI_flops.c: Improved some comments.
2020-01-21 Damien Genet <[email protected]>
* src/components/sensors_ppc/linux-sensors-ppc.c: Adds missing checks
for snprintf. A return value larger than the buffer is not really
an error, just a poor design, but whatever.
2020-01-20 Frank Winkler <[email protected]>
* src/examples/PAPI_mix_hl_ll.c, src/examples/PAPI_mix_hl_rate.c,
src/examples/PAPI_mix_ll_rate.c, src/papi.c, src/papi.h: Renamed
papi_rate_stop to papi_stop_events.
* src/high-level/papi_hl.c: Fixed bug. Check for empty string in
PAPI_EVENTS.
* src/high-level/papi_hl.c, src/papi.c, src/papi_internal.c,
src/papi_internal.h: Fixed typo.
* src/high-level/papi_hl.c: Improved cleanup function.
2020-01-18 Frank Winkler <[email protected]>
* src/examples/Makefile, src/examples/PAPI_mix_hl_ll.c,
src/examples/PAPI_mix_hl_rate.c, src/examples/PAPI_mix_ll_rate.c,
src/papi.c: Added examples that show how to mix hl, ll, and rate
functions.
2020-01-17 Frank Winkler <[email protected]>
* src/high-level/papi_hl.c, src/papi.c, src/papi.h,
src/papi_internal.c, src/papi_internal.h: Added feature that allows
mixing of rate functions and hl functions.
2020-01-16 Anthony Castaldo <[email protected]>
* src/papi_events.csv: Added two machine types to papi_events.csv to
be in line with libpfm4 update to support amd64_fam17h_zen1 and
zen2.
2020-01-16 Anthony <[email protected]>
* src/components/sde/tests/Makefile: Fixed dependency in Makefile.
2020-01-16 Frank Winkler <[email protected]>
* src/papi.c, src/papi.h: Added PAPI_rate_stop() that stops any rate
function.
2020-01-16 Damien Genet <[email protected]>
* src/components/sensors_ppc/README,
src/components/sensors_ppc/Rules.sensors_ppc,
src/components/sensors_ppc/linux-sensors-ppc.c,
src/components/sensors_ppc/linux-sensors-ppc.h,
src/components/sensors_ppc/tests/Makefile,
.../sensors_ppc/tests/sensors_ppc_basic.c: Add new component for
sensors reading on PowerPC 9 Enable with ./configure --with-
components="sensors_ppc"
2020-01-16 Frank Winkler <[email protected]>
* src/run_tests.sh: Fixed little bug in test script. The output
directory of the high-level API has been renamed from papi to
papi_hl_output.
2020-01-16 Anthony Castaldo <[email protected]>
* src/components/rocm_smi/Rules.rocm_smi, src/components/rocm_smi
/linux-rocm-smi.c: Changed Rules file to look in multiple places
for rocm_smi.h, it moved between rocm releases. Rewrote a routine
to be more efficient and eliminate a string-size warning. Made some
diagnostic outputs that were left active in previous commit
dependent on #ifdef macros.
2020-01-15 Frank Winkler <[email protected]>
* src/high-level/papi_hl.c: Fixed memory leak in high-level API.
Based on commit ef20e24 that fixed a bug by deleting a "free" call,
the "free" call is now done in the last function of the high-level
API which is called during the "atexit()" call.
2020-01-14 Anthony <[email protected]>
* .../sde/tests/Advanced_C+FORTRAN/Gamum.c,
.../sde/tests/Advanced_C+FORTRAN/Xandria.F90,
.../sde/tests/Advanced_C+FORTRAN/sde_test_f08.F90,
src/components/sde/tests/Gamum.c,
src/components/sde/tests/Makefile,
src/components/sde/tests/Minimal/Minimal_Test.c,
src/components/sde/tests/Minimal_Test.c,
src/components/sde/tests/Recorder.c,
.../sde/tests/Recorder/Lib_With_Recorder.c,
.../sde/tests/Recorder/Recorder_Driver.c,
src/components/sde/tests/Simple/Simple_Driver.c,
src/components/sde/tests/Simple/Simple_Lib.c,
src/components/sde/tests/Simple2/Simple2_Driver.c,
src/components/sde/tests/Simple2/Simple2_Lib.c,
src/components/sde/tests/Xandria.F90,
src/components/sde/tests/sde_test_f08.F90: Added new tests/examples
under the SDE component and organized them based on complexity.
* src/components/sde/sde.c: Improved and corrected the checks that
relate to counter groups and recorders.
2020-01-13 Anthony <[email protected]>
* src/utils/Makefile, src/utils/papi_sde_interface.c: Added the weak
symbols for SDE to papi_native_avail, so the utility works when
PAPI is not configured with the SDE component.
* src/utils/papi_avail.c, src/utils/papi_native_avail.c: Improved the
code that checks the command-line arguments.
2020-01-06 Anthony <[email protected]>
* src/components/sde/sde.c, src/components/sde/sde_internal.h,
src/utils/papi_native_avail.c: Moved the responsibility of listing
SDEs of a library/executable to papi_native_avail instead of the
SDE component.
* src/papi_internal.c: Updated the variables that are used in the
debug messages in accordance to a previous commit that made these
variables thread safe.
2020-01-03 Frank Winkler <[email protected]>
* src/high-level/scripts/papi_hl_output_writer.py: Changed name of
some derived metrics.
* src/high-level/papi_hl.c, src/high-
level/scripts/papi_hl_output_writer.py: Added new derived metrics.
2020-01-03 Frank Winkler <[email protected]>
* src/high-level/papi_hl.c: Little format changes.
* src/high-level/papi_hl.c: Fixed bug in high-level API caused by
commit ff8ff65. The creation of the measurement directory failed
since Coverity freed memory of a string that was used later to
create the measurement directory.
2020-01-02 Frank Winkler <[email protected]>
* src/high-level/papi_hl.c, src/validation_tests/Makefile.recipies,
src/validation_tests/flops_validation_hl.c,
src/validation_tests/fp_validation_hl.c: Revised default events for
flops and flips.
2019-12-20 Frank Winkler <[email protected]>
* src/papi.c: papi.c edited online with Bitbucket
* src/examples/high_level.c: high_level.c edited online with
Bitbucket
* src/examples/PAPI_ipc.c: PAPI_ipc.c edited online with Bitbucket
* src/examples/PAPI_flops.c: PAPI_flops.c edited online with
Bitbucket
* src/examples/PAPI_flips.c: PAPI_flips.c edited online with
Bitbucket
* src/examples/PAPI_epc.c: PAPI_epc.c edited online with Bitbucket
2019-12-19 Anthony <[email protected]>
* src/components/sde/sde.c, src/components/sde/sde_internal.h: Fixed
issues in the SDE component unveiled by Coverity.
2019-12-19 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/main.c: Fixed typo in comment for
argument parsing.
2019-12-19 Frank Winkler <[email protected]>
* src/libpapi.exp: Fixed typo.
* src/ctests/bgp/Makefile, src/ctests/bgp/papi_1.c, src/libpapi.exp:
Further clean-up.
2019-12-19 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/Makefile,
src/counter_analysis_toolkit/caches.h,
src/counter_analysis_toolkit/dcache.c,
src/counter_analysis_toolkit/dcache.h,
src/counter_analysis_toolkit/driver.h,
src/counter_analysis_toolkit/main.c,
src/counter_analysis_toolkit/timing_kernels.c,
src/counter_analysis_toolkit/timing_kernels.h: Removed unnecessary
variables and checks. Refactored code blocks. Added comments in the
main driver file.
2019-12-19 Frank Winkler <[email protected]>
* src/ctests/bgp/papi_1.c, src/libpapi.exp: Clean-up of old high-
level functions.
2019-12-18 Frank Winkler <[email protected]>
* man/man1/papi_component_avail.1: Fixed typo in
papi_component_avail.1. See pull request #2.
2019-12-16 Anthony <[email protected]>
* src/counter_analysis_toolkit/Makefile: Renamed cit_collect to
cat_collect.
* src/counter_analysis_toolkit/eventstock.c: Clarified comment.
* src/counter_analysis_toolkit/branch.c,
src/counter_analysis_toolkit/driver.h,
src/counter_analysis_toolkit/eventstock.c,
src/counter_analysis_toolkit/eventstock.h,
src/counter_analysis_toolkit/flops.c,
src/counter_analysis_toolkit/gen_seq_dlopen.sh,
src/counter_analysis_toolkit/main.c: Removed unnecessary work when
setting up the list of events, and minor cosmetic changes.
2019-12-16 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/flops.c: Cleaned up comments.
2019-12-16 Anthony Castaldo <[email protected]>
* src/components/rapl/tests/rapl_overflow.c: Corrected a working but
convoluted line of code.
2019-12-13 Frank Winkler <[email protected]>
* src/examples/PAPI_flips.c, src/examples/PAPI_flops.c, src/papi.c:
Minor documentation corrections.
* src/papi.h: Fixed some thread definitions.
* src/high-level/papi_hl.c, src/papi.h: Revised documentation of
high-level API.
* src/high-level/papi_hl.c, src/high-
level/scripts/papi_hl_output_writer.py: Renamed the output
directory of the high-level API from 'papi' to 'papi_hl_output'.
* src/papi.c: Revised documentation.
* src/examples/PAPI_epc.c, src/examples/PAPI_flips.c,
src/examples/PAPI_flops.c, src/examples/PAPI_ipc.c, src/papi.c:
Adjusted doxygen documentation.
2019-12-12 Frank Winkler <[email protected]>
* src/examples/Makefile, src/examples/PAPI_flips.c,
src/examples/PAPI_flops.c, src/examples/PAPI_ipc.c,
src/examples/high_level.c, src/papi.c, src/papi.h,
src/papi_fwrappers.c: Reimplemented rate functions and adjusted
examples.
2019-12-11 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/branch.c,
src/counter_analysis_toolkit/dcache.c,
src/counter_analysis_toolkit/flops.c,
src/counter_analysis_toolkit/gen_seq_dlopen.sh: Added
PAPI_cleanup_eventset() call to each of the benchmarks. This
removes events from the event set. By including these calls, the
benchmarks do not encounter the PAPI_ECOUNT error code, which
occurs if there are too many events added to the same event set.
These changes were tested on the Intel Skylake architecture.
2019-12-10 Anthony Castaldo <[email protected]>
* src/components/rocm_smi/README,
src/components/rocm_smi/Rules.rocm_smi,
src/components/rocm_smi/tests/rocm_smi_all.txt: Minor changes to
text and a setting that was for development only.
2019-12-10 Frank Winkler <[email protected]>
* src/papi.c: Made rate functions thread safe.
2019-12-09 Anthony <[email protected]>
* src/utils/Makefile: Changed the order of the linker flags so that
-ldl is at the end since libpapi.a needs libdl.so but not the other
way around.
2019-12-06 Heike Jagode <[email protected]>
* README.md: README.md edited online with Bitbucket
2019-12-06 Steve Kaufmann <[email protected]>
* src/components/rocm/linux-rocm.c, src/papi_events.csv: The changes
here are based on a patch provided by Steve Kaufmann; to correct a
misnamed event in papi_events.csv, and prevent a segfault in rocm
when a context pointer is null. Additional changes by Tony Castaldo
check to see if the necessary rocprofiler environment variables
have been set; and disable the component if they are not, with an
informative reason to be reported by papi_component_avail. (The
component will not work without them).
2019-12-05 Frank Winkler <[email protected]>
* src/papi.c: Replaced HighLevelInfo with RateInfo.
2019-12-03 Anthony Castaldo <[email protected]>
* src/extras.c: extra '#' in "%#p" print formats, using just '%p'.
2019-12-03 William Cohen <[email protected]>
* src/testlib/papi_test.h, src/testlib/test_utils.c: Use the noreturn
attribute only when the compiler support GNU C extensions.
* src/testlib/papi_test.h, src/testlib/test_utils.c: Properly mark
some test_utils.c functions with noreturn attributes Clang makes
use of the information whether a function returns in flow analysis
to determine whether there are uses of null values and other
possible problematic issues. Marking the test_pass, test_hl_pass,
test_fail, and test_skip functions properly with noreturn attribute
allows Clang to more accurately analyze the code and eliminates 87
false positive warnings in the PAPI testsuite code.
2019-12-02 Anthony Castaldo <[email protected]>
* src/components/coretemp/linux-coretemp.c, src/components/infiniband
/linux-infiniband.c, src/components/lmsensors/linux-lmsensors.c,
src/components/lustre/linux-lustre.c, src/components/pcp/linux-
pcp.c, src/components/pcp/tests/testPCP.c,
src/components/perf_event/perf_event.c,
.../perf_event_uncore/perf_event_uncore.c, src/components/rapl
/linux-rapl.c, src/ctests/failed_events.c, src/ctests/kufrin.c,
src/ctests/pthrtough.c, src/ctests/pthrtough2.c, src/extras.c, src
/high-level/papi_hl.c, src/linux-common.c, src/linux-memory.c,
src/testlib/clockcore.c, src/utils/cost_utils.c,
src/utils/papi_command_line.c, src/utils/papi_multiplex_cost.c: The
code in this commit all failed a Coverity scan (a code consistency
tool) that correctly identified memory leaks, potential buffer
overflows, and failures to close a file or directory that had been
opened.
2019-12-02 Frank Winkler <[email protected]>
* src/papi.c, src/papi.h, src/papi_fwrappers.c: Reimplemented rate
calls such as PAPI_flips, PAPI_flops, etc. - These calls are now
part of the low-level API - PAPI_stop_rates() stop the counters
2019-11-20 William Cohen <[email protected]>
* src/components/sde/Rules.sde: Limit Fortran 90 compilers options to
SDE component Fortran 90 code The Rules.sde added Fortran 90
options to FFLAGS that would end up being applied to other Fortran
code being built in papi. Unfortunately, the other code is F77 code
and the options would cause the build to fail.
2019-11-21 Heike Jagode <[email protected]>
* README.md: README.md edited online with Bitbucket
2019-11-14 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/main.c: Swapped lines 268 and 269 of
main.c so that the appropriate memory allocation is freed, and the
pointer is then set to NULL.
2019-11-13 Anthony Castaldo <[email protected]>
* src/components/nvml/tests/Makefile,
src/components/nvml/tests/nvmlcap_plot.cu,
src/components/nvml/utils/Makefile,
src/components/nvml/utils/README,
src/components/nvml/utils/nvmlcap_plot.cu: For consistency with
powercap and rapl components, moved nvmlcap_plot.cu to a new
nvml/utils/ directory. New Makefile in nvml/utils/ and adjusted
Makefile in nvml/tests/. Created a new README for nvmlcap_plot. No
code changes; but tested configure and make of PAPI and
nvmlcap_plot.
2019-11-08 Anthony Castaldo <[email protected]>
* src/components/rapl/linux-rapl.c: Fixed an inaccurate comment.
* src/components/rapl/README,
src/components/rapl/tests/rapl_overflow.c: Added a paragraph of
usage info to README; also reformatted existing comments to comply
with 80 char line limit; without changing their content.
rapl_overflow.c was confusing, it was not using the
PACKAGE_ENERGY_CNT event to test for overflow, and the scaled value
seemed to wrap in 85ms. This seemed to conflict with the results of
rapl_wraparound; which computes a wraparound time in 85 minutes.
rapl_overflow.c is now in line with an 80-90 minute wraparound
vaue.
2019-11-07 Anthony Castaldo <[email protected]>
* src/components/rapl/linux-rapl.c: Changes to properly mask energy
values to uint32, and accumulate them to return a 64-bit
accumulator. Verified wraparound time at approx 85 minutes (for a
32 bit read). That is the maximum allowed time between reads; the
64-bit value returned should never wrap. (Some tabs converted to
spaces in changed code.)
2019-11-01 Frank Winkler <[email protected]>
* src/high-level/papi_hl.c: Removed Doxygen documentation for
internal functions and moved code block for multiplex
initialization. PAPI_multiplex_init is only called after a
successful PAPI_thread_init.
2019-10-31 Anthony Castaldo <[email protected]>
* src/components/perf_event/pe_libpfm4_events.c: Fixed a typo in the
error message.
* src/ctests/Makefile.recipies, src/ctests/filter_helgrind.c,
src/papi.c, src/papi_internal.c, src/threads.c, src/threads.h: The
changes to papi.c, papi_internal.c, threads.h and threads.c correct
a race condition that was the result of all threads using the same
two static variables (papi_event_code and papi_event_code_changed)
to temporarily record a state of operation. The solution was to
make these variables unique per thread, using the ThreadInfo_t
structure already provided in PAPI for such purposes. The file
krentel_pthread_race.c is a stress test to produce race conditions.
filter_helgrind.c reduces the volume of --tool-helgrind output to a
more manageable summary. Both are added to Makefile.recipies.
2019-10-31 William Cohen <[email protected]>
* src/ctests/krentel_pthreads_race.c: This code is a modification of
krentel_pthreads.c, to better test some race conditions. It is not
included in the standard tests; it is a diagnostic that should be
run with "valgrind --tool=helgrind".
2019-10-31 Anthony Castaldo <[email protected]>
* src/components/perf_event/pe_libpfm4_events.c: Changed SUBDBG error
reporting in new code to a single message instead of two, before
the unlock code (so no race condition on variables in report).
Cosmetics.
2019-10-28 Daniel Barry <[email protected]>
* src/counter_analysis_toolkit/main.c: Added checks for improperly
formatted lines in the user-provided event list. If a line is
missing a qualifier count, then it is discarded. If a provided
event name is either not available in the architecture or contains
qualifiers, then the qualifier count is set to zero to prevent
appending extraneous qualifiers, and the user is notified. Also
cleaned up string manipulation. These changes were tested on the
Intel Haswell architecture.
2019-10-25 Anthony Castaldo <[email protected]>
* src/components/perf_event/pe_libpfm4_events.c: In two places, we
exited the routine allocate_native_event() because we could not
find a mask or attribute in an event name (because the event was
supported but the given mask was not), and failed without unlocking
the NAMELIB_LOCK, or cleaning up allocated memory. +
free (msk_ptr); + free(pmu_name); +
_papi_hwi_unlock( NAMELIB_LOCK );
2019-10-24 Anthony Castaldo <[email protected]>
* src/components/rocm_smi/linux-rocm-smi.c,
src/components/rocm_smi/tests/ROCM_SMI_Makefile,
src/components/rocm_smi/tests/rocm_smi_all.cpp,
src/components/rocm_smi/tests/rocm_smi_all.txt: New events added,
some bugs corrected. ROCM_SMI_Makefile is modified to use env
variable $PAPI_ROCM_ROOT to make it easier to compile with a local
version of the rocm_smi library. rocm_smi_all.txt is the output of
a run of rocm_smi_all.cpp, which has been modified to handle
strings, and skip testing of events that bomb (unhandled exceptions
in library code). NOTE this code may still contain debug printing
to stderr, to be removed in the final version after all issues are
corrected. -Tony
2019-10-24 Frank Winkler <[email protected]>
* src/papi.h: Removed TLS definitions.
* src/high-level/papi_hl.c, src/papi.h: Replaced PAPI_TLS_KEYWORD
with THREAD_LOCAL_STORAGE_KEYWORD due to ABI conflicts.
2019-10-18 Anthony Castaldo <[email protected]>
* src/components/rocm_smi/Rules.rocm_smi, src/components/rocm_smi
/linux-rocm-smi.c, src/components/rocm_smi/rocm_smi.h: This is a
first installment of the rewrite of the rocm_smi component. It
currently requires a private install of the updated library (with
iterators), and a special Rules.file, PAPI_ROCM_ROOT, and
PAPI_ROCM_SMI_MAIN. It works as far as executing
utils/papi_native_avail; but none of the events have been tested
yet by reading with PAPI code. -TC
2019-10-15 Damien Genet <[email protected]>
* src/components/nvml/linux-nvml.c: Merged in dgenet/papi/fix/nvml-
rules (pull request #14) Fixes error messages while detecting
Rules.nvml Patch from Vince Weaver Approved-by: Heike Jagode
<[email protected]> Approved-by: Damien Genet <[email protected]>
Approved-by: Anthony Castaldo <[email protected]>
2019-10-09 Heike Jagode <[email protected]>
* README.md: Cleaning up README file.
* README.md: README.md edited online with Bitbucket
* README: README edited online with Bitbucket
* README.md: README.md edited online with Bitbucket
2019-10-08 Steve Kaufmann <[email protected]>
* src/components/cuda/linux-cuda.c: Corrected several cosmetic issues
and typos, standardized naming, used PATH_MAX instead of literal,
and PAPI_MAX_STR_LEN instead of PAPI_MIN_STR_LEN.
2019-10-08 Frank Winkler <[email protected]>
* src/components/lmsensors/linux-lmsensors.c: Removed blank line.
* src/components/lmsensors/linux-lmsensors.c: Replaced spaces with
underscores in event name.
2019-10-06 Frank Winkler <[email protected]>
* src/papi_fwrappers.c: Corrected Doxygen documentation.
* src/ctests/Makefile.recipies, src/ctests/mpi_hl.c,
src/ctests/mpi_omp_hl.c, src/ctests/omp_hl.c,
src/ctests/pthread_hl.c, src/ctests/serial_hl.c,
src/ctests/serial_hl_advanced.c, src/ctests/serial_hl_ll_comb.c,
src/ctests/serial_hl_ll_comb2.c, src/ftests/Makefile.recipies,
src/ftests/serial_hl.F, src/ftests/serial_hl_advanced.F, src/high-
level/papi_hl.c, src/papi.h, src/papi_fwrappers.c,
src/testlib/ftests_util.F, src/testlib/papi_test.h,
src/testlib/test_utils.c,
src/validation_tests/flops_validation_hl.c: Removed advanced
functions from the new high-level API. The new high-level API
consists of three functions: - PAPI_hl_region_begin - PAPI_hl_read
- PAPI_hl_region_end Validation test in C: -
src/validation_tests/flops_validation_hl.c Test examples in C: -
src/ctests/serial_hl.c - src/ctests/omp_hl.c -
src/ctests/pthread_hl.c - src/ctests/mpi_hl.c -
src/ctests/mpi_omp_hl.c - src/ctests/serial_hl_ll_comb.c Test
example in Fortran: - src/ftests/serial_hl.F
2019-10-03 Damien Genet <[email protected]>
* src/counter_analysis_toolkit/branch.c,
src/counter_analysis_toolkit/branch.h,
src/counter_analysis_toolkit/dcache.c,
src/counter_analysis_toolkit/dcache.h,
src/counter_analysis_toolkit/eventstock.c,
src/counter_analysis_toolkit/eventstock.h,
src/counter_analysis_toolkit/flops.c,
src/counter_analysis_toolkit/gen_seq_dlopen.sh,
src/counter_analysis_toolkit/icache.c,
src/counter_analysis_toolkit/icache.h,
src/counter_analysis_toolkit/main.c,
src/counter_analysis_toolkit/prepareArray.c,
src/counter_analysis_toolkit/prepareArray.h,
src/counter_analysis_toolkit/timing_kernels.c,
src/counter_analysis_toolkit/timing_kernels.h: Adding Checks
2019-10-04 Anthony Danalis <[email protected]>
* src/components/lmsensors/linux-lmsensors.c: Fixed inconsistency in
component name.
2019-09-30 Anthony Danalis <[email protected]>
* src/components/sde/README, src/components/sde/Rules.sde,
src/components/sde/interface/papi_sde_interface.c,
src/components/sde/interface/papi_sde_interface.h,
src/components/sde/sde.c, src/components/sde/sde_F.F90,
src/components/sde/sde_internal.h,
src/components/sde/tests/Gamum.c,
src/components/sde/tests/Makefile,
src/components/sde/tests/Minimal_Test.c,
src/components/sde/tests/Recorder.c,
src/components/sde/tests/Xandria.F90,
src/components/sde/tests/sde_test_f08.F90: Software Defined Events
(SDE) component.
* src/counter_analysis_toolkit/Makefile,
src/counter_analysis_toolkit/README,
src/counter_analysis_toolkit/branch.c,
src/counter_analysis_toolkit/branch.h,
src/counter_analysis_toolkit/caches.h,
src/counter_analysis_toolkit/compar.c,
src/counter_analysis_toolkit/dcache.c,
src/counter_analysis_toolkit/dcache.h,
src/counter_analysis_toolkit/driver.h,
src/counter_analysis_toolkit/event_list.txt,
src/counter_analysis_toolkit/eventstock.c,
src/counter_analysis_toolkit/eventstock.h,
src/counter_analysis_toolkit/flops.c,
src/counter_analysis_toolkit/flops.h,
src/counter_analysis_toolkit/flops_aux.c,
src/counter_analysis_toolkit/flops_aux.h,
src/counter_analysis_toolkit/gen_seq_dlopen.sh,
src/counter_analysis_toolkit/icache.c,
src/counter_analysis_toolkit/icache.h,
src/counter_analysis_toolkit/main.c,
src/counter_analysis_toolkit/prepareArray.c,
src/counter_analysis_toolkit/prepareArray.h,
src/counter_analysis_toolkit/replicate.sh,
src/counter_analysis_toolkit/timing_kernels.c,
src/counter_analysis_toolkit/timing_kernels.h: Counter Analysis
Toolkit.
2019-09-30 Anthony Castaldo <[email protected]>
* src/components/cuda/Rules.cuda, src/components/nvml/Rules.nvml,
src/components/pcp/Rules.pcp: Corrected typos, replacing "optimal"
with "optional."
2019-09-18 Anthony Castaldo <[email protected]>
* src/components/cuda/linux-cuda.c: We no longer check the error on
setting CUPTI_EVENT_COLLECTION_MODE_CONTINUOUS, it only works on
Tesla devices (and is preferred there) but fails on other models,
they don't support the feature. We do not fail if they reject it.
2019-09-17 Kevin Huck <[email protected]>
* src/components/io/CHANGES, src/components/io/README,
src/components/io/Rules.io, src/components/io/linux-io.c,
src/components/io/linux-io.h, src/components/io/tests/Makefile,
src/components/io/tests/io_basic.c,
src/components/io/tests/io_multiple_components.c: Adding I/O
component to read from /proc/self/io.
2019-09-13 Steve Kaufmann <[email protected]>
* src/components/rocm/linux-rocm.c, src/components/rocm_smi/linux-
rocm-smi.c: Changes to make these components (ROCM, ROCM_SMI) have
naming consistency with others; fixed numerous minor formatting
issues and comments. Compiled and checked on ICL Caffeine.
2019-09-13 Anthony Castaldo <[email protected]>
* src/components/rocm/linux-rocm.c, src/components/rocm_smi/linux-
rocm-smi.c: Revert changes, used wrong author (Should be Steve
Kaufmann). This reverts commit
9a60e91d539b8eb079dd81adc1d91c17620cfaed.
2019-09-12 Anthony Castaldo <[email protected]>
* src/components/rocm/linux-rocm.c, src/components/rocm_smi/linux-
rocm-smi.c: Changes suggested by Steve Kaufmann (Cray) to make
these components have naming consistency with others; fixed
numerous minor formatting issues. Reviewed, accepted, compiled,
checked.
2019-09-09 Frank Winkler <[email protected]>
* src/components/infiniband_umad/README.md,
src/components/lmsensors/README.md: Little format changes for
markdown documentation files.
* src/components/libmsr/Makefile.libmsr.in,
src/components/libmsr/README, src/components/libmsr/README.md,
src/components/libmsr/Rules.libmsr,
src/components/libmsr/configure,
src/components/libmsr/configure.in, src/components/libmsr/linux-
libmsr.c, src/components/libmsr/utils/libmsr_write_test.c: Updated
code and documentation for component libmsr to get compliance with
the new component setup standard.
* src/components/infiniband_umad/README,
src/components/infiniband_umad/README.md,
.../infiniband_umad/Rules.infiniband_umad, .../infiniband_umad
/linux-infiniband_umad.c: Updated code and documentation for
component infiniband_umad to get compliance with the new component
setup standard.
2019-09-08 Frank Winkler <[email protected]>
* src/components/lmsensors/README,
src/components/lmsensors/README.md,
src/components/lmsensors/Rules.lmsensors, src/components/lmsensors
/linux-lmsensors.c: Updated code and documentation for component
lmsensors to get compliance with the new component setup standard.
2019-09-05 Anthony Castaldo <[email protected]>
* src/components/pcp/Rules.pcp: Corrected an issue with Rules,
changing the name of macro that conflicted with other potential
macros.
2019-09-04 Anthony Castaldo <[email protected]>
* src/components/cuda/Rules.cuda, src/components/nvml/Rules.nvml:
Corrected an incompatibility in multiple Rules files when multiple
components are included. Rules files cannot all use the same
"MACRODEF" variable for different purposes; each needs a unique ID,
like CUDA_MACS, NVML_MACS, etc.
* src/components/rocm/README, src/components/rocm/Rules.rocm,
src/components/rocm/linux-rocm.c, src/components/rocm_smi/README,
src/components/rocm_smi/Rules.rocm_smi, src/components/rocm_smi
/linux-rocm-smi.c: Changes to make rocm_smi component compliant
with new component setup standard; changes to rocm component to
correct bugs in compatibility and comments.
* src/components/rocm/README, src/components/rocm/Rules.rocm,
src/components/rocm/linux-rocm.c: Modified documentation, Rules and
code for ROCM component to comply with new setup standards. It now
requires PAPI_ROCM_ROOT as an environment variable.
* src/components/pcp/README, src/components/pcp/Rules.pcp,
src/components/pcp/linux-pcp.c: Code and documentation to get
component PCP into compliance with the new component setup
standard; PAPI_PCP_ROOT is only environmental variable required.
2019-09-03 Anthony Castaldo <[email protected]>
* src/components/cuda/Rules.cuda, src/components/nvml/README,
src/components/nvml/Rules.nvml, src/components/nvml/linux-nvml.c:
NVML component README, Rules and code updated to reflect new setup
policy, relies on PAPI_CUDA_ROOT only. Adds a new override,
PAPI_NVML_MAIN. Instructions improved in Rules.cuda, Rules.nvml.
2019-08-29 Anthony Castaldo <[email protected]>
* src/components/cuda/linux-cuda.c: Corrected comments.
* src/components/cuda/README, src/components/cuda/Rules.cuda,
src/components/cuda/linux-cuda.c: The changes make the cuda
component reliant on a single environment variable, PAPI_CUDA_ROOT,
allowing overrides specified in Rules.cuda if the necessary
libraries are not in their expected locations. Detailed
instructions are in README, and for overrides in Rules.cuda.
2019-08-28 Anthony Castaldo <[email protected]>
* src/components/rocm/linux-rocm.c: Bug fixes, for missing eventName
in debug mode; also for failure to clear internal 'usage' flags
when destroying an event set.
2019-08-14 Carl Love <[email protected]>
* src/papi_events.csv: Per Carl Love, "The POWER9 event
PM_BR_TAKEN_CMPL includes conditional and unconditional branches.
The equation for event PAPI_BR_NTK should not include the event
PM_BR_UNCOND as PM_BR_TAKEN_CMPL already counts unconditional
branches. The POWER9 event PM_LD_REF_L1 includes hits and misses to
the L1. Thus we should not be adding PM_LS_MISS_L1_ALT when
calculating PAPI_LD_INS on POWER9." The definitions for these
preset events were changed accordingly, and their patterns of
behavior were measured during the execution of performance
benchmarks on the IBM POWER9 processors on Summit. The patterns of
behavior for the corresponding events on the Intel Skylake and
Broadwell processors were measured during the execution of the same
performance benchmarks. The respective events from each
architecture behave similarly. In addition, the new definitions
pass the PAPI validation tests.
2019-08-12 Anthony Castaldo <[email protected]>
* src/components/pcp/Rules.pcp, src/components/rocm/Rules.rocm:
Adding $(LDL) to LDFLAGS in Rules.x files when it was missing, on
PCP and ROCM components.
2019-08-09 Anthony Castaldo <[email protected]>
* src/components/pcp/README, src/components/pcp/Rules.pcp,
src/components/pcp/linux-pcp.c: The PCP component changed to use
the new standard for PAPI environment variables; there are now no
necessary environment variables, and no need to change
LD_LIBRARY_PATH. The rules file was streamlined. The code was
tested on Peak and Summit. We do allow overrides for non-standard
installations of PCP, the variables PAPI_PCP_ROOT, PAPI_PCP_LIBS,
PAPI_PCP_INC and PAPI_PCP_LIBNAME can be set by users to specify
non-standard locations or library names. The README file in
components/pcp/ contains detailed instructions on their use.
2019-08-08 Anthony Castaldo <[email protected]>
* src/components/rocm/README, src/components/rocm/Rules.rocm,
src/components/rocm/linux-rocm.c,
src/components/rocm/tests/run_papi.sh,
src/components/rocm_smi/README,
src/components/rocm_smi/Rules.rocm_smi, src/components/rocm_smi
/linux-rocm-smi.c: Components ROCM and ROCM_SMI have been changed
to adhere to our recent standardization of using environment
variables. README files are updated with detailed information, and
we have both simplified and extended the capabilities with new env
vars. It is simplified because for a standard install of the rocm
or rocm_smi software puts it in the default directories, PAPI will
find the libraries and include files without any configure step.