1[ 2 { 3 "BriefDescription": "Instructions Per Cycle (per logical thread)", 4 "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD", 5 "MetricGroup": "TopDownL1", 6 "MetricName": "IPC" 7 }, 8 { 9 "BriefDescription": "Uops Per Instruction", 10 "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY", 11 "MetricGroup": "Pipeline", 12 "MetricName": "UPI" 13 }, 14 { 15 "BriefDescription": "Rough Estimation of fraction of fetched lines bytes that were likely consumed by program instructions", 16 "MetricExpr": "min( 1 , UOPS_ISSUED.ANY / (UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY * 64 * ( ICACHE_64B.IFTAG_HIT + ICACHE_64B.IFTAG_MISS ) / 4.1) )", 17 "MetricGroup": "Frontend", 18 "MetricName": "IFetch_Line_Utilization" 19 }, 20 { 21 "BriefDescription": "Fraction of Uops delivered by the DSB (aka Decoded ICache; or Uop Cache)", 22 "MetricExpr": "IDQ.DSB_UOPS / ( IDQ.DSB_UOPS + LSD.UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS )", 23 "MetricGroup": "DSB; Frontend_Bandwidth", 24 "MetricName": "DSB_Coverage" 25 }, 26 { 27 "BriefDescription": "Cycles Per Instruction (threaded)", 28 "MetricExpr": "1 / INST_RETIRED.ANY / cycles", 29 "MetricGroup": "Pipeline;Summary", 30 "MetricName": "CPI" 31 }, 32 { 33 "BriefDescription": "Per-thread actual clocks when the logical processor is active. This is called 'Clockticks' in VTune.", 34 "MetricExpr": "CPU_CLK_UNHALTED.THREAD", 35 "MetricGroup": "Summary", 36 "MetricName": "CLKS" 37 }, 38 { 39 "BriefDescription": "Total issue-pipeline slots (per-core)", 40 "MetricExpr": "4*cycles if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if #EBS_Mode else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 )", 41 "MetricGroup": "TopDownL1", 42 "MetricName": "SLOTS" 43 }, 44 { 45 "BriefDescription": "Total number of retired Instructions", 46 "MetricExpr": "INST_RETIRED.ANY", 47 "MetricGroup": "Summary", 48 "MetricName": "Instructions" 49 }, 50 { 51 "BriefDescription": "Instructions Per Cycle (per physical core)", 52 "MetricExpr": "INST_RETIRED.ANY / cycles if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if #EBS_Mode else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 )", 53 "MetricGroup": "SMT", 54 "MetricName": "CoreIPC" 55 }, 56 { 57 "BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)", 58 "MetricExpr": "UOPS_EXECUTED.THREAD / ( UOPS_EXECUTED.CORE_CYCLES_GE_1 / 2) if #SMT_on else UOPS_EXECUTED.CORE_CYCLES_GE_1", 59 "MetricGroup": "Pipeline;Ports_Utilization", 60 "MetricName": "ILP" 61 }, 62 { 63 "BriefDescription": "Average Branch Address Clear Cost (fraction of cycles)", 64 "MetricExpr": "( RS_EVENTS.EMPTY_CYCLES - (ICACHE_16B.IFDATA_STALL +2* ICACHE_16B.IFDATA_STALL:c1:e1) - ICACHE_64B.IFTAG_STALL ) / RS_EVENTS.EMPTY_END", 65 "MetricGroup": "Unknown_Branches", 66 "MetricName": "BAClear_Cost" 67 }, 68 { 69 "BriefDescription": "Core actual clocks when any thread is active on the physical core", 70 "MetricExpr": "CPU_CLK_UNHALTED.THREAD if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if 1 else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 )", 71 "MetricGroup": "SMT", 72 "MetricName": "CORE_CLKS" 73 }, 74 { 75 "BriefDescription": "Actual Average Latency for L1 data-cache miss demand loads", 76 "MetricExpr": "L1D_PEND_MISS.PENDING / ( MEM_LOAD_RETIRED.L1_MISS_PS + MEM_LOAD_RETIRED.FB_HIT_PS )", 77 "MetricGroup": "Memory_Bound;Memory_Lat", 78 "MetricName": "Load_Miss_Real_Latency" 79 }, 80 { 81 "BriefDescription": "Memory-Level-Parallelism (average number of L1 miss demand load when there is at least 1 such miss)", 82 "MetricExpr": "L1D_PEND_MISS.PENDING / ( L1D_PEND_MISS.PENDING_CYCLES_ANY / 2) if #SMT_on else L1D_PEND_MISS.PENDING_CYCLES", 83 "MetricGroup": "Memory_Bound;Memory_BW", 84 "MetricName": "MLP" 85 }, 86 { 87 "BriefDescription": "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses", 88 "MetricExpr": "( ITLB_MISSES.WALK_PENDING + DTLB_LOAD_MISSES.WALK_PENDING + DTLB_STORE_MISSES.WALK_PENDING + EPT.WALK_PENDING ) / ( 2 * cycles if not #SMT_on else (( CPU_CLK_UNHALTED.THREAD / 2) * (CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_XCLK )) if #EBS_Mode else ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) )", 89 "MetricGroup": "TLB", 90 "MetricName": "Page_Walks_Utilization" 91 }, 92 { 93 "BriefDescription": "L1 cache miss per kilo instruction for demand loads", 94 "MetricExpr": "1000 * MEM_LOAD_RETIRED.L1_MISS_PS / INST_RETIRED.ANY", 95 "MetricGroup": "Cache_Misses;", 96 "MetricName": "L1MPKI" 97 }, 98 { 99 "BriefDescription": "L2 cache miss per kilo instruction for demand loads", 100 "MetricExpr": "1000 * MEM_LOAD_RETIRED.L2_MISS_PS / INST_RETIRED.ANY", 101 "MetricGroup": "Cache_Misses;", 102 "MetricName": "L2MPKI" 103 }, 104 { 105 "BriefDescription": "L3 cache miss per kilo instruction for demand loads", 106 "MetricExpr": "1000 * MEM_LOAD_RETIRED.L3_MISS_PS / INST_RETIRED.ANY", 107 "MetricGroup": "Cache_Misses;", 108 "MetricName": "L3MPKI" 109 }, 110 { 111 "BriefDescription": "Average CPU Utilization", 112 "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC / msr@tsc@", 113 "MetricGroup": "Summary", 114 "MetricName": "CPU_Utilization" 115 }, 116 { 117 "BriefDescription": "Giga Floating Point Operations Per Second", 118 "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 + FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE ) + 16* FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE) / 1000000000 / duration_time", 119 "MetricGroup": "FLOPS;Summary", 120 "MetricName": "GFLOPs" 121 }, 122 { 123 "BriefDescription": "Average Frequency Utilization relative nominal frequency", 124 "MetricExpr": "CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC", 125 "MetricGroup": "Power", 126 "MetricName": "Turbo_Utilization" 127 }, 128 { 129 "BriefDescription": "Fraction of cycles where both hardware threads were active", 130 "MetricExpr": "1 - CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE / ( CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY / 2 ) if #SMT_on else 0", 131 "MetricGroup": "SMT;Summary", 132 "MetricName": "SMT_2T_Utilization" 133 }, 134 { 135 "BriefDescription": "Fraction of cycles spent in Kernel mode", 136 "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC:u / CPU_CLK_UNHALTED.REF_TSC", 137 "MetricGroup": "Summary", 138 "MetricName": "Kernel_Utilization" 139 }, 140 { 141 "BriefDescription": "C3 residency percent per core", 142 "MetricExpr": "(cstate_core@c3\\-residency@ / msr@tsc@) * 100", 143 "MetricGroup": "Power", 144 "MetricName": "C3_Core_Residency" 145 }, 146 { 147 "BriefDescription": "C6 residency percent per core", 148 "MetricExpr": "(cstate_core@c6\\-residency@ / msr@tsc@) * 100", 149 "MetricGroup": "Power", 150 "MetricName": "C6_Core_Residency" 151 }, 152 { 153 "BriefDescription": "C7 residency percent per core", 154 "MetricExpr": "(cstate_core@c7\\-residency@ / msr@tsc@) * 100", 155 "MetricGroup": "Power", 156 "MetricName": "C7_Core_Residency" 157 }, 158 { 159 "BriefDescription": "C2 residency percent per package", 160 "MetricExpr": "(cstate_pkg@c2\\-residency@ / msr@tsc@) * 100", 161 "MetricGroup": "Power", 162 "MetricName": "C2_Pkg_Residency" 163 }, 164 { 165 "BriefDescription": "C3 residency percent per package", 166 "MetricExpr": "(cstate_pkg@c3\\-residency@ / msr@tsc@) * 100", 167 "MetricGroup": "Power", 168 "MetricName": "C3_Pkg_Residency" 169 }, 170 { 171 "BriefDescription": "C6 residency percent per package", 172 "MetricExpr": "(cstate_pkg@c6\\-residency@ / msr@tsc@) * 100", 173 "MetricGroup": "Power", 174 "MetricName": "C6_Pkg_Residency" 175 }, 176 { 177 "BriefDescription": "C7 residency percent per package", 178 "MetricExpr": "(cstate_pkg@c7\\-residency@ / msr@tsc@) * 100", 179 "MetricGroup": "Power", 180 "MetricName": "C7_Pkg_Residency" 181 } 182] 183