Improved --list-metric pretty print

Signed-off-by: colramos-amd <colramos@amd.com>
This commit is contained in:
colramos-amd
2024-01-19 15:29:26 -06:00
committed by Cole Ramos
parent c36578578b
commit 7120f87963
7 changed files with 29 additions and 295 deletions
@@ -10,6 +10,7 @@ Panel Config:
data source:
- metric_table:
id: 301
title: Memory Chart
header:
metric: Metric
#alias: #alias
@@ -10,6 +10,7 @@ Panel Config:
data source:
- metric_table:
id: 301
title: Memory Chart
header:
metric: Metric
#alias: #alias
@@ -11,6 +11,7 @@ Panel Config:
data source:
- metric_table:
id: 201
title: Speed-of-Light
header:
metric: Metric
value: Value
@@ -10,6 +10,7 @@ Panel Config:
data source:
- metric_table:
id: 301
title: Memory Chart
header:
metric: Metric
#alias: #alias
@@ -1,274 +0,0 @@
---
# Add description/tips for each metric in this section.
# So it could be shown in hover.
Metric Description:
# Define the panel properties and properties of each metric in the panel.
Panel Config:
id: 1900
title: Memory Chart Analysis
data source:
- metric_table:
id: 1901
title: # subtitle for this table(optional)
header:
metric: Metric
value: Value
alias: Alias
tips: Tips
metric:
Wave Life:
value:
ROUND(AVG(((4 * (SQ_WAVE_CYCLES / SQ_WAVES)) if (SQ_WAVES != 0) else
None)), 0)
alias: wave_life_
tips:
Active CUs:
value: CONCAT(CONCAT($numActiveCUs, "/"), $numCU)
alias: active_cu_
tips:
SALU:
value: ROUND(AVG((SQ_INSTS_SALU / $denom)), 0)
alias: salu_
tips:
SMEM:
value: ROUND(AVG((SQ_INSTS_SMEM / $denom)), 0)
alias: smem_
tips:
VALU:
value: ROUND(AVG((SQ_INSTS_VALU / $denom)), 0)
alias: valu_
tips:
MFMA:
value: ROUND(AVG((SQ_INSTS_MFMA / $denom)), 0)
alias: mfma_
tips:
VMEM:
value: ROUND(AVG((SQ_INSTS_VMEM / $denom)), 0)
alias: vmem_
tips:
LDS:
value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0)
alias: lds_
tips:
GWS:
value: ROUND(AVG((SQ_INSTS_GDS / $denom)), 0)
alias: gws_
tips:
BR:
value: ROUND(AVG((SQ_INSTS_BRANCH / $denom)), 0)
alias: br_
tips:
VGPR:
value: ROUND(AVG(vgpr), 0)
alias: vgpr_
tips:
SGPR:
value: ROUND(AVG(sgpr), 0)
alias: sgpr_
tips:
LDS Allocation:
value: ROUND(AVG(lds), 0)
alias: lds_alloc_
tips:
Scratch Allocation:
value: ROUND(AVG(scr), 0)
alias: scratch_alloc_
tips:
Wavefronts:
value: ROUND(AVG(SPI_CSN_WAVE), 0)
alias: wavefronts_
tips:
Workgroups:
value: ROUND(AVG(SPI_CSN_NUM_THREADGROUPS), 0)
alias: workgroups_
tips:
LDS Req:
value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0)
alias: lds_req_
tips:
IL1 Fetch:
value: ROUND(AVG((SQC_ICACHE_REQ / $denom)), 0)
alias: il1_fetch_
tips:
IL1 Hit:
value: ROUND((AVG((SQC_ICACHE_HITS / SQC_ICACHE_REQ)) * 100), 0)
alias: il1_hit_
tips:
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
alias: il1_l2_req_
tips:
vL1D Rd:
value: ROUND(AVG((SQC_DCACHE_REQ / $denom)), 0)
alias: sl1_rd_
tips:
vL1D Hit:
value:
ROUND((AVG(((SQC_DCACHE_HITS / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ !=
0) else None)) * 100), 0)
alias: sl1_hit_
tips:
vL1D_L2 Rd:
value: ROUND(AVG((SQC_TC_DATA_READ_REQ / $denom)), 0)
alias: sl1_l2_rd_
tips:
vL1D_L2 Wr:
value: ROUND(AVG((SQC_TC_DATA_WRITE_REQ / $denom)), 0)
alias: sl1_l2_wr_
tips:
vL1D_L2 Atomic:
value: ROUND(AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)), 0)
alias: sl1_l2_atom_
tips:
VL1 Rd:
value: ROUND(AVG((TCP_TOTAL_READ_sum / $denom)), 0)
alias: vl1_rd_
tips:
VL1 Wr:
value: ROUND(AVG((TCP_TOTAL_WRITE_sum / $denom)), 0)
alias: vl1_wr_
tips:
VL1 Atomic:
value:
ROUND(AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum)
/ $denom)), 0)
alias: vl1_atom_
tips:
VL1 Hit:
value:
ROUND(AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum))
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
None)), 0)
alias: vl1_hit_
tips:
VL1 Lat:
value:
# ROUND(AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum
# != 0) else None)), 0)
alias: vl1_lat_
tips:
VL1_L2 Rd:
value: ROUND(AVG((TCP_TCC_READ_REQ_sum / $denom)), 0)
alias: vl1_l2_rd_
tips:
VL1_L2 Wr:
value: ROUND(AVG((TCP_TCC_WRITE_REQ_sum / $denom)), 0)
alias: vl1_l2_wr_
tips:
vL1_L2 Atomic:
value:
ROUND(AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)
/ $denom)), 0)
alias: vl1_l2_atom_
tips:
L2 Rd:
value: ROUND(AVG((TCC_READ_sum / $denom)), 0)
alias: l2_rd_
tips:
L2 Wr:
value: ROUND(AVG((TCC_WRITE_sum / $denom)), 0)
alias: l2_wr_
tips:
L2 Atomic:
value: ROUND(AVG((TCC_ATOMIC_sum / $denom)), 0)
alias: l2_atom_
tips:
L2 Hit:
value:
ROUND(AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)), 0)
alias: l2_hit_
tips:
L2 Rd Lat:
value:
# ROUND(AVG(((TCP_TCC_READ_REQ_LATENCY_sum / (TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum))
# if ((TCP_TCC_READ_REQ_sum + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) != 0) else None)),
# 0)
alias: l2_rd_lat_
tips:
L2 Wr Lat:
value:
# ROUND(AVG(((TCP_TCC_WRITE_REQ_LATENCY_sum / (TCP_TCC_WRITE_REQ_sum +
# TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) if ((TCP_TCC_WRITE_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)
# != 0) else None)), 0)
alias: l2_wr_lat_
tips:
Fabric Rd Lat:
value:
ROUND(AVG(((TCC_EA0_RDREQ_LEVEL_sum / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum
!= 0) else None)), 0)
alias: fabric_rd_lat_
tips:
Fabric Wr Lat:
value:
ROUND(AVG(((TCC_EA0_WRREQ_LEVEL_sum / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum
!= 0) else None)), 0)
alias: fabric_wr_lat_
tips:
Fabric Atomic Lat:
value:
ROUND(AVG(((TCC_EA0_ATOMIC_LEVEL_sum / TCC_EA0_ATOMIC_sum) if (TCC_EA0_ATOMIC_sum
!= 0) else None)), 0)
alias: fabric_atom_lat_
tips:
Fabric_L2 Rd:
value: ROUND(AVG((TCC_EA0_RDREQ_sum / $denom)), 0)
alias: l2_fabric_rd_
tips:
Fabric_L2 Wr:
value: ROUND(AVG((TCC_EA0_WRREQ_sum / $denom)), 0)
alias: l2_fabric_wr_
tips:
Fabric_l2 Atomic:
value: ROUND(AVG((TCC_EA0_ATOMIC_sum / $denom)), 0)
alias: l2_fabric_atom_
tips:
HBM Rd:
value: ROUND(AVG((TCC_EA0_RDREQ_DRAM_sum / $denom)), 0)
alias: hbm_rd_
tips:
HBM Wr:
value: ROUND(AVG((TCC_EA0_WRREQ_DRAM_sum / $denom)), 0)
alias: hbm_wr_
tips:
LDS Util:
value:
ROUND(AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))),
0)
alias: lds_util_
tips:
VL1 Coalesce:
value:
ROUND(AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
* 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else 0)), 0)
alias: vl1_coales_
tips:
VL1 Stall:
value:
ROUND(AVG((((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum)
if (TCP_GATE_EN1_sum != 0) else None)), 0)
alias: vl1_stall_
tips:
LDS Lat:
value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS)
if (SQ_INSTS_LDS != 0) else None)), 0)
alias: lds_lat_
coll_level: SQ_INST_LEVEL_LDS
tips:
vL1D Lat:
value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_DCACHE_REQ)
if (SQC_DCACHE_REQ != 0) else None)), 0)
alias: sl1_lat_
tips:
IL1 Lat:
value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ)
if (SQC_ICACHE_REQ != 0) else None)), 0)
alias: il1_lat_
tips:
Wave Occupancy:
value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / $numActiveCUs)), 0)
alias: wave_occ_
coll_level: SQ_LEVEL_WAVES
tips: