Update config files for new l2 cache per channel structure and general counter updates
Co-authored-by: fei.zheng <fei.zheng@amd.com>
Signed-off-by: coleramos425 <colramos@amd.com>
[ROCm/rocprofiler-compute commit: 19ad88a04e]
This commit is contained in:
+313
@@ -0,0 +1,313 @@
|
||||
---
|
||||
# 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: 300
|
||||
title: Memory Chart
|
||||
data source:
|
||||
- metric_table:
|
||||
id: 301
|
||||
header:
|
||||
metric: Metric
|
||||
#alias: #alias
|
||||
value: Value
|
||||
tips: Tips
|
||||
metric:
|
||||
# ----------------------------------------
|
||||
# Instr Buff Block
|
||||
|
||||
#TODO: double check wave_occupancy
|
||||
Wavefront Occupancy:
|
||||
#alias: wave_occ_
|
||||
value: ROUND(AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / $numActiveCUs), 0)
|
||||
coll_level: SQ_LEVEL_WAVES
|
||||
tips:
|
||||
Wave Life:
|
||||
#alias: wave_life_
|
||||
value: ROUND(AVG(((4 * (SQ_WAVE_CYCLES / SQ_WAVES)) if (SQ_WAVES != 0) else 0)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Instr Dispatch Block
|
||||
SALU:
|
||||
#alias: salu_
|
||||
value: ROUND(AVG((SQ_INSTS_SALU / $denom)), 0)
|
||||
tips:
|
||||
SMEM:
|
||||
#alias: smem_
|
||||
value: ROUND(AVG((SQ_INSTS_SMEM / $denom)), 0)
|
||||
tips:
|
||||
VALU:
|
||||
#alias: valu_
|
||||
value: ROUND(AVG((SQ_INSTS_VALU / $denom)), 0)
|
||||
tips:
|
||||
MFMA:
|
||||
#alias: mfma_
|
||||
value: ROUND(AVG((SQ_INSTS_MFMA / $denom)), 0)
|
||||
tips:
|
||||
VMEM:
|
||||
#alias: vmem_
|
||||
value: ROUND(AVG((SQ_INSTS_VMEM / $denom)), 0)
|
||||
tips:
|
||||
LDS:
|
||||
#alias: lds_
|
||||
value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0)
|
||||
tips:
|
||||
GWS:
|
||||
#alias: gws_
|
||||
value: ROUND(AVG((SQ_INSTS_GDS / $denom)), 0)
|
||||
tips:
|
||||
BR:
|
||||
#alias: br_
|
||||
value: ROUND(AVG((SQ_INSTS_BRANCH / $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Exec Block
|
||||
Active CUs:
|
||||
#alias: active_cu_
|
||||
value: $numActiveCUs
|
||||
tips:
|
||||
Num CUs:
|
||||
#alias: num_cu_
|
||||
value: $numCU
|
||||
tips:
|
||||
VGPR:
|
||||
#alias: vgpr_
|
||||
value: ROUND(AVG(vgpr), 0)
|
||||
tips:
|
||||
SGPR:
|
||||
#alias: sgpr_
|
||||
value: ROUND(AVG(sgpr), 0)
|
||||
tips:
|
||||
LDS Allocation:
|
||||
#alias: lds_alloc_
|
||||
value: ROUND(AVG(lds), 0)
|
||||
tips:
|
||||
Scratch Allocation:
|
||||
#alias: scratch_alloc_
|
||||
value: ROUND(AVG(scr), 0)
|
||||
tips:
|
||||
Wavefronts:
|
||||
#alias: wavefronts_
|
||||
value: ROUND(AVG(SPI_CSN_WAVE), 0)
|
||||
tips:
|
||||
Workgroups:
|
||||
#alias: workgroups_
|
||||
value: ROUND(AVG(SPI_CSN_NUM_THREADGROUPS), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# LDS Block
|
||||
LDS Req:
|
||||
#alias: lds_req_
|
||||
value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0)
|
||||
tips:
|
||||
LDS Util:
|
||||
#alias: lds_util_
|
||||
value:
|
||||
ROUND(AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))),
|
||||
0)
|
||||
tips:
|
||||
LDS Latency:
|
||||
#alias: lds_lat
|
||||
value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)),0)
|
||||
coll_level: SQ_INST_LEVEL_LDS
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Vector L1 Cache Block
|
||||
VL1 Rd:
|
||||
#alias: vl1_rd_
|
||||
value: ROUND(AVG((TCP_TOTAL_READ_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1 Wr:
|
||||
#alias: vl1_wr_
|
||||
value: ROUND(AVG((TCP_TOTAL_WRITE_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1 Atomic:
|
||||
#alias: vl1_atom_
|
||||
value:
|
||||
ROUND(AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum)
|
||||
/ $denom)), 0)
|
||||
tips:
|
||||
|
||||
VL1 Hit:
|
||||
#alias: 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)
|
||||
tips:
|
||||
VL1 Lat:
|
||||
#alias: 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)
|
||||
tips:
|
||||
VL1 Coalesce:
|
||||
#alias: vl1_coales_
|
||||
value:
|
||||
ROUND(AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
|
||||
* 4)) if (TCP_TOTAL_ACCESSES_sum != None) else 0)), 0)
|
||||
tips:
|
||||
VL1 Stall:
|
||||
#alias: 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)
|
||||
tips:
|
||||
|
||||
VL1_L2 Rd:
|
||||
#alias: vl1_l2_rd_
|
||||
value: ROUND(AVG((TCP_TCC_READ_REQ_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1_L2 Wr:
|
||||
#alias: vl1_l2_wr_
|
||||
value: ROUND(AVG((TCP_TCC_WRITE_REQ_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1_L2 Atomic:
|
||||
#alias: vl1_l2_atom_
|
||||
value:
|
||||
ROUND(AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)
|
||||
/ $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Scalar L1D Cache Block
|
||||
VL1D Rd:
|
||||
#alias: sl1_rd_
|
||||
value: ROUND(AVG((SQC_DCACHE_REQ / $denom)), 0)
|
||||
tips:
|
||||
VL1D Hit:
|
||||
#alias: sl1_hit_
|
||||
value:
|
||||
ROUND((AVG(((SQC_DCACHE_HITS / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ !=
|
||||
0) else None)) * 100), 0)
|
||||
tips:
|
||||
VL1D Lat:
|
||||
#alias: sl1_lat_
|
||||
value:
|
||||
ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ !=
|
||||
0) else None)) * 100), 0)
|
||||
coll_level: SQC_DCACHE_INFLIGHT_LEVEL
|
||||
tips:
|
||||
|
||||
VL1D_L2 Rd:
|
||||
#alias: sl1_l2_rd_
|
||||
value: ROUND(AVG((SQC_TC_DATA_READ_REQ / $denom)), 0)
|
||||
tips:
|
||||
VL1D_L2 Wr:
|
||||
#alias: sl1_l2_wr_
|
||||
value: ROUND(AVG((SQC_TC_DATA_WRITE_REQ / $denom)), 0)
|
||||
tips:
|
||||
VL1D_L2 Atomic:
|
||||
#alias: sl1_l2_atom_
|
||||
value: ROUND(AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Instr L1 Cache Block
|
||||
IL1 Fetch:
|
||||
#alias: il1_fetch_
|
||||
value: ROUND(AVG((SQC_ICACHE_REQ / $denom)), 0)
|
||||
tips:
|
||||
IL1 Hit:
|
||||
#alias: il1_hit_
|
||||
value: ROUND((AVG((SQC_ICACHE_HITS / SQC_ICACHE_REQ)) * 100), 0)
|
||||
tips:
|
||||
IL1 Lat:
|
||||
#alias: il1_lat_
|
||||
value:
|
||||
ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ !=
|
||||
0) else None)) * 100), 0)
|
||||
tips: # ??? coll_level: SQ_IFETCH_LEVEL
|
||||
IL1_L2 Rd:
|
||||
#alias: il1_l2_req_
|
||||
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# L2 Cache Block(inside)
|
||||
L2 Rd:
|
||||
#alias: l2_rd_
|
||||
value: ROUND(AVG((TCC_READ_sum / $denom)), 0)
|
||||
tips:
|
||||
L2 Wr:
|
||||
#alias: l2_wr_
|
||||
value: ROUND(AVG((TCC_WRITE_sum / $denom)), 0)
|
||||
tips:
|
||||
L2 Atomic:
|
||||
#alias: l2_atom_
|
||||
value: ROUND(AVG((TCC_ATOMIC_sum / $denom)), 0)
|
||||
tips:
|
||||
L2 Hit:
|
||||
#alias: l2_hit_
|
||||
value:
|
||||
ROUND(AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
|
||||
+ TCC_MISS_sum) != 0) else 0)), 0)
|
||||
tips:
|
||||
L2 Rd Lat:
|
||||
#alias: 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)
|
||||
tips:
|
||||
L2 Wr Lat:
|
||||
#alias: 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)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Fabric Block
|
||||
Fabric_L2 Rd:
|
||||
#alias: l2_fabric_rd_
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_sum / $denom)), 0)
|
||||
tips:
|
||||
Fabric_L2 Wr:
|
||||
#alias: l2_fabric_wr_
|
||||
value: ROUND(AVG((TCC_EA_WRREQ_sum / $denom)), 0)
|
||||
tips:
|
||||
Fabric_L2 Atomic:
|
||||
#alias: l2_fabric_atom_
|
||||
value: ROUND(AVG((TCC_EA_ATOMIC_sum / $denom)), 0)
|
||||
tips:
|
||||
|
||||
Fabric Rd Lat:
|
||||
#alias: fabric_rd_lat_
|
||||
value:
|
||||
ROUND(AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
|
||||
!= 0) else 0)), 0)
|
||||
tips:
|
||||
Fabric Wr Lat:
|
||||
#alias: fabric_wr_lat_
|
||||
value:
|
||||
ROUND(AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
|
||||
!= 0) else 0)), 0)
|
||||
tips:
|
||||
Fabric Atomic Lat:
|
||||
#alias: fabric_atom_lat_
|
||||
value:
|
||||
ROUND(AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
|
||||
!= 0) else 0)), 0)
|
||||
tips:
|
||||
|
||||
HBM Rd:
|
||||
#alias: hbm_rd_
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_DRAM_sum / $denom)), 0)
|
||||
tips:
|
||||
HBM Wr:
|
||||
#alias: hbm_wr_
|
||||
value: ROUND(AVG((TCC_EA_WRREQ_DRAM_sum / $denom)), 0)
|
||||
tips:
|
||||
|
||||
comparable: false # for now
|
||||
cli_style: mem_chart
|
||||
+3
-3
@@ -18,7 +18,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
label_txt: (# of instr + $normUnit)
|
||||
metric:
|
||||
@@ -81,7 +81,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
label_txt: (# of instr + $normUnit)
|
||||
metric:
|
||||
@@ -231,4 +231,4 @@ Panel Config:
|
||||
tips:
|
||||
MFMA-F64:
|
||||
count: None # No HW module
|
||||
tips:
|
||||
tips:
|
||||
+2
-2
@@ -15,7 +15,7 @@ Panel Config:
|
||||
metric: Metric
|
||||
value: Value
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -152,4 +152,4 @@ Panel Config:
|
||||
unit: (OPs + $normUnit)
|
||||
tips:
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -118,4 +118,4 @@ Panel Config:
|
||||
max: MAX(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
|
||||
unit: Cycles
|
||||
coll_level: SQ_INST_LEVEL_LDS
|
||||
tips:
|
||||
tips:
|
||||
+2
-2
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -76,4 +76,4 @@ Panel Config:
|
||||
max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) +
|
||||
SQC_ICACHE_MISSES_DUPLICATE)))
|
||||
unit: pct
|
||||
tips:
|
||||
tips:
|
||||
+2
-2
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -161,4 +161,4 @@ Panel Config:
|
||||
min: MIN((SQC_TC_STALL / $denom))
|
||||
max: MAX((SQC_TC_STALL / $denom))
|
||||
unit: (Cycles + $normUnit)
|
||||
tips:
|
||||
tips:
|
||||
+2
-2
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -258,7 +258,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_multi_bar
|
||||
metric:
|
||||
NC - Read:
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
metric:
|
||||
L2 Util:
|
||||
@@ -303,7 +303,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_multi_bar
|
||||
metric:
|
||||
Read - Remote Socket Stall:
|
||||
@@ -361,4 +361,4 @@ Panel Config:
|
||||
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
|
||||
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
|
||||
unit: (Req + $normUnit)
|
||||
tips:
|
||||
tips:
|
||||
+162
-2124
File diff suppressed because it is too large
Load Diff
-259
@@ -1,259 +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: None # No perf counter
|
||||
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_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
|
||||
!= 0) else None)), 0)
|
||||
alias: fabric_rd_lat_
|
||||
tips:
|
||||
Fabric Wr Lat:
|
||||
value: ROUND(AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
|
||||
!= 0) else None)), 0)
|
||||
alias: fabric_wr_lat_
|
||||
tips:
|
||||
Fabric Atomic Lat:
|
||||
value: ROUND(AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
|
||||
!= 0) else None)), 0)
|
||||
alias: fabric_atom_lat_
|
||||
tips:
|
||||
Fabric_L2 Rd:
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_sum / $denom)), 0)
|
||||
alias: l2_fabric_rd_
|
||||
tips:
|
||||
Fabric_L2 Wr:
|
||||
value: ROUND(AVG((TCC_EA_WRREQ_sum / $denom)), 0)
|
||||
alias: l2_fabric_wr_
|
||||
tips:
|
||||
Fabric_l2 Atomic:
|
||||
value: ROUND(AVG((TCC_EA_ATOMIC_sum / $denom)), 0)
|
||||
alias: l2_fabric_atom_
|
||||
tips:
|
||||
HBM Rd:
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_DRAM_sum / $denom)), 0)
|
||||
alias: hbm_rd_
|
||||
tips:
|
||||
HBM Wr:
|
||||
value: ROUND(AVG((TCC_EA_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:
|
||||
+313
@@ -0,0 +1,313 @@
|
||||
---
|
||||
# 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: 300
|
||||
title: Memory Chart
|
||||
data source:
|
||||
- metric_table:
|
||||
id: 301
|
||||
header:
|
||||
metric: Metric
|
||||
#alias: #alias
|
||||
value: Value
|
||||
tips: Tips
|
||||
metric:
|
||||
# ----------------------------------------
|
||||
# Instr Buff Block
|
||||
|
||||
#TODO: double check wave_occupancy
|
||||
Wavefront Occupancy:
|
||||
#alias: wave_occ_
|
||||
value: ROUND(AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / $numActiveCUs), 0)
|
||||
coll_level: SQ_LEVEL_WAVES
|
||||
tips:
|
||||
Wave Life:
|
||||
#alias: wave_life_
|
||||
value: ROUND(AVG(((4 * (SQ_WAVE_CYCLES / SQ_WAVES)) if (SQ_WAVES != 0) else 0)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Instr Dispatch Block
|
||||
SALU:
|
||||
#alias: salu_
|
||||
value: ROUND(AVG((SQ_INSTS_SALU / $denom)), 0)
|
||||
tips:
|
||||
SMEM:
|
||||
#alias: smem_
|
||||
value: ROUND(AVG((SQ_INSTS_SMEM / $denom)), 0)
|
||||
tips:
|
||||
VALU:
|
||||
#alias: valu_
|
||||
value: ROUND(AVG((SQ_INSTS_VALU / $denom)), 0)
|
||||
tips:
|
||||
MFMA:
|
||||
#alias: mfma_
|
||||
value: ROUND(AVG((SQ_INSTS_MFMA / $denom)), 0)
|
||||
tips:
|
||||
VMEM:
|
||||
#alias: vmem_
|
||||
value: ROUND(AVG((SQ_INSTS_VMEM / $denom)), 0)
|
||||
tips:
|
||||
LDS:
|
||||
#alias: lds_
|
||||
value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0)
|
||||
tips:
|
||||
GWS:
|
||||
#alias: gws_
|
||||
value: ROUND(AVG((SQ_INSTS_GDS / $denom)), 0)
|
||||
tips:
|
||||
BR:
|
||||
#alias: br_
|
||||
value: ROUND(AVG((SQ_INSTS_BRANCH / $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Exec Block
|
||||
Active CUs:
|
||||
#alias: active_cu_
|
||||
value: $numActiveCUs
|
||||
tips:
|
||||
Num CUs:
|
||||
#alias: num_cu_
|
||||
value: $numCU
|
||||
tips:
|
||||
VGPR:
|
||||
#alias: vgpr_
|
||||
value: ROUND(AVG(vgpr), 0)
|
||||
tips:
|
||||
SGPR:
|
||||
#alias: sgpr_
|
||||
value: ROUND(AVG(sgpr), 0)
|
||||
tips:
|
||||
LDS Allocation:
|
||||
#alias: lds_alloc_
|
||||
value: ROUND(AVG(lds), 0)
|
||||
tips:
|
||||
Scratch Allocation:
|
||||
#alias: scratch_alloc_
|
||||
value: ROUND(AVG(scr), 0)
|
||||
tips:
|
||||
Wavefronts:
|
||||
#alias: wavefronts_
|
||||
value: ROUND(AVG(SPI_CSN_WAVE), 0)
|
||||
tips:
|
||||
Workgroups:
|
||||
#alias: workgroups_
|
||||
value: ROUND(AVG(SPI_CSN_NUM_THREADGROUPS), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# LDS Block
|
||||
LDS Req:
|
||||
#alias: lds_req_
|
||||
value: ROUND(AVG((SQ_INSTS_LDS / $denom)), 0)
|
||||
tips:
|
||||
LDS Util:
|
||||
#alias: lds_util_
|
||||
value:
|
||||
ROUND(AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))),
|
||||
0)
|
||||
tips:
|
||||
LDS Latency:
|
||||
#alias: lds_lat
|
||||
value: ROUND(AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None)),0)
|
||||
coll_level: SQ_INST_LEVEL_LDS
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Vector L1 Cache Block
|
||||
VL1 Rd:
|
||||
#alias: vl1_rd_
|
||||
value: ROUND(AVG((TCP_TOTAL_READ_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1 Wr:
|
||||
#alias: vl1_wr_
|
||||
value: ROUND(AVG((TCP_TOTAL_WRITE_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1 Atomic:
|
||||
#alias: vl1_atom_
|
||||
value:
|
||||
ROUND(AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum)
|
||||
/ $denom)), 0)
|
||||
tips:
|
||||
|
||||
VL1 Hit:
|
||||
#alias: 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)
|
||||
tips:
|
||||
VL1 Lat:
|
||||
#alias: 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)
|
||||
tips:
|
||||
VL1 Coalesce:
|
||||
#alias: vl1_coales_
|
||||
value:
|
||||
ROUND(AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
|
||||
* 4)) if (TCP_TOTAL_ACCESSES_sum != None) else 0)), 0)
|
||||
tips:
|
||||
VL1 Stall:
|
||||
#alias: 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)
|
||||
tips:
|
||||
|
||||
VL1_L2 Rd:
|
||||
#alias: vl1_l2_rd_
|
||||
value: ROUND(AVG((TCP_TCC_READ_REQ_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1_L2 Wr:
|
||||
#alias: vl1_l2_wr_
|
||||
value: ROUND(AVG((TCP_TCC_WRITE_REQ_sum / $denom)), 0)
|
||||
tips:
|
||||
VL1_L2 Atomic:
|
||||
#alias: vl1_l2_atom_
|
||||
value:
|
||||
ROUND(AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)
|
||||
/ $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Scalar L1D Cache Block
|
||||
VL1D Rd:
|
||||
#alias: sl1_rd_
|
||||
value: ROUND(AVG((SQC_DCACHE_REQ / $denom)), 0)
|
||||
tips:
|
||||
VL1D Hit:
|
||||
#alias: sl1_hit_
|
||||
value:
|
||||
ROUND((AVG(((SQC_DCACHE_HITS / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ !=
|
||||
0) else None)) * 100), 0)
|
||||
tips:
|
||||
VL1D Lat:
|
||||
#alias: sl1_lat_
|
||||
value:
|
||||
ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_DCACHE_REQ) if (SQC_DCACHE_REQ !=
|
||||
0) else None)) * 100), 0)
|
||||
coll_level: SQC_DCACHE_INFLIGHT_LEVEL
|
||||
tips:
|
||||
|
||||
VL1D_L2 Rd:
|
||||
#alias: sl1_l2_rd_
|
||||
value: ROUND(AVG((SQC_TC_DATA_READ_REQ / $denom)), 0)
|
||||
tips:
|
||||
VL1D_L2 Wr:
|
||||
#alias: sl1_l2_wr_
|
||||
value: ROUND(AVG((SQC_TC_DATA_WRITE_REQ / $denom)), 0)
|
||||
tips:
|
||||
VL1D_L2 Atomic:
|
||||
#alias: sl1_l2_atom_
|
||||
value: ROUND(AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Instr L1 Cache Block
|
||||
IL1 Fetch:
|
||||
#alias: il1_fetch_
|
||||
value: ROUND(AVG((SQC_ICACHE_REQ / $denom)), 0)
|
||||
tips:
|
||||
IL1 Hit:
|
||||
#alias: il1_hit_
|
||||
value: ROUND((AVG((SQC_ICACHE_HITS / SQC_ICACHE_REQ)) * 100), 0)
|
||||
tips:
|
||||
IL1 Lat:
|
||||
#alias: il1_lat_
|
||||
value:
|
||||
ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ !=
|
||||
0) else None)) * 100), 0)
|
||||
tips: # ??? coll_level: SQ_IFETCH_LEVEL
|
||||
IL1_L2 Rd:
|
||||
#alias: il1_l2_req_
|
||||
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# L2 Cache Block(inside)
|
||||
L2 Rd:
|
||||
#alias: l2_rd_
|
||||
value: ROUND(AVG((TCC_READ_sum / $denom)), 0)
|
||||
tips:
|
||||
L2 Wr:
|
||||
#alias: l2_wr_
|
||||
value: ROUND(AVG((TCC_WRITE_sum / $denom)), 0)
|
||||
tips:
|
||||
L2 Atomic:
|
||||
#alias: l2_atom_
|
||||
value: ROUND(AVG((TCC_ATOMIC_sum / $denom)), 0)
|
||||
tips:
|
||||
L2 Hit:
|
||||
#alias: l2_hit_
|
||||
value:
|
||||
ROUND(AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
|
||||
+ TCC_MISS_sum) != 0) else 0)), 0)
|
||||
tips:
|
||||
L2 Rd Lat:
|
||||
#alias: 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)
|
||||
tips:
|
||||
L2 Wr Lat:
|
||||
#alias: 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)
|
||||
tips:
|
||||
|
||||
# ----------------------------------------
|
||||
# Fabric Block
|
||||
Fabric_L2 Rd:
|
||||
#alias: l2_fabric_rd_
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_sum / $denom)), 0)
|
||||
tips:
|
||||
Fabric_L2 Wr:
|
||||
#alias: l2_fabric_wr_
|
||||
value: ROUND(AVG((TCC_EA_WRREQ_sum / $denom)), 0)
|
||||
tips:
|
||||
Fabric_L2 Atomic:
|
||||
#alias: l2_fabric_atom_
|
||||
value: ROUND(AVG((TCC_EA_ATOMIC_sum / $denom)), 0)
|
||||
tips:
|
||||
|
||||
Fabric Rd Lat:
|
||||
#alias: fabric_rd_lat_
|
||||
value:
|
||||
ROUND(AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
|
||||
!= 0) else 0)), 0)
|
||||
tips:
|
||||
Fabric Wr Lat:
|
||||
#alias: fabric_wr_lat_
|
||||
value:
|
||||
ROUND(AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
|
||||
!= 0) else 0)), 0)
|
||||
tips:
|
||||
Fabric Atomic Lat:
|
||||
#alias: fabric_atom_lat_
|
||||
value:
|
||||
ROUND(AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
|
||||
!= 0) else 0)), 0)
|
||||
tips:
|
||||
|
||||
HBM Rd:
|
||||
#alias: hbm_rd_
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_DRAM_sum / $denom)), 0)
|
||||
tips:
|
||||
HBM Wr:
|
||||
#alias: hbm_wr_
|
||||
value: ROUND(AVG((TCC_EA_WRREQ_DRAM_sum / $denom)), 0)
|
||||
tips:
|
||||
|
||||
comparable: false # for now
|
||||
cli_style: mem_chart
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
---
|
||||
Panel Config:
|
||||
id: 400
|
||||
title: Roofline
|
||||
data source:
|
||||
- raw_csv_table:
|
||||
id: 401
|
||||
source: roofline.csv
|
||||
comparable: false # for now
|
||||
cli_style: roofline_chart
|
||||
# TODO: refactoring the data structure to have metrics here!
|
||||
+3
-3
@@ -18,7 +18,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
label_txt: (# of instr + $normUnit)
|
||||
metric:
|
||||
@@ -81,7 +81,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
label_txt: (# of instr + $normUnit)
|
||||
metric:
|
||||
@@ -231,4 +231,4 @@ Panel Config:
|
||||
tips:
|
||||
MFMA-F64:
|
||||
count: AVG((SQ_INSTS_VALU_MFMA_F64 / $denom))
|
||||
tips:
|
||||
tips:
|
||||
+1
-1
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
|
||||
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -118,4 +118,4 @@ Panel Config:
|
||||
max: MAX(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
|
||||
unit: Cycles
|
||||
coll_level: SQ_INST_LEVEL_LDS
|
||||
tips:
|
||||
tips:
|
||||
+2
-2
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -76,4 +76,4 @@ Panel Config:
|
||||
max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) +
|
||||
SQC_ICACHE_MISSES_DUPLICATE)))
|
||||
unit: pct
|
||||
tips:
|
||||
tips:
|
||||
+2
-2
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -161,4 +161,4 @@ Panel Config:
|
||||
min: MIN((SQC_TC_STALL / $denom))
|
||||
max: MAX((SQC_TC_STALL / $denom))
|
||||
unit: (Cycles + $normUnit)
|
||||
tips:
|
||||
tips:
|
||||
+3
-3
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
range_color: [1, 100]
|
||||
label_txt: (%)
|
||||
@@ -258,7 +258,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_multi_bar
|
||||
metric:
|
||||
NC - Read:
|
||||
@@ -401,4 +401,4 @@ Panel Config:
|
||||
min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
|
||||
max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
|
||||
units: (Misses + $normUnit)
|
||||
tips:
|
||||
tips:
|
||||
+3
-3
@@ -16,7 +16,7 @@ Panel Config:
|
||||
value: Value
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_bar
|
||||
metric:
|
||||
L2 Util:
|
||||
@@ -303,7 +303,7 @@ Panel Config:
|
||||
max: Max
|
||||
unit: Unit
|
||||
tips: Tips
|
||||
style:
|
||||
cli_style:
|
||||
type: simple_multi_bar
|
||||
metric:
|
||||
Read - Remote Socket Stall:
|
||||
@@ -361,4 +361,4 @@ Panel Config:
|
||||
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
|
||||
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
|
||||
unit: (Req + $normUnit)
|
||||
tips:
|
||||
tips:
|
||||
+159
-1992
File diff suppressed because it is too large
Load Diff
-259
@@ -1,259 +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_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
|
||||
!= 0) else None)), 0)
|
||||
alias: fabric_rd_lat_
|
||||
tips:
|
||||
Fabric Wr Lat:
|
||||
value: ROUND(AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
|
||||
!= 0) else None)), 0)
|
||||
alias: fabric_wr_lat_
|
||||
tips:
|
||||
Fabric Atomic Lat:
|
||||
value: ROUND(AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
|
||||
!= 0) else None)), 0)
|
||||
alias: fabric_atom_lat_
|
||||
tips:
|
||||
Fabric_L2 Rd:
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_sum / $denom)), 0)
|
||||
alias: l2_fabric_rd_
|
||||
tips:
|
||||
Fabric_L2 Wr:
|
||||
value: ROUND(AVG((TCC_EA_WRREQ_sum / $denom)), 0)
|
||||
alias: l2_fabric_wr_
|
||||
tips:
|
||||
Fabric_l2 Atomic:
|
||||
value: ROUND(AVG((TCC_EA_ATOMIC_sum / $denom)), 0)
|
||||
alias: l2_fabric_atom_
|
||||
tips:
|
||||
HBM Rd:
|
||||
value: ROUND(AVG((TCC_EA_RDREQ_DRAM_sum / $denom)), 0)
|
||||
alias: hbm_rd_
|
||||
tips:
|
||||
HBM Wr:
|
||||
value: ROUND(AVG((TCC_EA_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:
|
||||
Reference in New Issue
Block a user