| [ |
| { |
| "BriefDescription": "% of finished branches that were treated as BC+8", |
| "MetricExpr": "PM_BR_BC_8_CONV / PM_BRU_FIN * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "bc_8_branch_ratio_percent" |
| }, |
| { |
| "BriefDescription": "% of finished branches that were pairable but not treated as BC+8", |
| "MetricExpr": "PM_BR_BC_8 / PM_BRU_FIN * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "bc_8_not_converted_branch_ratio_percent" |
| }, |
| { |
| "BriefDescription": "Percent of mispredicted branches out of all predicted (correctly and incorrectly) branches that completed", |
| "MetricExpr": "PM_BR_MPRED_CMPL / (PM_BR_PRED_BR0 + PM_BR_PRED_BR1) * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "br_misprediction_percent" |
| }, |
| { |
| "BriefDescription": "% of Branch miss predictions per instruction", |
| "MetricExpr": "PM_BR_MPRED_CMPL / PM_RUN_INST_CMPL * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "branch_mispredict_rate_percent" |
| }, |
| { |
| "BriefDescription": "Count cache branch misprediction per instruction", |
| "MetricExpr": "PM_BR_MPRED_CCACHE / PM_RUN_INST_CMPL * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "ccache_mispredict_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percent of count catch mispredictions out of all completed branches that required count cache predictionn", |
| "MetricExpr": "PM_BR_MPRED_CCACHE / (PM_BR_PRED_CCACHE_BR0 + PM_BR_PRED_CCACHE_BR1) * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "ccache_misprediction_percent" |
| }, |
| { |
| "BriefDescription": "CR MisPredictions per Instruction", |
| "MetricExpr": "PM_BR_MPRED_CR / PM_RUN_INST_CMPL * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "cr_mispredict_rate_percent" |
| }, |
| { |
| "BriefDescription": "Link stack branch misprediction", |
| "MetricExpr": "(PM_BR_MPRED_TA - PM_BR_MPRED_CCACHE) / PM_RUN_INST_CMPL * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "lstack_mispredict_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percent of link stack mispredictions out of all completed branches that required link stack prediction", |
| "MetricExpr": "(PM_BR_MPRED_TA - PM_BR_MPRED_CCACHE) / (PM_BR_PRED_LSTACK_BR0 + PM_BR_PRED_LSTACK_BR1) * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "lstack_misprediction_percent" |
| }, |
| { |
| "BriefDescription": "TA MisPredictions per Instruction", |
| "MetricExpr": "PM_BR_MPRED_TA / PM_RUN_INST_CMPL * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "ta_mispredict_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percent of target address mispredictions out of all completed branches that required address prediction", |
| "MetricExpr": "PM_BR_MPRED_TA / (PM_BR_PRED_CCACHE_BR0 + PM_BR_PRED_CCACHE_BR1 + PM_BR_PRED_LSTACK_BR0 + PM_BR_PRED_LSTACK_BR1) * 100", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "ta_misprediction_percent" |
| }, |
| { |
| "BriefDescription": "Percent of branches completed that were taken", |
| "MetricExpr": "PM_BR_TAKEN_CMPL * 100 / PM_BR_CMPL", |
| "MetricGroup": "branch_prediction", |
| "MetricName": "taken_branches_percent" |
| }, |
| { |
| "BriefDescription": "Percent of chip+group+sys pumps that were incorrectly predicted", |
| "MetricExpr": "PM_PUMP_MPRED * 100 / (PM_PUMP_CPRED + PM_PUMP_MPRED)", |
| "MetricGroup": "bus_stats", |
| "MetricName": "any_pump_mpred_percent" |
| }, |
| { |
| "BriefDescription": "Percent of chip pumps that were correctly predicted as chip pumps the first time", |
| "MetricExpr": "PM_CHIP_PUMP_CPRED * 100 / PM_L2_CHIP_PUMP", |
| "MetricGroup": "bus_stats", |
| "MetricName": "chip_pump_cpred_percent" |
| }, |
| { |
| "BriefDescription": "Percent of group pumps that were correctly predicted as group pumps the first time", |
| "MetricExpr": "PM_GRP_PUMP_CPRED * 100 / PM_L2_GROUP_PUMP", |
| "MetricGroup": "bus_stats", |
| "MetricName": "group_pump_cpred_percent" |
| }, |
| { |
| "BriefDescription": "Percent of system pumps that were correctly predicted as group pumps the first time", |
| "MetricExpr": "PM_SYS_PUMP_CPRED * 100 / PM_L2_GROUP_PUMP", |
| "MetricGroup": "bus_stats", |
| "MetricName": "sys_pump_cpred_percent" |
| }, |
| { |
| "BriefDescription": "Cycles stalled due to CRU or BRU operations", |
| "MetricExpr": "PM_CMPLU_STALL_BRU_CRU / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "bru_cru_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled due to ISU Branch Operations", |
| "MetricExpr": "PM_CMPLU_STALL_BRU / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "bru_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles in which a Group Completed", |
| "MetricExpr": "PM_GRP_CMPL / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "completion_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by CO queue full", |
| "MetricExpr": "PM_CMPLU_STALL_COQ_FULL / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "coq_full_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled due to CRU Operations", |
| "MetricExpr": "(PM_CMPLU_STALL_BRU_CRU - PM_CMPLU_STALL_BRU) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "cru_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by flushes", |
| "MetricExpr": "PM_CMPLU_STALL_FLUSH / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "flush_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by FXU Multi-Cycle Instructions", |
| "MetricExpr": "PM_CMPLU_STALL_FXLONG / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "fxu_multi_cyc_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by FXU", |
| "MetricExpr": "PM_CMPLU_STALL_FXU / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "fxu_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Other cycles stalled by FXU", |
| "MetricExpr": "(PM_CMPLU_STALL_FXU / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_FXLONG / PM_RUN_INST_CMPL)", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "fxu_stall_other_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles GCT empty due to Branch Mispredicts", |
| "MetricExpr": "PM_GCT_NOSLOT_BR_MPRED / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_br_mpred_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles GCT empty due to Branch Mispredicts and Icache Misses", |
| "MetricExpr": "PM_GCT_NOSLOT_BR_MPRED_ICMISS / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_br_mpred_ic_miss_cpi" |
| }, |
| { |
| "BriefDescription": "GCT empty cycles", |
| "MetricExpr": "PM_GCT_NOSLOT_CYC / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles GCT empty where dispatch was held", |
| "MetricExpr": "(PM_GCT_NOSLOT_DISP_HELD_MAP + PM_GCT_NOSLOT_DISP_HELD_SRQ + PM_GCT_NOSLOT_DISP_HELD_ISSQ + PM_GCT_NOSLOT_DISP_HELD_OTHER) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_disp_held_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles GCT empty where dispatch was held due to issue queue", |
| "MetricExpr": "PM_GCT_NOSLOT_DISP_HELD_ISSQ / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_disp_held_issq_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles GCT empty where dispatch was held due to maps", |
| "MetricExpr": "PM_GCT_NOSLOT_DISP_HELD_MAP / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_disp_held_map_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles GCT empty where dispatch was held due to syncs and other effects", |
| "MetricExpr": "PM_GCT_NOSLOT_DISP_HELD_OTHER / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_disp_held_other_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles GCT empty where dispatch was held due to SRQ", |
| "MetricExpr": "PM_GCT_NOSLOT_DISP_HELD_SRQ / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_disp_held_srq_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by GCT empty due to Icache misses", |
| "MetricExpr": "PM_GCT_NOSLOT_IC_MISS / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_ic_miss_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by GCT empty due to Icache misses that resolve in the local L2 or L3", |
| "MetricExpr": "(PM_GCT_NOSLOT_IC_MISS - PM_GCT_NOSLOT_IC_L3MISS) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_ic_miss_l2l3_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by GCT empty due to Icache misses that resolve off-chip", |
| "MetricExpr": "PM_GCT_NOSLOT_IC_L3MISS / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_ic_miss_l3miss_cpi" |
| }, |
| { |
| "BriefDescription": "Other GCT empty cycles", |
| "MetricExpr": "(PM_GCT_NOSLOT_CYC / PM_RUN_INST_CMPL) - (PM_GCT_NOSLOT_IC_MISS / PM_RUN_INST_CMPL) - (PM_GCT_NOSLOT_BR_MPRED / PM_RUN_INST_CMPL) - (PM_GCT_NOSLOT_BR_MPRED_ICMISS / PM_RUN_INST_CMPL) - ((PM_GCT_NOSLOT_DISP_HELD_MAP / PM_RUN_INST_CMPL) + (PM_GCT_NOSLOT_DISP_HELD_SRQ / PM_RUN_INST_CMPL) + (PM_GCT_NOSLOT_DISP_HELD_ISSQ / PM_RUN_INST_CMPL) + (PM_GCT_NOSLOT_DISP_HELD_OTHER / PM_RUN_INST_CMPL))", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "gct_empty_other_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by heavyweight syncs", |
| "MetricExpr": "PM_CMPLU_STALL_HWSYNC / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "hwsync_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by LSU", |
| "MetricExpr": "PM_CMPLU_STALL_LSU / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses", |
| "MetricExpr": "PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in distant interventions and memory", |
| "MetricExpr": "(PM_CMPLU_STALL_DMISS_L3MISS - PM_CMPLU_STALL_DMISS_LMEM - PM_CMPLU_STALL_DMISS_L21_L31 - PM_CMPLU_STALL_DMISS_REMOTE) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_distant_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in remote or distant caches", |
| "MetricExpr": "PM_CMPLU_STALL_DMISS_L21_L31 / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_l21l31_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in the local L2 or L3, where there was a conflict", |
| "MetricExpr": "PM_CMPLU_STALL_DMISS_L2L3_CONFLICT / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_l2l3_conflict_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in the local L2 or L3", |
| "MetricExpr": "PM_CMPLU_STALL_DMISS_L2L3 / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_l2l3_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in the local L2 or L3, where there was no conflict", |
| "MetricExpr": "(PM_CMPLU_STALL_DMISS_L2L3 - PM_CMPLU_STALL_DMISS_L2L3_CONFLICT) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_l2l3_noconflict_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in other core's caches or memory", |
| "MetricExpr": "PM_CMPLU_STALL_DMISS_L3MISS / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_l3miss_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in local memory or local L4", |
| "MetricExpr": "PM_CMPLU_STALL_DMISS_LMEM / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_lmem_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by D-Cache Misses that resolved in remote interventions and memory", |
| "MetricExpr": "PM_CMPLU_STALL_DMISS_REMOTE / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_dcache_miss_remote_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by ERAT Translation rejects", |
| "MetricExpr": "PM_CMPLU_STALL_ERAT_MISS / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_erat_miss_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by LSU load finishes", |
| "MetricExpr": "PM_CMPLU_STALL_LOAD_FINISH / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_ld_fin_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by LHS rejects", |
| "MetricExpr": "PM_CMPLU_STALL_REJECT_LHS / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_lhs_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by LMQ Full rejects", |
| "MetricExpr": "PM_CMPLU_STALL_REJ_LMQ_FULL / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_lmq_full_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by Other LSU Operations", |
| "MetricExpr": "(PM_CMPLU_STALL_LSU / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_REJECT / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_STORE / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_LOAD_FINISH / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_ST_FWD / PM_RUN_INST_CMPL)", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_other_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by LSU Rejects", |
| "MetricExpr": "PM_CMPLU_STALL_REJECT / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_reject_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by Other LSU Rejects", |
| "MetricExpr": "(PM_CMPLU_STALL_REJECT / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_REJECT_LHS / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_ERAT_MISS / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_REJ_LMQ_FULL / PM_RUN_INST_CMPL)", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_reject_other_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by LSU store forwarding", |
| "MetricExpr": "PM_CMPLU_STALL_ST_FWD / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_st_fwd_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by LSU Stores", |
| "MetricExpr": "PM_CMPLU_STALL_STORE / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lsu_stall_store_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by lightweight syncs", |
| "MetricExpr": "PM_CMPLU_STALL_LWSYNC / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "lwsync_stall_cpi" |
| }, |
| { |
| "MetricExpr": "PM_CMPLU_STALL_MEM_ECC_DELAY / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "mem_ecc_delay_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by nops (nothing next to finish)", |
| "MetricExpr": "PM_CMPLU_STALL_NO_NTF / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "no_ntf_stall_cpi" |
| }, |
| { |
| "MetricExpr": "PM_NTCG_ALL_FIN / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "ntcg_all_fin_cpi" |
| }, |
| { |
| "MetricExpr": "PM_CMPLU_STALL_NTCG_FLUSH / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "ntcg_flush_cpi" |
| }, |
| { |
| "BriefDescription": "Other thread block stall cycles", |
| "MetricExpr": "(PM_CMPLU_STALL_THRD - PM_CMPLU_STALL_LWSYNC - PM_CMPLU_STALL_HWSYNC - PM_CMPLU_STALL_MEM_ECC_DELAY - PM_CMPLU_STALL_FLUSH - PM_CMPLU_STALL_COQ_FULL) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "other_block_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles unaccounted for", |
| "MetricExpr": "(PM_RUN_CYC / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL / PM_RUN_INST_CMPL) - (PM_GCT_NOSLOT_CYC / PM_RUN_INST_CMPL) - (PM_NTCG_ALL_FIN / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_THRD / PM_RUN_INST_CMPL) - (PM_GRP_CMPL / PM_RUN_INST_CMPL)", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "other_cpi" |
| }, |
| { |
| "BriefDescription": "Stall cycles unaccounted for", |
| "MetricExpr": "(PM_CMPLU_STALL / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_BRU_CRU / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_FXU / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_VSU / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_LSU / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_NTCG_FLUSH / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_NO_NTF / PM_RUN_INST_CMPL)", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "other_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Run cycles per run instruction", |
| "MetricExpr": "PM_RUN_CYC / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "run_cpi" |
| }, |
| { |
| "BriefDescription": "Completion Stall Cycles", |
| "MetricExpr": "PM_CMPLU_STALL / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles a thread was blocked", |
| "MetricExpr": "PM_CMPLU_STALL_THRD / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "thread_block_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by VSU", |
| "MetricExpr": "PM_CMPLU_STALL_VSU / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by other VSU Operations", |
| "MetricExpr": "(PM_CMPLU_STALL_VSU - PM_CMPLU_STALL_VECTOR - PM_CMPLU_STALL_SCALAR) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_other_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by VSU Scalar Operations", |
| "MetricExpr": "PM_CMPLU_STALL_SCALAR / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_scalar_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by VSU Scalar Long Operations", |
| "MetricExpr": "PM_CMPLU_STALL_SCALAR_LONG / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_scalar_long_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by Other VSU Scalar Operations", |
| "MetricExpr": "(PM_CMPLU_STALL_SCALAR / PM_RUN_INST_CMPL) - (PM_CMPLU_STALL_SCALAR_LONG / PM_RUN_INST_CMPL)", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_scalar_other_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by VSU Vector Operations", |
| "MetricExpr": "PM_CMPLU_STALL_VECTOR / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_vector_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by VSU Vector Long Operations", |
| "MetricExpr": "PM_CMPLU_STALL_VECTOR_LONG / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_vector_long_cpi" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by other VSU Vector Operations", |
| "MetricExpr": "(PM_CMPLU_STALL_VECTOR - PM_CMPLU_STALL_VECTOR_LONG) / PM_RUN_INST_CMPL", |
| "MetricGroup": "cpi_breakdown", |
| "MetricName": "vsu_stall_vector_other_cpi" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Distant L2 or L3 (Modified) per Inst", |
| "MetricExpr": "PM_DATA_FROM_DL2L3_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_dl2l3_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Distant L2 or L3 (Shared) per Inst", |
| "MetricExpr": "PM_DATA_FROM_DL2L3_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_dl2l3_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Distant L4 per Inst", |
| "MetricExpr": "PM_DATA_FROM_DL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_dl4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Distant Memory per Inst", |
| "MetricExpr": "PM_DATA_FROM_DMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_dmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L2, other core per Inst", |
| "MetricExpr": "PM_DATA_FROM_L21_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l21_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L2, other core per Inst", |
| "MetricExpr": "PM_DATA_FROM_L21_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l21_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L2 load hits per instruction where the L2 experienced a Load-Hit-Store conflict", |
| "MetricExpr": "PM_DATA_FROM_L2_DISP_CONFLICT_LDHITST * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l2_lhs_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from L2 per Inst", |
| "MetricExpr": "PM_DATA_FROM_L2MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l2_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L2 load hits per instruction where the L2 did not experience a conflict", |
| "MetricExpr": "PM_DATA_FROM_L2_NO_CONFLICT * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l2_no_conflict_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L2 load hits per instruction where the L2 experienced some conflict other than Load-Hit-Store", |
| "MetricExpr": "PM_DATA_FROM_L2_DISP_CONFLICT_OTHER * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l2_other_conflict_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from L2 per Inst", |
| "MetricExpr": "PM_DATA_FROM_L2 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l2_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L3 M state, other core per Inst", |
| "MetricExpr": "PM_DATA_FROM_L31_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l31_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L3 S tate, other core per Inst", |
| "MetricExpr": "PM_DATA_FROM_L31_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l31_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L3 load hits per instruction where the load collided with a pending prefetch", |
| "MetricExpr": "PM_DATA_FROM_L3_DISP_CONFLICT * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l3_conflict_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from L3 per Inst", |
| "MetricExpr": "PM_DATA_FROM_L3MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l3_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L3 load hits per instruction where the L3 did not experience a conflict", |
| "MetricExpr": "PM_DATA_FROM_L3_NO_CONFLICT * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l3_no_conflict_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from L3 per Inst", |
| "MetricExpr": "PM_DATA_FROM_L3 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_l3_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Local L4 per Inst", |
| "MetricExpr": "PM_DATA_FROM_LL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_ll4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Local Memory per Inst", |
| "MetricExpr": "PM_DATA_FROM_LMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_lmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L3, other core per Inst", |
| "MetricExpr": "PM_DATA_FROM_RL2L3_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_rl2l3_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L3, other core per Inst", |
| "MetricExpr": "PM_DATA_FROM_RL2L3_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_rl2l3_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Remote Memory per Inst", |
| "MetricExpr": "PM_DATA_FROM_RL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_rl4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from Remote Memory per Inst", |
| "MetricExpr": "PM_DATA_FROM_RMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "dl1_reload_from_rmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L1 demand load misses per run instruction", |
| "MetricExpr": "PM_LD_MISS_L1 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_inst", |
| "MetricName": "l1_ld_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 misses that result in a cache reload", |
| "MetricExpr": "PM_L1_DCACHE_RELOAD_VALID * 100 / PM_LD_MISS_L1", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_miss_reloads_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Distant L2 or L3 (Modified)", |
| "MetricExpr": "PM_DATA_FROM_DL2L3_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_dl2l3_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Distant L2 or L3 (Shared)", |
| "MetricExpr": "PM_DATA_FROM_DL2L3_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_dl2l3_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Distant L4", |
| "MetricExpr": "PM_DATA_FROM_DL4 * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_dl4_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Distant Memory", |
| "MetricExpr": "PM_DATA_FROM_DMEM * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_dmem_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L2, other core", |
| "MetricExpr": "PM_DATA_FROM_L21_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l21_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L2, other core", |
| "MetricExpr": "PM_DATA_FROM_L21_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l21_shr_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of DL1 reloads from L2 with a Load-Hit-Store conflict", |
| "MetricExpr": "PM_DATA_FROM_L2_DISP_CONFLICT_LDHITST * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l2_lhs_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of DL1 reloads from L2 with no conflicts", |
| "MetricExpr": "PM_DATA_FROM_L2_NO_CONFLICT * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l2_no_conflict_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of DL1 reloads from L2 with some conflict other than Load-Hit-Store", |
| "MetricExpr": "PM_DATA_FROM_L2_DISP_CONFLICT_OTHER * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l2_other_conflict_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from L2", |
| "MetricExpr": "PM_DATA_FROM_L2 * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l2_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L3, other core", |
| "MetricExpr": "PM_DATA_FROM_L31_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l31_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L3, other core", |
| "MetricExpr": "PM_DATA_FROM_L31_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l31_shr_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of DL1 reloads from L3 where the load collided with a pending prefetch", |
| "MetricExpr": "PM_DATA_FROM_L3_DISP_CONFLICT * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l3_conflict_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L3 load hits per instruction where the line was brought into the L3 by a prefetch operation", |
| "MetricExpr": "PM_DATA_FROM_L3_MEPF * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l3_mepf_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of DL1 reloads from L3 without conflicts", |
| "MetricExpr": "PM_DATA_FROM_L3_NO_CONFLICT * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l3_no_conflict_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from L3", |
| "MetricExpr": "PM_DATA_FROM_L3 * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_l3_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Local L4", |
| "MetricExpr": "PM_DATA_FROM_LL4 * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_ll4_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Local Memory", |
| "MetricExpr": "PM_DATA_FROM_LMEM * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_lmem_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Remote L2 or L3 (Modified)", |
| "MetricExpr": "PM_DATA_FROM_RL2L3_MOD * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_rl2l3_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Remote L2 or L3 (Shared)", |
| "MetricExpr": "PM_DATA_FROM_RL2L3_SHR * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_rl2l3_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Remote L4", |
| "MetricExpr": "PM_DATA_FROM_RL4 * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_rl4_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 dL1_Reloads from Remote Memory", |
| "MetricExpr": "PM_DATA_FROM_RMEM * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricGroup": "dl1_reloads_percent_per_ref", |
| "MetricName": "dl1_reload_from_rmem_percent" |
| }, |
| { |
| "BriefDescription": "dL1 miss portion of CPI", |
| "MetricExpr": "( (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)/ (PM_RUN_CYC / PM_RUN_INST_CMPL)) * 100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "dcache_miss_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl2l3 distant MOD miss rates with measured DL2L3 MOD latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_DL2L3_MOD / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_DL2L3_MOD_CYC/ PM_MRK_DATA_FROM_DL2L3_MOD)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "dl2l3_mod_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl2l3 distant SHR miss rates with measured DL2L3 SHR latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_DL2L3_SHR / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_DL2L3_SHR_CYC/ PM_MRK_DATA_FROM_DL2L3_SHR)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "dl2l3_shr_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of distant L4 miss rates with measured DL4 latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_DL4 / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_DL4_CYC/ PM_MRK_DATA_FROM_DL4)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "dl4_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of distant memory miss rates with measured DMEM latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_DMEM / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_DMEM_CYC/ PM_MRK_DATA_FROM_DMEM)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "dmem_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl21 MOD miss rates with measured L21 MOD latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_L21_MOD / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_L21_MOD_CYC/ PM_MRK_DATA_FROM_L21_MOD)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "l21_mod_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl21 SHR miss rates with measured L21 SHR latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_L21_SHR / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_L21_SHR_CYC/ PM_MRK_DATA_FROM_L21_SHR)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "l21_shr_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl2 miss rates with measured L2 latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_L2 / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_L2_CYC/ PM_MRK_DATA_FROM_L2)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL) ) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "l2_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl31 MOD miss rates with measured L31 MOD latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_L31_MOD / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_L31_MOD_CYC/ PM_MRK_DATA_FROM_L31_MOD)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "l31_mod_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl31 SHR miss rates with measured L31 SHR latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_L31_SHR / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_L31_SHR_CYC/ PM_MRK_DATA_FROM_L31_SHR)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "l31_shr_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl3 miss rates with measured L3 latency as a % of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_L3 / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_L3_CYC/ PM_MRK_DATA_FROM_L3)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) * 100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "l3_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of Local L4 miss rates with measured LL4 latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_LL4 / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_LL4_CYC/ PM_MRK_DATA_FROM_LL4)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "ll4_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of Local memory miss rates with measured LMEM latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_LMEM / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_LMEM_CYC/ PM_MRK_DATA_FROM_LMEM)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "lmem_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl2l3 remote MOD miss rates with measured RL2L3 MOD latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_RL2L3_MOD / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_RL2L3_MOD_CYC/ PM_MRK_DATA_FROM_RL2L3_MOD)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "rl2l3_mod_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of dl2l3 shared miss rates with measured RL2L3 SHR latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_RL2L3_SHR / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_RL2L3_SHR_CYC/ PM_MRK_DATA_FROM_RL2L3_SHR)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) * 100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "rl2l3_shr_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of remote L4 miss rates with measured RL4 latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_RL4 / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_RL4_CYC/ PM_MRK_DATA_FROM_RL4)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "rl4_cpi_percent" |
| }, |
| { |
| "BriefDescription": "estimate of remote memory miss rates with measured RMEM latency as a %of dcache miss cpi", |
| "MetricExpr": "(((PM_DATA_FROM_RMEM / PM_RUN_INST_CMPL) * (PM_MRK_DATA_FROM_RMEM_CYC/ PM_MRK_DATA_FROM_RMEM)) / (PM_CMPLU_STALL_DCACHE_MISS / PM_RUN_INST_CMPL)) *100", |
| "MetricGroup": "estimated_dcache_miss_cpi", |
| "MetricName": "rmem_cpi_percent" |
| }, |
| { |
| "BriefDescription": "Branch Mispredict flushes per instruction", |
| "MetricExpr": "PM_FLUSH_BR_MPRED / PM_RUN_INST_CMPL * 100", |
| "MetricGroup": "general", |
| "MetricName": "br_mpred_flush_rate_percent" |
| }, |
| { |
| "BriefDescription": "Cycles per instruction", |
| "MetricExpr": "PM_CYC / PM_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "cpi" |
| }, |
| { |
| "BriefDescription": "Percentage Cycles a group completed", |
| "MetricExpr": "PM_GRP_CMPL / PM_CYC * 100", |
| "MetricGroup": "general", |
| "MetricName": "cyc_grp_completed_percent" |
| }, |
| { |
| "BriefDescription": "Percentage Cycles a group dispatched", |
| "MetricExpr": "PM_1PLUS_PPC_DISP / PM_CYC * 100", |
| "MetricGroup": "general", |
| "MetricName": "cyc_grp_dispatched_percent" |
| }, |
| { |
| "BriefDescription": "Cycles per group", |
| "MetricExpr": "PM_CYC / PM_1PLUS_PPC_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "cyc_per_group" |
| }, |
| { |
| "BriefDescription": "GCT empty cycles", |
| "MetricExpr": "(PM_FLUSH_DISP / PM_RUN_INST_CMPL) * 100", |
| "MetricGroup": "general", |
| "MetricName": "disp_flush_rate_percent" |
| }, |
| { |
| "BriefDescription": "% DTLB miss rate per inst", |
| "MetricExpr": "PM_DTLB_MISS / PM_RUN_INST_CMPL *100", |
| "MetricGroup": "general", |
| "MetricName": "dtlb_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Flush rate (%)", |
| "MetricExpr": "PM_FLUSH * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "flush_rate_percent" |
| }, |
| { |
| "BriefDescription": "GCT slot utilization (11 to 14) as a % of cycles this thread had at least 1 slot valid", |
| "MetricExpr": "PM_GCT_UTIL_11_14_ENTRIES / ( PM_RUN_CYC - PM_GCT_NOSLOT_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "gct_util_11to14_slots_percent" |
| }, |
| { |
| "BriefDescription": "GCT slot utilization (15 to 17) as a % of cycles this thread had at least 1 slot valid", |
| "MetricExpr": "PM_GCT_UTIL_15_17_ENTRIES / ( PM_RUN_CYC - PM_GCT_NOSLOT_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "gct_util_15to17_slots_percent" |
| }, |
| { |
| "BriefDescription": "GCT slot utilization 18+ as a % of cycles this thread had at least 1 slot valid", |
| "MetricExpr": "PM_GCT_UTIL_18_ENTRIES / ( PM_RUN_CYC - PM_GCT_NOSLOT_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "gct_util_18plus_slots_percent" |
| }, |
| { |
| "BriefDescription": "GCT slot utilization (1 to 2) as a % of cycles this thread had at least 1 slot valid", |
| "MetricExpr": "PM_GCT_UTIL_1_2_ENTRIES / ( PM_RUN_CYC - PM_GCT_NOSLOT_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "gct_util_1to2_slots_percent" |
| }, |
| { |
| "BriefDescription": "GCT slot utilization (3 to 6) as a % of cycles this thread had at least 1 slot valid", |
| "MetricExpr": "PM_GCT_UTIL_3_6_ENTRIES / ( PM_RUN_CYC - PM_GCT_NOSLOT_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "gct_util_3to6_slots_percent" |
| }, |
| { |
| "BriefDescription": "GCT slot utilization (7 to 10) as a % of cycles this thread had at least 1 slot valid", |
| "MetricExpr": "PM_GCT_UTIL_7_10_ENTRIES / ( PM_RUN_CYC - PM_GCT_NOSLOT_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "gct_util_7to10_slots_percent" |
| }, |
| { |
| "BriefDescription": "Avg. group size", |
| "MetricExpr": "PM_INST_CMPL / PM_1PLUS_PPC_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "group_size" |
| }, |
| { |
| "BriefDescription": "Instructions per group", |
| "MetricExpr": "PM_INST_CMPL / PM_1PLUS_PPC_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "inst_per_group" |
| }, |
| { |
| "BriefDescription": "Instructions per cycles", |
| "MetricExpr": "PM_INST_CMPL / PM_CYC", |
| "MetricGroup": "general", |
| "MetricName": "ipc" |
| }, |
| { |
| "BriefDescription": "% ITLB miss rate per inst", |
| "MetricExpr": "PM_ITLB_MISS / PM_RUN_INST_CMPL *100", |
| "MetricGroup": "general", |
| "MetricName": "itlb_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L1 load misses per L1 load ref", |
| "MetricExpr": "PM_LD_MISS_L1 / PM_LD_REF_L1 * 100", |
| "MetricGroup": "general", |
| "MetricName": "l1_ld_miss_ratio_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L1 store misses per run instruction", |
| "MetricExpr": "PM_ST_MISS_L1 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l1_st_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L1 store misses per L1 store ref", |
| "MetricExpr": "PM_ST_MISS_L1 / PM_ST_FIN * 100", |
| "MetricGroup": "general", |
| "MetricName": "l1_st_miss_ratio_percent" |
| }, |
| { |
| "BriefDescription": "L2 Instruction Miss Rate (per instruction)(%)", |
| "MetricExpr": "PM_INST_FROM_L2MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l2_inst_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "L2 dmand Load Miss Rate (per run instruction)(%)", |
| "MetricExpr": "PM_DATA_FROM_L2MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l2_ld_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "L2 PTEG Miss Rate (per run instruction)(%)", |
| "MetricExpr": "PM_DPTEG_FROM_L2MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l2_pteg_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L2 store misses per run instruction", |
| "MetricExpr": "PM_ST_MISS_L1 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l2_st_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "L3 Instruction Miss Rate (per instruction)(%)", |
| "MetricExpr": "PM_INST_FROM_L3MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l3_inst_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "L3 demand Load Miss Rate (per run instruction)(%)", |
| "MetricExpr": "PM_DATA_FROM_L3MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l3_ld_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "L3 PTEG Miss Rate (per run instruction)(%)", |
| "MetricExpr": "PM_DPTEG_FROM_L3MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "l3_pteg_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Run cycles per cycle", |
| "MetricExpr": "PM_RUN_CYC / PM_CYC*100", |
| "MetricGroup": "general", |
| "MetricName": "run_cycles_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of cycles spent in SMT2 Mode", |
| "MetricExpr": "(PM_RUN_CYC_SMT2_MODE/PM_RUN_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "smt2_cycles_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of cycles spent in SMT4 Mode", |
| "MetricExpr": "(PM_RUN_CYC_SMT4_MODE/PM_RUN_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "smt4_cycles_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of cycles spent in SMT8 Mode", |
| "MetricExpr": "(PM_RUN_CYC_SMT8_MODE/PM_RUN_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "smt8_cycles_percent" |
| }, |
| { |
| "BriefDescription": "IPC of all instructions completed by the core while this thread was stalled", |
| "MetricExpr": "PM_CMPLU_STALL_OTHER_CMPL/PM_RUN_CYC", |
| "MetricGroup": "general", |
| "MetricName": "smt_benefit" |
| }, |
| { |
| "BriefDescription": "Instruction dispatch-to-completion ratio", |
| "MetricExpr": "PM_INST_DISP / PM_INST_CMPL", |
| "MetricGroup": "general", |
| "MetricName": "speculation" |
| }, |
| { |
| "BriefDescription": "Percentage of cycles spent in Single Thread Mode", |
| "MetricExpr": "(PM_RUN_CYC_ST_MODE/PM_RUN_CYC) * 100", |
| "MetricGroup": "general", |
| "MetricName": "st_cycles_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Modified) per Inst", |
| "MetricExpr": "PM_INST_FROM_DL2L3_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_dl2l3_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Shared) per Inst", |
| "MetricExpr": "PM_INST_FROM_DL2L3_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_dl2l3_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant L4 per Inst", |
| "MetricExpr": "PM_INST_FROM_DL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_dl4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant Memory per Inst", |
| "MetricExpr": "PM_INST_FROM_DMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_dmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L2, other core per Inst", |
| "MetricExpr": "PM_INST_FROM_L21_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_l21_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L2, other core per Inst", |
| "MetricExpr": "PM_INST_FROM_L21_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_l21_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from L2 per Inst", |
| "MetricExpr": "PM_INST_FROM_L2 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_l2_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L3, other core per Inst", |
| "MetricExpr": "PM_INST_FROM_L31_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_l31_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L3 other core per Inst", |
| "MetricExpr": "PM_INST_FROM_L31_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_l31_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from L3 per Inst", |
| "MetricExpr": "PM_INST_FROM_L3 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_l3_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Local L4 per Inst", |
| "MetricExpr": "PM_INST_FROM_LL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_ll4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Local Memory per Inst", |
| "MetricExpr": "PM_INST_FROM_LMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_lmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Modified) per Inst", |
| "MetricExpr": "PM_INST_FROM_RL2L3_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_rl2l3_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Shared) per Inst", |
| "MetricExpr": "PM_INST_FROM_RL2L3_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_rl2l3_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote L4 per Inst", |
| "MetricExpr": "PM_INST_FROM_RL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_rl4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote Memory per Inst", |
| "MetricExpr": "PM_INST_FROM_RMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "inst_from_rmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "Instruction Cache Miss Rate (Per run Instruction)(%)", |
| "MetricExpr": "PM_L1_ICACHE_MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_misses_percent_per_inst", |
| "MetricName": "l1_inst_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "% Branches per instruction", |
| "MetricExpr": "PM_BRU_FIN / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "branches_per_inst" |
| }, |
| { |
| "BriefDescription": "Total Fixed point operations", |
| "MetricExpr": "(PM_FXU0_FIN + PM_FXU1_FIN)/PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fixed_per_inst" |
| }, |
| { |
| "BriefDescription": "FXU0 balance", |
| "MetricExpr": "PM_FXU0_FIN / (PM_FXU0_FIN + PM_FXU1_FIN)", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fxu0_balance" |
| }, |
| { |
| "BriefDescription": "Fraction of cycles that FXU0 is in use", |
| "MetricExpr": "PM_FXU0_FIN / PM_RUN_CYC", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fxu0_fin" |
| }, |
| { |
| "BriefDescription": "FXU0 only Busy", |
| "MetricExpr": "PM_FXU0_BUSY_FXU1_IDLE / PM_CYC", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fxu0_only_busy" |
| }, |
| { |
| "BriefDescription": "Fraction of cycles that FXU1 is in use", |
| "MetricExpr": "PM_FXU1_FIN / PM_RUN_CYC", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fxu1_fin" |
| }, |
| { |
| "BriefDescription": "FXU1 only Busy", |
| "MetricExpr": "PM_FXU1_BUSY_FXU0_IDLE / PM_CYC", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fxu1_only_busy" |
| }, |
| { |
| "BriefDescription": "Both FXU Busy", |
| "MetricExpr": "PM_FXU_BUSY / PM_CYC", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fxu_both_busy" |
| }, |
| { |
| "BriefDescription": "Both FXU Idle", |
| "MetricExpr": "PM_FXU_IDLE / PM_CYC", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "fxu_both_idle" |
| }, |
| { |
| "BriefDescription": "PCT instruction loads", |
| "MetricExpr": "PM_LD_REF_L1 / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "loads_per_inst" |
| }, |
| { |
| "BriefDescription": "PCT instruction stores", |
| "MetricExpr": "PM_ST_FIN / PM_RUN_INST_CMPL", |
| "MetricGroup": "instruction_mix", |
| "MetricName": "stores_per_inst" |
| }, |
| { |
| "BriefDescription": "Icache Fetchs per Icache Miss", |
| "MetricExpr": "(PM_L1_ICACHE_MISS - PM_IC_PREF_WRITE) / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "icache_miss_reload" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads due to prefetch", |
| "MetricExpr": "PM_IC_PREF_WRITE * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "icache_pref_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Modified)", |
| "MetricExpr": "PM_INST_FROM_DL2L3_MOD * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_dl2l3_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant L2 or L3 (Shared)", |
| "MetricExpr": "PM_INST_FROM_DL2L3_SHR * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_dl2l3_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant L4", |
| "MetricExpr": "PM_INST_FROM_DL4 * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_dl4_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Distant Memory", |
| "MetricExpr": "PM_INST_FROM_DMEM * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_dmem_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L2, other core", |
| "MetricExpr": "PM_INST_FROM_L21_MOD * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_l21_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L2, other core", |
| "MetricExpr": "PM_INST_FROM_L21_SHR * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_l21_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from L2", |
| "MetricExpr": "PM_INST_FROM_L2 * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_l2_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L3, other core", |
| "MetricExpr": "PM_INST_FROM_L31_MOD * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_l31_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Private L3, other core", |
| "MetricExpr": "PM_INST_FROM_L31_SHR * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_l31_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from L3", |
| "MetricExpr": "PM_INST_FROM_L3 * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_l3_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Local L4", |
| "MetricExpr": "PM_INST_FROM_LL4 * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_ll4_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Local Memory", |
| "MetricExpr": "PM_INST_FROM_LMEM * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_lmem_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Modified)", |
| "MetricExpr": "PM_INST_FROM_RL2L3_MOD * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_rl2l3_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote L2 or L3 (Shared)", |
| "MetricExpr": "PM_INST_FROM_RL2L3_SHR * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_rl2l3_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote L4", |
| "MetricExpr": "PM_INST_FROM_RL4 * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_rl4_percent" |
| }, |
| { |
| "BriefDescription": "% of ICache reloads from Remote Memory", |
| "MetricExpr": "PM_INST_FROM_RMEM * 100 / PM_L1_ICACHE_MISS", |
| "MetricGroup": "instruction_stats_percent_per_ref", |
| "MetricName": "inst_from_rmem_percent" |
| }, |
| { |
| "BriefDescription": "Average number of stores that gather in the store buffer before being sent to an L2 RC machine", |
| "MetricExpr": "PM_ST_CMPL / (PM_L2_ST / 2)", |
| "MetricGroup": "l2_stats", |
| "MetricName": "avg_stores_gathered" |
| }, |
| { |
| "BriefDescription": "L2 Store misses as a % of total L2 Store dispatches (per thread)", |
| "MetricExpr": "PM_L2_ST_MISS / PM_L2_ST * 100", |
| "MetricGroup": "l2_stats", |
| "MetricName": "l2_st_miss_ratio_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of L2 store misses per drained store. A drained store may contain multiple individual stores if they target the same line", |
| "MetricExpr": "PM_L2_ST_MISS / (PM_L2_ST / 2)", |
| "MetricGroup": "l2_stats", |
| "MetricName": "l2_store_miss_ratio_percent" |
| }, |
| { |
| "BriefDescription": "average L1 miss latency using marked events", |
| "MetricExpr": "PM_MRK_LD_MISS_L1_CYC / PM_MRK_LD_MISS_L1", |
| "MetricGroup": "latency", |
| "MetricName": "average_dl1miss_latency" |
| }, |
| { |
| "BriefDescription": "Average icache miss latency", |
| "MetricExpr": "(PM_IC_DEMAND_CYC / PM_IC_DEMAND_REQ)", |
| "MetricGroup": "latency", |
| "MetricName": "average_il1_miss_latency" |
| }, |
| { |
| "BriefDescription": "average service time for SYNC", |
| "MetricExpr": "PM_LSU_SRQ_SYNC_CYC / PM_LSU_SRQ_SYNC", |
| "MetricGroup": "latency", |
| "MetricName": "average_sync_cyc" |
| }, |
| { |
| "BriefDescription": "Cycles LMQ slot0 was active on an average", |
| "MetricExpr": "PM_LSU_LMQ_S0_VALID / PM_LSU_LMQ_S0_ALLOC", |
| "MetricGroup": "latency", |
| "MetricName": "avg_lmq_life_time" |
| }, |
| { |
| "BriefDescription": "Average number of cycles LRQ stays active for one load. Slot 0 is VALID ONLY FOR EVEN THREADS", |
| "MetricExpr": "PM_LSU_LRQ_S0_VALID / PM_LSU_LRQ_S0_ALLOC", |
| "MetricGroup": "latency", |
| "MetricName": "avg_lrq_life_time_even" |
| }, |
| { |
| "BriefDescription": "Average number of cycles LRQ stays active for one load. Slot 43 is valid ONLY FOR ODD THREADS", |
| "MetricExpr": "PM_LSU_LRQ_S43_VALID / PM_LSU_LRQ_S43_ALLOC", |
| "MetricGroup": "latency", |
| "MetricName": "avg_lrq_life_time_odd" |
| }, |
| { |
| "BriefDescription": "Average number of cycles SRQ stays active for one load. Slot 0 is VALID ONLY FOR EVEN THREADS", |
| "MetricExpr": "PM_LSU_SRQ_S0_VALID / PM_LSU_SRQ_S0_ALLOC", |
| "MetricGroup": "latency", |
| "MetricName": "avg_srq_life_time_even" |
| }, |
| { |
| "BriefDescription": "Average number of cycles SRQ stays active for one load. Slot 39 is valid ONLY FOR ODD THREADS", |
| "MetricExpr": "PM_LSU_SRQ_S39_VALID / PM_LSU_SRQ_S39_ALLOC", |
| "MetricGroup": "latency", |
| "MetricName": "avg_srq_life_time_odd" |
| }, |
| { |
| "BriefDescription": "Marked background kill latency, measured in L2", |
| "MetricExpr": "PM_MRK_FAB_RSP_BKILL_CYC / PM_MRK_FAB_RSP_BKILL", |
| "MetricGroup": "latency", |
| "MetricName": "bkill_latency" |
| }, |
| { |
| "BriefDescription": "Marked dclaim latency, measured in L2", |
| "MetricExpr": "PM_MRK_FAB_RSP_DCLAIM_CYC / PM_MRK_FAB_RSP_DCLAIM", |
| "MetricGroup": "latency", |
| "MetricName": "dclaim_latency" |
| }, |
| { |
| "BriefDescription": "Marked L2L3 remote Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_DL2L3_MOD_CYC/ PM_MRK_DATA_FROM_DL2L3_MOD", |
| "MetricGroup": "latency", |
| "MetricName": "dl2l3_mod_latency" |
| }, |
| { |
| "BriefDescription": "Marked L2L3 distant Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_DL2L3_SHR_CYC/ PM_MRK_DATA_FROM_DL2L3_SHR", |
| "MetricGroup": "latency", |
| "MetricName": "dl2l3_shr_latency" |
| }, |
| { |
| "BriefDescription": "Distant L4 average load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_DL4_CYC/ PM_MRK_DATA_FROM_DL4", |
| "MetricGroup": "latency", |
| "MetricName": "dl4_latency" |
| }, |
| { |
| "BriefDescription": "Marked Dmem Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_DMEM_CYC/ PM_MRK_DATA_FROM_DMEM", |
| "MetricGroup": "latency", |
| "MetricName": "dmem_latency" |
| }, |
| { |
| "BriefDescription": "estimated exposed miss latency for dL1 misses, ie load miss when we were NTC", |
| "MetricExpr": "PM_MRK_LD_MISS_EXPOSED_CYC / PM_MRK_LD_MISS_EXPOSED", |
| "MetricGroup": "latency", |
| "MetricName": "exposed_dl1miss_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from L2.1 in the M state", |
| "MetricExpr": "PM_MRK_DATA_FROM_L21_MOD_CYC/ PM_MRK_DATA_FROM_L21_MOD", |
| "MetricGroup": "latency", |
| "MetricName": "l21_mod_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from L2.1 in the S state", |
| "MetricExpr": "PM_MRK_DATA_FROM_L21_SHR_CYC/ PM_MRK_DATA_FROM_L21_SHR", |
| "MetricGroup": "latency", |
| "MetricName": "l21_shr_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from the L2 and suffered a conflict at RC machine dispatch time due to load-hit-store", |
| "MetricExpr": "PM_MRK_DATA_FROM_L2_DISP_CONFLICT_LDHITST_CYC/ PM_MRK_DATA_FROM_L2_DISP_CONFLICT_LDHITST", |
| "MetricGroup": "latency", |
| "MetricName": "l2_disp_conflict_ldhitst_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from the L2 and suffered a conflict at RC machine dispatch time NOT due load-hit-store", |
| "MetricExpr": "PM_MRK_DATA_FROM_L2_DISP_CONFLICT_OTHER_CYC/ PM_MRK_DATA_FROM_L2_DISP_CONFLICT_OTHER", |
| "MetricGroup": "latency", |
| "MetricName": "l2_disp_conflict_other_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from the L2", |
| "MetricExpr": "PM_MRK_DATA_FROM_L2_CYC/ PM_MRK_DATA_FROM_L2", |
| "MetricGroup": "latency", |
| "MetricName": "l2_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that were satisfied by lines prefetched into the L3. This information is forwarded from the L3", |
| "MetricExpr": "PM_MRK_DATA_FROM_L2_MEPF_CYC/ PM_MRK_DATA_FROM_L2", |
| "MetricGroup": "latency", |
| "MetricName": "l2_mepf_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from the L2 and suffered no conflicts", |
| "MetricExpr": "PM_MRK_DATA_FROM_L2_NO_CONFLICT_CYC/ PM_MRK_DATA_FROM_L2", |
| "MetricGroup": "latency", |
| "MetricName": "l2_no_conflict_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from the L3 and beyond", |
| "MetricExpr": "PM_MRK_DATA_FROM_L2MISS_CYC/ PM_MRK_DATA_FROM_L2MISS", |
| "MetricGroup": "latency", |
| "MetricName": "l2miss_latency" |
| }, |
| { |
| "BriefDescription": "Marked L31 Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_L31_MOD_CYC/ PM_MRK_DATA_FROM_L31_MOD", |
| "MetricGroup": "latency", |
| "MetricName": "l31_mod_latency" |
| }, |
| { |
| "BriefDescription": "Marked L31 Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_L31_SHR_CYC/ PM_MRK_DATA_FROM_L31_SHR", |
| "MetricGroup": "latency", |
| "MetricName": "l31_shr_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from the L3", |
| "MetricExpr": "PM_MRK_DATA_FROM_L3_CYC/ PM_MRK_DATA_FROM_L3", |
| "MetricGroup": "latency", |
| "MetricName": "l3_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that came from the L3 and suffered no conflicts", |
| "MetricExpr": "PM_MRK_DATA_FROM_L3_NO_CONFLICT_CYC/ PM_MRK_DATA_FROM_L2", |
| "MetricGroup": "latency", |
| "MetricName": "l3_no_conflict_latency" |
| }, |
| { |
| "BriefDescription": "Average load latency for all marked demand loads that come from beyond the L3", |
| "MetricExpr": "PM_MRK_DATA_FROM_L3MISS_CYC/ PM_MRK_DATA_FROM_L3MISS", |
| "MetricGroup": "latency", |
| "MetricName": "l3miss_latency" |
| }, |
| { |
| "BriefDescription": "Average latency for marked reloads that hit in the L3 on the MEPF state. i.e. lines that were prefetched into the L3", |
| "MetricExpr": "PM_MRK_DATA_FROM_L3_MEPF_CYC/ PM_MRK_DATA_FROM_L3_MEPF", |
| "MetricGroup": "latency", |
| "MetricName": "l3pref_latency" |
| }, |
| { |
| "BriefDescription": "Local L4 average load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_LL4_CYC/ PM_MRK_DATA_FROM_LL4", |
| "MetricGroup": "latency", |
| "MetricName": "ll4_latency" |
| }, |
| { |
| "BriefDescription": "Marked Lmem Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_LMEM_CYC/ PM_MRK_DATA_FROM_LMEM", |
| "MetricGroup": "latency", |
| "MetricName": "lmem_latency" |
| }, |
| { |
| "BriefDescription": "Latency for marked reloads that hit in the L2 or L3 of any other core on a different chip", |
| "MetricExpr": "PM_MRK_DATA_FROM_OFF_CHIP_CACHE_CYC/ PM_MRK_DATA_FROM_OFF_CHIP_CACHE", |
| "MetricGroup": "latency", |
| "MetricName": "off_chip_cache_latency" |
| }, |
| { |
| "BriefDescription": "Latency for marked reloads that hit in the L2 or L3 of any other core on the same chip", |
| "MetricExpr": "PM_MRK_DATA_FROM_ON_CHIP_CACHE_CYC/ PM_MRK_DATA_FROM_ON_CHIP_CACHE", |
| "MetricGroup": "latency", |
| "MetricName": "on_chip_cache_latency" |
| }, |
| { |
| "BriefDescription": "Marked L2L3 remote Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_RL2L3_MOD_CYC/ PM_MRK_DATA_FROM_RL2L3_MOD", |
| "MetricGroup": "latency", |
| "MetricName": "rl2l3_mod_latency" |
| }, |
| { |
| "BriefDescription": "Marked L2L3 remote Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_RL2L3_SHR_CYC/ PM_MRK_DATA_FROM_RL2L3_SHR", |
| "MetricGroup": "latency", |
| "MetricName": "rl2l3_shr_latency" |
| }, |
| { |
| "BriefDescription": "Remote L4 average load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_RL4_CYC/ PM_MRK_DATA_FROM_RL4", |
| "MetricGroup": "latency", |
| "MetricName": "rl4_latency" |
| }, |
| { |
| "BriefDescription": "Marked Rmem Load latency", |
| "MetricExpr": "PM_MRK_DATA_FROM_RMEM_CYC/ PM_MRK_DATA_FROM_RMEM", |
| "MetricGroup": "latency", |
| "MetricName": "rmem_latency" |
| }, |
| { |
| "BriefDescription": "ERAT miss reject ratio", |
| "MetricExpr": "PM_LSU_REJECT_ERAT_MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "erat_reject_rate_percent" |
| }, |
| { |
| "BriefDescription": "ERAT miss reject ratio", |
| "MetricExpr": "PM_LSU_REJECT_ERAT_MISS * 100 / (PM_LSU_FIN - PM_LSU_FX_FIN)", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "erat_reject_ratio_percent" |
| }, |
| { |
| "BriefDescription": "LHS reject ratio", |
| "MetricExpr": "PM_LSU_REJECT_LHS *100/ PM_RUN_INST_CMPL", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "lhs_reject_rate_percent" |
| }, |
| { |
| "BriefDescription": "LHS reject ratio", |
| "MetricExpr": "PM_LSU_REJECT_LHS *100/ (PM_LSU_FIN - PM_LSU_FX_FIN)", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "lhs_reject_ratio_percent" |
| }, |
| { |
| "BriefDescription": "LMQ full reject ratio", |
| "MetricExpr": "PM_LSU_REJECT_LMQ_FULL * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "lmq_full_reject_rate_percent" |
| }, |
| { |
| "BriefDescription": "ERAT miss reject ratio", |
| "MetricExpr": "PM_LSU_REJECT_LMQ_FULL * 100 / PM_LD_REF_L1", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "lmq_full_reject_ratio_percent" |
| }, |
| { |
| "BriefDescription": "LSU reject ratio", |
| "MetricExpr": "PM_LSU_REJECT *100/ PM_RUN_INST_CMPL", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "lsu_reject_rate_percent" |
| }, |
| { |
| "BriefDescription": "LSU reject ratio", |
| "MetricExpr": "PM_LSU_REJECT *100/ (PM_LSU_FIN - PM_LSU_FX_FIN)", |
| "MetricGroup": "lsu_rejects", |
| "MetricName": "lsu_reject_ratio_percent" |
| }, |
| { |
| "BriefDescription": "Ratio of reloads from local L4 to distant L4", |
| "MetricExpr": "PM_DATA_FROM_LL4 / PM_DATA_FROM_DL4", |
| "MetricGroup": "memory", |
| "MetricName": "ld_ll4_per_ld_dmem" |
| }, |
| { |
| "BriefDescription": "Ratio of reloads from local L4 to remote+distant L4", |
| "MetricExpr": "PM_DATA_FROM_LL4 / (PM_DATA_FROM_DL4 + PM_DATA_FROM_RL4)", |
| "MetricGroup": "memory", |
| "MetricName": "ld_ll4_per_ld_mem" |
| }, |
| { |
| "BriefDescription": "Ratio of reloads from local L4 to remote L4", |
| "MetricExpr": "PM_DATA_FROM_LL4 / PM_DATA_FROM_RL4", |
| "MetricGroup": "memory", |
| "MetricName": "ld_ll4_per_ld_rl4" |
| }, |
| { |
| "BriefDescription": "Number of loads from local memory per loads from distant memory", |
| "MetricExpr": "PM_DATA_FROM_LMEM / PM_DATA_FROM_DMEM", |
| "MetricGroup": "memory", |
| "MetricName": "ld_lmem_per_ld_dmem" |
| }, |
| { |
| "BriefDescription": "Number of loads from local memory per loads from remote and distant memory", |
| "MetricExpr": "PM_DATA_FROM_LMEM / (PM_DATA_FROM_DMEM + PM_DATA_FROM_RMEM)", |
| "MetricGroup": "memory", |
| "MetricName": "ld_lmem_per_ld_mem" |
| }, |
| { |
| "BriefDescription": "Number of loads from local memory per loads from remote memory", |
| "MetricExpr": "PM_DATA_FROM_LMEM / PM_DATA_FROM_RMEM", |
| "MetricGroup": "memory", |
| "MetricName": "ld_lmem_per_ld_rmem" |
| }, |
| { |
| "BriefDescription": "Number of loads from remote memory per loads from distant memory", |
| "MetricExpr": "PM_DATA_FROM_RMEM / PM_DATA_FROM_DMEM", |
| "MetricGroup": "memory", |
| "MetricName": "ld_rmem_per_ld_dmem" |
| }, |
| { |
| "BriefDescription": "Memory locality", |
| "MetricExpr": "(PM_DATA_FROM_LL4 + PM_DATA_FROM_LMEM) * 100/ (PM_DATA_FROM_LMEM + PM_DATA_FROM_LL4 + PM_DATA_FROM_RMEM + PM_DATA_FROM_RL4 + PM_DATA_FROM_DMEM + PM_DATA_FROM_DL4)", |
| "MetricGroup": "memory", |
| "MetricName": "mem_locality_percent" |
| }, |
| { |
| "BriefDescription": "DERAT Miss Rate (per run instruction)(%)", |
| "MetricExpr": "PM_LSU_DERAT_MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "derat_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Modified) per inst", |
| "MetricExpr": "PM_DPTEG_FROM_DL2L3_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_dl2l3_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Shared) per inst", |
| "MetricExpr": "PM_DPTEG_FROM_DL2L3_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_dl2l3_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant L4 per inst", |
| "MetricExpr": "PM_DPTEG_FROM_DL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_dl4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant Memory per inst", |
| "MetricExpr": "PM_DPTEG_FROM_DMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_dmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L2, other core per inst", |
| "MetricExpr": "PM_DPTEG_FROM_L21_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_l21_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L2, other core per inst", |
| "MetricExpr": "PM_DPTEG_FROM_L21_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_l21_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from L2 per inst", |
| "MetricExpr": "PM_DPTEG_FROM_L2 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_l2_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L3, other core per inst", |
| "MetricExpr": "PM_DPTEG_FROM_L31_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_l31_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L3, other core per inst", |
| "MetricExpr": "PM_DPTEG_FROM_L31_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_l31_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from L3 per inst", |
| "MetricExpr": "PM_DPTEG_FROM_L3 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_l3_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Local L4 per inst", |
| "MetricExpr": "PM_DPTEG_FROM_LL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_ll4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Local Memory per inst", |
| "MetricExpr": "PM_DPTEG_FROM_LMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_lmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Modified) per inst", |
| "MetricExpr": "PM_DPTEG_FROM_RL2L3_MOD * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_rl2l3_mod_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Shared) per inst", |
| "MetricExpr": "PM_DPTEG_FROM_RL2L3_SHR * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_rl2l3_shr_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote L4 per inst", |
| "MetricExpr": "PM_DPTEG_FROM_RL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_rl4_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote Memory per inst", |
| "MetricExpr": "PM_DPTEG_FROM_RMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "pteg_reloads_percent_per_inst", |
| "MetricName": "pteg_from_rmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT misses that result in an ERAT reload", |
| "MetricExpr": "PM_DTLB_MISS * 100 / PM_LSU_DERAT_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "derat_miss_reload_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Modified)", |
| "MetricExpr": "PM_DPTEG_FROM_DL2L3_MOD * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_dl2l3_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant L2 or L3 (Shared)", |
| "MetricExpr": "PM_DPTEG_FROM_DL2L3_SHR * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_dl2l3_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant L4", |
| "MetricExpr": "PM_DPTEG_FROM_DL4 * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_dl4_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Distant Memory", |
| "MetricExpr": "PM_DPTEG_FROM_DMEM * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_dmem_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L2, other core", |
| "MetricExpr": "PM_DPTEG_FROM_L21_MOD * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_l21_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L2, other core", |
| "MetricExpr": "PM_DPTEG_FROM_L21_SHR * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_l21_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from L2", |
| "MetricExpr": "PM_DPTEG_FROM_L2 * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_l2_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L3, other core", |
| "MetricExpr": "PM_DPTEG_FROM_L31_MOD * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_l31_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Private L3, other core", |
| "MetricExpr": "PM_DPTEG_FROM_L31_SHR * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_l31_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from L3", |
| "MetricExpr": "PM_DPTEG_FROM_L3 * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_l3_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Local L4", |
| "MetricExpr": "PM_DPTEG_FROM_LL4 * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_ll4_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Local Memory", |
| "MetricExpr": "PM_DPTEG_FROM_LMEM * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_lmem_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Modified)", |
| "MetricExpr": "PM_DPTEG_FROM_RL2L3_MOD * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_rl2l3_mod_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote L2 or L3 (Shared)", |
| "MetricExpr": "PM_DPTEG_FROM_RL2L3_SHR * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_rl2l3_shr_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote L4", |
| "MetricExpr": "PM_DPTEG_FROM_RL4 * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_rl4_percent" |
| }, |
| { |
| "BriefDescription": "% of DERAT reloads from Remote Memory", |
| "MetricExpr": "PM_DPTEG_FROM_RMEM * 100 / PM_DTLB_MISS", |
| "MetricGroup": "pteg_reloads_percent_per_ref", |
| "MetricName": "pteg_from_rmem_percent" |
| }, |
| { |
| "BriefDescription": "% DERAT miss ratio for 16G page per inst", |
| "MetricExpr": "100 * PM_DERAT_MISS_16G / PM_RUN_INST_CMPL", |
| "MetricGroup": "translation", |
| "MetricName": "derat_16g_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "DERAT miss ratio for 16G page", |
| "MetricExpr": "PM_DERAT_MISS_16G / PM_LSU_DERAT_MISS", |
| "MetricGroup": "translation", |
| "MetricName": "derat_16g_miss_ratio" |
| }, |
| { |
| "BriefDescription": "% DERAT miss rate for 16M page per inst", |
| "MetricExpr": "PM_DERAT_MISS_16M * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "translation", |
| "MetricName": "derat_16m_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "DERAT miss ratio for 16M page", |
| "MetricExpr": "PM_DERAT_MISS_16M / PM_LSU_DERAT_MISS", |
| "MetricGroup": "translation", |
| "MetricName": "derat_16m_miss_ratio" |
| }, |
| { |
| "BriefDescription": "% DERAT miss rate for 4K page per inst", |
| "MetricExpr": "PM_DERAT_MISS_4K * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "translation", |
| "MetricName": "derat_4k_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "DERAT miss ratio for 4K page", |
| "MetricExpr": "PM_DERAT_MISS_4K / PM_LSU_DERAT_MISS", |
| "MetricGroup": "translation", |
| "MetricName": "derat_4k_miss_ratio" |
| }, |
| { |
| "BriefDescription": "% DERAT miss ratio for 64K page per inst", |
| "MetricExpr": "PM_DERAT_MISS_64K * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "translation", |
| "MetricName": "derat_64k_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "DERAT miss ratio for 64K page", |
| "MetricExpr": "PM_DERAT_MISS_64K / PM_LSU_DERAT_MISS", |
| "MetricGroup": "translation", |
| "MetricName": "derat_64k_miss_ratio" |
| }, |
| { |
| "BriefDescription": "% DSLB_Miss_Rate per inst", |
| "MetricExpr": "PM_DSLB_MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "translation", |
| "MetricName": "dslb_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "% ISLB miss rate per inst", |
| "MetricExpr": "PM_ISLB_MISS * 100 / PM_RUN_INST_CMPL", |
| "MetricGroup": "translation", |
| "MetricName": "islb_miss_rate_percent" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on any Centaur (local, remote, or distant) on either L4 or DRAM per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_MEMORY / PM_LD_REF_L1", |
| "MetricName": "any_centaur_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Base Completion Cycles", |
| "MetricExpr": "PM_1PLUS_PPC_CMPL / PM_RUN_INST_CMPL", |
| "MetricName": "base_completion_cpi" |
| }, |
| { |
| "BriefDescription": "Marked background kill latency, measured in L2", |
| "MetricExpr": "PM_MRK_FAB_RSP_BKILL_CYC / PM_MRK_FAB_RSP_BKILL", |
| "MetricName": "bkill_ratio_percent" |
| }, |
| { |
| "BriefDescription": "cycles", |
| "MetricExpr": "PM_RUN_CYC", |
| "MetricName": "custom_secs" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a distant chip's Centaur (L4 or DRAM) per L1 load ref", |
| "MetricExpr": "(PM_DATA_FROM_DMEM + PM_DATA_FROM_DL4) / PM_LD_REF_L1", |
| "MetricName": "distant_centaur_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads that came from the L3 and beyond", |
| "MetricExpr": "PM_DATA_FROM_L2MISS * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricName": "dl1_reload_from_l2_miss_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 reloads from Private L3, other core per Inst", |
| "MetricExpr": "(PM_DATA_FROM_L31_MOD + PM_DATA_FROM_L31_SHR) * 100 / PM_RUN_INST_CMPL", |
| "MetricName": "dl1_reload_from_l31_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percentage of DL1 reloads from L3 where the lines were brought into the L3 by a prefetch operation", |
| "MetricExpr": "PM_DATA_FROM_L3_MEPF * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricName": "dl1_reload_from_l3_mepf_percent" |
| }, |
| { |
| "BriefDescription": "% of DL1 Reloads from beyond the local L3", |
| "MetricExpr": "PM_DATA_FROM_L3MISS * 100 / PM_L1_DCACHE_RELOAD_VALID", |
| "MetricName": "dl1_reload_from_l3_miss_percent" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the M (exclusive) state on the L2 or L3 of a core on a distant chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_DL2L3_MOD / PM_LD_REF_L1", |
| "MetricName": "dl2l3_mod_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the S state on the L2 or L3 of a core on a distant chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_DL2L3_SHR / PM_LD_REF_L1", |
| "MetricName": "dl2l3_shr_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a distant Centaur's cache per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_DL4 / PM_LD_REF_L1", |
| "MetricName": "dl4_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a distant Centaur's DRAM per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_DMEM / PM_LD_REF_L1", |
| "MetricName": "dmem_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Rate of DERAT reloads from L2", |
| "MetricExpr": "PM_DPTEG_FROM_L2 * 100 / PM_RUN_INST_CMPL", |
| "MetricName": "dpteg_from_l2_rate_percent" |
| }, |
| { |
| "BriefDescription": "Rate of DERAT reloads from L3", |
| "MetricExpr": "PM_DPTEG_FROM_L3 * 100 / PM_RUN_INST_CMPL", |
| "MetricName": "dpteg_from_l3_rate_percent" |
| }, |
| { |
| "BriefDescription": "Overhead of expansion cycles", |
| "MetricExpr": "(PM_GRP_CMPL / PM_RUN_INST_CMPL) - (PM_1PLUS_PPC_CMPL / PM_RUN_INST_CMPL)", |
| "MetricName": "expansion_overhead_cpi" |
| }, |
| { |
| "BriefDescription": "Total Fixed point operations executded in the Load/Store Unit following a load/store operation", |
| "MetricExpr": "PM_LSU_FX_FIN/PM_RUN_INST_CMPL", |
| "MetricName": "fixed_in_lsu_per_inst" |
| }, |
| { |
| "BriefDescription": "GCT empty cycles", |
| "MetricExpr": "(PM_GCT_NOSLOT_CYC / PM_RUN_CYC) * 100", |
| "MetricName": "gct_empty_percent" |
| }, |
| { |
| "BriefDescription": "Rate of IERAT reloads from L2", |
| "MetricExpr": "PM_IPTEG_FROM_L2 * 100 / PM_RUN_INST_CMPL", |
| "MetricName": "ipteg_from_l2_rate_percent" |
| }, |
| { |
| "BriefDescription": "Rate of IERAT reloads from L3", |
| "MetricExpr": "PM_IPTEG_FROM_L3 * 100 / PM_RUN_INST_CMPL", |
| "MetricName": "ipteg_from_l3_rate_percent" |
| }, |
| { |
| "BriefDescription": "Rate of IERAT reloads from local memory", |
| "MetricExpr": "PM_IPTEG_FROM_LL4 * 100 / PM_RUN_INST_CMPL", |
| "MetricName": "ipteg_from_ll4_rate_percent" |
| }, |
| { |
| "BriefDescription": "Rate of IERAT reloads from local memory", |
| "MetricExpr": "PM_IPTEG_FROM_LMEM * 100 / PM_RUN_INST_CMPL", |
| "MetricName": "ipteg_from_lmem_rate_percent" |
| }, |
| { |
| "BriefDescription": "Fraction of L1 hits per load ref", |
| "MetricExpr": "(PM_LD_REF_L1 - PM_LD_MISS_L1) / PM_LD_REF_L1", |
| "MetricName": "l1_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L1 load misses per L1 load ref", |
| "MetricExpr": "PM_LD_MISS_L1 / PM_LD_REF_L1", |
| "MetricName": "l1_ld_miss_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on another core's L2 on the same chip per L1 load ref", |
| "MetricExpr": "(PM_DATA_FROM_L21_MOD + PM_DATA_FROM_L21_SHR) / PM_LD_REF_L1", |
| "MetricName": "l2_1_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the M (exclusive) state on another core's L2 on the same chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L21_MOD / PM_LD_REF_L1", |
| "MetricName": "l2_1_mod_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the S state on another core's L2 on the same chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L21_SHR / PM_LD_REF_L1", |
| "MetricName": "l2_1_shr_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Average number of Castout machines used. 1 of 16 CO machines is sampled every L2 cycle", |
| "MetricExpr": "(PM_CO_USAGE / PM_RUN_CYC) * 16", |
| "MetricName": "l2_co_usage" |
| }, |
| { |
| "BriefDescription": "Fraction of L2 load hits per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L2 / PM_LD_REF_L1", |
| "MetricName": "l2_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L2 load misses per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L2MISS / PM_LD_REF_L1", |
| "MetricName": "l2_ld_miss_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L2 load hits per L1 load ref where the L2 experienced a Load-Hit-Store conflict", |
| "MetricExpr": "PM_DATA_FROM_L2_DISP_CONFLICT_LDHITST / PM_LD_REF_L1", |
| "MetricName": "l2_lhs_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L2 load hits per L1 load ref where the L2 did not experience a conflict", |
| "MetricExpr": "PM_DATA_FROM_L2_NO_CONFLICT / PM_LD_REF_L1", |
| "MetricName": "l2_no_conflict_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L2 load hits per L1 load ref where the L2 experienced some conflict other than Load-Hit-Store", |
| "MetricExpr": "PM_DATA_FROM_L2_DISP_CONFLICT_OTHER / PM_LD_REF_L1", |
| "MetricName": "l2_other_conflict_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Average number of Read/Claim machines used. 1 of 16 RC machines is sampled every L2 cycle", |
| "MetricExpr": "(PM_RC_USAGE / PM_RUN_CYC) * 16", |
| "MetricName": "l2_rc_usage" |
| }, |
| { |
| "BriefDescription": "Average number of Snoop machines used. 1 of 8 SN machines is sampled every L2 cycle", |
| "MetricExpr": "(PM_SN_USAGE / PM_RUN_CYC) * 8", |
| "MetricName": "l2_sn_usage" |
| }, |
| { |
| "BriefDescription": "Marked L31 Load latency", |
| "MetricExpr": "(PM_MRK_DATA_FROM_L31_SHR_CYC + PM_MRK_DATA_FROM_L31_MOD_CYC) / (PM_MRK_DATA_FROM_L31_SHR + PM_MRK_DATA_FROM_L31_MOD)", |
| "MetricName": "l31_latency" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on another core's L3 on the same chip per L1 load ref", |
| "MetricExpr": "(PM_DATA_FROM_L31_MOD + PM_DATA_FROM_L31_SHR) / PM_LD_REF_L1", |
| "MetricName": "l3_1_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the M (exclusive) state on another core's L3 on the same chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L31_MOD / PM_LD_REF_L1", |
| "MetricName": "l3_1_mod_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the S state on another core's L3 on the same chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L31_SHR / PM_LD_REF_L1", |
| "MetricName": "l3_1_shr_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L3 load hits per load ref where the demand load collided with a pending prefetch", |
| "MetricExpr": "PM_DATA_FROM_L3_DISP_CONFLICT / PM_LD_REF_L1", |
| "MetricName": "l3_conflict_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L3 load hits per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L3 / PM_LD_REF_L1", |
| "MetricName": "l3_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L3 load misses per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L3MISS / PM_LD_REF_L1", |
| "MetricName": "l3_ld_miss_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L3 load hits per load ref where the L3 did not experience a conflict", |
| "MetricExpr": "PM_DATA_FROM_L3_NO_CONFLICT / PM_LD_REF_L1", |
| "MetricName": "l3_no_conflict_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L3 hits on lines that were not in the MEPF state per L1 load ref", |
| "MetricExpr": "(PM_DATA_FROM_L3 - PM_DATA_FROM_L3_MEPF) / PM_LD_REF_L1", |
| "MetricName": "l3other_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of L3 hits on lines that were recently prefetched into the L3 (MEPF state) per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_L3_MEPF / PM_LD_REF_L1", |
| "MetricName": "l3pref_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a local Centaur's cache per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_LL4 / PM_LD_REF_L1", |
| "MetricName": "ll4_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a local Centaur's DRAM per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_LMEM / PM_LD_REF_L1", |
| "MetricName": "lmem_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a local Centaur (L4 or DRAM) per L1 load ref", |
| "MetricExpr": "(PM_DATA_FROM_LMEM + PM_DATA_FROM_LL4) / PM_LD_REF_L1", |
| "MetricName": "local_centaur_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by Other LSU Operations", |
| "MetricExpr": "(PM_CMPLU_STALL_LSU - PM_CMPLU_STALL_REJECT - PM_CMPLU_STALL_DCACHE_MISS - PM_CMPLU_STALL_STORE) / (PM_LD_REF_L1 - PM_LD_MISS_L1)", |
| "MetricName": "lsu_stall_avg_cyc_per_l1hit_stfw" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on another core's L2 or L3 on a different chip (remote or distant) per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_OFF_CHIP_CACHE / PM_LD_REF_L1", |
| "MetricName": "off_chip_cache_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on another core's L2 or L3 on the same chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_ON_CHIP_CACHE / PM_LD_REF_L1", |
| "MetricName": "on_chip_cache_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a remote chip's Centaur (L4 or DRAM) per L1 load ref", |
| "MetricExpr": "(PM_DATA_FROM_RMEM + PM_DATA_FROM_RL4) / PM_LD_REF_L1", |
| "MetricName": "remote_centaur_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Percent of all FXU/VSU instructions that got rejected because of unavailable resources or facilities", |
| "MetricExpr": "PM_ISU_REJECT_RES_NA *100/ PM_RUN_INST_CMPL", |
| "MetricName": "resource_na_reject_rate_percent" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the M (exclusive) state on the L2 or L3 of a core on a remote chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_RL2L3_MOD / PM_LD_REF_L1", |
| "MetricName": "rl2l3_mod_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits of a line in the S state on the L2 or L3 of a core on a remote chip per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_RL2L3_SHR / PM_LD_REF_L1", |
| "MetricName": "rl2l3_shr_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a remote Centaur's cache per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_RL4 / PM_LD_REF_L1", |
| "MetricName": "rl4_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Fraction of hits on a remote Centaur's DRAM per L1 load ref", |
| "MetricExpr": "PM_DATA_FROM_RMEM / PM_LD_REF_L1", |
| "MetricName": "rmem_ld_hit_ratio" |
| }, |
| { |
| "BriefDescription": "Percent of all FXU/VSU instructions that got rejected due to SAR Bypass", |
| "MetricExpr": "PM_ISU_REJECT_SAR_BYPASS *100/ PM_RUN_INST_CMPL", |
| "MetricName": "sar_bypass_reject_rate_percent" |
| }, |
| { |
| "BriefDescription": "Percent of all FXU/VSU instructions that got rejected because of unavailable sources", |
| "MetricExpr": "PM_ISU_REJECT_SRC_NA *100/ PM_RUN_INST_CMPL", |
| "MetricName": "source_na_reject_rate_percent" |
| }, |
| { |
| "BriefDescription": "Store forward rate", |
| "MetricExpr": "100 * (PM_LSU0_SRQ_STFWD + PM_LSU1_SRQ_STFWD) / PM_RUN_INST_CMPL", |
| "MetricName": "store_forward_rate_percent" |
| }, |
| { |
| "BriefDescription": "Store forward rate", |
| "MetricExpr": "100 * (PM_LSU0_SRQ_STFWD + PM_LSU1_SRQ_STFWD) / (PM_LD_REF_L1 - PM_LD_MISS_L1)", |
| "MetricName": "store_forward_ratio_percent" |
| }, |
| { |
| "BriefDescription": "Marked store latency, from core completion to L2 RC machine completion", |
| "MetricExpr": "(PM_MRK_ST_L2DISP_TO_CMPL_CYC + PM_MRK_ST_DRAIN_TO_L2DISP_CYC) / PM_MRK_ST_NEST", |
| "MetricName": "store_latency" |
| }, |
| { |
| "BriefDescription": "Cycles stalled by any sync", |
| "MetricExpr": "(PM_CMPLU_STALL_LWSYNC + PM_CMPLU_STALL_HWSYNC) / PM_RUN_INST_CMPL", |
| "MetricName": "sync_stall_cpi" |
| }, |
| { |
| "BriefDescription": "Percentage of lines that were prefetched into the L3 and evicted before they were consumed", |
| "MetricExpr": "(PM_L3_CO_MEPF / 2) / PM_L3_PREF_ALL * 100", |
| "MetricName": "wasted_l3_prefetch_percent" |
| } |
| ] |