diff --git a/src/papiStdEventDefs.h b/src/papiStdEventDefs.h index ccff02778..db9fe8e13 100644 --- a/src/papiStdEventDefs.h +++ b/src/papiStdEventDefs.h @@ -166,6 +166,8 @@ enum PAPI_VEC_SP_idx, /* Single precision vector/SIMD instructions */ PAPI_VEC_DP_idx, /* Double precision vector/SIMD instructions */ PAPI_REF_CYC_idx, /* Reference clock cycles */ + PAPI_HP_OPS_idx, /* Floating point operations executed; optimized to count scaled half precision vector operations */ + PAPI_VEC_HP_idx, /* Half precision vector/SIMD instructions */ PAPI_END_idx /*This should always be last! */ }; @@ -277,6 +279,8 @@ enum #define PAPI_VEC_SP (PAPI_VEC_SP_idx | PAPI_PRESET_MASK) /* Single precision vector/SIMD instructions */ #define PAPI_VEC_DP (PAPI_VEC_DP_idx | PAPI_PRESET_MASK) /* Double precision vector/SIMD instructions */ #define PAPI_REF_CYC (PAPI_REF_CYC_idx | PAPI_PRESET_MASK) /* Reference clock cycles */ +#define PAPI_HP_OPS (PAPI_HP_OPS_idx | PAPI_PRESET_MASK) /* Floating point operations executed; optimized to count scaled half precision vector operations */ +#define PAPI_VEC_HP (PAPI_VEC_HP_idx | PAPI_PRESET_MASK) /* Half precision vector/SIMD instructions */ #define PAPI_END (PAPI_END_idx | PAPI_PRESET_MASK) /*This should always be last! */ diff --git a/src/papi_common_strings.h b/src/papi_common_strings.h index 9fad38423..f474df0db 100644 --- a/src/papi_common_strings.h +++ b/src/papi_common_strings.h @@ -544,8 +544,16 @@ hwi_presets_t _papi_hwi_presets[PAPI_MAX_PRESET_EVENTS] = { "Reference clock cycles", 0, 0, PAPI_PRESET_BIT_MSC, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, -/*108 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, -/*109 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, +/*108 */ {"PAPI_HP_OPS", + "HP operations", + "Floating point operations; optimized to count scaled half precision vector operations", 0, + 0, PAPI_PRESET_BIT_INS + PAPI_PRESET_BIT_FP, + NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, +/*109 */ {"PAPI_VEC_HP", + "HP Vector/SIMD instr", + "Half precision vector/SIMD instructions", 0, + 0, PAPI_PRESET_BIT_INS + PAPI_PRESET_BIT_FP, + NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, /*110 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, /*111 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, /*112 */ {NULL, NULL, NULL, 0, 0, 0, NULL, {0}, {NULL}, {NULL}, {0}, {NULL}, NULL, 0, 0, {NULL}, {NULL}}, diff --git a/src/papi_events.csv b/src/papi_events.csv index 1498bb176..f96951c8f 100644 --- a/src/papi_events.csv +++ b/src/papi_events.csv @@ -1041,11 +1041,13 @@ PRESET,PAPI_REF_CYC,NOT_DERIVED,UNHALTED_REFERENCE_CYCLES # FLOPs 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 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 -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 -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 +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 +#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 +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 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 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 -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 +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 +PRESET,PAPI_VEC_INS,DERIVED_ADD,FP_ARITH_INST_RETIRED:VECTOR,FP_ARITH_INST_RETIRED2:VECTOR # Branches PRESET,PAPI_BR_UCN,DERIVED_SUB,BR_INST_RETIRED:ALL_BRANCHES,BR_INST_RETIRED:COND PRESET,PAPI_BR_CN,NOT_DERIVED,BR_INST_RETIRED:COND diff --git a/src/papi_internal.h b/src/papi_internal.h index efa1af14e..cbaa68ab4 100644 --- a/src/papi_internal.h +++ b/src/papi_internal.h @@ -97,7 +97,7 @@ extern char **_papi_errlist; #define NEED_CONTEXT 1 #define DONT_NEED_CONTEXT 0 -#define PAPI_EVENTS_IN_DERIVED_EVENT 8 +#define PAPI_EVENTS_IN_DERIVED_EVENT 12 #define PAPI_MAX_COMP_QUALS 8