197dca671SAndi Kleen[
297dca671SAndi Kleen    {
397dca671SAndi Kleen        "BriefDescription": "Instructions Per Cycle (per logical thread)",
497dca671SAndi Kleen        "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD",
597dca671SAndi Kleen        "MetricGroup": "TopDownL1",
697dca671SAndi Kleen        "MetricName": "IPC"
797dca671SAndi Kleen    },
897dca671SAndi Kleen    {
997dca671SAndi Kleen        "BriefDescription": "Uops Per Instruction",
1097dca671SAndi Kleen        "MetricExpr": "UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY",
1197dca671SAndi Kleen        "MetricGroup": "Pipeline",
1297dca671SAndi Kleen        "MetricName": "UPI"
1397dca671SAndi Kleen    },
1497dca671SAndi Kleen    {
1597dca671SAndi Kleen        "BriefDescription": "Rough Estimation of fraction of fetched lines bytes that were likely consumed by program instructions",
1697dca671SAndi Kleen        "MetricExpr": "min( 1 , UOPS_ISSUED.ANY / ( UOPS_RETIRED.RETIRE_SLOTS / INST_RETIRED.ANY * 32 * ( ICACHE.HIT + ICACHE.MISSES ) / 4) )",
1797dca671SAndi Kleen        "MetricGroup": "Frontend",
1897dca671SAndi Kleen        "MetricName": "IFetch_Line_Utilization"
1997dca671SAndi Kleen    },
2097dca671SAndi Kleen    {
2197dca671SAndi Kleen        "BriefDescription": "Fraction of Uops delivered by the DSB (aka Decoded Icache; or Uop Cache)",
2297dca671SAndi Kleen        "MetricExpr": "IDQ.DSB_UOPS / ( IDQ.DSB_UOPS + LSD.UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS )",
2397dca671SAndi Kleen        "MetricGroup": "DSB; Frontend_Bandwidth",
2497dca671SAndi Kleen        "MetricName": "DSB_Coverage"
2597dca671SAndi Kleen    },
2697dca671SAndi Kleen    {
2797dca671SAndi Kleen        "BriefDescription": "Cycles Per Instruction (threaded)",
2897dca671SAndi Kleen        "MetricExpr": "1 / INST_RETIRED.ANY / cycles",
2997dca671SAndi Kleen        "MetricGroup": "Pipeline;Summary",
3097dca671SAndi Kleen        "MetricName": "CPI"
3197dca671SAndi Kleen    },
3297dca671SAndi Kleen    {
3397dca671SAndi Kleen        "BriefDescription": "Per-thread actual clocks when the logical processor is active. This is called 'Clockticks' in VTune.",
3497dca671SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.THREAD",
3597dca671SAndi Kleen        "MetricGroup": "Summary",
3697dca671SAndi Kleen        "MetricName": "CLKS"
3797dca671SAndi Kleen    },
3897dca671SAndi Kleen    {
3997dca671SAndi Kleen        "BriefDescription": "Total issue-pipeline slots",
4097dca671SAndi Kleen        "MetricExpr": "4*( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles",
4197dca671SAndi Kleen        "MetricGroup": "TopDownL1",
4297dca671SAndi Kleen        "MetricName": "SLOTS"
4397dca671SAndi Kleen    },
4497dca671SAndi Kleen    {
4597dca671SAndi Kleen        "BriefDescription": "Total number of retired Instructions",
4697dca671SAndi Kleen        "MetricExpr": "INST_RETIRED.ANY",
4797dca671SAndi Kleen        "MetricGroup": "Summary",
4897dca671SAndi Kleen        "MetricName": "Instructions"
4997dca671SAndi Kleen    },
5097dca671SAndi Kleen    {
5197dca671SAndi Kleen        "BriefDescription": "Instructions Per Cycle (per physical core)",
5297dca671SAndi Kleen        "MetricExpr": "INST_RETIRED.ANY / ( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else cycles",
5397dca671SAndi Kleen        "MetricGroup": "SMT",
5497dca671SAndi Kleen        "MetricName": "CoreIPC"
5597dca671SAndi Kleen    },
5697dca671SAndi Kleen    {
5797dca671SAndi Kleen        "BriefDescription": "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)",
5897dca671SAndi Kleen	"MetricExpr": "UOPS_DISPATCHED.THREAD / ( cpu@UOPS_DISPATCHED.CORE\\,cmask\\=1@ / 2) if #SMT_on else cpu@UOPS_DISPATCHED.CORE\\,cmask\\=1@",
5997dca671SAndi Kleen        "MetricGroup": "Pipeline;Ports_Utilization",
6097dca671SAndi Kleen        "MetricName": "ILP"
6197dca671SAndi Kleen    },
6297dca671SAndi Kleen    {
6397dca671SAndi Kleen        "BriefDescription": "Core actual clocks when any thread is active on the physical core",
6497dca671SAndi Kleen        "MetricExpr": "( CPU_CLK_UNHALTED.THREAD_ANY / 2 ) if #SMT_on else CPU_CLK_UNHALTED.THREAD",
6597dca671SAndi Kleen        "MetricGroup": "SMT",
6697dca671SAndi Kleen        "MetricName": "CORE_CLKS"
6797dca671SAndi Kleen    },
6897dca671SAndi Kleen    {
6997dca671SAndi Kleen        "BriefDescription": "Average CPU Utilization",
7097dca671SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC / msr@tsc@",
7197dca671SAndi Kleen        "MetricGroup": "Summary",
7297dca671SAndi Kleen        "MetricName": "CPU_Utilization"
7397dca671SAndi Kleen    },
7497dca671SAndi Kleen    {
7597dca671SAndi Kleen        "BriefDescription": "Giga Floating Point Operations Per Second",
7697dca671SAndi Kleen        "MetricExpr": "( 1*( FP_COMP_OPS_EXE.SSE_SCALAR_SINGLE + FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE ) + 2* FP_COMP_OPS_EXE.SSE_PACKED_DOUBLE + 4*( FP_COMP_OPS_EXE.SSE_PACKED_SINGLE + SIMD_FP_256.PACKED_DOUBLE ) + 8* SIMD_FP_256.PACKED_SINGLE ) / 1000000000 / duration_time",
7797dca671SAndi Kleen        "MetricGroup": "FLOPS;Summary",
7897dca671SAndi Kleen        "MetricName": "GFLOPs"
7997dca671SAndi Kleen    },
8097dca671SAndi Kleen    {
8197dca671SAndi Kleen        "BriefDescription": "Average Frequency Utilization relative nominal frequency",
8297dca671SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC",
8397dca671SAndi Kleen        "MetricGroup": "Power",
8497dca671SAndi Kleen        "MetricName": "Turbo_Utilization"
8597dca671SAndi Kleen    },
8697dca671SAndi Kleen    {
8797dca671SAndi Kleen        "BriefDescription": "Fraction of cycles where both hardware threads were active",
8897dca671SAndi Kleen        "MetricExpr": "1 - CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE / ( CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY / 2 ) if #SMT_on else 0",
8997dca671SAndi Kleen        "MetricGroup": "SMT;Summary",
9097dca671SAndi Kleen        "MetricName": "SMT_2T_Utilization"
9197dca671SAndi Kleen    },
9297dca671SAndi Kleen    {
9397dca671SAndi Kleen        "BriefDescription": "Fraction of cycles spent in Kernel mode",
9497dca671SAndi Kleen        "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC:u / CPU_CLK_UNHALTED.REF_TSC",
9597dca671SAndi Kleen        "MetricGroup": "Summary",
9697dca671SAndi Kleen        "MetricName": "Kernel_Utilization"
9797dca671SAndi Kleen    },
9897dca671SAndi Kleen    {
9997dca671SAndi Kleen        "BriefDescription": "C3 residency percent per core",
10097dca671SAndi Kleen        "MetricExpr": "(cstate_core@c3\\-residency@ / msr@tsc@) * 100",
10197dca671SAndi Kleen        "MetricGroup": "Power",
10297dca671SAndi Kleen        "MetricName": "C3_Core_Residency"
10397dca671SAndi Kleen    },
10497dca671SAndi Kleen    {
10597dca671SAndi Kleen        "BriefDescription": "C6 residency percent per core",
10697dca671SAndi Kleen        "MetricExpr": "(cstate_core@c6\\-residency@ / msr@tsc@) * 100",
10797dca671SAndi Kleen        "MetricGroup": "Power",
10897dca671SAndi Kleen        "MetricName": "C6_Core_Residency"
10997dca671SAndi Kleen    },
11097dca671SAndi Kleen    {
11197dca671SAndi Kleen        "BriefDescription": "C7 residency percent per core",
11297dca671SAndi Kleen        "MetricExpr": "(cstate_core@c7\\-residency@ / msr@tsc@) * 100",
11397dca671SAndi Kleen        "MetricGroup": "Power",
11497dca671SAndi Kleen        "MetricName": "C7_Core_Residency"
11597dca671SAndi Kleen    },
11697dca671SAndi Kleen    {
11797dca671SAndi Kleen        "BriefDescription": "C2 residency percent per package",
11897dca671SAndi Kleen        "MetricExpr": "(cstate_pkg@c2\\-residency@ / msr@tsc@) * 100",
11997dca671SAndi Kleen        "MetricGroup": "Power",
12097dca671SAndi Kleen        "MetricName": "C2_Pkg_Residency"
12197dca671SAndi Kleen    },
12297dca671SAndi Kleen    {
12397dca671SAndi Kleen        "BriefDescription": "C3 residency percent per package",
12497dca671SAndi Kleen        "MetricExpr": "(cstate_pkg@c3\\-residency@ / msr@tsc@) * 100",
12597dca671SAndi Kleen        "MetricGroup": "Power",
12697dca671SAndi Kleen        "MetricName": "C3_Pkg_Residency"
12797dca671SAndi Kleen    },
12897dca671SAndi Kleen    {
12997dca671SAndi Kleen        "BriefDescription": "C6 residency percent per package",
13097dca671SAndi Kleen        "MetricExpr": "(cstate_pkg@c6\\-residency@ / msr@tsc@) * 100",
13197dca671SAndi Kleen        "MetricGroup": "Power",
13297dca671SAndi Kleen        "MetricName": "C6_Pkg_Residency"
13397dca671SAndi Kleen    },
13497dca671SAndi Kleen    {
13597dca671SAndi Kleen        "BriefDescription": "C7 residency percent per package",
13697dca671SAndi Kleen        "MetricExpr": "(cstate_pkg@c7\\-residency@ / msr@tsc@) * 100",
13797dca671SAndi Kleen        "MetricGroup": "Power",
13897dca671SAndi Kleen        "MetricName": "C7_Pkg_Residency"
13997dca671SAndi Kleen    }
14097dca671SAndi Kleen]
141