Skip to content

Commit d5792ad

Browse files
Merge pull request #566 from dbarry9/2026.01.13_hp-presets
framework: half-precision presets
2 parents 27f0029 + 179d932 commit d5792ad

File tree

4 files changed

+20
-6
lines changed

4 files changed

+20
-6
lines changed

src/papiStdEventDefs.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ enum
166166
PAPI_VEC_SP_idx, /* Single precision vector/SIMD instructions */
167167
PAPI_VEC_DP_idx, /* Double precision vector/SIMD instructions */
168168
PAPI_REF_CYC_idx, /* Reference clock cycles */
169+
PAPI_HP_OPS_idx, /* Floating point operations executed; optimized to count scaled half precision vector operations */
170+
PAPI_VEC_HP_idx, /* Half precision vector/SIMD instructions */
169171
PAPI_END_idx /*This should always be last! */
170172
};
171173

@@ -277,6 +279,8 @@ enum
277279
#define PAPI_VEC_SP (PAPI_VEC_SP_idx | PAPI_PRESET_MASK) /* Single precision vector/SIMD instructions */
278280
#define PAPI_VEC_DP (PAPI_VEC_DP_idx | PAPI_PRESET_MASK) /* Double precision vector/SIMD instructions */
279281
#define PAPI_REF_CYC (PAPI_REF_CYC_idx | PAPI_PRESET_MASK) /* Reference clock cycles */
282+
#define PAPI_HP_OPS (PAPI_HP_OPS_idx | PAPI_PRESET_MASK) /* Floating point operations executed; optimized to count scaled half precision vector operations */
283+
#define PAPI_VEC_HP (PAPI_VEC_HP_idx | PAPI_PRESET_MASK) /* Half precision vector/SIMD instructions */
280284

281285
#define PAPI_END (PAPI_END_idx | PAPI_PRESET_MASK) /*This should always be last! */
282286

