1959826caSMatt Macy[ 2959826caSMatt Macy { 392b14858SMatt Macy "MetricExpr": "IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)", 4*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Machine_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound.", 5*52d973f5SAlexander Motin "BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend", 692b14858SMatt Macy "MetricGroup": "TopdownL1", 7*52d973f5SAlexander Motin "MetricName": "Frontend_Bound" 892b14858SMatt Macy }, 992b14858SMatt Macy { 10*52d973f5SAlexander Motin "MetricExpr": "IDQ_UOPS_NOT_DELIVERED.CORE / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))", 11*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. Frontend denotes the first part of the processor core responsible to fetch operations that are executed later on by the Backend part. Within the Frontend; a branch predictor predicts the next address to fetch; cache-lines are fetched from the memory subsystem; parsed into instructions; and lastly decoded into micro-operations (uops). Ideally the Frontend can issue Machine_Width uops every cycle to the Backend. Frontend Bound denotes unutilized issue-slots when there is no Backend stall; i.e. bubbles where Frontend delivered no uops while Backend could have accepted them. For example; stalls due to instruction-cache misses would be categorized under Frontend Bound. SMT version; use when SMT is enabled and measuring per logical CPU.", 1292b14858SMatt Macy "BriefDescription": "This category represents fraction of slots where the processor's Frontend undersupplies its Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 1392b14858SMatt Macy "MetricGroup": "TopdownL1_SMT", 14*52d973f5SAlexander Motin "MetricName": "Frontend_Bound_SMT" 1592b14858SMatt Macy }, 1692b14858SMatt Macy { 1792b14858SMatt Macy "MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4 * cycles)", 18*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots wasted due to incorrect speculations. This include slots used to issue uops that do not eventually get retired and slots for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work due to miss-predicted branches are categorized under Bad Speculation category. Incorrect data speculation followed by Memory Ordering Nukes is another example.", 19*52d973f5SAlexander Motin "BriefDescription": "This category represents fraction of slots wasted due to incorrect speculations", 2092b14858SMatt Macy "MetricGroup": "TopdownL1", 21*52d973f5SAlexander Motin "MetricName": "Bad_Speculation" 2292b14858SMatt Macy }, 2392b14858SMatt Macy { 24*52d973f5SAlexander Motin "MetricExpr": "( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * ( INT_MISC.RECOVERY_CYCLES_ANY / 2 ) ) / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))", 25*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots wasted due to incorrect speculations. This include slots used to issue uops that do not eventually get retired and slots for which the issue-pipeline was blocked due to recovery from earlier incorrect speculation. For example; wasted work due to miss-predicted branches are categorized under Bad Speculation category. Incorrect data speculation followed by Memory Ordering Nukes is another example. SMT version; use when SMT is enabled and measuring per logical CPU.", 2692b14858SMatt Macy "BriefDescription": "This category represents fraction of slots wasted due to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU.", 2792b14858SMatt Macy "MetricGroup": "TopdownL1_SMT", 28*52d973f5SAlexander Motin "MetricName": "Bad_Speculation_SMT" 2992b14858SMatt Macy }, 3092b14858SMatt Macy { 31*52d973f5SAlexander Motin "MetricConstraint": "NO_NMI_WATCHDOG", 32*52d973f5SAlexander Motin "MetricGroup": "TopdownL1", 33*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend. Backend is the portion of the processor core where the out-of-order scheduler dispatches ready uops into their respective execution units; and once completed these uops get retired according to program order. For example; stalls due to data-cache misses or stalls due to the divider unit being overloaded are both categorized under Backend Bound. Backend Bound is further divided into two main categories: Memory Bound and Core Bound.", 3492b14858SMatt Macy "BriefDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend", 3592b14858SMatt Macy "MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * cycles)) + (( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4 * cycles)) + (UOPS_RETIRED.RETIRE_SLOTS / (4 * cycles)) )", 36*52d973f5SAlexander Motin "MetricName": "Backend_Bound" 3792b14858SMatt Macy }, 3892b14858SMatt Macy { 39*52d973f5SAlexander Motin "MetricExpr": "1 - ( (IDQ_UOPS_NOT_DELIVERED.CORE / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) + (( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * ( INT_MISC.RECOVERY_CYCLES_ANY / 2 ) ) / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) + (UOPS_RETIRED.RETIRE_SLOTS / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) )", 40*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend. Backend is the portion of the processor core where the out-of-order scheduler dispatches ready uops into their respective execution units; and once completed these uops get retired according to program order. For example; stalls due to data-cache misses or stalls due to the divider unit being overloaded are both categorized under Backend Bound. Backend Bound is further divided into two main categories: Memory Bound and Core Bound. SMT version; use when SMT is enabled and measuring per logical CPU.", 4192b14858SMatt Macy "BriefDescription": "This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend. SMT version; use when SMT is enabled and measuring per logical CPU.", 4292b14858SMatt Macy "MetricGroup": "TopdownL1_SMT", 43*52d973f5SAlexander Motin "MetricName": "Backend_Bound_SMT" 4492b14858SMatt Macy }, 4592b14858SMatt Macy { 4692b14858SMatt Macy "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / (4 * cycles)", 47*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. Ideally; all pipeline slots would be attributed to the Retiring category. Retiring of 100% would indicate the maximum Pipeline_Width throughput was achieved. Maximizing Retiring typically increases the Instructions-per-cycle (see IPC metric). Note that a high Retiring value does not necessary mean there is no room for more performance. For example; Heavy-operations or Microcode Assists are categorized under Retiring. They often indicate suboptimal performance and can often be optimized or avoided. ", 48*52d973f5SAlexander Motin "BriefDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired", 4992b14858SMatt Macy "MetricGroup": "TopdownL1", 50*52d973f5SAlexander Motin "MetricName": "Retiring" 5192b14858SMatt Macy }, 5292b14858SMatt Macy { 53*52d973f5SAlexander Motin "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))", 54*52d973f5SAlexander Motin "PublicDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. Ideally; all pipeline slots would be attributed to the Retiring category. Retiring of 100% would indicate the maximum Pipeline_Width throughput was achieved. Maximizing Retiring typically increases the Instructions-per-cycle (see IPC metric). Note that a high Retiring value does not necessary mean there is no room for more performance. For example; Heavy-operations or Microcode Assists are categorized under Retiring. They often indicate suboptimal performance and can often be optimized or avoided. SMT version; use when SMT is enabled and measuring per logical CPU.", 5592b14858SMatt Macy "BriefDescription": "This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. SMT version; use when SMT is enabled and measuring per logical CPU.", 5692b14858SMatt Macy "MetricGroup": "TopdownL1_SMT", 57*52d973f5SAlexander Motin "MetricName": "Retiring_SMT" 5892b14858SMatt Macy }, 5992b14858SMatt Macy { 60959826caSMatt Macy "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD", 61*52d973f5SAlexander Motin "BriefDescription": "Instructions Per Cycle (per Logical Processor)", 62*52d973f5SAlexander Motin "MetricGroup": "Summary", 63959826caSMatt Macy "MetricName": "IPC" 64959826caSMatt Macy }, 65959826caSMatt Macy { 66959826caSMatt Macy "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY", 67*52d973f5SAlexander Motin "BriefDescription": "Uops Per Instruction", 6892b14858SMatt Macy "MetricGroup": "Pipeline;Retire", 69959826caSMatt Macy "MetricName": "UPI" 70959826caSMatt Macy }, 71959826caSMatt Macy { 7292b14858SMatt Macy "MetricExpr": "INST_RETIRED.ANY / BR_INST_RETIRED.NEAR_TAKEN", 73*52d973f5SAlexander Motin "BriefDescription": "Instruction per taken branch", 7492b14858SMatt Macy "MetricGroup": "Branches;Fetch_BW;PGO", 7592b14858SMatt Macy "MetricName": "IpTB" 7692b14858SMatt Macy }, 7792b14858SMatt Macy { 78959826caSMatt Macy "MetricExpr": "1 / (INST_RETIRED.ANY / cycles)", 79*52d973f5SAlexander Motin "BriefDescription": "Cycles Per Instruction (per Logical Processor)", 80*52d973f5SAlexander Motin "MetricGroup": "Pipeline", 81959826caSMatt Macy "MetricName": "CPI" 82959826caSMatt Macy }, 83959826caSMatt Macy { 84959826caSMatt Macy "MetricExpr": "CPU_CLK_UNHALTED.THREAD", 85*52d973f5SAlexander Motin "BriefDescription": "Per-Logical Processor actual clocks when the Logical Processor is active.", 86959826caSMatt Macy "MetricGroup": "Summary", 87959826caSMatt Macy "MetricName": "CLKS" 88959826caSMatt Macy }, 89959826caSMatt Macy { 9092b14858SMatt Macy "MetricExpr": "4 * cycles", 91*52d973f5SAlexander Motin "BriefDescription": "Total issue-pipeline slots (per-Physical Core till ICL; per-Logical Processor ICL onward)", 92959826caSMatt Macy "MetricGroup": "TopDownL1", 93959826caSMatt Macy "MetricName": "SLOTS" 94959826caSMatt Macy }, 95959826caSMatt Macy { 96*52d973f5SAlexander Motin "MetricExpr": "4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )", 97*52d973f5SAlexander Motin "BriefDescription": "Total issue-pipeline slots (per-Physical Core till ICL; per-Logical Processor ICL onward)", 9892b14858SMatt Macy "MetricGroup": "TopDownL1_SMT", 9992b14858SMatt Macy "MetricName": "SLOTS_SMT" 10092b14858SMatt Macy }, 10192b14858SMatt Macy { 10292b14858SMatt Macy "MetricExpr": "INST_RETIRED.ANY / cycles", 103*52d973f5SAlexander Motin "BriefDescription": "Instructions Per Cycle (per physical core)", 104*52d973f5SAlexander Motin "MetricGroup": "SMT;TopDownL1", 105959826caSMatt Macy "MetricName": "CoreIPC" 106959826caSMatt Macy }, 107959826caSMatt Macy { 108*52d973f5SAlexander Motin "MetricExpr": "INST_RETIRED.ANY / ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )", 10992b14858SMatt Macy "BriefDescription": "Instructions Per Cycle (per physical core)", 110*52d973f5SAlexander Motin "MetricGroup": "SMT;TopDownL1", 11192b14858SMatt Macy "MetricName": "CoreIPC_SMT" 11292b14858SMatt Macy }, 11392b14858SMatt Macy { 114*52d973f5SAlexander Motin "MetricExpr": "( 1 * ( FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE ) + 2 * FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + 4 * ( FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE ) + 8 * FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE ) / cycles", 11592b14858SMatt Macy "BriefDescription": "Floating Point Operations Per Cycle", 11692b14858SMatt Macy "MetricGroup": "FLOPS", 11792b14858SMatt Macy "MetricName": "FLOPc" 11892b14858SMatt Macy }, 11992b14858SMatt Macy { 120*52d973f5SAlexander Motin "MetricExpr": "( 1 * ( FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE ) + 2 * FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + 4 * ( FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE ) + 8 * FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE ) / ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )", 12192b14858SMatt Macy "BriefDescription": "Floating Point Operations Per Cycle", 12292b14858SMatt Macy "MetricGroup": "FLOPS_SMT", 12392b14858SMatt Macy "MetricName": "FLOPc_SMT" 12492b14858SMatt Macy }, 12592b14858SMatt Macy { 126*52d973f5SAlexander Motin "MetricExpr": "UOPS_EXECUTED.THREAD / ( UOPS_EXECUTED.CORE_CYCLES_GE_1 / 2 )", 127959826caSMatt Macy "BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)", 128*52d973f5SAlexander Motin "MetricGroup": "Pipeline;Ports_Utilization", 129959826caSMatt Macy "MetricName": "ILP" 130959826caSMatt Macy }, 131959826caSMatt Macy { 13292b14858SMatt Macy "MetricExpr": "( ((BR_MISP_RETIRED.ALL_BRANCHES / ( BR_MISP_RETIRED.ALL_BRANCHES + MACHINE_CLEARS.COUNT )) * (( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * INT_MISC.RECOVERY_CYCLES ) / (4 * cycles))) + (4 * IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE / (4 * cycles)) * (( INT_MISC.CLEAR_RESTEER_CYCLES + 9 * BACLEARS.ANY ) / cycles) / (4 * IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE / (4 * cycles)) ) * (4 * cycles) / BR_MISP_RETIRED.ALL_BRANCHES", 133*52d973f5SAlexander Motin "BriefDescription": "Branch Misprediction Cost: Fraction of TMA slots wasted per non-speculative branch misprediction (retired JEClear)", 13492b14858SMatt Macy "MetricGroup": "BrMispredicts", 13592b14858SMatt Macy "MetricName": "Branch_Misprediction_Cost" 136959826caSMatt Macy }, 137959826caSMatt Macy { 138*52d973f5SAlexander Motin "MetricExpr": "( ((BR_MISP_RETIRED.ALL_BRANCHES / ( BR_MISP_RETIRED.ALL_BRANCHES + MACHINE_CLEARS.COUNT )) * (( UOPS_ISSUED.ANY - UOPS_RETIRED.RETIRE_SLOTS + 4 * ( INT_MISC.RECOVERY_CYCLES_ANY / 2 ) ) / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )))) + (4 * IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) * (( INT_MISC.CLEAR_RESTEER_CYCLES + 9 * BACLEARS.ANY ) / cycles) / (4 * IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE / (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ))) ) * (4 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )) / BR_MISP_RETIRED.ALL_BRANCHES", 139*52d973f5SAlexander Motin "BriefDescription": "Branch Misprediction Cost: Fraction of TMA slots wasted per non-speculative branch misprediction (retired JEClear)", 14092b14858SMatt Macy "MetricGroup": "BrMispredicts_SMT", 14192b14858SMatt Macy "MetricName": "Branch_Misprediction_Cost_SMT" 14292b14858SMatt Macy }, 14392b14858SMatt Macy { 14492b14858SMatt Macy "MetricExpr": "INST_RETIRED.ANY / BR_MISP_RETIRED.ALL_BRANCHES", 145*52d973f5SAlexander Motin "BriefDescription": "Number of Instructions per non-speculative Branch Misprediction (JEClear)", 14692b14858SMatt Macy "MetricGroup": "BrMispredicts", 14792b14858SMatt Macy "MetricName": "IpMispredict" 14892b14858SMatt Macy }, 14992b14858SMatt Macy { 15092b14858SMatt Macy "MetricExpr": "( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) )", 151*52d973f5SAlexander Motin "BriefDescription": "Core actual clocks when any Logical Processor is active on the Physical Core", 152959826caSMatt Macy "MetricGroup": "SMT", 153959826caSMatt Macy "MetricName": "CORE_CLKS" 154959826caSMatt Macy }, 155959826caSMatt Macy { 156*52d973f5SAlexander Motin "MetricExpr": "INST_RETIRED.ANY / MEM_INST_RETIRED.ALL_LOADS", 157*52d973f5SAlexander Motin "BriefDescription": "Instructions per Load (lower number means higher occurrence rate)", 158*52d973f5SAlexander Motin "MetricGroup": "Instruction_Type", 159*52d973f5SAlexander Motin "MetricName": "IpLoad" 160*52d973f5SAlexander Motin }, 161*52d973f5SAlexander Motin { 162*52d973f5SAlexander Motin "MetricExpr": "INST_RETIRED.ANY / MEM_INST_RETIRED.ALL_STORES", 163*52d973f5SAlexander Motin "BriefDescription": "Instructions per Store (lower number means higher occurrence rate)", 164*52d973f5SAlexander Motin "MetricGroup": "Instruction_Type", 165*52d973f5SAlexander Motin "MetricName": "IpStore" 166*52d973f5SAlexander Motin }, 167*52d973f5SAlexander Motin { 168*52d973f5SAlexander Motin "MetricExpr": "INST_RETIRED.ANY / BR_INST_RETIRED.ALL_BRANCHES", 169*52d973f5SAlexander Motin "BriefDescription": "Instructions per Branch (lower number means higher occurrence rate)", 170*52d973f5SAlexander Motin "MetricGroup": "Branches;Instruction_Type", 171*52d973f5SAlexander Motin "MetricName": "IpBranch" 172*52d973f5SAlexander Motin }, 173*52d973f5SAlexander Motin { 174*52d973f5SAlexander Motin "MetricExpr": "INST_RETIRED.ANY / BR_INST_RETIRED.NEAR_CALL", 175*52d973f5SAlexander Motin "BriefDescription": "Instructions per (near) call (lower number means higher occurrence rate)", 176*52d973f5SAlexander Motin "MetricGroup": "Branches", 177*52d973f5SAlexander Motin "MetricName": "IpCall" 178*52d973f5SAlexander Motin }, 179*52d973f5SAlexander Motin { 180*52d973f5SAlexander Motin "MetricExpr": "BR_INST_RETIRED.ALL_BRANCHES / BR_INST_RETIRED.NEAR_TAKEN", 181*52d973f5SAlexander Motin "BriefDescription": "Branch instructions per taken branch. ", 182*52d973f5SAlexander Motin "MetricGroup": "Branches;PGO", 183*52d973f5SAlexander Motin "MetricName": "BpTkBranch" 184*52d973f5SAlexander Motin }, 185*52d973f5SAlexander Motin { 186*52d973f5SAlexander Motin "MetricExpr": "INST_RETIRED.ANY / ( 1 * ( FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE ) + 2 * FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + 4 * ( FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE ) + 8 * FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE )", 187*52d973f5SAlexander Motin "BriefDescription": "Instructions per Floating Point (FP) Operation (lower number means higher occurrence rate)", 188*52d973f5SAlexander Motin "MetricGroup": "FLOPS;FP_Arith;Instruction_Type", 189*52d973f5SAlexander Motin "MetricName": "IpFLOP" 190*52d973f5SAlexander Motin }, 191*52d973f5SAlexander Motin { 192*52d973f5SAlexander Motin "MetricExpr": "INST_RETIRED.ANY", 193*52d973f5SAlexander Motin "BriefDescription": "Total number of retired Instructions", 194*52d973f5SAlexander Motin "MetricGroup": "Summary;TopDownL1", 195*52d973f5SAlexander Motin "MetricName": "Instructions" 196*52d973f5SAlexander Motin }, 197*52d973f5SAlexander Motin { 198*52d973f5SAlexander Motin "MetricExpr": "IDQ.DSB_UOPS / (IDQ.DSB_UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS)", 199*52d973f5SAlexander Motin "BriefDescription": "Fraction of Uops delivered by the DSB (aka Decoded ICache; or Uop Cache)", 200*52d973f5SAlexander Motin "MetricGroup": "DSB;Fetch_BW", 201*52d973f5SAlexander Motin "MetricName": "DSB_Coverage" 202*52d973f5SAlexander Motin }, 203*52d973f5SAlexander Motin { 20492b14858SMatt Macy "MetricExpr": "L1D_PEND_MISS.PENDING / ( MEM_LOAD_RETIRED.L1_MISS + MEM_LOAD_RETIRED.FB_HIT )", 205*52d973f5SAlexander Motin "BriefDescription": "Actual Average Latency for L1 data-cache miss demand loads (in core cycles)", 206959826caSMatt Macy "MetricGroup": "Memory_Bound;Memory_Lat", 207959826caSMatt Macy "MetricName": "Load_Miss_Real_Latency" 208959826caSMatt Macy }, 209959826caSMatt Macy { 21092b14858SMatt Macy "MetricExpr": "L1D_PEND_MISS.PENDING / L1D_PEND_MISS.PENDING_CYCLES", 211*52d973f5SAlexander Motin "BriefDescription": "Memory-Level-Parallelism (average number of L1 miss demand load when there is at least one such miss. Per-Logical Processor)", 212959826caSMatt Macy "MetricGroup": "Memory_Bound;Memory_BW", 213959826caSMatt Macy "MetricName": "MLP" 214959826caSMatt Macy }, 215959826caSMatt Macy { 216*52d973f5SAlexander Motin "MetricConstraint": "NO_NMI_WATCHDOG", 21792b14858SMatt Macy "MetricExpr": "( ITLB_MISSES.WALK_PENDING + DTLB_LOAD_MISSES.WALK_PENDING + DTLB_STORE_MISSES.WALK_PENDING + EPT.WALK_PENDING ) / ( 2 * cycles )", 218*52d973f5SAlexander Motin "BriefDescription": "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses", 219959826caSMatt Macy "MetricGroup": "TLB", 220*52d973f5SAlexander Motin "MetricName": "Page_Walks_Utilization" 22192b14858SMatt Macy }, 22292b14858SMatt Macy { 223*52d973f5SAlexander Motin "MetricExpr": "( ITLB_MISSES.WALK_PENDING + DTLB_LOAD_MISSES.WALK_PENDING + DTLB_STORE_MISSES.WALK_PENDING + EPT.WALK_PENDING ) / ( 2 * ( ( CPU_CLK_UNHALTED.THREAD / 2 ) * ( 1 + CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK ) ) )", 22492b14858SMatt Macy "BriefDescription": "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses", 22592b14858SMatt Macy "MetricGroup": "TLB_SMT", 22692b14858SMatt Macy "MetricName": "Page_Walks_Utilization_SMT" 22792b14858SMatt Macy }, 22892b14858SMatt Macy { 22992b14858SMatt Macy "MetricExpr": "64 * L1D.REPLACEMENT / 1000000000 / duration_time", 230*52d973f5SAlexander Motin "BriefDescription": "Average data fill bandwidth to the L1 data cache [GB / sec]", 23192b14858SMatt Macy "MetricGroup": "Memory_BW", 23292b14858SMatt Macy "MetricName": "L1D_Cache_Fill_BW" 23392b14858SMatt Macy }, 23492b14858SMatt Macy { 23592b14858SMatt Macy "MetricExpr": "64 * L2_LINES_IN.ALL / 1000000000 / duration_time", 236*52d973f5SAlexander Motin "BriefDescription": "Average data fill bandwidth to the L2 cache [GB / sec]", 23792b14858SMatt Macy "MetricGroup": "Memory_BW", 23892b14858SMatt Macy "MetricName": "L2_Cache_Fill_BW" 23992b14858SMatt Macy }, 24092b14858SMatt Macy { 24192b14858SMatt Macy "MetricExpr": "64 * LONGEST_LAT_CACHE.MISS / 1000000000 / duration_time", 242*52d973f5SAlexander Motin "BriefDescription": "Average per-core data fill bandwidth to the L3 cache [GB / sec]", 24392b14858SMatt Macy "MetricGroup": "Memory_BW", 24492b14858SMatt Macy "MetricName": "L3_Cache_Fill_BW" 24592b14858SMatt Macy }, 24692b14858SMatt Macy { 24792b14858SMatt Macy "MetricExpr": "64 * OFFCORE_REQUESTS.ALL_REQUESTS / 1000000000 / duration_time", 248*52d973f5SAlexander Motin "BriefDescription": "Average per-core data access bandwidth to the L3 cache [GB / sec]", 249*52d973f5SAlexander Motin "MetricGroup": "Memory_BW;Offcore", 25092b14858SMatt Macy "MetricName": "L3_Cache_Access_BW" 25192b14858SMatt Macy }, 25292b14858SMatt Macy { 25392b14858SMatt Macy "MetricExpr": "1000 * MEM_LOAD_RETIRED.L1_MISS / INST_RETIRED.ANY", 254*52d973f5SAlexander Motin "BriefDescription": "L1 cache true misses per kilo instruction for retired demand loads", 25592b14858SMatt Macy "MetricGroup": "Cache_Misses", 25692b14858SMatt Macy "MetricName": "L1MPKI" 25792b14858SMatt Macy }, 25892b14858SMatt Macy { 25992b14858SMatt Macy "MetricExpr": "1000 * MEM_LOAD_RETIRED.L2_MISS / INST_RETIRED.ANY", 260*52d973f5SAlexander Motin "BriefDescription": "L2 cache true misses per kilo instruction for retired demand loads", 26192b14858SMatt Macy "MetricGroup": "Cache_Misses", 26292b14858SMatt Macy "MetricName": "L2MPKI" 26392b14858SMatt Macy }, 26492b14858SMatt Macy { 26592b14858SMatt Macy "MetricExpr": "1000 * L2_RQSTS.MISS / INST_RETIRED.ANY", 266*52d973f5SAlexander Motin "BriefDescription": "L2 cache misses per kilo instruction for all request types (including speculative)", 267*52d973f5SAlexander Motin "MetricGroup": "Cache_Misses;Offcore", 26892b14858SMatt Macy "MetricName": "L2MPKI_All" 26992b14858SMatt Macy }, 27092b14858SMatt Macy { 27192b14858SMatt Macy "MetricExpr": "1000 * ( L2_RQSTS.REFERENCES - L2_RQSTS.MISS ) / INST_RETIRED.ANY", 272*52d973f5SAlexander Motin "BriefDescription": "L2 cache hits per kilo instruction for all request types (including speculative)", 27392b14858SMatt Macy "MetricGroup": "Cache_Misses", 27492b14858SMatt Macy "MetricName": "L2HPKI_All" 27592b14858SMatt Macy }, 27692b14858SMatt Macy { 27792b14858SMatt Macy "MetricExpr": "1000 * MEM_LOAD_RETIRED.L3_MISS / INST_RETIRED.ANY", 278*52d973f5SAlexander Motin "BriefDescription": "L3 cache true misses per kilo instruction for retired demand loads", 27992b14858SMatt Macy "MetricGroup": "Cache_Misses", 28092b14858SMatt Macy "MetricName": "L3MPKI" 281959826caSMatt Macy }, 282959826caSMatt Macy { 283959826caSMatt Macy "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC / msr@tsc@", 284*52d973f5SAlexander Motin "BriefDescription": "Average CPU Utilization", 285*52d973f5SAlexander Motin "MetricGroup": "HPC;Summary", 286959826caSMatt Macy "MetricName": "CPU_Utilization" 287959826caSMatt Macy }, 288959826caSMatt Macy { 289*52d973f5SAlexander Motin "MetricExpr": "( ( 1 * ( FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE ) + 2 * FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + 4 * ( FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE ) + 8 * FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE ) / 1000000000 ) / duration_time", 290959826caSMatt Macy "BriefDescription": "Giga Floating Point Operations Per Second", 291*52d973f5SAlexander Motin "MetricGroup": "FLOPS;HPC", 292959826caSMatt Macy "MetricName": "GFLOPs" 293959826caSMatt Macy }, 294959826caSMatt Macy { 295959826caSMatt Macy "MetricExpr": "CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC", 296*52d973f5SAlexander Motin "BriefDescription": "Average Frequency Utilization relative nominal frequency", 297959826caSMatt Macy "MetricGroup": "Power", 298959826caSMatt Macy "MetricName": "Turbo_Utilization" 299959826caSMatt Macy }, 300959826caSMatt Macy { 301*52d973f5SAlexander Motin "MetricExpr": "1 - CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE / ( CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY / 2 )", 30292b14858SMatt Macy "BriefDescription": "Fraction of cycles where both hardware Logical Processors were active", 303*52d973f5SAlexander Motin "MetricGroup": "SMT", 304959826caSMatt Macy "MetricName": "SMT_2T_Utilization" 305959826caSMatt Macy }, 306959826caSMatt Macy { 307*52d973f5SAlexander Motin "MetricExpr": "CPU_CLK_UNHALTED.THREAD:k / CPU_CLK_UNHALTED.THREAD", 308*52d973f5SAlexander Motin "BriefDescription": "Fraction of cycles spent in the Operating System (OS) Kernel mode", 309*52d973f5SAlexander Motin "MetricGroup": "OS", 310959826caSMatt Macy "MetricName": "Kernel_Utilization" 311959826caSMatt Macy }, 312959826caSMatt Macy { 31392b14858SMatt Macy "MetricExpr": "64 * ( arb@event\\=0x81\\,umask\\=0x1@ + arb@event\\=0x84\\,umask\\=0x1@ ) / 1000000 / duration_time / 1000", 314*52d973f5SAlexander Motin "BriefDescription": "Average external Memory Bandwidth Use for reads and writes [GB / sec]", 315*52d973f5SAlexander Motin "MetricGroup": "HPC;Memory_BW;SoC", 31692b14858SMatt Macy "MetricName": "DRAM_BW_Use" 31792b14858SMatt Macy }, 31892b14858SMatt Macy { 319*52d973f5SAlexander Motin "MetricExpr": "arb@event\\=0x80\\,umask\\=0x2@ / arb@event\\=0x80\\,umask\\=0x2\\,cmask\\=1@", 32092b14858SMatt Macy "BriefDescription": "Average number of parallel data read requests to external memory. Accounts for demand loads and L1/L2 prefetches", 321*52d973f5SAlexander Motin "MetricGroup": "Memory_BW;SoC", 322*52d973f5SAlexander Motin "MetricName": "MEM_Parallel_Reads" 32392b14858SMatt Macy }, 32492b14858SMatt Macy { 32592b14858SMatt Macy "MetricExpr": "INST_RETIRED.ANY / ( BR_INST_RETIRED.FAR_BRANCH / 2 )", 326*52d973f5SAlexander Motin "BriefDescription": "Instructions per Far Branch ( Far Branches apply upon transition from application to operating system, handling interrupts, exceptions) [lower number means higher occurrence rate]", 327*52d973f5SAlexander Motin "MetricGroup": "Branches;OS", 32892b14858SMatt Macy "MetricName": "IpFarBranch" 32992b14858SMatt Macy }, 33092b14858SMatt Macy { 331959826caSMatt Macy "MetricExpr": "(cstate_core@c3\\-residency@ / msr@tsc@) * 100", 332*52d973f5SAlexander Motin "BriefDescription": "C3 residency percent per core", 333959826caSMatt Macy "MetricGroup": "Power", 334959826caSMatt Macy "MetricName": "C3_Core_Residency" 335959826caSMatt Macy }, 336959826caSMatt Macy { 337959826caSMatt Macy "MetricExpr": "(cstate_core@c6\\-residency@ / msr@tsc@) * 100", 338*52d973f5SAlexander Motin "BriefDescription": "C6 residency percent per core", 339959826caSMatt Macy "MetricGroup": "Power", 340959826caSMatt Macy "MetricName": "C6_Core_Residency" 341959826caSMatt Macy }, 342959826caSMatt Macy { 343959826caSMatt Macy "MetricExpr": "(cstate_core@c7\\-residency@ / msr@tsc@) * 100", 344*52d973f5SAlexander Motin "BriefDescription": "C7 residency percent per core", 345959826caSMatt Macy "MetricGroup": "Power", 346959826caSMatt Macy "MetricName": "C7_Core_Residency" 347959826caSMatt Macy }, 348959826caSMatt Macy { 349959826caSMatt Macy "MetricExpr": "(cstate_pkg@c2\\-residency@ / msr@tsc@) * 100", 350*52d973f5SAlexander Motin "BriefDescription": "C2 residency percent per package", 351959826caSMatt Macy "MetricGroup": "Power", 352959826caSMatt Macy "MetricName": "C2_Pkg_Residency" 353959826caSMatt Macy }, 354959826caSMatt Macy { 355959826caSMatt Macy "MetricExpr": "(cstate_pkg@c3\\-residency@ / msr@tsc@) * 100", 356*52d973f5SAlexander Motin "BriefDescription": "C3 residency percent per package", 357959826caSMatt Macy "MetricGroup": "Power", 358959826caSMatt Macy "MetricName": "C3_Pkg_Residency" 359959826caSMatt Macy }, 360959826caSMatt Macy { 361959826caSMatt Macy "MetricExpr": "(cstate_pkg@c6\\-residency@ / msr@tsc@) * 100", 362*52d973f5SAlexander Motin "BriefDescription": "C6 residency percent per package", 363959826caSMatt Macy "MetricGroup": "Power", 364959826caSMatt Macy "MetricName": "C6_Pkg_Residency" 365959826caSMatt Macy }, 366959826caSMatt Macy { 367959826caSMatt Macy "MetricExpr": "(cstate_pkg@c7\\-residency@ / msr@tsc@) * 100", 368*52d973f5SAlexander Motin "BriefDescription": "C7 residency percent per package", 369959826caSMatt Macy "MetricGroup": "Power", 370959826caSMatt Macy "MetricName": "C7_Pkg_Residency" 371959826caSMatt Macy } 372959826caSMatt Macy] 373