mirror of
https://github.com/ClusterCockpit/cc-metric-collector.git
synced 2025-07-31 08:56:06 +02:00
Add likwid collector
This commit is contained in:
31
collectors/likwid/groups/arm8_n1/BRANCH.txt
Normal file
31
collectors/likwid/groups/arm8_n1/BRANCH.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
SHORT Branch prediction miss rate/ratio
|
||||
|
||||
EVENTSET
|
||||
PMC0 INST_RETIRED
|
||||
PMC1 CPU_CYCLES
|
||||
PMC2 BR_PRED
|
||||
PMC3 BR_MIS_PRED
|
||||
PMC4 INST_SPEC
|
||||
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
CPI PMC1/PMC0
|
||||
Branch rate PMC2/PMC0
|
||||
Branch misprediction rate PMC3/PMC0
|
||||
Branch misprediction ratio PMC3/(PMC2+PMC3)
|
||||
Instructions per branch PMC0/(PMC2+PMC3)
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
CPI = CPU_CYCLES/INST_RETIRED
|
||||
Branch rate = BR_PRED/INST_RETIRED
|
||||
Branch misprediction rate = BR_MIS_PRED/INST_RETIRED
|
||||
Branch misprediction ratio = BR_MIS_PRED/(BR_PRED+BR_MIS_PRED)
|
||||
Instructions per branch = INSTR_RETIRED_ANY/(BR_PRED+BR_MIS_PRED)
|
||||
-
|
||||
The rates state how often in average a branch or a mispredicted branch occured
|
||||
per instruction retired in total. The Branch misprediction ratio sets directly
|
||||
into relation what ratio of all branch instruction where mispredicted.
|
||||
Instructions per branch is 1/Branch rate.
|
||||
|
16
collectors/likwid/groups/arm8_n1/CLOCK.txt
Normal file
16
collectors/likwid/groups/arm8_n1/CLOCK.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
SHORT Cycles and instructions
|
||||
|
||||
EVENTSET
|
||||
PMC0 INST_RETIRED
|
||||
PMC1 CPU_CYCLES
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
CPI PMC1/PMC0
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
CPI = CPU_CYCLES/INST_RETIRED
|
||||
-
|
||||
This is a metric to determine cycles per instruction.
|
||||
|
24
collectors/likwid/groups/arm8_n1/DATA.txt
Normal file
24
collectors/likwid/groups/arm8_n1/DATA.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
SHORT Load to store ratio
|
||||
|
||||
EVENTSET
|
||||
PMC0 INST_RETIRED
|
||||
PMC1 CPU_CYCLES
|
||||
PMC2 LD_SPEC
|
||||
PMC3 ST_SPEC
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
CPI PMC1/PMC0
|
||||
Load to store ratio PMC2/PMC3
|
||||
Load ratio PMC2/PMC0
|
||||
Store ratio PMC3/PMC0
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
CPI = CPU_CYCLES/INST_RETIRED
|
||||
Load to store ratio = LD_SPEC / ST_SPEC
|
||||
Load ratio = LD_SPEC / INST_SPEC
|
||||
Store ratio = ST_SPEC / INST_SPEC
|
||||
-
|
||||
This is a metric to determine your load to store ratio.
|
||||
|
24
collectors/likwid/groups/arm8_n1/ICACHE.txt
Normal file
24
collectors/likwid/groups/arm8_n1/ICACHE.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
SHORT Instruction cache miss rate/ratio
|
||||
|
||||
EVENTSET
|
||||
PMC0 INST_RETIRED
|
||||
PMC1 CPU_CYCLES
|
||||
PMC2 L1I_CACHE
|
||||
PMC3 L1I_CACHE_REFILL
|
||||
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
CPI PMC1/PMC0
|
||||
L1I request rate PMC2/PMC0
|
||||
L1I miss rate PMC3/PMC0
|
||||
L1I miss ratio PMC3/PMC2
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
CPI = CPU_CYCLES/INST_RETIRED
|
||||
L1I request rate = L1I_CACHE / INST_RETIRED
|
||||
L1I miss rate = L1I_CACHE_REFILL / INST_RETIRED
|
||||
L1I miss ratio = L1I_CACHE_REFILL / L1I_CACHE
|
||||
-
|
||||
This group measures some L1 instruction cache metrics.
|
40
collectors/likwid/groups/arm8_n1/L2.txt
Normal file
40
collectors/likwid/groups/arm8_n1/L2.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
SHORT L2 cache bandwidth in MBytes/s
|
||||
|
||||
EVENTSET
|
||||
PMC0 INST_RETIRED
|
||||
PMC1 CPU_CYCLES
|
||||
PMC2 L1D_CACHE_REFILL
|
||||
PMC3 L1D_CACHE_WB
|
||||
PMC4 L1I_CACHE_REFILL
|
||||
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
CPI PMC1/PMC0
|
||||
L2D load bandwidth [MBytes/s] 1.0E-06*PMC2*64.0/time
|
||||
L2D load data volume [GBytes] 1.0E-09*PMC2*64.0
|
||||
L2D evict bandwidth [MBytes/s] 1.0E-06*PMC3*64.0/time
|
||||
L2D evict data volume [GBytes] 1.0E-09*PMC3*64.0
|
||||
L2I load bandwidth [MBytes/s] 1.0E-06*PMC4*64.0/time
|
||||
L2I load data volume [GBytes] 1.0E-09*PMC4*64.0
|
||||
L2 bandwidth [MBytes/s] 1.0E-06*(PMC2+PMC3+PMC4)*64.0/time
|
||||
L2 data volume [GBytes] 1.0E-09*(PMC2+PMC3+PMC4)*64.0
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
CPI = CPU_CYCLES/INST_RETIRED
|
||||
L2D load bandwidth [MBytes/s] = 1.0E-06*L1D_CACHE_REFILL*64.0/time
|
||||
L2D load data volume [GBytes] = 1.0E-09*L1D_CACHE_REFILL*64.0
|
||||
L2D evict bandwidth [MBytes/s] = 1.0E-06*L1D_CACHE_WB*64.0/time
|
||||
L2D evict data volume [GBytes] = 1.0E-09*L1D_CACHE_WB*64.0
|
||||
L2I load bandwidth [MBytes/s] = 1.0E-06*L1I_CACHE_REFILL*64.0/time
|
||||
L2I load data volume [GBytes] = 1.0E-09*L1I_CACHE_REFILL*64.0
|
||||
L2 bandwidth [MBytes/s] = 1.0E-06*(L1D_CACHE_REFILL+L1D_CACHE_WB+L1I_CACHE_REFILL)*64.0/time
|
||||
L2 data volume [GBytes] = 1.0E-09*(L1D_CACHE_REFILL+L1D_CACHE_WB+L1I_CACHE_REFILL)*64.0
|
||||
-
|
||||
Profiling group to measure L2 cache bandwidth. The bandwidth is computed by the
|
||||
number of cacheline loaded from the L2 to the L1 data cache and the writebacks from
|
||||
the L1 data cache to the L2 cache. The group also outputs total data volume transfered between
|
||||
L2 and L1. Note that this bandwidth also includes data transfers due to a write
|
||||
allocate load on a store miss in L1 and cachelines transfered it the instruction
|
||||
cache.
|
30
collectors/likwid/groups/arm8_n1/L3.txt
Normal file
30
collectors/likwid/groups/arm8_n1/L3.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
SHORT L3 cache bandwidth in MBytes/s
|
||||
|
||||
EVENTSET
|
||||
PMC0 INST_RETIRED
|
||||
PMC1 CPU_CYCLES
|
||||
PMC2 L2D_CACHE_REFILL
|
||||
PMC3 L2D_CACHE_WB
|
||||
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
CPI PMC1/PMC0
|
||||
L3 read bandwidth [MBytes/s] 1.0E-06*(PMC2)*64.0/time
|
||||
L3 read data volume [GBytes] 1.0E-09*(PMC2)*64.0
|
||||
L3 write bandwidth [MBytes/s] 1.0E-06*(PMC3)*64.0/time
|
||||
L3 write data volume [GBytes] 1.0E-09*(PMC3)*64.0
|
||||
L3 bandwidth [MBytes/s] 1.0E-06*(PMC2+PMC3)*64.0/time
|
||||
L3 data volume [GBytes] 1.0E-09*(PMC2+PMC3)*64.0
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
L3 read bandwidth [MBytes/s] = 1.0E-06*(L2D_CACHE_REFILL)*64.0/runtime
|
||||
L3 read data volume [GBytes] = 1.0E-09*(L2D_CACHE_REFILL)*64.0
|
||||
L3 write bandwidth [MBytes/s] = 1.0E-06*(L2D_CACHE_WB)*64.0/runtime
|
||||
L3 write data volume [GBytes] = 1.0E-09*(L2D_CACHE_WB)*64.0
|
||||
L3 bandwidth [MBytes/s] = 1.0E-06*(L2D_CACHE_REFILL+L2D_CACHE_WB)*64.0/runtime
|
||||
L3 data volume [GBytes] = 1.0E-09*(L2D_CACHE_REFILL+L2D_CACHE_WB)*64.0
|
||||
-
|
||||
Profiling group to measure traffic between L2 and L3 cache.
|
||||
|
29
collectors/likwid/groups/arm8_n1/MEM.txt
Normal file
29
collectors/likwid/groups/arm8_n1/MEM.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
SHORT Main memory bandwidth in MBytes/s
|
||||
|
||||
EVENTSET
|
||||
PMC0 INST_RETIRED
|
||||
PMC1 CPU_CYCLES
|
||||
PMC2 MEM_ACCESS_RD
|
||||
PMC3 MEM_ACCESS_WR
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
CPI PMC1/PMC0
|
||||
Memory read bandwidth [MBytes/s] 1.0E-06*(PMC2)*64.0/time
|
||||
Memory read data volume [GBytes] 1.0E-09*(PMC2)*64.0
|
||||
Memory write bandwidth [MBytes/s] 1.0E-06*(PMC3)*64.0/time
|
||||
Memory write data volume [GBytes] 1.0E-09*(PMC3)*64.0
|
||||
Memory bandwidth [MBytes/s] 1.0E-06*(PMC2+PMC3)*64.0/time
|
||||
Memory data volume [GBytes] 1.0E-09*(PMC2+PMC3)*64.0
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
Memory read bandwidth [MBytes/s] = 1.0E-06*(MEM_ACCESS_RD)*64.0/runtime
|
||||
Memory read data volume [GBytes] = 1.0E-09*(MEM_ACCESS_RD)*64.0
|
||||
Memory write bandwidth [MBytes/s] = 1.0E-06*(MEM_ACCESS_WR)*64.0/runtime
|
||||
Memory write data volume [GBytes] = 1.0E-09*(MEM_ACCESS_WR)*64.0
|
||||
Memory bandwidth [MBytes/s] = 1.0E-06*(MEM_ACCESS_RD+MEM_ACCESS_WR)*64.0/runtime
|
||||
Memory data volume [GBytes] = 1.0E-09*(MEM_ACCESS_RD+MEM_ACCESS_WR)*64.0
|
||||
-
|
||||
Profiling group to measure memory bandwidth
|
||||
|
30
collectors/likwid/groups/arm8_n1/TLB.txt
Normal file
30
collectors/likwid/groups/arm8_n1/TLB.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
SHORT L1/L2 TLB information
|
||||
|
||||
EVENTSET
|
||||
PMC0 L1D_TLB
|
||||
PMC1 L1I_TLB
|
||||
PMC2 L2D_TLB
|
||||
PMC3 L1D_TLB_REFILL
|
||||
PMC4 L1I_TLB_REFILL
|
||||
PMC5 L2D_TLB_REFILL
|
||||
|
||||
METRICS
|
||||
Runtime (RDTSC) [s] time
|
||||
L1 DTLB accesses PMC0
|
||||
L1 ITLB accesses PMC1
|
||||
L2 DTLB accesses PMC2
|
||||
L1 DTLB refills PMC3
|
||||
L1 ITLB refills PMC4
|
||||
L2 DTLB refills PMC5
|
||||
L1 DTLB refill ratio PMC3/PMC0
|
||||
L1 ITLB refill ratio PMC4/PMC1
|
||||
L1 DTLB refill ratio PMC5/PMC2
|
||||
|
||||
LONG
|
||||
Formulas:
|
||||
L1 DTLB refill ratio = L1D_TLB_REFILL / L1D_TLB
|
||||
L1 ITLB refill ratio = L1I_TLB_REFILL / L1I_TLB
|
||||
L2 DTLB refill ratio = L2D_TLB_REFILL / L2D_TLB
|
||||
-
|
||||
This group gives information about the TLB usage for all TLBs:
|
||||
L1 data, L1 instruction and L2 data.
|
Reference in New Issue
Block a user