src/papi_common_strings.h

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -544,8 +544,16 @@ hwi_presets_t _papi_hwi_presets[PAPI_MAX_PRESET_EVENTS] = {
544544
"Reference clock cycles", 0,
545545
0, PAPI_PRESET_BIT_MSC,
546546
NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},
547-
/*108 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},
548-
/*109 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},
547+
/*108 */ {"PAPI_HP_OPS",
548+
"HP operations",
549+
"Floating point operations; optimized to count scaled half precision vector operations", 0,
550+
0, PAPI_PRESET_BIT_INS + PAPI_PRESET_BIT_FP,
551+
NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},
552+
/*109 */ {"PAPI_VEC_HP",
553+
"HP Vector/SIMD instr",
554+
"Half precision vector/SIMD instructions", 0,
555+
0, PAPI_PRESET_BIT_INS + PAPI_PRESET_BIT_FP,
556+
NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},
549557
/*110 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},
550558
/*111 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},
551559
/*112 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}},

src/papi_events.csv

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,11 +1041,13 @@ PRESET,PAPI_REF_CYC,NOT_DERIVED,UNHALTED_REFERENCE_CYCLES
10411041
# FLOPs
10421042
PRESET,PAPI_DP_OPS,DERIVED_POSTFIX,N0|N1|2|*|+|N2|4|*|+|N3|8|*|+|,FP_ARITH_INST_RETIRED:SCALAR_DOUBLE,FP_ARITH_INST_RETIRED:128B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:256B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:512B_PACKED_DOUBLE
10431043
PRESET,PAPI_SP_OPS,DERIVED_POSTFIX,N0|N1|4|*|+|N2|8|*|+|N3|16|*|+|,FP_ARITH_INST_RETIRED:SCALAR_SINGLE,FP_ARITH_INST_RETIRED:128B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:256B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:512B_PACKED_SINGLE
1044-
PRESET,PAPI_FP_OPS,DERIVED_POSTFIX,N0|N1|4|*|+|N2|8|*|+|N3|16|*|+|N4|+|N5|2|*|+|N6|4|*|+|N7|8|*|+|,FP_ARITH_INST_RETIRED:SCALAR_SINGLE,FP_ARITH_INST_RETIRED:128B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:256B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:512B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:SCALAR_DOUBLE,FP_ARITH_INST_RETIRED:128B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:256B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:512B_PACKED_DOUBLE
1045-
PRESET,PAPI_FP_INS,DERIVED_POSTFIX,N0|N1|N2|N3|N4|N5|N6|N7|+|+|+|+|+|+|+|,FP_ARITH_INST_RETIRED:SCALAR_SINGLE,FP_ARITH_INST_RETIRED:128B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:256B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:512B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:SCALAR_DOUBLE,FP_ARITH_INST_RETIRED:128B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:256B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:512B_PACKED_DOUBLE
1044+
PRESET,PAPI_HP_OPS,DERIVED_POSTFIX,N0|N1|8|*|+|N2|16|*|+|N3|32|*|+|,FP_ARITH_INST_RETIRED2:SCALAR_HALF,FP_ARITH_INST_RETIRED2:128B_PACKED_HALF,FP_ARITH_INST_RETIRED2:256B_PACKED_HALF,FP_ARITH_INST_RETIRED2:512B_PACKED_HALF
1045+
#PRESET,PAPI_FP_OPS,DERIVED_POSTFIX,N0|N1|4|*|+|N2|8|*|+|N3|16|*|+|N4|+|N5|2|*|+|N6|4|*|+|N7|8|*|+|,FP_ARITH_INST_RETIRED:SCALAR_SINGLE,FP_ARITH_INST_RETIRED:128B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:256B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:512B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:SCALAR_DOUBLE,FP_ARITH_INST_RETIRED:128B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:256B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:512B_PACKED_DOUBLE
1046+
PRESET,PAPI_FP_INS,DERIVED_POSTFIX,N0|N1|N2|N3|+|+|+|,FP_ARITH_INST_RETIRED:SCALAR,FP_ARITH_INST_RETIRED:VECTOR,FP_ARITH_INST_RETIRED2:SCALAR,FP_ARITH_INST_RETIRED2:VECTOR
10461047
PRESET,PAPI_VEC_DP,DERIVED_POSTFIX,N0|N1|N2|+|+|,FP_ARITH_INST_RETIRED:128B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:256B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:512B_PACKED_DOUBLE
10471048
PRESET,PAPI_VEC_SP,DERIVED_POSTFIX,N0|N1|N2|+|+|,FP_ARITH_INST_RETIRED:128B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:256B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:512B_PACKED_SINGLE
1048-
PRESET,PAPI_VEC_INS,DERIVED_POSTFIX,N0|N1|N2|N3|N4|N5|+|+|+|+|+|,FP_ARITH_INST_RETIRED:128B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:256B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:512B_PACKED_SINGLE,FP_ARITH_INST_RETIRED:128B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:256B_PACKED_DOUBLE,FP_ARITH_INST_RETIRED:512B_PACKED_DOUBLE
1049+
PRESET,PAPI_VEC_HP,DERIVED_POSTFIX,N0|N1|N2|+|+|,FP_ARITH_INST_RETIRED2:128B_PACKED_HALF,FP_ARITH_INST_RETIRED2:256B_PACKED_HALF,FP_ARITH_INST_RETIRED2:512B_PACKED_HALF
1050+
PRESET,PAPI_VEC_INS,DERIVED_ADD,FP_ARITH_INST_RETIRED:VECTOR,FP_ARITH_INST_RETIRED2:VECTOR
10491051
# Branches
10501052
PRESET,PAPI_BR_UCN,DERIVED_SUB,BR_INST_RETIRED:ALL_BRANCHES,BR_INST_RETIRED:COND
10511053
PRESET,PAPI_BR_CN,NOT_DERIVED,BR_INST_RETIRED:COND

src/papi_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ extern char **_papi_errlist;
9797
#define NEED_CONTEXT 1
9898
#define DONT_NEED_CONTEXT 0
9999

100-
#define PAPI_EVENTS_IN_DERIVED_EVENT 8
100+
#define PAPI_EVENTS_IN_DERIVED_EVENT 12
101101
#define PAPI_MAX_COMP_QUALS 8
102102

103103

0 commit comments

Comments
 (0)