51f100
commit 77ee6b54f4080ca27b7efcb4c91679d0f1e090b5
51f100
Author: Anthony Castaldo <TonyCastaldo@icl.utk.edu>
51f100
Date:   Fri Jan 24 10:25:36 2020 -0500
51f100
51f100
    New libpfm4 contains "aliased" pmus for backward compatibility,
51f100
    amd64_fam17h == amd64_fam17h_zen1; this causes us to put BOTH pmus
51f100
    into the PMUs supported string and double the events in native_avail.
51f100
    This update recognizes when aliases exist (the names must be hard-coded)
51f100
    and uses only one of the most recent name.
51f100
51f100
diff --git a/src/components/perf_event/pe_libpfm4_events.c b/src/components/perf_event/pe_libpfm4_events.c
51f100
index 3b5f8d13f..3262608cd 100644
51f100
--- a/src/components/perf_event/pe_libpfm4_events.c
51f100
+++ b/src/components/perf_event/pe_libpfm4_events.c
51f100
@@ -31,6 +31,9 @@
51f100
 // used to step through the attributes when enumerating events
51f100
 static int attr_idx;
51f100
 
51f100
+/* alias flags to handle amd_fam17h, amd_fam17h_zen1 both present PMUs*/
51f100
+static int amd64_fam17h_zen1_present = 0;
51f100
+
51f100
 /** @class  find_existing_event
51f100
  *  @brief  looks up an event, returns it if it exists
51f100
  *
51f100
@@ -482,7 +485,13 @@ static struct native_event_t *allocate_native_event(
51f100
  *
51f100
  *  @returns returns a libpfm event number
51f100
  *  @retval PAPI_ENOEVENT  Could not find an event
51f100
- *
51f100
+ *  Operational note: _pe_libpfm4_init() must be called first to set
51f100
+ *                    flags for synonymous PMUs. At this writing only 
51f100
+ *                    amd64_fam17h_zen1_present is defined.
51f100
+ *  Operational note: We indirectly return the pmu_idx within the
51f100
+ *                    event data; the calling code uses that to set
51f100
+ *                    pmu_idx for subsequent calls. All we do is find
51f100
+ *                    the next valid pmu, if any.
51f100
  */
51f100
 
51f100
 static int
51f100
@@ -511,6 +520,12 @@ get_first_event_next_pmu(int pmu_idx, int pmu_type)
51f100
 		break;
51f100
 	}
51f100
 
