2022-04-02 18:24:21 +05:00
[
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Total pipeline cost of branch related instructions (used for program control-flow including function calls)" ,
"MetricExpr" : "100 * (( BR_INST_RETIRED.COND + 3 * BR_INST_RETIRED.NEAR_CALL + (BR_INST_RETIRED.NEAR_TAKEN - BR_INST_RETIRED.COND_TAKEN - 2 * BR_INST_RETIRED.NEAR_CALL) ) / TOPDOWN.SLOTS)" ,
"MetricGroup" : "Ret" ,
"MetricName" : "Branching_Overhead"
} ,
{
"BriefDescription" : "Total pipeline cost of instruction fetch related bottlenecks by large code footprint programs (i-side cache; TLB and BTB misses)" ,
"MetricExpr" : "100 * (( 5 * IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE - INT_MISC.UOP_DROPPING ) / TOPDOWN.SLOTS) * ( (ICACHE_64B.IFTAG_STALL / CPU_CLK_UNHALTED.THREAD) + (ICACHE_16B.IFDATA_STALL / CPU_CLK_UNHALTED.THREAD) + (10 * BACLEARS.ANY / CPU_CLK_UNHALTED.THREAD) ) / #(( 5 * IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE - INT_MISC.UOP_DROPPING ) / TOPDOWN.SLOTS)" ,
"MetricGroup" : "BigFoot;Fed;Frontend;IcMiss;MemoryTLB" ,
"MetricName" : "Big_Code"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Instructions Per Cycle (per Logical Processor)" ,
"MetricExpr" : "INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Ret;Summary" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "IPC"
} ,
{
"BriefDescription" : "Uops Per Instruction" ,
"MetricExpr" : "UOPS_RETIRED.SLOTS / INST_RETIRED.ANY" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Pipeline;Ret;Retire" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "UPI"
} ,
{
"BriefDescription" : "Instruction per taken branch" ,
2022-05-12 10:47:00 -07:00
"MetricExpr" : "UOPS_RETIRED.SLOTS / BR_INST_RETIRED.NEAR_TAKEN" ,
"MetricGroup" : "Branches;Fed;FetchBW" ,
"MetricName" : "UpTB"
2022-04-02 18:24:21 +05:00
} ,
{
"BriefDescription" : "Cycles Per Instruction (per Logical Processor)" ,
"MetricExpr" : "1 / (INST_RETIRED.ANY / CPU_CLK_UNHALTED.THREAD)" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Pipeline;Mem" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "CPI"
} ,
{
"BriefDescription" : "Per-Logical Processor actual clocks when the Logical Processor is active." ,
"MetricExpr" : "CPU_CLK_UNHALTED.THREAD" ,
"MetricGroup" : "Pipeline" ,
"MetricName" : "CLKS"
} ,
{
2022-05-12 10:47:00 -07:00
"BriefDescription" : "Total issue-pipeline slots (per-Physical Core till ICL; per-Logical Processor ICL onward)" ,
"MetricExpr" : "TOPDOWN.SLOTS" ,
"MetricGroup" : "TmaL1" ,
"MetricName" : "SLOTS"
} ,
{
"BriefDescription" : "Fraction of Physical Core issue-slots utilized by this Logical Processor" ,
"MetricExpr" : "TOPDOWN.SLOTS / ( TOPDOWN.SLOTS / 2 ) if #SMT_on else 1" ,
"MetricGroup" : "SMT" ,
"MetricName" : "Slots_Utilization"
} ,
{
"BriefDescription" : "The ratio of Executed- by Issued-Uops" ,
"MetricExpr" : "UOPS_EXECUTED.THREAD / UOPS_ISSUED.ANY" ,
"MetricGroup" : "Cor;Pipeline" ,
"MetricName" : "Execute_per_Issue" ,
"PublicDescription" : "The ratio of Executed- by Issued-Uops. Ratio > 1 suggests high rate of uop micro-fusions. Ratio < 1 suggest high rate of \"execute\" at rename stage."
} ,
{
"BriefDescription" : "Instructions Per Cycle across hyper-threads (per physical core)" ,
2022-04-02 18:24:21 +05:00
"MetricExpr" : "INST_RETIRED.ANY / CPU_CLK_UNHALTED.DISTRIBUTED" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Ret;SMT;TmaL1" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "CoreIPC"
} ,
{
"BriefDescription" : "Floating Point Operations Per Cycle" ,
"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 ) / CPU_CLK_UNHALTED.DISTRIBUTED" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Ret;Flops" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "FLOPc"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Actual per-core usage of the Floating Point execution units (regardless of the vector width)" ,
"MetricExpr" : "( (FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE) + (FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE) ) / ( 2 * CPU_CLK_UNHALTED.DISTRIBUTED )" ,
"MetricGroup" : "Cor;Flops;HPC" ,
"MetricName" : "FP_Arith_Utilization" ,
"PublicDescription" : "Actual per-core usage of the Floating Point execution units (regardless of the vector width). Values > 1 are possible due to Fused-Multiply Add (FMA) counting."
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Instruction-Level-Parallelism (average number of uops executed when there is at least 1 uop executed)" ,
"MetricExpr" : "UOPS_EXECUTED.THREAD / (( UOPS_EXECUTED.CORE_CYCLES_GE_1 / 2 ) if #SMT_on else UOPS_EXECUTED.CORE_CYCLES_GE_1)" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Backend;Cor;Pipeline;PortsUtil" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "ILP"
} ,
{
"BriefDescription" : "Number of Instructions per non-speculative Branch Misprediction (JEClear)" ,
"MetricExpr" : "INST_RETIRED.ANY / BR_MISP_RETIRED.ALL_BRANCHES" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Bad;BadSpec;BrMispredicts" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "IpMispredict"
} ,
{
"BriefDescription" : "Core actual clocks when any Logical Processor is active on the Physical Core" ,
"MetricExpr" : "CPU_CLK_UNHALTED.DISTRIBUTED" ,
"MetricGroup" : "SMT" ,
"MetricName" : "CORE_CLKS"
} ,
{
"BriefDescription" : "Instructions per Load (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / MEM_INST_RETIRED.ALL_LOADS" ,
"MetricGroup" : "InsType" ,
"MetricName" : "IpLoad"
} ,
{
"BriefDescription" : "Instructions per Store (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / MEM_INST_RETIRED.ALL_STORES" ,
"MetricGroup" : "InsType" ,
"MetricName" : "IpStore"
} ,
{
"BriefDescription" : "Instructions per Branch (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / BR_INST_RETIRED.ALL_BRANCHES" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Branches;Fed;InsType" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "IpBranch"
} ,
{
"BriefDescription" : "Instructions per (near) call (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / BR_INST_RETIRED.NEAR_CALL" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Branches;Fed;PGO" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "IpCall"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Instruction per taken branch" ,
"MetricExpr" : "INST_RETIRED.ANY / BR_INST_RETIRED.NEAR_TAKEN" ,
"MetricGroup" : "Branches;Fed;FetchBW;Frontend;PGO" ,
"MetricName" : "IpTB"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Branch instructions per taken branch. " ,
"MetricExpr" : "BR_INST_RETIRED.ALL_BRANCHES / BR_INST_RETIRED.NEAR_TAKEN" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Branches;Fed;PGO" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "BpTkBranch"
} ,
{
"BriefDescription" : "Instructions per Floating Point (FP) Operation (lower number means higher occurrence rate)" ,
"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 + FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE ) + 16 * FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE )" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Flops;InsType" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "IpFLOP"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Instructions per FP Arithmetic instruction (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / ( (FP_ARITH_INST_RETIRED.SCALAR_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE) + (FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE) )" ,
"MetricGroup" : "Flops;InsType" ,
"MetricName" : "IpArith" ,
"PublicDescription" : "Instructions per FP Arithmetic instruction (lower number means higher occurrence rate). May undercount due to FMA double counting. Approximated prior to BDW."
} ,
{
"BriefDescription" : "Instructions per FP Arithmetic Scalar Single-Precision instruction (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / FP_ARITH_INST_RETIRED.SCALAR_SINGLE" ,
"MetricGroup" : "Flops;FpScalar;InsType" ,
"MetricName" : "IpArith_Scalar_SP" ,
"PublicDescription" : "Instructions per FP Arithmetic Scalar Single-Precision instruction (lower number means higher occurrence rate). May undercount due to FMA double counting."
} ,
{
"BriefDescription" : "Instructions per FP Arithmetic Scalar Double-Precision instruction (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / FP_ARITH_INST_RETIRED.SCALAR_DOUBLE" ,
"MetricGroup" : "Flops;FpScalar;InsType" ,
"MetricName" : "IpArith_Scalar_DP" ,
"PublicDescription" : "Instructions per FP Arithmetic Scalar Double-Precision instruction (lower number means higher occurrence rate). May undercount due to FMA double counting."
} ,
{
"BriefDescription" : "Instructions per FP Arithmetic AVX/SSE 128-bit instruction (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / ( FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE )" ,
"MetricGroup" : "Flops;FpVector;InsType" ,
"MetricName" : "IpArith_AVX128" ,
"PublicDescription" : "Instructions per FP Arithmetic AVX/SSE 128-bit instruction (lower number means higher occurrence rate). May undercount due to FMA double counting."
} ,
{
"BriefDescription" : "Instructions per FP Arithmetic AVX* 256-bit instruction (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / ( FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE )" ,
"MetricGroup" : "Flops;FpVector;InsType" ,
"MetricName" : "IpArith_AVX256" ,
"PublicDescription" : "Instructions per FP Arithmetic AVX* 256-bit instruction (lower number means higher occurrence rate). May undercount due to FMA double counting."
} ,
{
"BriefDescription" : "Instructions per FP Arithmetic AVX 512-bit instruction (lower number means higher occurrence rate)" ,
"MetricExpr" : "INST_RETIRED.ANY / ( FP_ARITH_INST_RETIRED.512B_PACKED_DOUBLE + FP_ARITH_INST_RETIRED.512B_PACKED_SINGLE )" ,
"MetricGroup" : "Flops;FpVector;InsType" ,
"MetricName" : "IpArith_AVX512" ,
"PublicDescription" : "Instructions per FP Arithmetic AVX 512-bit instruction (lower number means higher occurrence rate). May undercount due to FMA double counting."
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Total number of retired Instructions, Sample with: INST_RETIRED.PREC_DIST" ,
"MetricExpr" : "INST_RETIRED.ANY" ,
"MetricGroup" : "Summary;TmaL1" ,
"MetricName" : "Instructions"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Average number of Uops issued by front-end when it issued something" ,
"MetricExpr" : "UOPS_ISSUED.ANY / cpu@UOPS_ISSUED.ANY\\,cmask\\=1@" ,
"MetricGroup" : "Fed;FetchBW" ,
"MetricName" : "Fetch_UpC"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Fraction of Uops delivered by the LSD (Loop Stream Detector; aka Loop Cache)" ,
"MetricExpr" : "LSD.UOPS / (IDQ.DSB_UOPS + LSD.UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS)" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Fed;LSD" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "LSD_Coverage"
} ,
{
"BriefDescription" : "Fraction of Uops delivered by the DSB (aka Decoded ICache; or Uop Cache)" ,
"MetricExpr" : "IDQ.DSB_UOPS / (IDQ.DSB_UOPS + LSD.UOPS + IDQ.MITE_UOPS + IDQ.MS_UOPS)" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "DSB;Fed;FetchBW" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "DSB_Coverage"
} ,
{
2022-05-12 10:47:00 -07:00
"BriefDescription" : "Number of Instructions per non-speculative DSB miss" ,
"MetricExpr" : "INST_RETIRED.ANY / FRONTEND_RETIRED.ANY_DSB_MISS" ,
"MetricGroup" : "DSBmiss;Fed" ,
"MetricName" : "IpDSB_Miss_Ret"
} ,
{
"BriefDescription" : "Fraction of branches that are non-taken conditionals" ,
"MetricExpr" : "BR_INST_RETIRED.COND_NTAKEN / BR_INST_RETIRED.ALL_BRANCHES" ,
"MetricGroup" : "Bad;Branches;CodeGen;PGO" ,
"MetricName" : "Cond_NT"
} ,
{
"BriefDescription" : "Fraction of branches that are taken conditionals" ,
"MetricExpr" : "BR_INST_RETIRED.COND_TAKEN / BR_INST_RETIRED.ALL_BRANCHES" ,
"MetricGroup" : "Bad;Branches;CodeGen;PGO" ,
"MetricName" : "Cond_TK"
} ,
{
"BriefDescription" : "Fraction of branches that are CALL or RET" ,
"MetricExpr" : "( BR_INST_RETIRED.NEAR_CALL + BR_INST_RETIRED.NEAR_RETURN ) / BR_INST_RETIRED.ALL_BRANCHES" ,
"MetricGroup" : "Bad;Branches" ,
"MetricName" : "CallRet"
} ,
{
"BriefDescription" : "Fraction of branches that are unconditional (direct or indirect) jumps" ,
"MetricExpr" : "(BR_INST_RETIRED.NEAR_TAKEN - BR_INST_RETIRED.COND_TAKEN - 2 * BR_INST_RETIRED.NEAR_CALL) / BR_INST_RETIRED.ALL_BRANCHES" ,
"MetricGroup" : "Bad;Branches" ,
"MetricName" : "Jump"
} ,
{
"BriefDescription" : "Fraction of branches of other types (not individually covered by other metrics in Info.Branches group)" ,
"MetricExpr" : "1 - ( (BR_INST_RETIRED.COND_NTAKEN / BR_INST_RETIRED.ALL_BRANCHES) + (BR_INST_RETIRED.COND_TAKEN / BR_INST_RETIRED.ALL_BRANCHES) + (( BR_INST_RETIRED.NEAR_CALL + BR_INST_RETIRED.NEAR_RETURN ) / BR_INST_RETIRED.ALL_BRANCHES) + ((BR_INST_RETIRED.NEAR_TAKEN - BR_INST_RETIRED.COND_TAKEN - 2 * BR_INST_RETIRED.NEAR_CALL) / BR_INST_RETIRED.ALL_BRANCHES) )" ,
"MetricGroup" : "Bad;Branches" ,
"MetricName" : "Other_Branches"
} ,
{
"BriefDescription" : "Actual Average Latency for L1 data-cache miss demand load instructions (in core cycles)" ,
2022-04-02 18:24:21 +05:00
"MetricExpr" : "L1D_PEND_MISS.PENDING / ( MEM_LOAD_RETIRED.L1_MISS + MEM_LOAD_RETIRED.FB_HIT )" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBound;MemoryLat" ,
"MetricName" : "Load_Miss_Real_Latency" ,
"PublicDescription" : "Actual Average Latency for L1 data-cache miss demand load instructions (in core cycles). Latency may be overestimated for multi-load instructions - e.g. repeat strings."
2022-04-02 18:24:21 +05:00
} ,
{
"BriefDescription" : "Memory-Level-Parallelism (average number of L1 miss demand load when there is at least one such miss. Per-Logical Processor)" ,
"MetricExpr" : "L1D_PEND_MISS.PENDING / L1D_PEND_MISS.PENDING_CYCLES" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBound;MemoryBW" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "MLP"
} ,
{
"BriefDescription" : "Average data fill bandwidth to the L1 data cache [GB / sec]" ,
"MetricExpr" : "64 * L1D.REPLACEMENT / 1000000000 / duration_time" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBW" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L1D_Cache_Fill_BW"
} ,
{
"BriefDescription" : "Average data fill bandwidth to the L2 cache [GB / sec]" ,
"MetricExpr" : "64 * L2_LINES_IN.ALL / 1000000000 / duration_time" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBW" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L2_Cache_Fill_BW"
} ,
{
"BriefDescription" : "Average per-core data fill bandwidth to the L3 cache [GB / sec]" ,
"MetricExpr" : "64 * LONGEST_LAT_CACHE.MISS / 1000000000 / duration_time" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBW" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L3_Cache_Fill_BW"
} ,
{
"BriefDescription" : "Average per-core data access bandwidth to the L3 cache [GB / sec]" ,
"MetricExpr" : "64 * OFFCORE_REQUESTS.ALL_REQUESTS / 1000000000 / duration_time" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBW;Offcore" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L3_Cache_Access_BW"
} ,
{
"BriefDescription" : "L1 cache true misses per kilo instruction for retired demand loads" ,
"MetricExpr" : "1000 * MEM_LOAD_RETIRED.L1_MISS / INST_RETIRED.ANY" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;CacheMisses" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L1MPKI"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "L1 cache true misses per kilo instruction for all demand loads (including speculative)" ,
"MetricExpr" : "1000 * L2_RQSTS.ALL_DEMAND_DATA_RD / INST_RETIRED.ANY" ,
"MetricGroup" : "Mem;CacheMisses" ,
"MetricName" : "L1MPKI_Load"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "L2 cache true misses per kilo instruction for retired demand loads" ,
"MetricExpr" : "1000 * MEM_LOAD_RETIRED.L2_MISS / INST_RETIRED.ANY" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;Backend;CacheMisses" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L2MPKI"
} ,
{
"BriefDescription" : "L2 cache misses per kilo instruction for all request types (including speculative)" ,
"MetricExpr" : "1000 * ( ( OFFCORE_REQUESTS.ALL_DATA_RD - OFFCORE_REQUESTS.DEMAND_DATA_RD ) + L2_RQSTS.ALL_DEMAND_MISS + L2_RQSTS.SWPF_MISS ) / INST_RETIRED.ANY" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;CacheMisses;Offcore" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L2MPKI_All"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "L2 cache misses per kilo instruction for all demand loads (including speculative)" ,
"MetricExpr" : "1000 * L2_RQSTS.DEMAND_DATA_RD_MISS / INST_RETIRED.ANY" ,
"MetricGroup" : "Mem;CacheMisses" ,
"MetricName" : "L2MPKI_Load"
} ,
{
"BriefDescription" : "L2 cache hits per kilo instruction for all demand loads (including speculative)" ,
"MetricExpr" : "1000 * L2_RQSTS.DEMAND_DATA_RD_HIT / INST_RETIRED.ANY" ,
"MetricGroup" : "Mem;CacheMisses" ,
"MetricName" : "L2HPKI_Load"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "L3 cache true misses per kilo instruction for retired demand loads" ,
"MetricExpr" : "1000 * MEM_LOAD_RETIRED.L3_MISS / INST_RETIRED.ANY" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;CacheMisses" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L3MPKI"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Fill Buffer (FB) true hits per kilo instructions for retired demand loads" ,
"MetricExpr" : "1000 * MEM_LOAD_RETIRED.FB_HIT / INST_RETIRED.ANY" ,
"MetricGroup" : "Mem;CacheMisses" ,
"MetricName" : "FB_HPKI"
} ,
{
"BriefDescription" : "Utilization of the core's Page Walker(s) serving STLB misses triggered by instruction/Load/Store accesses" ,
"MetricConstraint" : "NO_NMI_WATCHDOG" ,
"MetricExpr" : "( ITLB_MISSES.WALK_PENDING + DTLB_LOAD_MISSES.WALK_PENDING + DTLB_STORE_MISSES.WALK_PENDING ) / ( 2 * CPU_CLK_UNHALTED.DISTRIBUTED )" ,
"MetricGroup" : "Mem;MemoryTLB" ,
"MetricName" : "Page_Walks_Utilization"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Rate of silent evictions from the L2 cache per Kilo instruction where the evicted lines are dropped (no writeback to L3 or memory)" ,
"MetricExpr" : "1000 * L2_LINES_OUT.SILENT / INST_RETIRED.ANY" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "L2Evicts;Mem;Server" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L2_Evictions_Silent_PKI"
} ,
{
"BriefDescription" : "Rate of non silent evictions from the L2 cache per Kilo instruction" ,
"MetricExpr" : "1000 * L2_LINES_OUT.NON_SILENT / INST_RETIRED.ANY" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "L2Evicts;Mem;Server" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "L2_Evictions_NonSilent_PKI"
} ,
{
"BriefDescription" : "Average CPU Utilization" ,
"MetricExpr" : "CPU_CLK_UNHALTED.REF_TSC / msr@tsc@" ,
"MetricGroup" : "HPC;Summary" ,
"MetricName" : "CPU_Utilization"
} ,
{
"BriefDescription" : "Measured Average Frequency for unhalted processors [GHz]" ,
"MetricExpr" : "(CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC) * msr@tsc@ / 1000000000 / duration_time" ,
"MetricGroup" : "Summary;Power" ,
"MetricName" : "Average_Frequency"
} ,
{
"BriefDescription" : "Giga Floating Point Operations Per Second" ,
"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" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Cor;Flops;HPC" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "GFLOPs"
} ,
{
"BriefDescription" : "Average Frequency Utilization relative nominal frequency" ,
"MetricExpr" : "CPU_CLK_UNHALTED.THREAD / CPU_CLK_UNHALTED.REF_TSC" ,
"MetricGroup" : "Power" ,
"MetricName" : "Turbo_Utilization"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Fraction of Core cycles where the core was running with power-delivery for baseline license level 0" ,
"MetricExpr" : "CORE_POWER.LVL0_TURBO_LICENSE / CPU_CLK_UNHALTED.DISTRIBUTED" ,
"MetricGroup" : "Power" ,
"MetricName" : "Power_License0_Utilization" ,
"PublicDescription" : "Fraction of Core cycles where the core was running with power-delivery for baseline license level 0. This includes non-AVX codes, SSE, AVX 128-bit, and low-current AVX 256-bit codes."
} ,
{
"BriefDescription" : "Fraction of Core cycles where the core was running with power-delivery for license level 1" ,
"MetricExpr" : "CORE_POWER.LVL1_TURBO_LICENSE / CPU_CLK_UNHALTED.DISTRIBUTED" ,
"MetricGroup" : "Power" ,
"MetricName" : "Power_License1_Utilization" ,
"PublicDescription" : "Fraction of Core cycles where the core was running with power-delivery for license level 1. This includes high current AVX 256-bit instructions as well as low current AVX 512-bit instructions."
} ,
{
"BriefDescription" : "Fraction of Core cycles where the core was running with power-delivery for license level 2 (introduced in SKX)" ,
"MetricExpr" : "CORE_POWER.LVL2_TURBO_LICENSE / CPU_CLK_UNHALTED.DISTRIBUTED" ,
"MetricGroup" : "Power" ,
"MetricName" : "Power_License2_Utilization" ,
"PublicDescription" : "Fraction of Core cycles where the core was running with power-delivery for license level 2 (introduced in SKX). This includes high current AVX 512-bit instructions."
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Fraction of cycles where both hardware Logical Processors were active" ,
"MetricExpr" : "1 - CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE / CPU_CLK_UNHALTED.REF_DISTRIBUTED if #SMT_on else 0" ,
"MetricGroup" : "SMT" ,
"MetricName" : "SMT_2T_Utilization"
} ,
{
"BriefDescription" : "Fraction of cycles spent in the Operating System (OS) Kernel mode" ,
"MetricExpr" : "CPU_CLK_UNHALTED.THREAD_P:k / CPU_CLK_UNHALTED.THREAD" ,
"MetricGroup" : "OS" ,
"MetricName" : "Kernel_Utilization"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Cycles Per Instruction for the Operating System (OS) Kernel mode" ,
"MetricExpr" : "CPU_CLK_UNHALTED.THREAD_P:k / INST_RETIRED.ANY_P:k" ,
"MetricGroup" : "OS" ,
"MetricName" : "Kernel_CPI"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Average external Memory Bandwidth Use for reads and writes [GB / sec]" ,
"MetricExpr" : "( 64 * ( uncore_imc@cas_count_read@ + uncore_imc@cas_count_write@ ) / 1000000000 ) / duration_time" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "HPC;Mem;MemoryBW;SoC" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "DRAM_BW_Use"
} ,
{
"BriefDescription" : "Average latency of data read request to external memory (in nanoseconds). Accounts for demand loads and L1/L2 prefetches" ,
"MetricExpr" : "1000000000 * ( UNC_CHA_TOR_OCCUPANCY.IA_MISS_DRD / UNC_CHA_TOR_INSERTS.IA_MISS_DRD ) / ( cha_0@event\\=0x0@ / duration_time )" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryLat;SoC" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "MEM_Read_Latency"
} ,
{
"BriefDescription" : "Average number of parallel data read requests to external memory. Accounts for demand loads and L1/L2 prefetches" ,
"MetricExpr" : "UNC_CHA_TOR_OCCUPANCY.IA_MISS_DRD / cha@event\\=0x36\\,umask\\=0xC817FE01\\,thresh\\=1@" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBW;SoC" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "MEM_Parallel_Reads"
} ,
{
"BriefDescription" : "Average latency of data read request to external 3D X-Point memory [in nanoseconds]. Accounts for demand loads and L1/L2 data-read prefetches" ,
"MetricExpr" : "( 1000000000 * ( UNC_CHA_TOR_OCCUPANCY.IA_MISS_DRD_PMM / UNC_CHA_TOR_INSERTS.IA_MISS_DRD_PMM ) / cha_0@event\\=0x0@ )" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryLat;SoC;Server" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "MEM_PMM_Read_Latency"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "Average latency of data read request to external DRAM memory [in nanoseconds]. Accounts for demand loads and L1/L2 data-read prefetches" ,
"MetricExpr" : " 1000000000 * ( UNC_CHA_TOR_OCCUPANCY.IA_MISS_DRD_DDR / UNC_CHA_TOR_INSERTS.IA_MISS_DRD_DDR ) / cha_0@event\\=0x0@" ,
"MetricGroup" : "Mem;MemoryLat;SoC;Server" ,
"MetricName" : "MEM_DRAM_Read_Latency"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "Average 3DXP Memory Bandwidth Use for reads [GB / sec]" ,
"MetricExpr" : "( ( 64 * imc@event\\=0xe3@ / 1000000000 ) / duration_time )" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBW;SoC;Server" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "PMM_Read_BW"
} ,
{
"BriefDescription" : "Average 3DXP Memory Bandwidth Use for Writes [GB / sec]" ,
"MetricExpr" : "( ( 64 * imc@event\\=0xe7@ / 1000000000 ) / duration_time )" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "Mem;MemoryBW;SoC;Server" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "PMM_Write_BW"
} ,
{
"BriefDescription" : "Average IO (network or disk) Bandwidth Use for Writes [GB / sec]" ,
"MetricExpr" : "UNC_CHA_TOR_INSERTS.IO_PCIRDCUR * 64 / 1000000000 / duration_time" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "IoBW;Mem;SoC;Server" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "IO_Write_BW"
} ,
{
"BriefDescription" : "Average IO (network or disk) Bandwidth Use for Reads [GB / sec]" ,
"MetricExpr" : "( UNC_CHA_TOR_INSERTS.IO_HIT_ITOM + UNC_CHA_TOR_INSERTS.IO_MISS_ITOM + UNC_CHA_TOR_INSERTS.IO_HIT_ITOMCACHENEAR + UNC_CHA_TOR_INSERTS.IO_MISS_ITOMCACHENEAR ) * 64 / 1000000000 / duration_time" ,
2022-05-12 10:47:00 -07:00
"MetricGroup" : "IoBW;Mem;SoC;Server" ,
2022-04-02 18:24:21 +05:00
"MetricName" : "IO_Read_BW"
} ,
{
"BriefDescription" : "Socket actual clocks when any core is active on that socket" ,
"MetricExpr" : "cha_0@event\\=0x0@" ,
"MetricGroup" : "SoC" ,
"MetricName" : "Socket_CLKS"
} ,
{
"BriefDescription" : "Instructions per Far Branch ( Far Branches apply upon transition from application to operating system, handling interrupts, exceptions) [lower number means higher occurrence rate]" ,
"MetricExpr" : "INST_RETIRED.ANY / BR_INST_RETIRED.FAR_BRANCH:u" ,
"MetricGroup" : "Branches;OS" ,
"MetricName" : "IpFarBranch"
} ,
{
2022-05-12 10:47:00 -07:00
"BriefDescription" : "C3 residency percent per core" ,
"MetricExpr" : "(cstate_core@c3\\-residency@ / msr@tsc@) * 100" ,
2022-04-02 18:24:21 +05:00
"MetricGroup" : "Power" ,
2022-05-12 10:47:00 -07:00
"MetricName" : "C3_Core_Residency"
2022-04-02 18:24:21 +05:00
} ,
{
"BriefDescription" : "C6 residency percent per core" ,
"MetricExpr" : "(cstate_core@c6\\-residency@ / msr@tsc@) * 100" ,
"MetricGroup" : "Power" ,
"MetricName" : "C6_Core_Residency"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "C7 residency percent per core" ,
"MetricExpr" : "(cstate_core@c7\\-residency@ / msr@tsc@) * 100" ,
"MetricGroup" : "Power" ,
"MetricName" : "C7_Core_Residency"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "C2 residency percent per package" ,
"MetricExpr" : "(cstate_pkg@c2\\-residency@ / msr@tsc@) * 100" ,
"MetricGroup" : "Power" ,
"MetricName" : "C2_Pkg_Residency"
} ,
2022-05-12 10:47:00 -07:00
{
"BriefDescription" : "C3 residency percent per package" ,
"MetricExpr" : "(cstate_pkg@c3\\-residency@ / msr@tsc@) * 100" ,
"MetricGroup" : "Power" ,
"MetricName" : "C3_Pkg_Residency"
} ,
2022-04-02 18:24:21 +05:00
{
"BriefDescription" : "C6 residency percent per package" ,
"MetricExpr" : "(cstate_pkg@c6\\-residency@ / msr@tsc@) * 100" ,
"MetricGroup" : "Power" ,
"MetricName" : "C6_Pkg_Residency"
2022-05-12 10:47:00 -07:00
} ,
{
"BriefDescription" : "C7 residency percent per package" ,
"MetricExpr" : "(cstate_pkg@c7\\-residency@ / msr@tsc@) * 100" ,
"MetricGroup" : "Power" ,
"MetricName" : "C7_Pkg_Residency"
2022-04-02 18:24:21 +05:00
}
]