51f100
+    if ((ret==PFM_SUCCESS) && amd64_fam17h_zen1_present && strcmp(pinfo.name, "amd64_fam17h") == 0) {
51f100
+        /* Skip as if invalid; we want the PMU amd64_fam17h_zen1 instead. */
51f100
+        pmu_idx++;
51f100
+        continue;
51f100
+    }
51f100
+        
51f100
     if ((ret==PFM_SUCCESS) && pmu_is_present_and_right_type(&pinfo,pmu_type)) {
51f100
 
51f100
       pidx=pinfo.first_event;
51f100
@@ -1159,6 +1174,35 @@ _pe_libpfm4_init(papi_vector_t *component, int cidx,
51f100
 	event_table->default_pmu.size = sizeof(pfm_pmu_info_t);
51f100
 	retval=pfm_get_pmu_info(0, &(event_table->default_pmu));
51f100
 
51f100
+    SUBDBG("Prescan for aliases.")
51f100
+    /* We have to see if we have aliases in there as separate PMUs, */
51f100
+    /* we don't want both PMUs with all the events duplicated.      */
51f100
+    /* For aliases, either is valid alone, but if both are present  */
51f100
+    /* specify a preference in the code.                            */
51f100
+    /* Alias: amd64_fam17h_zen1 over amd64_fam17h.                  */
51f100
+    /* Alias flags are static ints global to this file.             */
51f100
+    i=0;
51f100
+	while(1) {
51f100
+		memset(&pinfo,0,sizeof(pfm_pmu_info_t));
51f100
+		pinfo.size = sizeof(pfm_pmu_info_t);
51f100
+		retval=pfm_get_pmu_info(i, &pinfo);
51f100
+
51f100
+		/* We're done if we hit an invalid PMU entry		    */
51f100
+		/* We can't check against PFM_PMU_MAX as that might not	*/
51f100
+		/* match if libpfm4 is dynamically linked		        */
51f100
+
51f100
+		if (retval==PFM_ERR_INVAL) {
51f100
+			break;
51f100
+		}
51f100
+
51f100
+		if ( (retval==PFM_SUCCESS) && (pinfo.name != NULL) &&
51f100
+			(pmu_is_present_and_right_type(&pinfo,pmu_type)) &&
51f100
+            (strcmp(pinfo.name,"amd64_fam17h_zen1") == 0) ) {
51f100
+            amd64_fam17h_zen1_present = 1;
51f100
+        }
51f100
+        i++;
51f100
+    } 
51f100
+
51f100
 	SUBDBG("Detected pmus:\n");
51f100
 	i=0;
51f100
 	while(1) {
51f100
@@ -1177,6 +1221,12 @@ _pe_libpfm4_init(papi_vector_t *component, int cidx,
51f100
 		if ((retval==PFM_SUCCESS) && (pinfo.name != NULL) &&
51f100
 			(pmu_is_present_and_right_type(&pinfo,pmu_type))) {
51f100
 
51f100
+            /* skip if it is amd64_fam17h and zen1 is also present. */
51f100
+            if (strcmp(pinfo.name,"amd64_fam17h") == 0 && amd64_fam17h_zen1_present) {
51f100
+                i++;
51f100
+                continue;
51f100
+            }
51f100
+
51f100
 			SUBDBG("\t%d %s %s %d\n",i,
51f100
 				pinfo.name,pinfo.desc,pinfo.type);
51f100
 
51f100
@@ -1193,11 +1243,9 @@ _pe_libpfm4_init(papi_vector_t *component, int cidx,
51f100
 				/* Hack to have "default core" PMU */
51f100
 				if ( (pinfo.type==PFM_PMU_TYPE_CORE) &&
51f100
 					strcmp(pinfo.name,"ix86arch")) {
51f100
-
51f100
-					SUBDBG("\t  %s is default\n",pinfo.name);
51f100
-					memcpy(&(event_table->default_pmu),
51f100
-						&pinfo,sizeof(pfm_pmu_info_t));
51f100
-					found_default++;
51f100
+					    memcpy(&(event_table->default_pmu),
51f100
+						    &pinfo,sizeof(pfm_pmu_info_t));
51f100
+                        found_default++;
51f100
 				}
51f100
 			}
51f100
 
51f100
commit 79fe2a025afb8acb317032030c8847c9cbfd0162
51f100
Author: Masahiko, Yamada <yamada.masahiko@fujitsu.com>
51f100
Date:   Tue Jan 5 13:45:34 2021 +0900
51f100
51f100
    Get model_string for ARM processor from pfm_get_pmu_info() function
51f100
    
51f100
    On ARM processors, the model_string does not appear in /proc/cpuinfo.
51f100
    Instead of looking at the /proc/cpuinfo information, you can look at the lscpu command information at the following URL:.
51f100
    https://github.com/google/cpu_features/issues/26
51f100
    http://suihkulokki.blogspot.com/2018/02/making-sense-of-proccpuinfo-on-arm.html
51f100
    
51f100
    The libpfm4 library identifies the ARM processor type from the "CPU implement" and "CPU part" in the /proc/cpuinfo information.
51f100
    The papi library can use the pfm_get_pmu_info() function from the libpfm4 library to obtain a string identifying the ARM processor type.
51f100
51f100
diff --git a/src/components/perf_event/pe_libpfm4_events.c b/src/components/perf_event/pe_libpfm4_events.c
51f100
index a84819cc0..744851ff0 100644
51f100
--- a/src/components/perf_event/pe_libpfm4_events.c
51f100
+++ b/src/components/perf_event/pe_libpfm4_events.c
51f100
@@ -1149,6 +1149,7 @@ _pe_libpfm4_init(papi_vector_t *component, int cidx,
51f100
 
51f100
 	pfm_err_t retval = PFM_SUCCESS;
51f100
 	pfm_pmu_info_t pinfo;
51f100
+	unsigned int strSize;
51f100
 
51f100
 	/* allocate the native event structure */
51f100
 	event_table->num_native_events=0;
51f100
@@ -1247,6 +1248,13 @@ _pe_libpfm4_init(papi_vector_t *component, int cidx,
51f100
 						    &pinfo,sizeof(pfm_pmu_info_t));
51f100
                         found_default++;
51f100
 				}
51f100
+				if ( (pinfo.type==PFM_PMU_TYPE_CORE) &&
51f100
+					( _papi_hwi_system_info.hw_info.vendor == PAPI_VENDOR_ARM)) {
51f100
+					if (strlen(_papi_hwi_system_info.hw_info.model_string) == 0) {
51f100
+						strSize = sizeof(_papi_hwi_system_info.hw_info.model_string);
51f100
+						strncpy( _papi_hwi_system_info.hw_info.model_string, pinfo.desc, strSize - 1);
51f100
+					}
51f100
+				}
51f100
 			}
51f100
 
51f100
 			if (pmu_type==PMU_TYPE_UNCORE) {
51f100
commit 85003c716d76eff47607fa0967537c6cf63d8348
51f100
Author: Steve Walk <swalk.cavium@gmail.com>
51f100
Date:   Fri Jun 8 15:50:50 2018 -0400
51f100
51f100
    enable Cavium ThunderX2 support
51f100
51f100
diff --git a/src/papi_events.csv b/src/papi_events.csv
51f100
index bb11f61d3..46827f180 100644
51f100
--- a/src/papi_events.csv
51f100
+++ b/src/papi_events.csv
51f100
@@ -1841,6 +1841,31 @@ PRESET,PAPI_L2_DCR,NOT_DERIVED,L2D_READ_ACCESS
51f100
 PRESET,PAPI_L2_DCW,NOT_DERIVED,L2D_WRITE_ACCESS
51f100
 PRESET,PAPI_L2_LDM,NOT_DERIVED,L2D_READ_REFILL
51f100
 PRESET,PAPI_L2_STM,NOT_DERIVED,L2D_WRITE_REFILL
51f100
+
51f100
+#####################
51f100
+# ARM ThunderX2     #
51f100
+#####################
51f100
+CPU,arm_thunderx2
51f100
+#
51f100
+PRESET,PAPI_TOT_INS,NOT_DERIVED,INST_RETIRED
51f100
+PRESET,PAPI_TOT_CYC,NOT_DERIVED,CPU_CYCLES
51f100
+PRESET,PAPI_FP_INS,NOT_DERIVED,VFP_SPEC
51f100
+PRESET,PAPI_VEC_INS,NOT_DERIVED,ASE_SPEC
51f100
+PRESET,PAPI_BR_INS,NOT_DERIVED,BR_RETIRED
51f100
+PRESET,PAPI_LD_INS,NOT_DERIVED,LD_RETIRED
51f100
+PRESET,PAPI_SR_INS,NOT_DERIVED,ST_RETIRED
51f100
+PRESET,PAPI_L1_DCA,DERIVED_ADD,L1D_CACHE_RD,L1D_CACHE_WR
51f100
+PRESET,PAPI_L1_DCM,NOT_DERIVED,L1D_CACHE_REFILL
51f100
+PRESET,PAPI_L1_DCR,NOT_DERIVED,L1D_CACHE_RD
51f100
+PRESET,PAPI_L1_DCW,NOT_DERIVED,L1D_CACHE_WR
51f100
+PRESET,PAPI_L1_ICA,NOT_DERIVED,L1I_CACHE
51f100
+PRESET,PAPI_L1_ICM,NOT_DERIVED,L1I_CACHE_REFILL
51f100
+PRESET,PAPI_L2_DCH,NOT_DERIVED,L2D_CACHE
51f100
+PRESET,PAPI_L2_DCM,NOT_DERIVED,L2D_CACHE_REFILL
51f100
+PRESET,PAPI_L2_DCR,NOT_DERIVED,L2D_CACHE_RD
51f100
+PRESET,PAPI_L2_DCW,NOT_DERIVED,L2D_CACHE_WR
51f100
+PRESET,PAPI_L2_LDM,NOT_DERIVED,L2D_CACHE_REFILL_RD
51f100
+
51f100
 #
51f100
 CPU,mips_74k
51f100
 #
51f100
commit 9a44d82928ed17ba2ff21eb88b89c5829d0ea30e
51f100
Author: Steve Kaufmann <steven.kaufmann@hpe.com>
51f100
Date:   Wed Jun 24 14:08:08 2020 -0400
51f100
51f100
    Added PAPI preset support for Fujitsu A64FX.
51f100
    
51f100
    Signed-off-by: Heike Jagode <jagode@icl.utk.edu>
51f100
51f100
diff --git a/src/papi_events.csv b/src/papi_events.csv
51f100
index 8e96adfbd..1b5c15542 100644
51f100
--- a/src/papi_events.csv
51f100
+++ b/src/papi_events.csv
51f100
@@ -1877,6 +1877,21 @@ PRESET,PAPI_L2_DCR,NOT_DERIVED,L2D_CACHE_RD
51f100
 PRESET,PAPI_L2_DCW,NOT_DERIVED,L2D_CACHE_WR
51f100
 PRESET,PAPI_L2_LDM,NOT_DERIVED,L2D_CACHE_REFILL_RD
51f100
 
51f100
+#########################
51f100
+# ARM Fujitsu A64FX     #
51f100
+#########################
51f100
+CPU,arm_a64fx
51f100
+#
51f100
+PRESET,PAPI_TOT_INS,NOT_DERIVED,INST_RETIRED
51f100
+PRESET,PAPI_TOT_CYC,NOT_DERIVED,CPU_CYCLES
51f100
+PRESET,PAPI_FP_INS,NOT_DERIVED,VFP_SPEC
51f100
+PRESET,PAPI_VEC_INS,NOT_DERIVED,ASE_SPEC
51f100
+PRESET,PAPI_L1_DCM,NOT_DERIVED,L1D_CACHE_REFILL
51f100
+PRESET,PAPI_L1_ICA,NOT_DERIVED,L1I_CACHE
51f100
+PRESET,PAPI_L1_ICM,NOT_DERIVED,L1I_CACHE_REFILL
51f100
+PRESET,PAPI_L2_DCH,NOT_DERIVED,L2D_CACHE
51f100
+PRESET,PAPI_L2_DCM,NOT_DERIVED,L2D_CACHE_REFILL
51f100
+
51f100
 #
51f100
 CPU,mips_74k
51f100
 #
51f100
commit b87ac4beda096086e0040f8ec1b44c4791a9739c
51f100
Author: Masahiko, Yamada <yamada.masahiko@fujitsu.com>
51f100
Date:   Mon Dec 14 14:06:22 2020 +0900
51f100
51f100
    Corrected typo for A64FX support (PAPI_L2_DCH is a typo of PAPI_L2_DCA)
51f100
51f100
diff --git a/src/papi_events.csv b/src/papi_events.csv
51f100
index fd75f9371..164f05641 100644
51f100
--- a/src/papi_events.csv
51f100
+++ b/src/papi_events.csv
51f100
@@ -1937,7 +1937,7 @@ PRESET,PAPI_VEC_INS,NOT_DERIVED,ASE_SPEC
51f100
 PRESET,PAPI_L1_DCM,NOT_DERIVED,L1D_CACHE_REFILL
51f100
 PRESET,PAPI_L1_ICA,NOT_DERIVED,L1I_CACHE
51f100
 PRESET,PAPI_L1_ICM,NOT_DERIVED,L1I_CACHE_REFILL
51f100
-PRESET,PAPI_L2_DCH,NOT_DERIVED,L2D_CACHE
51f100
+PRESET,PAPI_L2_DCA,NOT_DERIVED,L2D_CACHE
51f100
 PRESET,PAPI_L2_DCM,NOT_DERIVED,L2D_CACHE_REFILL
51f100
 
51f100
 #
51f100
commit 869864f813f0681b5c9a4b65de2135c8708a2afb
51f100
Author: Masahiko, Yamada <yamada.masahiko@fujitsu.com>
51f100
Date:   Mon Dec 14 19:34:59 2020 +0900
51f100
51f100
    Add or modify various A64FX support events, including floating point events (PAPI_FP_OPS, PAPI_SP_OPS, PAPI_DP_OPS).
51f100
51f100
diff --git a/src/papi_events.csv b/src/papi_events.csv
51f100
index 164f05641..9192b1041 100644
51f100
--- a/src/papi_events.csv
51f100
+++ b/src/papi_events.csv
51f100
@@ -1930,15 +1930,46 @@ PRESET,PAPI_L2_LDM,NOT_DERIVED,L2D_CACHE_REFILL_RD
51f100
 #########################
51f100
 CPU,arm_a64fx
51f100
 #
51f100
+PRESET,PAPI_PRF_DM,DERIVED_SUB,L2D_CACHE_REFILL_PRF,L2D_CACHE_MIBMCH_PRF
51f100
+PRESET,PAPI_MEM_SCY,NOT_DERIVED,LD_COMP_WAIT_L2_MISS
51f100
+PRESET,PAPI_STL_ICY,DERIVED_ADD,STALL_FRONTEND,STALL_BACKEND
51f100
+PRESET,PAPI_STL_CCY,NOT_DERIVED,0INST_COMMIT
51f100
+PRESET,PAPI_FUL_CCY,DERIVED_SUB,CPU_CYCLES,0INST_COMMIT,1INST_COMMIT,2INST_COMMIT,3INST_COMMIT,4INST_COMMIT
51f100
+PRESET,PAPI_HW_INT,DERIVED_ADD,EXC_IRQ,EXC_FIQ
51f100
+PRESET,PAPI_BR_MSP,NOT_DERIVED,BR_MIS_PRED
51f100
+PRESET,PAPI_BR_PRC,DERIVED_SUB,BR_PRED,BR_MIS_PRED
51f100
+PRESET,PAPI_FMA_INS,NOT_DERIVED,FP_FMA_SPEC
51f100
 PRESET,PAPI_TOT_INS,NOT_DERIVED,INST_RETIRED
51f100
 PRESET,PAPI_TOT_CYC,NOT_DERIVED,CPU_CYCLES
51f100
 PRESET,PAPI_FP_INS,NOT_DERIVED,VFP_SPEC
51f100
+PRESET,PAPI_LD_INS,NOT_DERIVED,LD_SPEC
51f100
+PRESET,PAPI_SR_INS,NOT_DERIVED,ST_SPEC
51f100
+PRESET,PAPI_BR_INS,NOT_DERIVED,BR_PRED
51f100
 PRESET,PAPI_VEC_INS,NOT_DERIVED,ASE_SPEC
51f100
+PRESET,PAPI_RES_STL,NOT_DERIVED,STALL_BACKEND
51f100
+PRESET,PAPI_LST_INS,NOT_DERIVED,LDST_SPEC
51f100
+PRESET,PAPI_SYC_INS,DERIVED_ADD,ISB_SPEC,DSB_SPEC,DMB_SPEC
51f100
+PRESET,PAPI_L1_DCA,NOT_DERIVED,L1D_CACHE
51f100
+PRESET,PAPI_L1_DCH,DERIVED_SUB,L1D_CACHE,L1D_CACHE_REFILL
51f100
 PRESET,PAPI_L1_DCM,NOT_DERIVED,L1D_CACHE_REFILL
51f100
 PRESET,PAPI_L1_ICA,NOT_DERIVED,L1I_CACHE
51f100
+PRESET,PAPI_L1_ICH,DERIVED_SUB,L1I_CACHE,L1I_CACHE_REFILL
51f100
 PRESET,PAPI_L1_ICM,NOT_DERIVED,L1I_CACHE_REFILL
51f100
+PRESET,PAPI_L1_TCA,DERIVED_ADD,L1D_CACHE,L1I_CACHE
51f100
+PRESET,PAPI_L1_TCH,DERIVED_POSTFIX,N0|N1|-|N2|+|N3|-|,L1D_CACHE,L1D_CACHE_REFILL,L1I_CACHE,L1I_CACHE_REFILL
51f100
+PRESET,PAPI_L1_TCM,DERIVED_ADD,L1D_CACHE_REFILL,L1I_CACHE_REFILL
51f100
 PRESET,PAPI_L2_DCA,NOT_DERIVED,L2D_CACHE
51f100
-PRESET,PAPI_L2_DCM,NOT_DERIVED,L2D_CACHE_REFILL
51f100
+PRESET,PAPI_L2_DCH,DERIVED_POSTFIX,N0|N1|-|N2|+|N3|+|,L2D_CACHE,L2D_CACHE_REFILL,L2D_SWAP_DM,L2D_CACHE_MIBMCH_PRF
51f100
+PRESET,PAPI_L2_DCM,DERIVED_SUB,L2D_CACHE_REFILL,L2D_SWAP_DM,L2D_CACHE_MIBMCH_PRF
51f100
+PRESET,PAPI_L2_TCA,NOT_DERIVED,L2D_CACHE
51f100
+PRESET,PAPI_L2_TCH,DERIVED_POSTFIX,N0|N1|-|N2|+|N3|+|,L2D_CACHE,L2D_CACHE_REFILL,L2D_SWAP_DM,L2D_CACHE_MIBMCH_PRF
51f100
+PRESET,PAPI_L2_TCM,DERIVED_SUB,L2D_CACHE_REFILL,L2D_SWAP_DM,L2D_CACHE_MIBMCH_PRF
51f100
+PRESET,PAPI_TLB_DM,NOT_DERIVED,L2D_TLB_REFILL
51f100
+PRESET,PAPI_TLB_IM,NOT_DERIVED,L2I_TLB_REFILL
51f100
+PRESET,PAPI_TLB_TL,DERIVED_ADD,L2D_TLB_REFILL,L2I_TLB_REFILL
51f100
+PRESET,PAPI_FP_OPS,DERIVED_POSTFIX,N0|512|128|/|*|N1|+|,FP_SCALE_OPS_SPEC,FP_FIXED_OPS_SPEC
51f100
+PRESET,PAPI_SP_OPS,DERIVED_POSTFIX,N0|512|128|/|*|N1|+|,FP_SP_SCALE_OPS_SPEC,FP_SP_FIXED_OPS_SPEC
51f100
+PRESET,PAPI_DP_OPS,DERIVED_POSTFIX,N0|512|128|/|*|N1|+|,FP_DP_SCALE_OPS_SPEC,FP_DP_FIXED_OPS_SPEC
51f100
 
51f100
 #
51f100
 CPU,mips_74k
51f100
commit 7a3c22763ef2ba00a2b8cb069c3501f35ecb13de
51f100
Author: Masahiko, Yamada <yamada.masahiko@fujitsu.com>
51f100
Date:   Tue Dec 15 13:43:43 2020 +0900
51f100
51f100
    modify PAPI_FP_INS and PAPI_VEC_INS for A64FX supports
51f100
51f100
diff --git a/src/papi_events.csv b/src/papi_events.csv
51f100
index 9192b1041..7b4ceb674 100644
51f100
--- a/src/papi_events.csv
51f100
+++ b/src/papi_events.csv
51f100
@@ -1941,11 +1941,11 @@ PRESET,PAPI_BR_PRC,DERIVED_SUB,BR_PRED,BR_MIS_PRED
51f100
 PRESET,PAPI_FMA_INS,NOT_DERIVED,FP_FMA_SPEC
51f100
 PRESET,PAPI_TOT_INS,NOT_DERIVED,INST_RETIRED
51f100
 PRESET,PAPI_TOT_CYC,NOT_DERIVED,CPU_CYCLES
51f100
-PRESET,PAPI_FP_INS,NOT_DERIVED,VFP_SPEC
51f100
+PRESET,PAPI_FP_INS,NOT_DERIVED,FP_SPEC
51f100
 PRESET,PAPI_LD_INS,NOT_DERIVED,LD_SPEC
51f100
 PRESET,PAPI_SR_INS,NOT_DERIVED,ST_SPEC
51f100
 PRESET,PAPI_BR_INS,NOT_DERIVED,BR_PRED
51f100
-PRESET,PAPI_VEC_INS,NOT_DERIVED,ASE_SPEC
51f100
+PRESET,PAPI_VEC_INS,NOT_DERIVED,SIMD_INST_RETIRED
51f100
 PRESET,PAPI_RES_STL,NOT_DERIVED,STALL_BACKEND
51f100
 PRESET,PAPI_LST_INS,NOT_DERIVED,LDST_SPEC
51f100
 PRESET,PAPI_SYC_INS,DERIVED_ADD,ISB_SPEC,DSB_SPEC,DMB_SPEC
51f100
commit 530d4763fb8e6dd52109387bd58c8c1305fd6b63
51f100
Author: Masahiko, Yamada <yamada.masahiko@fujitsu.com>
51f100
Date:   Fri Feb 12 15:01:21 2021 +0900
51f100
51f100
    remove PAPI_L1_DCA and PAPI_L1_DCH for a64fx
51f100
    
51f100
    There seems to be a problem with PAPI_L1_DCA and PAPI_L1_DCH for a64fx that prefetch overcounts.
51f100
    I delete (comment out) PAPI_L1_DCA and PAPI_L1_DCH for a64fx from the papi_events.csv file.
51f100
    I will issue the pullrequest again once I have identified how to handle the overcount.
51f100
51f100
diff --git a/src/papi_events.csv b/src/papi_events.csv
51f100
index 7b4ceb674..0f5ec8344 100644
51f100
--- a/src/papi_events.csv
51f100
+++ b/src/papi_events.csv
51f100
@@ -1949,8 +1949,8 @@ PRESET,PAPI_VEC_INS,NOT_DERIVED,SIMD_INST_RETIRED
51f100
 PRESET,PAPI_RES_STL,NOT_DERIVED,STALL_BACKEND
51f100
 PRESET,PAPI_LST_INS,NOT_DERIVED,LDST_SPEC
51f100
 PRESET,PAPI_SYC_INS,DERIVED_ADD,ISB_SPEC,DSB_SPEC,DMB_SPEC
51f100
-PRESET,PAPI_L1_DCA,NOT_DERIVED,L1D_CACHE
51f100
-PRESET,PAPI_L1_DCH,DERIVED_SUB,L1D_CACHE,L1D_CACHE_REFILL
51f100
+#PRESET,PAPI_L1_DCA,NOT_DERIVED,L1D_CACHE
51f100
+#PRESET,PAPI_L1_DCH,DERIVED_SUB,L1D_CACHE,L1D_CACHE_REFILL
51f100
 PRESET,PAPI_L1_DCM,NOT_DERIVED,L1D_CACHE_REFILL
51f100
 PRESET,PAPI_L1_ICA,NOT_DERIVED,L1I_CACHE
51f100
 PRESET,PAPI_L1_ICH,DERIVED_SUB,L1I_CACHE,L1I_CACHE_REFILL
51f100
commit 340f68940234f2db181147fc249907b4f1293e62
51f100
Author: Masahiko, Yamada <yamada.masahiko@fujitsu.com>
51f100
Date:   Tue Feb 16 17:16:24 2021 +0900
51f100
51f100
    remove PAPI_L1_TCA and PAPI_L1_TCH for a64fx
51f100
    
51f100
    PAPI_L1_TCA and PAPI_L1_TCH for a64fx measure L1D_CACHE just like PAPI_L1_DCA and PAPI_L1_DCH,
51f100
    so I delete (comment out) PAPI_L1_TCA and PAPI_L1_TCH for a64fx from the papi_events.csv file.
51f100
51f100
diff --git a/src/papi_events.csv b/src/papi_events.csv
51f100
index 0f5ec8344..4ef647959 100644
51f100
--- a/src/papi_events.csv
51f100
+++ b/src/papi_events.csv
51f100
@@ -1955,8 +1955,8 @@ PRESET,PAPI_L1_DCM,NOT_DERIVED,L1D_CACHE_REFILL
51f100
 PRESET,PAPI_L1_ICA,NOT_DERIVED,L1I_CACHE
51f100
 PRESET,PAPI_L1_ICH,DERIVED_SUB,L1I_CACHE,L1I_CACHE_REFILL
51f100
 PRESET,PAPI_L1_ICM,NOT_DERIVED,L1I_CACHE_REFILL
51f100
-PRESET,PAPI_L1_TCA,DERIVED_ADD,L1D_CACHE,L1I_CACHE
51f100
-PRESET,PAPI_L1_TCH,DERIVED_POSTFIX,N0|N1|-|N2|+|N3|-|,L1D_CACHE,L1D_CACHE_REFILL,L1I_CACHE,L1I_CACHE_REFILL
51f100
+#PRESET,PAPI_L1_TCA,DERIVED_ADD,L1D_CACHE,L1I_CACHE
51f100
+#PRESET,PAPI_L1_TCH,DERIVED_POSTFIX,N0|N1|-|N2|+|N3|-|,L1D_CACHE,L1D_CACHE_REFILL,L1I_CACHE,L1I_CACHE_REFILL
51f100
 PRESET,PAPI_L1_TCM,DERIVED_ADD,L1D_CACHE_REFILL,L1I_CACHE_REFILL
51f100
 PRESET,PAPI_L2_DCA,NOT_DERIVED,L2D_CACHE
51f100
 PRESET,PAPI_L2_DCH,DERIVED_POSTFIX,N0|N1|-|N2|+|N3|+|,L2D_CACHE,L2D_CACHE_REFILL,L2D_SWAP_DM,L2D_CACHE_MIBMCH_PRF