Update metrics, handling merge conflicts in L2 cache per channel

Co-authored-by: Nick Curtis <nicholas.curtis@amd.com>
Signed-off-by: colramos-amd <colramos@amd.com>


[ROCm/rocprofiler-compute commit: deef37d5a9]
This commit is contained in:
colramos-amd
2024-01-31 18:23:21 -06:00
committed by Cole Ramos
parent 265c0f4856
commit ef60d67744
42 changed files with 2910 additions and 3703 deletions
@@ -14,10 +14,10 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
peak: Peak peak: Peak
pop: PoP pop: Pct of Peak
tips: Tips tips: Tips
metric: metric:
VALU FLOPs: VALU FLOPs:
@@ -28,7 +28,7 @@ Panel Config:
tips: tips:
VALU IOPs: VALU IOPs:
value: None # No perf counter value: None # No perf counter
unit: GOPs unit: GIOPs
peak: (((($sclk * $numCU) * 64) * 2) / 1000) peak: (((($sclk * $numCU) * 64) * 2) / 1000)
pop: None # No perf counter pop: None # No perf counter
tips: tips:
@@ -68,25 +68,37 @@ Panel Config:
peak: $numCU peak: $numCU
pop: ((100 * $numActiveCUs) / $numCU) pop: ((100 * $numActiveCUs) / $numCU)
tips: tips:
SALU Util: SALU Utilization:
value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
peak: 100 peak: 100
pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU)))
tips: tips:
VALU Util: VALU Utilization:
value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
peak: 100 peak: 100
pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU)))
tips: tips:
MFMA Util: MFMA Utilization:
value: None # No HW module value: None # No HW module
unit: pct unit: pct
peak: 100 peak: 100
pop: None # No HW module pop: None # No HW module
tips: tips:
VALU Active Threads/Wave: VMEM Utilization:
value: None # No HW module
unit: pct
peak: 100
pop: None # No HW module
tips:
Branch Utilization:
value: None # No HW module
unit: pct
peak: 100
pop: None # No HW module
tips:
VALU Active Threads:
value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) != 0) else None))
unit: Threads unit: Threads
@@ -94,25 +106,29 @@ Panel Config:
pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) * 1.5625) != 0) else None)) * 1.5625)
tips: tips:
IPC - Issue: IPC:
value: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) value: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED)
/ SQ_ACTIVE_INST_ANY))
unit: Instr/cycle unit: Instr/cycle
peak: 5 peak: 5
pop: ((100 * AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) pop: ((100 * AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))) / 5)
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED)
/ SQ_ACTIVE_INST_ANY))) / 5)
tips: tips:
LDS BW: Wavefront Occupancy:
value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE))
unit: Wavefronts
peak: ($maxWavesPerCU * $numCU)
pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU
* $numCU))))
coll_level: SQ_LEVEL_WAVES
tips:
Theoretical LDS Bandwidth:
value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp))) / (End_Timestamp - Start_Timestamp)))
unit: GB/sec unit: GB/s
peak: (($sclk * $numCU) * 0.128) peak: (($sclk * $numCU) * 0.128)
pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128))) / (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128)))
tips: tips:
LDS Bank Conflict: LDS Bank Conflicts/Access:
value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
unit: Conflicts/access unit: Conflicts/access
@@ -120,35 +136,7 @@ Panel Config:
pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32)
tips: tips:
Instr Cache Hit Rate: vL1D Cache Hit Rate:
value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
unit: pct
peak: 100
pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
tips:
Instr Cache BW:
value: AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
Scalar L1D Cache Hit Rate:
value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
unit: pct
peak: 100
pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
tips:
Scalar L1D Cache BW:
value: AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
Vector L1D Cache Hit Rate:
value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) value: 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_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 / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
@@ -160,7 +148,7 @@ Panel Config:
TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
None)) None))
tips: tips:
Vector L1D Cache BW: vL1D Cache BW:
value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
peak: ((($sclk / 1000) * 64) * $numCU) peak: ((($sclk / 1000) * 64) * $numCU)
@@ -175,6 +163,13 @@ Panel Config:
pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
tips: tips:
L2 Cache BW:
value: AVG(((TCC_REQ_sum * 64) / (EndNs - BeginNs)))
unit: GB/s
peak: ((($sclk / 1000) * 64) * TO_INT($L2Banks))
pop: ((100 * AVG(((TCC_REQ_sum * 64) / (EndNs - BeginNs))))
/ ((($sclk / 1000) * 64) * TO_INT($L2Banks)))
tips:
L2-Fabric Read BW: L2-Fabric Read BW:
value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / (End_Timestamp - Start_Timestamp))) * 64)) / (End_Timestamp - Start_Timestamp)))
@@ -195,36 +190,48 @@ Panel Config:
value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
tips: tips:
L2-Fabric Write Latency: L2-Fabric Write Latency:
value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
tips: tips:
Wave Occupancy: sL1D Cache Hit Rate:
value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
unit: Wavefronts if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
peak: ($maxWavesPerCU * $numCU) unit: pct
pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU peak: 100
* $numCU)))) pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
coll_level: SQ_LEVEL_WAVES if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
tips: tips:
Instr Fetch BW: sL1D Cache BW:
value: AVG(((SQ_IFETCH / (End_Timestamp - Start_Timestamp)) * 32)) value: AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s unit: GB/s
peak: ((($sclk / 1000) * 32) * $numSQC) peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQ_IFETCH / (End_Timestamp - Start_Timestamp)) * 32))) / ($numSQC pop: ((100 * AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
* (($sclk / 1000) * 32))) / 1000) * 64) * $numSQC))
coll_level: SQ_IFETCH_LEVEL
tips: tips:
Instr Fetch Latency: L1I Hit Rate:
value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
unit: pct
peak: 100
pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
tips:
L1I BW:
value: AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 32))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 32))) / ((($sclk
/ 1000) * 32) * $numSQC))
tips:
L1I Fetch Latency:
value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH)) value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
coll_level: SQ_IFETCH_LEVEL coll_level: SQ_IFETCH_LEVEL
tips: tips:
@@ -0,0 +1,314 @@
---
# 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
title: Memory Chart
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: None # No perf counter
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
@@ -19,19 +19,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy Cycles: CPF Utilization:
avg: AVG(GRBM_GUI_ACTIVE)
min: MIN(GRBM_GUI_ACTIVE)
max: MAX(GRBM_GUI_ACTIVE)
unit: Cycles/Kernel
tips:
CPF Busy:
avg: AVG(CPF_CPF_STAT_BUSY)
min: MIN(CPF_CPF_STAT_BUSY)
max: MAX(CPF_CPF_STAT_BUSY)
unit: Cycles/Kernel
tips:
CPF Util:
avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE))
if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None))
min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE))
@@ -47,15 +35,9 @@ Panel Config:
!= 0) else None)) != 0) else None))
max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
!= 0) else None)) != 0) else None))
unit: Cycles/Kernel unit: pct
tips: tips:
L2Cache Intf Busy: CPF-L2 Utilization:
avg: AVG(CPF_CPF_TCIU_BUSY)
min: MIN(CPF_CPF_TCIU_BUSY)
max: MAX(CPF_CPF_TCIU_BUSY)
unit: Cycles/Kernel
tips:
L2Cache Intf Util:
avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE))
if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None))
min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE))
@@ -64,7 +46,7 @@ Panel Config:
if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
L2Cache Intf Stall: CPF-L2 Stall:
avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY
!= 0) else None)) != 0) else None))
min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY
@@ -73,11 +55,14 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: pct unit: pct
tips: tips:
UTCL1 Stall: CPF-UTCL1 Stall:
avg: AVG(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) avg: AVG(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
min: MIN(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) != 0) else None)
max: MAX(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) min: MIN(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
unit: Cycles/Kernel != 0) else None)
max: MAX(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
!= 0) else None)
unit: pct
tips: tips:
- metric_table: - metric_table:
@@ -91,19 +76,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy Cycles: CPC Utilization:
avg: AVG(GRBM_GUI_ACTIVE)
min: MIN(GRBM_GUI_ACTIVE)
max: MAX(GRBM_GUI_ACTIVE)
unit: Cycles
tips:
CPC Busy Cycles:
avg: AVG(CPC_CPC_STAT_BUSY)
min: MIN(CPC_CPC_STAT_BUSY)
max: MAX(CPC_CPC_STAT_BUSY)
unit: Cycles
tips:
CPC Util:
avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE))
if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE))
@@ -112,12 +85,6 @@ Panel Config:
if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
CPC Stall Cycles:
avg: AVG(CPC_CPC_STAT_STALL)
min: MIN(CPC_CPC_STAT_STALL)
max: MAX(CPC_CPC_STAT_STALL)
unit: Cycles
tips:
CPC Stall Rate: CPC Stall Rate:
avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None)) != 0) else None))
@@ -127,28 +94,19 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: pct unit: pct
tips: tips:
CPC Packet Decoding: CPC Packet Decoding Utilization:
avg: AVG(CPC_ME1_BUSY_FOR_PACKET_DECODE) avg: AVG((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
min: MIN(CPC_ME1_BUSY_FOR_PACKET_DECODE) min: MIN((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
max: MAX(CPC_ME1_BUSY_FOR_PACKET_DECODE) max: MAX((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
unit: Cycles
tips:
SPI Intf Busy Cycles:
avg: AVG(CPC_ME1_DC0_SPI_BUSY)
min: MIN(CPC_ME1_DC0_SPI_BUSY)
max: MAX(CPC_ME1_DC0_SPI_BUSY)
unit: Cycles
tips:
SPI Intf Util:
avg: AVG((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
min: MIN((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
max: MAX((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
unit: pct unit: pct
tips: tips:
L2Cache Intf Util: CPC-Workgroup Manager Utilization:
avg: AVG((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
min: MIN((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
max: MAX((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
unit: Pct
tips:
CPC-L2 Utilization:
avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE))
if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE))
@@ -157,19 +115,16 @@ Panel Config:
if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
UTCL1 Stall Cycles: CPC-UTCL1 Stall:
avg: AVG(CPC_UTCL1_STALL_ON_TRANSLATION) avg: AVG(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
min: MIN(CPC_UTCL1_STALL_ON_TRANSLATION) != 0) else None)
max: MAX(CPC_UTCL1_STALL_ON_TRANSLATION) min: MIN(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
unit: Cycles != 0) else None)
max: MAX(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None)
unit: pct
tips: tips:
UTCL2 Intf Busy Cycles: CPC-UTCL2 Utilization:
avg: AVG(CPC_CPC_UTCL2IU_BUSY)
min: MIN(CPC_CPC_UTCL2IU_BUSY)
max: MAX(CPC_CPC_UTCL2IU_BUSY)
unit: Cycles
tips:
UTCL2 Intf Util:
avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE))
if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE))
@@ -6,11 +6,11 @@ Metric Description:
# Define the panel properties and properties of each metric in the panel. # Define the panel properties and properties of each metric in the panel.
Panel Config: Panel Config:
id: 600 id: 600
title: Shader Processor Input (SPI) title: Workgroup Manager (SPI)
data source: data source:
- metric_table: - metric_table:
id: 601 id: 601
title: SPI Stats title: Workgroup Manager Utilizations
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -19,29 +19,35 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy: Accelerator Utilization:
avg: AVG(GRBM_GUI_ACTIVE) avg: AVG(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
min: MIN(GRBM_GUI_ACTIVE) min: MIN(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
max: MAX(GRBM_GUI_ACTIVE) max: MAX(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
unit: Cycles unit: Pct
tips: tips:
CS Busy: Scheduler-Pipe Utilization:
avg: AVG(SPI_CSN_BUSY) avg: AVG(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
min: MIN(SPI_CSN_BUSY) min: MIN(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
max: MAX(SPI_CSN_BUSY) max: MAX(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
unit: Cycles unit: Pct
tips: tips:
SPI Busy: Workgroup Manager Utilization:
avg: AVG(GRBM_SPI_BUSY) avg: AVG(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
min: MIN(GRBM_SPI_BUSY) min: MIN(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
max: MAX(GRBM_SPI_BUSY) max: MAX(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
unit: Cycles unit: Pct
tips: tips:
SQ Busy: Shader Engine Utilization:
avg: AVG(SQ_BUSY_CYCLES) avg: AVG(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
min: MIN(SQ_BUSY_CYCLES) min: MIN(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
max: MAX(SQ_BUSY_CYCLES) max: MAX(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
unit: Cycles unit: Pct
tips:
SIMD Utilization:
avg: AVG(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips: tips:
Dispatched Workgroups: Dispatched Workgroups:
avg: AVG(SPI_CSN_NUM_THREADGROUPS) avg: AVG(SPI_CSN_NUM_THREADGROUPS)
@@ -55,105 +61,6 @@ Panel Config:
max: MAX(SPI_CSN_WAVE) max: MAX(SPI_CSN_WAVE)
unit: Wavefronts unit: Wavefronts
tips: tips:
Wave Alloc Failed:
avg: AVG(SPI_RA_REQ_NO_ALLOC)
min: MIN(SPI_RA_REQ_NO_ALLOC)
max: MAX(SPI_RA_REQ_NO_ALLOC)
unit: Cycles
tips:
Wave Alloc Failed - CS:
avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN)
min: MIN(SPI_RA_REQ_NO_ALLOC_CSN)
max: MAX(SPI_RA_REQ_NO_ALLOC_CSN)
unit: Cycles
tips:
- metric_table:
id: 602
title: SPI Resource Allocation
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Wave request Failed (CS):
avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN)
min: MIN(SPI_RA_REQ_NO_ALLOC_CSN)
max: MAX(SPI_RA_REQ_NO_ALLOC_CSN)
unit: Cycles
tips:
CS Stall:
avg: AVG(SPI_RA_RES_STALL_CSN)
min: MIN(SPI_RA_RES_STALL_CSN)
max: MAX(SPI_RA_RES_STALL_CSN)
unit: Cycles
tips:
CS Stall Rate:
avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
min: MIN((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
max: MAX((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
unit: pct
tips:
Scratch Stall:
avg: AVG(SPI_RA_TMP_STALL_CSN)
min: MIN(SPI_RA_TMP_STALL_CSN)
max: MAX(SPI_RA_TMP_STALL_CSN)
unit: Cycles
tips:
Insufficient SIMD Waveslots:
avg: AVG(SPI_RA_WAVE_SIMD_FULL_CSN)
min: MIN(SPI_RA_WAVE_SIMD_FULL_CSN)
max: MAX(SPI_RA_WAVE_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient SIMD VGPRs:
avg: AVG(SPI_RA_VGPR_SIMD_FULL_CSN)
min: MIN(SPI_RA_VGPR_SIMD_FULL_CSN)
max: MAX(SPI_RA_VGPR_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient SIMD SGPRs:
avg: AVG(SPI_RA_SGPR_SIMD_FULL_CSN)
min: MIN(SPI_RA_SGPR_SIMD_FULL_CSN)
max: MAX(SPI_RA_SGPR_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient CU LDS:
avg: AVG(SPI_RA_LDS_CU_FULL_CSN)
min: MIN(SPI_RA_LDS_CU_FULL_CSN)
max: MAX(SPI_RA_LDS_CU_FULL_CSN)
unit: CU
tips:
Insufficient CU Barries:
avg: AVG(SPI_RA_BAR_CU_FULL_CSN)
min: MIN(SPI_RA_BAR_CU_FULL_CSN)
max: MAX(SPI_RA_BAR_CU_FULL_CSN)
unit: CU
tips:
Insufficient Bulky Resource:
avg: AVG(SPI_RA_BULKY_CU_FULL_CSN)
min: MIN(SPI_RA_BULKY_CU_FULL_CSN)
max: MAX(SPI_RA_BULKY_CU_FULL_CSN)
unit: CU
tips:
Reach CU Threadgroups Limit:
avg: AVG(SPI_RA_TGLIM_CU_FULL_CSN)
min: MIN(SPI_RA_TGLIM_CU_FULL_CSN)
max: MAX(SPI_RA_TGLIM_CU_FULL_CSN)
unit: Cycles
tips:
Reach CU Wave Limit:
avg: AVG(SPI_RA_WVLIM_STALL_CSN)
min: MIN(SPI_RA_WVLIM_STALL_CSN)
max: MAX(SPI_RA_WVLIM_STALL_CSN)
unit: Cycles
tips:
VGPR Writes: VGPR Writes:
avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else
None)) None))
@@ -172,3 +79,89 @@ Panel Config:
None)) None))
unit: Cycles/wave unit: Cycles/wave
tips: tips:
- metric_table:
id: 602
title: Workgroup Manager - Resource Allocation
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Not-scheduled Rate (Workgroup Manager):
avg: AVG((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
min: MIN((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
max: MAX((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
unit: Pct
tips:
Not-scheduled Rate (Scheduler-Pipe):
avg: AVG((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
min: MIN((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
max: MAX((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
unit: Pct
tips:
Scheduler-Pipe Stall Rate:
avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
min: MIN((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
max: MAX((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
unit: Pct
tips:
Scratch Stall Rate:
avg: AVG((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
min: MIN((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
max: MAX((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
unit: Pct
tips:
Insufficient SIMD Waveslots:
avg: AVG(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient SIMD VGPRs:
avg: AVG(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient SIMD SGPRs:
avg: AVG(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient CU LDS:
avg: AVG(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient CU Barriers:
avg: AVG(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Reached CU Workgroup Limit:
avg: AVG(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Reached CU Wavefront Limit:
avg: AVG(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
@@ -77,7 +77,7 @@ Panel Config:
avg: AVG(Scratch_Per_Workitem) avg: AVG(Scratch_Per_Workitem)
min: MIN(Scratch_Per_Workitem) min: MIN(Scratch_Per_Workitem)
max: MAX(Scratch_Per_Workitem) max: MAX(Scratch_Per_Workitem)
unit: Bytes unit: Bytes/Workitem
tips: tips:
- metric_table: - metric_table:
@@ -103,7 +103,7 @@ Panel Config:
max: MAX(GRBM_GUI_ACTIVE) max: MAX(GRBM_GUI_ACTIVE)
unit: Cycle unit: Cycle
tips: tips:
Instr/wavefront: Instructions per wavefront:
avg: AVG((SQ_INSTS / SQ_WAVES)) avg: AVG((SQ_INSTS / SQ_WAVES))
min: MIN((SQ_INSTS / SQ_WAVES)) min: MIN((SQ_INSTS / SQ_WAVES))
max: MAX((SQ_INSTS / SQ_WAVES)) max: MAX((SQ_INSTS / SQ_WAVES))
@@ -10,7 +10,7 @@ Panel Config:
data source: data source:
- metric_table: - metric_table:
id: 1001 id: 1001
title: Instruction Mix title: Overall Instruction Mix
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -22,7 +22,7 @@ Panel Config:
type: simple_bar type: simple_bar
label_txt: (# of instr + $normUnit) label_txt: (# of instr + $normUnit)
metric: metric:
VALU - Vector: VALU:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -40,7 +40,7 @@ Panel Config:
max: MAX((SQ_INSTS_LDS / $denom)) max: MAX((SQ_INSTS_LDS / $denom))
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
VALU - MFMA: MFMA:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -64,12 +64,6 @@ Panel Config:
max: MAX((SQ_INSTS_BRANCH / $denom)) max: MAX((SQ_INSTS_BRANCH / $denom))
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
GDS:
avg: AVG((SQ_INSTS_GDS / $denom))
min: MIN((SQ_INSTS_GDS / $denom))
max: MAX((SQ_INSTS_GDS / $denom))
unit: (instr + $normUnit)
tips:
- metric_table: - metric_table:
id: 1002 id: 1002
@@ -103,7 +97,7 @@ Panel Config:
max: None # No HW module max: None # No HW module
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
F16-Mult: F16-MUL:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -127,7 +121,7 @@ Panel Config:
max: None # No HW module max: None # No HW module
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
F32-Mult: F32-MUL:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -151,7 +145,7 @@ Panel Config:
max: None # No HW module max: None # No HW module
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
F64-Mult: F64-MUL:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -180,55 +174,100 @@ Panel Config:
id: 1003 id: 1003
title: VMEM Instr Mix title: VMEM Instr Mix
header: header:
type: Type metric: Metric
count: Count avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips tips: Tips
metric: metric:
Buffer Instr: Global/Generic Instr:
count: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom))
Buffer Read: max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom))
count: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Buffer Write: Global/Generic Read:
count: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
Buffer Atomic: max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
count: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Flat Instr: Global/Generic Write:
count: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
Flat Read: max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
count: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Flat Write: Global/Generic Atomic:
count: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
Flat Atomic: max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
count: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Spill/Stack Instr:
avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Read:
avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Write:
avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Atomic:
avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
- metric_table: - metric_table:
id: 1004 id: 1004
title: MFMA Arithmetic Instr Mix title: MFMA Arithmetic Instr Mix
header: header:
type: Type metric: Metric
count: Count avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips tips: Tips
metric: metric:
MFMA-I8: MFMA-I8:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
MFMA-F16: MFMA-F16:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
MFMA-BF16: MFMA-BF16:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
MFMA-F32: MFMA-F32:
count: None # No HW module avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips: tips:
MFMA-F64: MFMA-F64:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
@@ -13,7 +13,10 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit
peak: Peak
pop: Pct of Peak
tips: Tips tips: Tips
style: style:
type: simple_bar type: simple_bar
@@ -21,23 +24,47 @@ Panel Config:
label_txt: (%) label_txt: (%)
xrange: [0, 110] xrange: [0, 110]
metric: metric:
valu_flops_pop: VALU FLOPs:
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_bf16_pop: VALU IOPs:
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_f16_pop: MFMA FLOPs (BF16):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_f32_pop: MFMA FLOPs (F16):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_f64_pop: MFMA FLOPs (F32):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_i8_pop: MFMA FLOPs (F64):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips:
MFMA IOPs (INT8):
value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
- metric_table: - metric_table:
@@ -51,36 +78,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
IPC (Avg): IPC:
avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))
min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES)) min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES))
max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES)) max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES))
unit: Instr/cycle unit: Instr/cycle
tips: tips:
IPC (Issue): IPC (Issued):
avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
unit: Instr/cycle unit: Instr/cycle
tips: tips:
SALU Util: SALU Utilization:
avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct unit: pct
tips: tips:
VALU Util: VALU Utilization:
avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct unit: pct
tips: tips:
VMEM Utilization:
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: pct
tips:
Branch Utilization:
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: pct
tips:
VALU Active Threads: VALU Active Threads:
avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) != 0) else None))
@@ -90,7 +129,7 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: Threads unit: Threads
tips: tips:
MFMA Util: MFMA Utilization:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -102,6 +141,20 @@ Panel Config:
max: None # No HW module max: None # No HW module
unit: cycles/instr unit: cycles/instr
tips: tips:
VMEM Latency:
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: Cycles
coll_level: SQ_INST_LEVEL_VMEM
tips:
SMEM Latency:
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: Cycles
coll_level: SQ_INST_LEVEL_SMEM
tips:
- metric_table: - metric_table:
id: 1103 id: 1103
@@ -120,7 +173,7 @@ Panel Config:
max: None # No perf counter max: None # No perf counter
unit: (OPs + $normUnit) unit: (OPs + $normUnit)
tips: tips:
INT8 OPs: IOPs (Total):
avg: None # No perf counter avg: None # No perf counter
min: None # No perf counter min: None # No perf counter
max: None # No perf counter max: None # No perf counter
@@ -150,5 +203,9 @@ Panel Config:
max: None # No perf counter max: None # No perf counter
unit: (OPs + $normUnit) unit: (OPs + $normUnit)
tips: tips:
INT8 OPs:
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (OPs + $normUnit)
tips:
@@ -26,20 +26,24 @@ Panel Config:
value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
unit: pct
Access Rate: Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Bandwidth (Pct-of-Peak): unit: pct
Theoretical Bandwidth (% of Peak):
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128))) / (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
unit: pct
Bank Conflict Rate: Bank Conflict Rate:
value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
unit: pct
- metric_table: - metric_table:
id: 1202 id: 1202
@@ -58,7 +62,7 @@ Panel Config:
max: MAX((SQ_INSTS_LDS / $denom)) max: MAX((SQ_INSTS_LDS / $denom))
unit: (Instr + $normUnit) unit: (Instr + $normUnit)
tips: tips:
Bandwidth: Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ $denom)) / $denom))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
@@ -67,7 +71,14 @@ Panel Config:
/ $denom)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Bank Conficts/Access: LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
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:
Bank Conflicts/Access:
avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
@@ -82,7 +93,7 @@ Panel Config:
max: MAX((SQ_LDS_IDX_ACTIVE / $denom)) max: MAX((SQ_LDS_IDX_ACTIVE / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Atomic Cycles: Atomic Return Cycles:
avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom)) avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom))
min: MIN((SQ_LDS_ATOMIC_RETURN / $denom)) min: MIN((SQ_LDS_ATOMIC_RETURN / $denom))
max: MAX((SQ_LDS_ATOMIC_RETURN / $denom)) max: MAX((SQ_LDS_ATOMIC_RETURN / $denom))
@@ -110,12 +121,5 @@ Panel Config:
avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom)) avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom))
min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom)) min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom))
max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom)) max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom))
unit: ( + $normUnit) unit: (Accesses + $normUnit)
tips: tips:
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
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:
@@ -13,7 +13,7 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
style: style:
@@ -27,11 +27,16 @@ Panel Config:
* (End_Timestamp - Start_Timestamp)))) * (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Hit: Cache Hit Rate:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE))) + SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
L1I-L2 Bandwidth:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($sclk * $numSQC)
* (EndNs - BeginNs))))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1302 id: 1302
@@ -68,7 +73,7 @@ Panel Config:
max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom)) max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom))
unit: (Misses + $normUnit) unit: (Misses + $normUnit)
tips: tips:
Cache Hit: Cache Hit Rate:
avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE))) + SQC_ICACHE_MISSES_DUPLICATE)))
min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) +
@@ -77,3 +82,27 @@ Panel Config:
SQC_ICACHE_MISSES_DUPLICATE))) SQC_ICACHE_MISSES_DUPLICATE)))
unit: pct unit: pct
tips: tips:
Instruction Fetch Latency:
avg: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
min: MIN((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
max: MAX((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
unit: Cycles
coll_level: SQ_IFETCH_LEVEL
tips:
- metric_table:
id: 1303
title: Instruction Cache - L2 Interface
header:
metric: Metric
mean: Mean
min: Min
max: Max
unit: Unit
tips: Tips
metric:
L1I-L2 Bandwidth:
mean: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
tips:
@@ -12,8 +12,8 @@ Panel Config:
id: 1401 id: 1401
title: Speed-of-Light title: Speed-of-Light
header: header:
mertic: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
style: style:
@@ -27,12 +27,17 @@ Panel Config:
* (End_Timestamp - Start_Timestamp)))) * (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Hit: Cache Hit Rate:
value: value:
AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE)) AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
sL1D-L2 BW:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 100000)
/ (2 * ($sclk * $numSQC) * (EndNs - BeginNs)))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1402 id: 1402
@@ -138,6 +143,12 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
sL1D-L2 BW:
mean: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
unit: (Bytes + $normUnit)
tips:
Read Req: Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom)) avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom)) min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -6,11 +6,11 @@ Metric Description:
# Define the panel properties and properties of each metric in the panel. # Define the panel properties and properties of each metric in the panel.
Panel Config: Panel Config:
id: 1500 id: 1500
title: Texture Addresser and Texture Data (TA/TD) title: Address Processing Unit and Data Return Path (TA/TD)
data source: data source:
- metric_table: - metric_table:
id: 1501 id: 1501
title: TA title: Address Processing Unit
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -19,25 +19,25 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
TA Busy: Address Processing Unit Busy:
avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TA Addr Stall: Address Stall:
avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TA Data Stall: Data Stall:
avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TD2TA Addr Stall: Data-Processor → Address Stall:
avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
@@ -47,69 +47,69 @@ Panel Config:
avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom)) avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom))
min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom)) min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom))
max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom)) max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Instr: Global/Generic Instructions:
avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Read Instr: Global/Generic Read Instructions:
avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Write Instr: Global/Generic Write Instructions:
avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Atomic Instr: Global/Generic Atomic Instructions:
avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Instr: Spill/Stack Instructions:
avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Read Instr: Spill/Stack Read Instructions:
avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Write Instr: Spill/Stack Write Instructions:
avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Atomic Instr: Spill/Stack Atomic Instructions:
avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Total Cylces: Spill/Stack Total Cycles:
avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Buffer Coalesced Read: Spill/Stack Coalesced Read:
avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Buffer Coalesced Write: Spill/Stack Coalesced Write:
avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
@@ -118,7 +118,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1502 id: 1502
title: TD title: Data-Return Path
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -127,48 +127,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
TD Busy: Data-Return Busy:
avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TD Stall: Cache RAM → Data-Return Stall:
avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
SPI2TD Stall: Workgroup manager → Data-Return Stall:
avg: # No perf counter avg: # No perf counter
min: # No perf counter min: # No perf counter
max: # No perf counter max: # No perf counter
unit: pct unit: pct
tips: tips:
Coalescable Instr: Coalescable Instructions:
avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom)) avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom))
min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom)) min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom))
max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom)) max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Load Instr: Read Instructions:
avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Store Instr: Write Instructions:
avg: AVG((TD_STORE_WAVEFRONT_sum / $denom)) avg: AVG((TD_STORE_WAVEFRONT_sum / $denom))
min: MIN((TD_STORE_WAVEFRONT_sum / $denom)) min: MIN((TD_STORE_WAVEFRONT_sum / $denom))
max: MAX((TD_STORE_WAVEFRONT_sum / $denom)) max: MAX((TD_STORE_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Atomic Instr: Atomic Instructions:
avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom)) avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom))
min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom)) min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom))
max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom)) max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
@@ -13,7 +13,7 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
style: style:
@@ -22,28 +22,28 @@ Panel Config:
label_txt: (%) label_txt: (%)
xrange: [0, 110] xrange: [0, 110]
metric: metric:
Buffer Coalescing: Hit rate:
value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
* 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None))
unit: Pct of Peak
tips:
Cache Util:
value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum
!= 0) else None))
unit: Pct of Peak
tips:
Cache BW:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk / 1000) * 64) * $numCU))
unit: Pct of Peak
tips:
Cache Hit:
value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) value: 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_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 / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
None)) None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Bandwidth:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk / 1000) * 64) * $numCU))
unit: Pct of Peak
tips:
Utilization:
value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum
!= 0) else None))
unit: Pct of Peak
tips:
Coalescing:
value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
* 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1602 id: 1602
@@ -141,11 +141,26 @@ Panel Config:
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache BW: Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
unit: GB/s unit: (Bytes + $normUnit)
tips: tips:
Cache Hit Rate:
avg: 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))
min: MIN(((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))
max: MAX(((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))
unit: pct
tips:
Cache Accesses: Cache Accesses:
avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom))
min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom))
@@ -164,22 +179,7 @@ Panel Config:
/ $denom)) / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache Hit Rate: Invalidations:
avg: 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))
min: MIN(((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))
max: MAX(((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))
unit: pct
tips:
Invalidate:
avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
@@ -188,9 +188,9 @@ Panel Config:
L1-L2 BW: L1-L2 BW:
avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
min: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) min: MIN(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
max: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) max: MAX(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
@@ -388,17 +388,17 @@ Panel Config:
avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
units: (Hits + $normUnit) units: (Req + $normUnit)
tips: tips:
Misses (Translation): Translation Misses:
avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
units: (Misses + $normUnit) units: (Req + $normUnit)
tips: tips:
Misses (Permission): Permission Misses:
avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
units: (Misses + $normUnit) units: (Req + $normUnit)
tips: tips:
@@ -13,31 +13,35 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
style: style:
type: simple_bar type: simple_bar
metric: metric:
L2 Util: Utilization:
value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE))) value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE)))
unit: pct unit: pct
tips:
Bandwidth:
value: ((100 * AVG(((TCC_REQ_sum * 64) / (EndNs - BeginNs)))) / ((($sclk / 1000) * 64) * TO_INT($L2Banks)))
unit: pct
tips: tips:
Cache Hit: Hit Rate:
value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else 0)) + TCC_MISS_sum) != 0) else 0))
unit: pct unit: pct
tips: tips:
L2-EA Rd BW: L2-Fabric Read BW:
value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / (End_Timestamp - Start_Timestamp))) * 64)) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
tips: tips:
L2-EA Wr BW: L2-Fabric Write and Atomic BW:
value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / (End_Timestamp - Start_Timestamp))) * 32)) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
tips: tips:
- metric_table: - metric_table:
id: 1702 id: 1702
@@ -50,7 +54,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
Read BW: L2-Fabric Read BW:
avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom)) * 64)) / $denom))
min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
@@ -58,8 +62,26 @@ Panel Config:
max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom)) * 64)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Write BW: HBM Read Traffic:
avg: AVG((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
Remote Read Traffic:
avg: AVG((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
Uncached Read Traffic:
avg: AVG((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
L2-Fabric Write and Atomic BW:
avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom)) * 32)) / $denom))
min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
@@ -67,55 +89,31 @@ Panel Config:
max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom)) * 32)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Read (32B): HBM Write and Atomic Traffic:
avg: AVG((TCC_EA_RDREQ_32B_sum / $denom)) avg: AVG((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_32B_sum / $denom)) min: MIN((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_32B_sum / $denom)) max: MAX((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read (Uncached 32B): Remote Write and Atomic Traffic:
avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom)) avg: AVG((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom)) min: MIN((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom)) max: MAX((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read (64B): Atomic Traffic:
avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) avg: AVG((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) min: MIN((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) max: MAX((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
HBM Read: Uncached Write and Atomic Traffic:
avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom)) avg: AVG((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom)) min: MIN((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom)) max: MAX((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write (32B):
avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
unit: (Req + $normUnit)
tips:
Write (Uncached 32B):
avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Write (64B):
avg: AVG((TCC_EA_WRREQ_64B_sum / $denom))
min: MIN((TCC_EA_WRREQ_64B_sum / $denom))
max: MAX((TCC_EA_WRREQ_64B_sum / $denom))
unit: (Req + $normUnit)
tips:
HBM Write:
avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Read Latency: Read Latency:
avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum !=
0) else None)) 0) else None))
@@ -124,7 +122,7 @@ Panel Config:
max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum !=
0) else None)) 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Write Latency: Write Latency:
avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum !=
0) else None)) 0) else None))
@@ -133,7 +131,7 @@ Panel Config:
max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum !=
0) else None)) 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Atomic Latency: Atomic Latency:
avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
!= 0) else None)) != 0) else None))
@@ -142,7 +140,7 @@ Panel Config:
max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Read Stall: Read Stall:
avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum)
+ TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
@@ -154,7 +152,7 @@ Panel Config:
+ TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
0) else None)) 0) else None))
unit: pct unit: pct
tips: tips:
Write Stall: Write Stall:
avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum)
+ TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
@@ -166,7 +164,7 @@ Panel Config:
+ TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
0) else None)) 0) else None))
unit: pct unit: pct
tips: tips:
- metric_table: - metric_table:
id: 1703 id: 1703
@@ -179,54 +177,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 64) / $denom)
min: MIN((TCC_REQ_sum * 64) / $denom)
max: MAX((TCC_REQ_sum * 64) / $denom)
unit: (Bytes + $normUnit)
tips:
Req: Req:
avg: AVG((TCC_REQ_sum / $denom)) avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom)) min: MIN((TCC_REQ_sum / $denom))
max: MAX((TCC_REQ_sum / $denom)) max: MAX((TCC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Streaming Req:
avg: AVG((TCC_STREAMING_REQ_sum / $denom))
min: MIN((TCC_STREAMING_REQ_sum / $denom))
max: MAX((TCC_STREAMING_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
Read Req: Read Req:
avg: AVG((TCC_READ_sum / $denom)) avg: AVG((TCC_READ_sum / $denom))
min: MIN((TCC_READ_sum / $denom)) min: MIN((TCC_READ_sum / $denom))
max: MAX((TCC_READ_sum / $denom)) max: MAX((TCC_READ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Write Req: Write Req:
avg: AVG((TCC_WRITE_sum / $denom)) avg: AVG((TCC_WRITE_sum / $denom))
min: MIN((TCC_WRITE_sum / $denom)) min: MIN((TCC_WRITE_sum / $denom))
max: MAX((TCC_WRITE_sum / $denom)) max: MAX((TCC_WRITE_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Atomic Req: Atomic Req:
avg: AVG((TCC_ATOMIC_sum / $denom)) avg: AVG((TCC_ATOMIC_sum / $denom))
min: MIN((TCC_ATOMIC_sum / $denom)) min: MIN((TCC_ATOMIC_sum / $denom))
max: MAX((TCC_ATOMIC_sum / $denom)) max: MAX((TCC_ATOMIC_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Streaming Req:
avg: AVG((TCC_STREAMING_REQ_sum / $denom))
min: MIN((TCC_STREAMING_REQ_sum / $denom))
max: MAX((TCC_STREAMING_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
Probe Req: Probe Req:
avg: AVG((TCC_PROBE_sum / $denom)) avg: AVG((TCC_PROBE_sum / $denom))
min: MIN((TCC_PROBE_sum / $denom)) min: MIN((TCC_PROBE_sum / $denom))
max: MAX((TCC_PROBE_sum / $denom)) max: MAX((TCC_PROBE_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Hits:
avg: AVG((TCC_HIT_sum / $denom))
min: MIN((TCC_HIT_sum / $denom))
max: MAX((TCC_HIT_sum / $denom))
unit: (Hits + $normUnit)
tips:
Misses:
avg: AVG((TCC_MISS_sum / $denom))
min: MIN((TCC_MISS_sum / $denom))
max: MAX((TCC_MISS_sum / $denom))
unit: (Misses + $normUnit)
tips:
Cache Hit: Cache Hit:
avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
@@ -235,65 +227,77 @@ Panel Config:
max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
unit: pct unit: pct
tips: tips:
Hits:
avg: AVG((TCC_HIT_sum / $denom))
min: MIN((TCC_HIT_sum / $denom))
max: MAX((TCC_HIT_sum / $denom))
unit: (Hits + $normUnit)
tips:
Misses:
avg: AVG((TCC_MISS_sum / $denom))
min: MIN((TCC_MISS_sum / $denom))
max: MAX((TCC_MISS_sum / $denom))
unit: (Misses + $normUnit)
tips:
Writeback: Writeback:
avg: AVG((TCC_WRITEBACK_sum / $denom)) avg: AVG((TCC_WRITEBACK_sum / $denom))
min: MIN((TCC_WRITEBACK_sum / $denom)) min: MIN((TCC_WRITEBACK_sum / $denom))
max: MAX((TCC_WRITEBACK_sum / $denom)) max: MAX((TCC_WRITEBACK_sum / $denom))
unit: ( + $normUnit) unit: (Cachelines + $normUnit)
tips: tips:
Writeback (Internal):
avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom))
min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom))
max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Writeback (vL1D Req):
avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Evict (Normal):
avg: AVG((TCC_NORMAL_EVICT_sum / $denom))
min: MIN((TCC_NORMAL_EVICT_sum / $denom))
max: MAX((TCC_NORMAL_EVICT_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Evict (vL1D Req):
avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
NC Req: NC Req:
avg: AVG((TCC_NC_REQ_sum / $denom)) avg: AVG((TCC_NC_REQ_sum / $denom))
min: MIN((TCC_NC_REQ_sum / $denom)) min: MIN((TCC_NC_REQ_sum / $denom))
max: MAX((TCC_NC_REQ_sum / $denom)) max: MAX((TCC_NC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
UC Req: UC Req:
avg: AVG((TCC_UC_REQ_sum / $denom)) avg: AVG((TCC_UC_REQ_sum / $denom))
min: MIN((TCC_UC_REQ_sum / $denom)) min: MIN((TCC_UC_REQ_sum / $denom))
max: MAX((TCC_UC_REQ_sum / $denom)) max: MAX((TCC_UC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
CC Req: CC Req:
avg: AVG((TCC_CC_REQ_sum / $denom)) avg: AVG((TCC_CC_REQ_sum / $denom))
min: MIN((TCC_CC_REQ_sum / $denom)) min: MIN((TCC_CC_REQ_sum / $denom))
max: MAX((TCC_CC_REQ_sum / $denom)) max: MAX((TCC_CC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
RW Req: RW Req:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Writeback (Normal):
avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom))
min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom))
max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom))
unit: ( + $normUnit)
tips:
Writeback (TC Req):
avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
unit: ( + $normUnit)
tips:
Evict (Normal):
avg: AVG((TCC_NORMAL_EVICT_sum / $denom))
min: MIN((TCC_NORMAL_EVICT_sum / $denom))
max: MAX((TCC_NORMAL_EVICT_sum / $denom))
unit: ( + $normUnit)
tips:
Evict (TC Req):
avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
unit: ( + $normUnit)
tips:
- metric_table: - metric_table:
id: 1704 id: 1704
title: L2 - EA Interface Stalls title: L2 - Fabric Interface Stalls
header: header:
metric: Metric metric: Metric
type: Type type: Type
@@ -306,59 +310,137 @@ Panel Config:
style: style:
type: simple_multi_bar type: simple_multi_bar
metric: metric:
Read - Remote Socket Stall: Read - PCIe Stall:
type: Remote Socket Stall type: PCIe Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read - Peer GCD Stall: Read - Infinity Fabric™ Stall:
type: Peer GCD Stall type: Infinity Fabric™ Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read - HBM Stall: Read - HBM Stall:
type: HBM Stall type: HBM Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Remote Socket Stall: Write - PCIe Stall:
type: Remote Socket Stall type: PCIe Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Peer GCD Stall: Write - Infinity Fabric™ Stall:
type: Peer GCD Stall type: Infinity Fabric™ Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - HBM Stall: Write - HBM Stall:
type: HBM Stall type: HBM Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Credit Starvation: Write - Credit Starvation:
type: Credit Starvation type: Credit Starvation
transaction: Write transaction: Write
avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) avg: AVG(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) min: MIN(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) max: MAX(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: pct
tips:
- metric_table:
id: 1705
title: L2 - Fabric Detailed Transaction Breakdown
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Read (32B):
avg: AVG((TCC_EA_RDREQ_32B_sum / $denom))
min: MIN((TCC_EA_RDREQ_32B_sum / $denom))
max: MAX((TCC_EA_RDREQ_32B_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Read (Uncached):
avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Read (64B):
avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
unit: (Req + $normUnit)
tips:
HBM Read:
avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Remote Read:
avg: AVG((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
min: MIN((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
max: MAX((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (32B):
avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (Uncached):
avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (64B):
avg: AVG((TCC_EA_WRREQ_64B_sum / $denom))
min: MIN((TCC_EA_WRREQ_64B_sum / $denom))
max: MAX((TCC_EA_WRREQ_64B_sum / $denom))
unit: (Req + $normUnit)
tips:
HBM Write and Atomic:
avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Remote Write and Atomic:
avg: AVG((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
min: MIN((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
max: MAX((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
tips:
Atomic:
avg: AVG((TCC_EA_ATOMIC_sum / $denom))
min: MIN((TCC_EA_ATOMIC_sum / $denom))
max: MAX((TCC_EA_ATOMIC_sum / $denom))
unit: (Req + $normUnit)
tips:
@@ -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(Scratch_Per_Workitem), 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:
@@ -14,10 +14,10 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
peak: Peak peak: Peak
pop: PoP pop: Pct of Peak
tips: Tips tips: Tips
metric: metric:
VALU FLOPs: VALU FLOPs:
@@ -28,7 +28,7 @@ Panel Config:
tips: tips:
VALU IOPs: VALU IOPs:
value: None # No perf counter value: None # No perf counter
unit: GOPs unit: GIOPs
peak: (((($sclk * $numCU) * 64) * 2) / 1000) peak: (((($sclk * $numCU) * 64) * 2) / 1000)
pop: None # No perf counter pop: None # No perf counter
tips: tips:
@@ -68,25 +68,37 @@ Panel Config:
peak: $numCU peak: $numCU
pop: ((100 * $numActiveCUs) / $numCU) pop: ((100 * $numActiveCUs) / $numCU)
tips: tips:
SALU Util: SALU Utililization:
value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
peak: 100 peak: 100
pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU)))
tips: tips:
VALU Util: VALU Utililization:
value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
peak: 100 peak: 100
pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU)))
tips: tips:
MFMA Util: MFMA Utililization:
value: None # No HW module value: None # No HW module
unit: pct unit: pct
peak: 100 peak: 100
pop: None # No HW module pop: None # No HW module
tips: tips:
VALU Active Threads/Wave: VMEM Utilization:
value: None # No HW module
unit: pct
peak: 100
pop: None # No HW module
tips:
Branch Utilization:
value: None # No HW module
unit: pct
peak: 100
pop: None # No HW module
tips:
VALU Active Threads:
value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) != 0) else None))
unit: Threads unit: Threads
@@ -94,25 +106,29 @@ Panel Config:
pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) * 1.5625) != 0) else None)) * 1.5625)
tips: tips:
IPC - Issue: IPC:
value: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) value: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED)
/ SQ_ACTIVE_INST_ANY))
unit: Instr/cycle unit: Instr/cycle
peak: 5 peak: 5
pop: ((100 * AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) pop: ((100 * AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))) / 5)
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED)
/ SQ_ACTIVE_INST_ANY))) / 5)
tips: tips:
LDS BW: Wavefront Occupancy:
value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE))
unit: Wavefronts
peak: ($maxWavesPerCU * $numCU)
pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU
* $numCU))))
coll_level: SQ_LEVEL_WAVES
tips:
Theoretical LDS Bandwidth:
value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp))) / (End_Timestamp - Start_Timestamp)))
unit: GB/sec unit: GB/s
peak: (($sclk * $numCU) * 0.128) peak: (($sclk * $numCU) * 0.128)
pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128))) / (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128)))
tips: tips:
LDS Bank Conflict: LDS Bank Conflicts/Access:
value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
unit: Conflicts/access unit: Conflicts/access
@@ -120,35 +136,7 @@ Panel Config:
pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32)
tips: tips:
Instr Cache Hit Rate: vL1D Cache Hit Rate:
value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
unit: pct
peak: 100
pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
tips:
Instr Cache BW:
value: AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
Scalar L1D Cache Hit Rate:
value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
unit: pct
peak: 100
pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
tips:
Scalar L1D Cache BW:
value: AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
Vector L1D Cache Hit Rate:
value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) value: 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_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 / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
@@ -160,7 +148,7 @@ Panel Config:
TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
None)) None))
tips: tips:
Vector L1D Cache BW: vL1D Cache BW:
value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
peak: ((($sclk / 1000) * 64) * $numCU) peak: ((($sclk / 1000) * 64) * $numCU)
@@ -175,6 +163,13 @@ Panel Config:
pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
tips: tips:
L2 Cache BW:
value: AVG(((TCC_REQ_sum * 64) / (EndNs - BeginNs)))
unit: GB/s
peak: ((($sclk / 1000) * 64) * TO_INT($L2Banks))
pop: ((100 * AVG(((TCC_REQ_sum * 64) / (EndNs - BeginNs))))
/ ((($sclk / 1000) * 64) * TO_INT($L2Banks)))
tips:
L2-Fabric Read BW: L2-Fabric Read BW:
value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / (End_Timestamp - Start_Timestamp))) * 64)) / (End_Timestamp - Start_Timestamp)))
@@ -195,36 +190,48 @@ Panel Config:
value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
tips: tips:
L2-Fabric Write Latency: L2-Fabric Write Latency:
value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
tips: tips:
Wave Occupancy: sL1D Cache Hit Rate:
value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
unit: Wavefronts if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
peak: ($maxWavesPerCU * $numCU) unit: pct
pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU peak: 100
* $numCU)))) pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
coll_level: SQ_LEVEL_WAVES if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
tips: tips:
Instr Fetch BW: sL1D Cache BW:
value: AVG(((SQ_IFETCH / (End_Timestamp - Start_Timestamp)) * 32)) value: AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s unit: GB/s
peak: ((($sclk / 1000) * 32) * $numSQC) peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQ_IFETCH / (End_Timestamp - Start_Timestamp)) * 32))) / ($numSQC pop: ((100 * AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
* (($sclk / 1000) * 32))) / 1000) * 64) * $numSQC))
coll_level: SQ_IFETCH_LEVEL
tips: tips:
Instr Fetch Latency: L1I Hit Rate:
value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
unit: pct
peak: 100
pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
tips:
L1I BW:
value: AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_ICACHE_REQ / (EndNs - BeginNs)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
L1I Fetch Latency:
value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH)) value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
coll_level: SQ_IFETCH_LEVEL coll_level: SQ_IFETCH_LEVEL
tips: tips:
@@ -19,19 +19,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy Cycles: CPF Utilization:
avg: AVG(GRBM_GUI_ACTIVE)
min: MIN(GRBM_GUI_ACTIVE)
max: MAX(GRBM_GUI_ACTIVE)
unit: Cycles/Kernel
tips:
CPF Busy:
avg: AVG(CPF_CPF_STAT_BUSY)
min: MIN(CPF_CPF_STAT_BUSY)
max: MAX(CPF_CPF_STAT_BUSY)
unit: Cycles/Kernel
tips:
CPF Util:
avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE))
if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None))
min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE))
@@ -47,15 +35,9 @@ Panel Config:
!= 0) else None)) != 0) else None))
max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
!= 0) else None)) != 0) else None))
unit: Cycles/Kernel unit: pct
tips: tips:
L2Cache Intf Busy: CPF-L2 Utilization:
avg: AVG(CPF_CPF_TCIU_BUSY)
min: MIN(CPF_CPF_TCIU_BUSY)
max: MAX(CPF_CPF_TCIU_BUSY)
unit: Cycles/Kernel
tips:
L2Cache Intf Util:
avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE))
if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None))
min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE))
@@ -64,7 +46,7 @@ Panel Config:
if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
L2Cache Intf Stall: CPF-L2 Stall:
avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY
!= 0) else None)) != 0) else None))
min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY
@@ -73,11 +55,14 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: pct unit: pct
tips: tips:
UTCL1 Stall: CPF-UTCL1 Stall:
avg: AVG(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) avg: AVG(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
min: MIN(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) != 0) else None)
max: MAX(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) min: MIN(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
unit: Cycles/Kernel != 0) else None)
max: MAX(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
!= 0) else None)
unit: pct
tips: tips:
- metric_table: - metric_table:
@@ -91,19 +76,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy Cycles: CPC Utilization:
avg: AVG(GRBM_GUI_ACTIVE)
min: MIN(GRBM_GUI_ACTIVE)
max: MAX(GRBM_GUI_ACTIVE)
unit: Cycles
tips:
CPC Busy Cycles:
avg: AVG(CPC_CPC_STAT_BUSY)
min: MIN(CPC_CPC_STAT_BUSY)
max: MAX(CPC_CPC_STAT_BUSY)
unit: Cycles
tips:
CPC Util:
avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE))
if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE))
@@ -112,12 +85,6 @@ Panel Config:
if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
CPC Stall Cycles:
avg: AVG(CPC_CPC_STAT_STALL)
min: MIN(CPC_CPC_STAT_STALL)
max: MAX(CPC_CPC_STAT_STALL)
unit: Cycles
tips:
CPC Stall Rate: CPC Stall Rate:
avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None)) != 0) else None))
@@ -127,28 +94,19 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: pct unit: pct
tips: tips:
CPC Packet Decoding: CPC Packet Decoding Utilization:
avg: AVG(CPC_ME1_BUSY_FOR_PACKET_DECODE) avg: AVG((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
min: MIN(CPC_ME1_BUSY_FOR_PACKET_DECODE) min: MIN((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
max: MAX(CPC_ME1_BUSY_FOR_PACKET_DECODE) max: MAX((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
unit: Cycles
tips:
SPI Intf Busy Cycles:
avg: AVG(CPC_ME1_DC0_SPI_BUSY)
min: MIN(CPC_ME1_DC0_SPI_BUSY)
max: MAX(CPC_ME1_DC0_SPI_BUSY)
unit: Cycles
tips:
SPI Intf Util:
avg: AVG((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
min: MIN((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
max: MAX((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
unit: pct unit: pct
tips: tips:
L2Cache Intf Util: CPC-Workgroup Manager Utilization:
avg: AVG((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
min: MIN((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
max: MAX((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
unit: Pct
tips:
CPC-L2 Utilization:
avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE))
if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE))
@@ -157,19 +115,16 @@ Panel Config:
if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
UTCL1 Stall Cycles: CPC-UTCL1 Stall:
avg: AVG(CPC_UTCL1_STALL_ON_TRANSLATION) avg: AVG(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
min: MIN(CPC_UTCL1_STALL_ON_TRANSLATION) != 0) else None)
max: MAX(CPC_UTCL1_STALL_ON_TRANSLATION) min: MIN(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
unit: Cycles != 0) else None)
max: MAX(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None)
unit: pct
tips: tips:
UTCL2 Intf Busy Cycles: CPC-UTCL2 Utilization:
avg: AVG(CPC_CPC_UTCL2IU_BUSY)
min: MIN(CPC_CPC_UTCL2IU_BUSY)
max: MAX(CPC_CPC_UTCL2IU_BUSY)
unit: Cycles
tips:
UTCL2 Intf Util:
avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE))
if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE))
@@ -6,11 +6,11 @@ Metric Description:
# Define the panel properties and properties of each metric in the panel. # Define the panel properties and properties of each metric in the panel.
Panel Config: Panel Config:
id: 600 id: 600
title: Shader Processor Input (SPI) title: Workgroup Manager (SPI)
data source: data source:
- metric_table: - metric_table:
id: 601 id: 601
title: SPI Stats title: Workgroup Manager Utilizations
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -19,29 +19,35 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy: Accelerator Utilization:
avg: AVG(GRBM_GUI_ACTIVE) avg: AVG(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
min: MIN(GRBM_GUI_ACTIVE) min: MIN(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
max: MAX(GRBM_GUI_ACTIVE) max: MAX(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
unit: Cycles unit: Pct
tips: tips:
CS Busy: Scheduler-Pipe Utilization:
avg: AVG(SPI_CSN_BUSY) avg: AVG(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
min: MIN(SPI_CSN_BUSY) min: MIN(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
max: MAX(SPI_CSN_BUSY) max: MAX(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
unit: Cycles unit: Pct
tips: tips:
SPI Busy: Workgroup Manager Utilization:
avg: AVG(GRBM_SPI_BUSY) avg: AVG(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
min: MIN(GRBM_SPI_BUSY) min: MIN(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
max: MAX(GRBM_SPI_BUSY) max: MAX(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
unit: Cycles unit: Pct
tips: tips:
SQ Busy: Shader Engine Utilization:
avg: AVG(SQ_BUSY_CYCLES) avg: AVG(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
min: MIN(SQ_BUSY_CYCLES) min: MIN(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
max: MAX(SQ_BUSY_CYCLES) max: MAX(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
unit: Cycles unit: Pct
tips:
SIMD Utilization:
avg: AVG(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips: tips:
Dispatched Workgroups: Dispatched Workgroups:
avg: AVG(SPI_CSN_NUM_THREADGROUPS) avg: AVG(SPI_CSN_NUM_THREADGROUPS)
@@ -55,105 +61,6 @@ Panel Config:
max: MAX(SPI_CSN_WAVE) max: MAX(SPI_CSN_WAVE)
unit: Wavefronts unit: Wavefronts
tips: tips:
Wave Alloc Failed:
avg: AVG(SPI_RA_REQ_NO_ALLOC)
min: MIN(SPI_RA_REQ_NO_ALLOC)
max: MAX(SPI_RA_REQ_NO_ALLOC)
unit: Cycles
tips:
Wave Alloc Failed - CS:
avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN)
min: MIN(SPI_RA_REQ_NO_ALLOC_CSN)
max: MAX(SPI_RA_REQ_NO_ALLOC_CSN)
unit: Cycles
tips:
- metric_table:
id: 602
title: SPI Resource Allocation
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Wave request Failed (CS):
avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN)
min: MIN(SPI_RA_REQ_NO_ALLOC_CSN)
max: MAX(SPI_RA_REQ_NO_ALLOC_CSN)
unit: Cycles
tips:
CS Stall:
avg: AVG(SPI_RA_RES_STALL_CSN)
min: MIN(SPI_RA_RES_STALL_CSN)
max: MAX(SPI_RA_RES_STALL_CSN)
unit: Cycles
tips:
CS Stall Rate:
avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
min: MIN((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
max: MAX((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
unit: pct
tips:
Scratch Stall:
avg: AVG(SPI_RA_TMP_STALL_CSN)
min: MIN(SPI_RA_TMP_STALL_CSN)
max: MAX(SPI_RA_TMP_STALL_CSN)
unit: Cycles
tips:
Insufficient SIMD Waveslots:
avg: AVG(SPI_RA_WAVE_SIMD_FULL_CSN)
min: MIN(SPI_RA_WAVE_SIMD_FULL_CSN)
max: MAX(SPI_RA_WAVE_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient SIMD VGPRs:
avg: AVG(SPI_RA_VGPR_SIMD_FULL_CSN)
min: MIN(SPI_RA_VGPR_SIMD_FULL_CSN)
max: MAX(SPI_RA_VGPR_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient SIMD SGPRs:
avg: AVG(SPI_RA_SGPR_SIMD_FULL_CSN)
min: MIN(SPI_RA_SGPR_SIMD_FULL_CSN)
max: MAX(SPI_RA_SGPR_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient CU LDS:
avg: AVG(SPI_RA_LDS_CU_FULL_CSN)
min: MIN(SPI_RA_LDS_CU_FULL_CSN)
max: MAX(SPI_RA_LDS_CU_FULL_CSN)
unit: CU
tips:
Insufficient CU Barries:
avg: AVG(SPI_RA_BAR_CU_FULL_CSN)
min: MIN(SPI_RA_BAR_CU_FULL_CSN)
max: MAX(SPI_RA_BAR_CU_FULL_CSN)
unit: CU
tips:
Insufficient Bulky Resource:
avg: AVG(SPI_RA_BULKY_CU_FULL_CSN)
min: MIN(SPI_RA_BULKY_CU_FULL_CSN)
max: MAX(SPI_RA_BULKY_CU_FULL_CSN)
unit: CU
tips:
Reach CU Threadgroups Limit:
avg: AVG(SPI_RA_TGLIM_CU_FULL_CSN)
min: MIN(SPI_RA_TGLIM_CU_FULL_CSN)
max: MAX(SPI_RA_TGLIM_CU_FULL_CSN)
unit: Cycles
tips:
Reach CU Wave Limit:
avg: AVG(SPI_RA_WVLIM_STALL_CSN)
min: MIN(SPI_RA_WVLIM_STALL_CSN)
max: MAX(SPI_RA_WVLIM_STALL_CSN)
unit: Cycles
tips:
VGPR Writes: VGPR Writes:
avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else
None)) None))
@@ -172,3 +79,89 @@ Panel Config:
None)) None))
unit: Cycles/wave unit: Cycles/wave
tips: tips:
- metric_table:
id: 602
title: Workgroup Manager - Resource Allocation
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Not-scheduled Rate (Workgroup Manager):
avg: AVG((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
min: MIN((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
max: MAX((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
unit: Pct
tips:
Not-scheduled Rate (Scheduler-Pipe):
avg: AVG((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
min: MIN((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
max: MAX((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
unit: Pct
tips:
Scheduler-Pipe Stall Rate:
avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
min: MIN((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
max: MAX((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
unit: Pct
tips:
Scratch Stall Rate:
avg: AVG((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
min: MIN((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
max: MAX((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
unit: Pct
tips:
Insufficient SIMD Waveslots:
avg: AVG(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient SIMD VGPRs:
avg: AVG(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient SIMD SGPRs:
avg: AVG(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient CU LDS:
avg: AVG(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient CU Barriers:
avg: AVG(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Reached CU Workgroup Limit:
avg: AVG(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Reached CU Wavefront Limit:
avg: AVG(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
@@ -77,7 +77,7 @@ Panel Config:
avg: AVG(Scratch_Per_Workitem) avg: AVG(Scratch_Per_Workitem)
min: MIN(Scratch_Per_Workitem) min: MIN(Scratch_Per_Workitem)
max: MAX(Scratch_Per_Workitem) max: MAX(Scratch_Per_Workitem)
unit: Bytes unit: Bytes/Workitem
tips: tips:
- metric_table: - metric_table:
@@ -103,7 +103,7 @@ Panel Config:
max: MAX(GRBM_GUI_ACTIVE) max: MAX(GRBM_GUI_ACTIVE)
unit: Cycle unit: Cycle
tips: tips:
Instr/wavefront: Instructions per wavefront:
avg: AVG((SQ_INSTS / SQ_WAVES)) avg: AVG((SQ_INSTS / SQ_WAVES))
min: MIN((SQ_INSTS / SQ_WAVES)) min: MIN((SQ_INSTS / SQ_WAVES))
max: MAX((SQ_INSTS / SQ_WAVES)) max: MAX((SQ_INSTS / SQ_WAVES))
@@ -10,7 +10,7 @@ Panel Config:
data source: data source:
- metric_table: - metric_table:
id: 1001 id: 1001
title: Instruction Mix title: Overall Instruction Mix
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -18,11 +18,11 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
label_txt: (# of instr + $normUnit) label_txt: (# of instr + $normUnit)
metric: metric:
VALU - Vector: VALU:
avg: AVG(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) avg: AVG(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
min: MIN(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) min: MIN(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
@@ -40,7 +40,7 @@ Panel Config:
max: MAX((SQ_INSTS_LDS / $denom)) max: MAX((SQ_INSTS_LDS / $denom))
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
VALU - MFMA: MFMA:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -64,12 +64,6 @@ Panel Config:
max: MAX((SQ_INSTS_BRANCH / $denom)) max: MAX((SQ_INSTS_BRANCH / $denom))
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
GDS:
avg: AVG((SQ_INSTS_GDS / $denom))
min: MIN((SQ_INSTS_GDS / $denom))
max: MAX((SQ_INSTS_GDS / $denom))
unit: (instr + $normUnit)
tips:
- metric_table: - metric_table:
id: 1002 id: 1002
@@ -81,7 +75,7 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
label_txt: (# of instr + $normUnit) label_txt: (# of instr + $normUnit)
metric: metric:
@@ -103,7 +97,7 @@ Panel Config:
max: None # No perf counter max: None # No perf counter
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
F16-Mult: F16-MUL:
avg: None # No perf counter avg: None # No perf counter
min: None # No perf counter min: None # No perf counter
max: None # No perf counter max: None # No perf counter
@@ -127,7 +121,7 @@ Panel Config:
max: None # No perf counter max: None # No perf counter
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
F32-Mult: F32-MUL:
avg: None # No perf counter avg: None # No perf counter
min: None # No perf counter min: None # No perf counter
max: None # No perf counter max: None # No perf counter
@@ -151,7 +145,7 @@ Panel Config:
max: None # No perf counter max: None # No perf counter
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
F64-Mult: F64-MUL:
avg: None # No perf counter avg: None # No perf counter
min: None # No perf counter min: None # No perf counter
max: None # No perf counter max: None # No perf counter
@@ -180,55 +174,100 @@ Panel Config:
id: 1003 id: 1003
title: VMEM Instr Mix title: VMEM Instr Mix
header: header:
type: Type metric: Metric
count: Count avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips tips: Tips
metric: metric:
Buffer Instr: Global/Generic Instr:
count: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom))
Buffer Read: max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom))
count: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Buffer Write: Global/Generic Read:
count: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
Buffer Atomic: max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
count: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Flat Instr: Global/Generic Write:
count: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
Flat Read: max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
count: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Flat Write: Global/Generic Atomic:
count: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
Flat Atomic: max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
count: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Spill/Stack Instr:
avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Read:
avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Write:
avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Atomic:
avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
- metric_table: - metric_table:
id: 1004 id: 1004
title: MFMA Arithmetic Instr Mix title: MFMA Arithmetic Instr Mix
header: header:
type: Type metric: Metric
count: Count avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips tips: Tips
metric: metric:
MFMA-I8: MFMA-I8:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
MFMA-F16: MFMA-F16:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
MFMA-BF16: MFMA-BF16:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
MFMA-F32: MFMA-F32:
count: None # No HW module avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips: tips:
MFMA-F64: MFMA-F64:
count: None # No HW module avg: None # No HW module
tips: min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
@@ -13,31 +13,58 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit
peak: Peak
pop: Pct of Peak
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
xrange: [0, 110] xrange: [0, 110]
metric: metric:
valu_flops_pop: VALU FLOPs:
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_bf16_pop: VALU IOPs:
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_f16_pop: MFMA FLOPs (BF16):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_f32_pop: MFMA FLOPs (F16):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_f64_pop: MFMA FLOPs (F32):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
mfma_flops_i8_pop: MFMA FLOPs (F64):
value: None # No perf counter value: None # No perf counter
Unit: None
peak: None
pop: None
tips:
MFMA IOPs (INT8):
value: None # No perf counter
Unit: None
peak: None
pop: None
tips: tips:
- metric_table: - metric_table:
@@ -51,36 +78,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
IPC (Avg): IPC:
avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))
min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES)) min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES))
max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES)) max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES))
unit: Instr/cycle unit: Instr/cycle
tips: tips:
IPC (Issue): IPC (Issued):
avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
unit: Instr/cycle unit: Instr/cycle
tips: tips:
SALU Util: SALU Utilization:
avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct unit: pct
tips: tips:
VALU Util: VALU Utilization:
avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct unit: pct
tips: tips:
VMEM Utilization:
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: pct
tips:
Branch Utilization:
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: pct
tips:
VALU Active Threads: VALU Active Threads:
avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) != 0) else None))
@@ -90,7 +129,7 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: Threads unit: Threads
tips: tips:
MFMA Util: MFMA Utilization:
avg: None # No HW module avg: None # No HW module
min: None # No HW module min: None # No HW module
max: None # No HW module max: None # No HW module
@@ -102,6 +141,20 @@ Panel Config:
max: None # No HW module max: None # No HW module
unit: cycles/instr unit: cycles/instr
tips: tips:
VMEM Latency:
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: Cycles
coll_level: SQ_INST_LEVEL_VMEM
tips:
SMEM Latency:
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: Cycles
coll_level: SQ_INST_LEVEL_SMEM
tips:
- metric_table: - metric_table:
id: 1103 id: 1103
@@ -121,7 +174,7 @@ Panel Config:
max: None # No perf counter max: None # No perf counter
unit: (OPs + $normUnit) unit: (OPs + $normUnit)
tips: tips:
INT8 OPs: IOPs (Total):
avg: None # No perf counter avg: None # No perf counter
min: None # No perf counter min: None # No perf counter
max: None # No perf counter max: None # No perf counter
@@ -151,5 +204,11 @@ Panel Config:
max: None # No perf counter max: None # No perf counter
unit: (OPs + $normUnit) unit: (OPs + $normUnit)
tips: tips:
INT8 OPs:
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (OPs + $normUnit)
tips:
@@ -16,7 +16,7 @@ Panel Config:
value: Value value: Value
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
@@ -30,11 +30,13 @@ Panel Config:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Bandwidth (Pct-of-Peak): unit: pct
Theoretical Bandwidth:
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128))) / (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
unit: pct
Bank Conflict Rate: Bank Conflict Rate:
value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
@@ -58,7 +60,7 @@ Panel Config:
max: MAX((SQ_INSTS_LDS / $denom)) max: MAX((SQ_INSTS_LDS / $denom))
unit: (Instr + $normUnit) unit: (Instr + $normUnit)
tips: tips:
Bandwidth: Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ $denom)) / $denom))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
@@ -67,7 +69,14 @@ Panel Config:
/ $denom)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Bank Conficts/Access: LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
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:
Bank Conflicts/Access:
avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
@@ -82,7 +91,7 @@ Panel Config:
max: MAX((SQ_LDS_IDX_ACTIVE / $denom)) max: MAX((SQ_LDS_IDX_ACTIVE / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Atomic Cycles: Atomic Return Cycles:
avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom)) avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom))
min: MIN((SQ_LDS_ATOMIC_RETURN / $denom)) min: MIN((SQ_LDS_ATOMIC_RETURN / $denom))
max: MAX((SQ_LDS_ATOMIC_RETURN / $denom)) max: MAX((SQ_LDS_ATOMIC_RETURN / $denom))
@@ -110,12 +119,5 @@ Panel Config:
avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom)) avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom))
min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom)) min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom))
max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom)) max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom))
unit: ( + $normUnit) unit: (Accesses + $normUnit)
tips:
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
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:
@@ -13,10 +13,10 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
@@ -27,11 +27,16 @@ Panel Config:
* (End_Timestamp - Start_Timestamp)))) * (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Hit: Cache Hit Rate:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE))) + SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
L1I-L2 Bandwidth:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($sclk * $numSQC)
* (EndNs - BeginNs))))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1302 id: 1302
@@ -68,7 +73,7 @@ Panel Config:
max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom)) max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom))
unit: (Misses + $normUnit) unit: (Misses + $normUnit)
tips: tips:
Cache Hit: Cache Hit Rate:
avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE))) + SQC_ICACHE_MISSES_DUPLICATE)))
min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) +
@@ -76,4 +81,28 @@ Panel Config:
max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) +
SQC_ICACHE_MISSES_DUPLICATE))) SQC_ICACHE_MISSES_DUPLICATE)))
unit: pct unit: pct
tips: tips:
Instruction Fetch Latency:
avg: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
min: MIN((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
max: MAX((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
unit: Cycles
coll_level: SQ_IFETCH_LEVEL
tips:
- metric_table:
id: 1303
title: Instruction Cache - L2 Interface
header:
metric: Metric
mean: Mean
min: Min
max: Max
unit: Unit
tips: Tips
metric:
L1I-L2 Bandwidth:
mean: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
tips:
@@ -12,11 +12,11 @@ Panel Config:
id: 1401 id: 1401
title: Speed-of-Light title: Speed-of-Light
header: header:
mertic: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
@@ -27,12 +27,17 @@ Panel Config:
* (End_Timestamp - Start_Timestamp)))) * (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Hit: Cache Hit Rate:
value: value:
AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE)) AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
sL1D-L2 BW:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 100000)
/ (2 * ($sclk * $numSQC) * (EndNs - BeginNs)))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1402 id: 1402
@@ -69,7 +74,7 @@ Panel Config:
max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom)) max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache Hit: Cache Hit Rate:
avg: AVG((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) avg: AVG((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES)
+ SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES)
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
@@ -138,6 +143,12 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
sL1D-L2 BW:
mean: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
unit: (Bytes + $normUnit)
tips:
Read Req: Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom)) avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom)) min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -156,9 +167,9 @@ Panel Config:
max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom)) max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Stall: Stall Cycles:
avg: AVG((SQC_TC_STALL / $denom)) avg: AVG((SQC_TC_STALL / $denom))
min: MIN((SQC_TC_STALL / $denom)) min: MIN((SQC_TC_STALL / $denom))
max: MAX((SQC_TC_STALL / $denom)) max: MAX((SQC_TC_STALL / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
@@ -6,11 +6,11 @@ Metric Description:
# Define the panel properties and properties of each metric in the panel. # Define the panel properties and properties of each metric in the panel.
Panel Config: Panel Config:
id: 1500 id: 1500
title: Texture Addresser and Texture Data (TA/TD) title: Address Processing Unit and Data Return Path (TA/TD)
data source: data source:
- metric_table: - metric_table:
id: 1501 id: 1501
title: TA title: Address Processing Unit
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -19,25 +19,25 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
TA Busy: Address Processing Unit Busy:
avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TA Addr Stall: Address Stall:
avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TA Data Stall: Data Stall:
avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TD2TA Addr Stall: Data-Processor → Address Stall:
avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
@@ -47,69 +47,69 @@ Panel Config:
avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom)) avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom))
min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom)) min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom))
max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom)) max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Instr: Global/Generic Instructions:
avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Read Instr: Global/Generic Read Instructions:
avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Write Instr: Global/Generic Write Instructions:
avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Atomic Instr: Global/Generic Atomic Instructions:
avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Instr: Spill/Stack Instructions:
avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Read Instr: Spill/Stack Read Instructions:
avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Write Instr: Spill/Stack Write Instructions:
avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Atomic Instr: Spill/Stack Atomic Instructions:
avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Total Cylces: Spill/Stack Total Cycles:
avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Buffer Coalesced Read: Spill/Stack Coalesced Read:
avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Buffer Coalesced Write: Spill/Stack Coalesced Write:
avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
@@ -118,7 +118,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1502 id: 1502
title: TD title: Data-Return Path
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -127,48 +127,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
TD Busy: Data-Return Busy:
avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TD Stall: Cache RAM → Data-Return Stall:
avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
SPI2TD Stall: Workgroup manager → Data-Return Stall:
avg: # No perf counter avg: # No perf counter
min: # No perf counter min: # No perf counter
max: # No perf counter max: # No perf counter
unit: pct unit: pct
tips: tips:
Coalescable Instr: Coalescable Instructions:
avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom)) avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom))
min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom)) min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom))
max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom)) max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Load Instr: Read Instructions:
avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Store Instr: Write Instructions:
avg: AVG((TD_STORE_WAVEFRONT_sum / $denom)) avg: AVG((TD_STORE_WAVEFRONT_sum / $denom))
min: MIN((TD_STORE_WAVEFRONT_sum / $denom)) min: MIN((TD_STORE_WAVEFRONT_sum / $denom))
max: MAX((TD_STORE_WAVEFRONT_sum / $denom)) max: MAX((TD_STORE_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Atomic Instr: Atomic Instructions:
avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom)) avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom))
min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom)) min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom))
max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom)) max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
@@ -13,37 +13,37 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
xrange: [0, 110] xrange: [0, 110]
metric: metric:
Buffer Coalescing: Hit rate:
value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
* 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None))
unit: Pct of Peak
tips:
Cache Util:
value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum
!= 0) else None))
unit: Pct of Peak
tips:
Cache BW:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk / 1000) * 64) * $numCU))
unit: Pct of Peak
tips:
Cache Hit:
value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) value: 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_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 / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
None)) None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Bandwidth:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk / 1000) * 64) * $numCU))
unit: Pct of Peak
tips:
Utilization:
value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum
!= 0) else None))
unit: Pct of Peak
tips:
Coalescing:
value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
* 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1602 id: 1602
@@ -141,11 +141,26 @@ Panel Config:
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache BW: Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
unit: GB/s unit: (Bytes + $normUnit)
tips: tips:
Cache Hit Rate:
avg: 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))
min: MIN(((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))
max: MAX(((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))
unit: pct
tips:
Cache Accesses: Cache Accesses:
avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom))
min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom))
@@ -164,22 +179,7 @@ Panel Config:
/ $denom)) / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache Hit Rate: Invalidations:
avg: 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))
min: MIN(((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))
max: MAX(((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))
unit: pct
tips:
Invalidate:
avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
@@ -188,9 +188,9 @@ Panel Config:
L1-L2 BW: L1-L2 BW:
avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
min: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) min: MIN(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
max: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) max: MAX(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
@@ -258,7 +258,7 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_multi_bar type: simple_multi_bar
metric: metric:
NC - Read: NC - Read:
@@ -388,17 +388,17 @@ Panel Config:
avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
units: (Hits + $normUnit) units: (Req + $normUnit)
tips: tips:
Misses (Translation): Translation Misses:
avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
units: (Misses + $normUnit) units: (Req + $normUnit)
tips: tips:
Misses (Permission): Permission Misses:
avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
units: (Misses + $normUnit) units: (Req + $normUnit)
tips: tips:
@@ -13,31 +13,35 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
metric: metric:
L2 Util: Utilization:
value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE))) value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE)))
unit: pct unit: pct
tips:
Bandwidth:
value: ((100 * AVG(((TCC_REQ_sum * 64) / (EndNs - BeginNs)))) / ((($sclk / 1000) * 64) * TO_INT($L2Banks)))
unit: pct
tips: tips:
Cache Hit: Hit Rate:
value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else 0)) + TCC_MISS_sum) != 0) else 0))
unit: pct unit: pct
tips: tips:
L2-EA Rd BW: L2-Fabric Read BW:
value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / (End_Timestamp - Start_Timestamp))) * 64)) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
tips: tips:
L2-EA Wr BW: L2-Fabric Write and Atomic BW:
value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / (End_Timestamp - Start_Timestamp))) * 32)) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
tips: tips:
- metric_table: - metric_table:
id: 1702 id: 1702
@@ -50,7 +54,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
Read BW: L2-Fabric Read BW:
avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom)) * 64)) / $denom))
min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
@@ -58,8 +62,26 @@ Panel Config:
max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom)) * 64)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Write BW: HBM Read Traffic:
avg: AVG((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
Remote Read Traffic:
avg: AVG((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
Uncached Read Traffic:
avg: AVG((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
L2-Fabric Write and Atomic BW:
avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom)) * 32)) / $denom))
min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
@@ -67,55 +89,31 @@ Panel Config:
max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom)) * 32)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Read (32B): HBM Write and Atomic Traffic:
avg: AVG((TCC_EA_RDREQ_32B_sum / $denom)) avg: AVG((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_32B_sum / $denom)) min: MIN((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_32B_sum / $denom)) max: MAX((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read (Uncached 32B): Remote Write and Atomic Traffic:
avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom)) avg: AVG((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom)) min: MIN((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom)) max: MAX((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read (64B): Atomic Traffic:
avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) avg: AVG((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) min: MIN((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) max: MAX((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
HBM Read: Uncached Write and Atomic Traffic:
avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom)) avg: AVG((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom)) min: MIN((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom)) max: MAX((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write (32B):
avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
unit: (Req + $normUnit)
tips:
Write (Uncached 32B):
avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Write (64B):
avg: AVG((TCC_EA_WRREQ_64B_sum / $denom))
min: MIN((TCC_EA_WRREQ_64B_sum / $denom))
max: MAX((TCC_EA_WRREQ_64B_sum / $denom))
unit: (Req + $normUnit)
tips:
HBM Write:
avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Read Latency: Read Latency:
avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum !=
0) else None)) 0) else None))
@@ -124,7 +122,7 @@ Panel Config:
max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum !=
0) else None)) 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Write Latency: Write Latency:
avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum !=
0) else None)) 0) else None))
@@ -133,7 +131,7 @@ Panel Config:
max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum !=
0) else None)) 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Atomic Latency: Atomic Latency:
avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
!= 0) else None)) != 0) else None))
@@ -142,7 +140,7 @@ Panel Config:
max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Read Stall: Read Stall:
avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum)
+ TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
@@ -154,7 +152,7 @@ Panel Config:
+ TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
0) else None)) 0) else None))
unit: pct unit: pct
tips: tips:
Write Stall: Write Stall:
avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum)
+ TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
@@ -166,7 +164,7 @@ Panel Config:
+ TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
0) else None)) 0) else None))
unit: pct unit: pct
tips: tips:
- metric_table: - metric_table:
id: 1703 id: 1703
@@ -179,54 +177,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 64) / $denom)
min: MIN((TCC_REQ_sum * 64) / $denom)
max: MAX((TCC_REQ_sum * 64) / $denom)
unit: (Bytes + $normUnit)
tips:
Req: Req:
avg: AVG((TCC_REQ_sum / $denom)) avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom)) min: MIN((TCC_REQ_sum / $denom))
max: MAX((TCC_REQ_sum / $denom)) max: MAX((TCC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Streaming Req:
avg: AVG((TCC_STREAMING_REQ_sum / $denom))
min: MIN((TCC_STREAMING_REQ_sum / $denom))
max: MAX((TCC_STREAMING_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
Read Req: Read Req:
avg: AVG((TCC_READ_sum / $denom)) avg: AVG((TCC_READ_sum / $denom))
min: MIN((TCC_READ_sum / $denom)) min: MIN((TCC_READ_sum / $denom))
max: MAX((TCC_READ_sum / $denom)) max: MAX((TCC_READ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Write Req: Write Req:
avg: AVG((TCC_WRITE_sum / $denom)) avg: AVG((TCC_WRITE_sum / $denom))
min: MIN((TCC_WRITE_sum / $denom)) min: MIN((TCC_WRITE_sum / $denom))
max: MAX((TCC_WRITE_sum / $denom)) max: MAX((TCC_WRITE_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Atomic Req: Atomic Req:
avg: AVG((TCC_ATOMIC_sum / $denom)) avg: AVG((TCC_ATOMIC_sum / $denom))
min: MIN((TCC_ATOMIC_sum / $denom)) min: MIN((TCC_ATOMIC_sum / $denom))
max: MAX((TCC_ATOMIC_sum / $denom)) max: MAX((TCC_ATOMIC_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Probe Req: Probe Req:
avg: AVG((TCC_PROBE_sum / $denom)) avg: AVG((TCC_PROBE_sum / $denom))
min: MIN((TCC_PROBE_sum / $denom)) min: MIN((TCC_PROBE_sum / $denom))
max: MAX((TCC_PROBE_sum / $denom)) max: MAX((TCC_PROBE_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Hits: Streaming Req:
avg: AVG((TCC_HIT_sum / $denom)) avg: AVG((TCC_STREAMING_REQ_sum / $denom))
min: MIN((TCC_HIT_sum / $denom)) min: MIN((TCC_STREAMING_REQ_sum / $denom))
max: MAX((TCC_HIT_sum / $denom)) max: MAX((TCC_STREAMING_REQ_sum / $denom))
unit: (Hits + $normUnit) unit: (Req + $normUnit)
tips: tips:
Misses:
avg: AVG((TCC_MISS_sum / $denom))
min: MIN((TCC_MISS_sum / $denom))
max: MAX((TCC_MISS_sum / $denom))
unit: (Misses + $normUnit)
tips:
Cache Hit: Cache Hit:
avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
@@ -235,65 +227,77 @@ Panel Config:
max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
unit: pct unit: pct
tips: tips:
Hits:
avg: AVG((TCC_HIT_sum / $denom))
min: MIN((TCC_HIT_sum / $denom))
max: MAX((TCC_HIT_sum / $denom))
unit: (Hits + $normUnit)
tips:
Misses:
avg: AVG((TCC_MISS_sum / $denom))
min: MIN((TCC_MISS_sum / $denom))
max: MAX((TCC_MISS_sum / $denom))
unit: (Misses + $normUnit)
tips:
Writeback: Writeback:
avg: AVG((TCC_WRITEBACK_sum / $denom)) avg: AVG((TCC_WRITEBACK_sum / $denom))
min: MIN((TCC_WRITEBACK_sum / $denom)) min: MIN((TCC_WRITEBACK_sum / $denom))
max: MAX((TCC_WRITEBACK_sum / $denom)) max: MAX((TCC_WRITEBACK_sum / $denom))
unit: ( + $normUnit) unit: (Cachelines + $normUnit)
tips: tips:
Writeback (Internal):
avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom))
min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom))
max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Writeback (vL1D Req):
avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Evict (Normal):
avg: AVG((TCC_NORMAL_EVICT_sum / $denom))
min: MIN((TCC_NORMAL_EVICT_sum / $denom))
max: MAX((TCC_NORMAL_EVICT_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Evict (vL1D Req):
avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
NC Req: NC Req:
avg: AVG((TCC_NC_REQ_sum / $denom)) avg: AVG((TCC_NC_REQ_sum / $denom))
min: MIN((TCC_NC_REQ_sum / $denom)) min: MIN((TCC_NC_REQ_sum / $denom))
max: MAX((TCC_NC_REQ_sum / $denom)) max: MAX((TCC_NC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
UC Req: UC Req:
avg: AVG((TCC_UC_REQ_sum / $denom)) avg: AVG((TCC_UC_REQ_sum / $denom))
min: MIN((TCC_UC_REQ_sum / $denom)) min: MIN((TCC_UC_REQ_sum / $denom))
max: MAX((TCC_UC_REQ_sum / $denom)) max: MAX((TCC_UC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
CC Req: CC Req:
avg: AVG((TCC_CC_REQ_sum / $denom)) avg: AVG((TCC_CC_REQ_sum / $denom))
min: MIN((TCC_CC_REQ_sum / $denom)) min: MIN((TCC_CC_REQ_sum / $denom))
max: MAX((TCC_CC_REQ_sum / $denom)) max: MAX((TCC_CC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
RW Req: RW Req:
avg: AVG((TCC_RW_REQ_sum / $denom)) avg: AVG((TCC_RW_REQ_sum / $denom))
min: MIN((TCC_RW_REQ_sum / $denom)) min: MIN((TCC_RW_REQ_sum / $denom))
max: MAX((TCC_RW_REQ_sum / $denom)) max: MAX((TCC_RW_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Writeback (Normal):
avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom))
min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom))
max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom))
unit: ( + $normUnit)
tips:
Writeback (TC Req):
avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
unit: ( + $normUnit)
tips:
Evict (Normal):
avg: AVG((TCC_NORMAL_EVICT_sum / $denom))
min: MIN((TCC_NORMAL_EVICT_sum / $denom))
max: MAX((TCC_NORMAL_EVICT_sum / $denom))
unit: ( + $normUnit)
tips:
Evict (TC Req):
avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
unit: ( + $normUnit)
tips:
- metric_table: - metric_table:
id: 1704 id: 1704
title: L2 - EA Interface Stalls title: L2 - Fabric Interface Stalls
header: header:
metric: Metric metric: Metric
type: Type type: Type
@@ -303,62 +307,140 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_multi_bar type: simple_multi_bar
metric: metric:
Read - Remote Socket Stall: Read - PCIe Stall:
type: Remote Socket Stall type: PCIe Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read - Peer GCD Stall: Read - Infinity Fabric™ Stall:
type: Peer GCD Stall type: Infinity Fabric™ Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read - HBM Stall: Read - HBM Stall:
type: HBM Stall type: HBM Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Remote Socket Stall: Write - PCIe Stall:
type: Remote Socket Stall type: PCIe Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Peer GCD Stall: Write - Infinity Fabric™ Stall:
type: Peer GCD Stall type: Infinity Fabric™ Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - HBM Stall: Write - HBM Stall:
type: HBM Stall type: HBM Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Credit Starvation: Write - Credit Starvation:
type: Credit Starvation type: Credit Starvation
transaction: Write transaction: Write
avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) avg: AVG(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) min: MIN(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) max: MAX(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: pct
tips:
- metric_table:
id: 1705
title: L2 - Fabric Detailed Transaction Breakdown
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Read (32B):
avg: AVG((TCC_EA_RDREQ_32B_sum / $denom))
min: MIN((TCC_EA_RDREQ_32B_sum / $denom))
max: MAX((TCC_EA_RDREQ_32B_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Read (Uncached):
avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Read (64B):
avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
unit: (Req + $normUnit)
tips:
HBM Read:
avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Remote Read:
avg: AVG((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
min: MIN((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
max: MAX((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (32B):
avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (Uncached):
avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (64B):
avg: AVG((TCC_EA_WRREQ_64B_sum / $denom))
min: MIN((TCC_EA_WRREQ_64B_sum / $denom))
max: MAX((TCC_EA_WRREQ_64B_sum / $denom))
unit: (Req + $normUnit)
tips:
HBM Write and Atomic:
avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Remote Write and Atomic:
avg: AVG((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
min: MIN((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
max: MAX((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
tips:
Atomic:
avg: AVG((TCC_EA_ATOMIC_sum / $denom))
min: MIN((TCC_EA_ATOMIC_sum / $denom))
max: MAX((TCC_EA_ATOMIC_sum / $denom))
unit: (Req + $normUnit)
tips:
@@ -186,7 +186,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1803 id: 1803
title: Requests (Requests) title: L2 Requests (Requests)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -199,12 +199,12 @@ Panel Config:
- metric_table: - metric_table:
id: 1804 id: 1804
title: L1-L2 Access (Requests) title: L2 Access (Requests)
header: header:
metric: Metric metric: Metric
read req: L1-L2 Read read req: L2 Read Req
write req: L1-L2 Write write req: L2 Write Req
atomic req: L1-L2 Atomic atomic req: L2 Atomic Req
metric: metric:
"::_1": "::_1":
read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) read req: AVG((TO_INT(TCC_READ[::_1]) / $denom))
@@ -216,12 +216,12 @@ Panel Config:
- metric_table: - metric_table:
id: 1805 id: 1805
title: L2-EA Access (Requests) title: L2 - Fabric Access (Requests)
header: header:
metric: Metric metric: Metric
read req: L2-EA Read read req: L2 - Fabric Read Req
write req: L2-EA Write write req: L2 - Fabric Write and Atomic Req
atomic req: L2-EA Atomic atomic req: L2 - Fabric Atomic Req
metric: metric:
"::_1": "::_1":
read req: AVG((TO_INT(TCC_EA_RDREQ[::_1]) / $denom)) read req: AVG((TO_INT(TCC_EA_RDREQ[::_1]) / $denom))
@@ -256,7 +256,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1806 id: 1806
title: L2-EA Read Latency (Cycles) title: L2 - Fabric Read Latency (Cycles)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -271,7 +271,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1807 id: 1807
title: L2-EA Write Latency (Cycles) title: L2 - Fabric Write Latency (Cycles)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -286,7 +286,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1808 id: 1808
title: L2-EA Atomic Latency (Cycles) title: L2 - Fabric Atomic Latency (Cycles)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -300,35 +300,35 @@ Panel Config:
- metric_table: - metric_table:
id: 1809 id: 1809
title: L2-EA Read Stall (Cycles per normUnit) title: L2 - Fabric Read Stall (Cycles per normUnit)
header: header:
metric: Metric metric: Metric
ea read stall - io: L2-EA Read Stall - IO ea read stall - pcie: L2 - Fabric Read Stall (PCIe)
ea read stall - gmi: L2-EA Read Stall - GMI ea read stall - if: L2 - Fabric Read Stall (Infinity Fabric™)
ea read stall - dram: L2-EA Read Stall - DRAM ea read stall - hbm: L2 - Fabric Read Stall (HBM)
metric: metric:
"::_1": "::_1":
ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[::_1]) / $denom)) ea read stall - pcie: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[::_1]) / $denom))
ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[::_1]) / $denom)) ea read stall - if: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[::_1]) / $denom))
ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[::_1]) / $denom)) ea read stall - hbm: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[::_1]) / $denom))
placeholder_range: placeholder_range:
"::_1": 32 "::_1": 32
cli_style: simple_multiple_bar cli_style: simple_multiple_bar
- metric_table: - metric_table:
id: 1810 id: 1810
title: L2-EA Write Stall (Cycles per normUnit) title: L2 - Fabric Write Stall (Cycles per normUnit)
header: header:
metric: Metric metric: Metric
ea write stall - io: L2-EA Write Stall - IO ea write stall - pcie: L2 - Fabric Write Stall (PCIe)
ea write stall - gmi: L2-EA Write Stall - GMI ea write stall - if: L2 - Fabric Write Stall (Infinity Fabric™)
ea write stall - dram: L2-EA Write Stall - DRAM ea write stall - hbm: L2 - Fabric Write Stall (HBM)
ea write stall - starve: L2-EA Write Stall - Starve ea write stall - starve: L2 - Fabric Write Starve
metric: metric:
"::_1": "::_1":
ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[::_1]) / $denom)) ea write stall - pcie: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[::_1]) / $denom))
ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[::_1]) / $denom)) ea write stall - if: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[::_1]) / $denom))
ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[::_1]) / $denom)) ea write stall - hbm: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[::_1]) / $denom))
ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[::_1]) / $denom)) ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[::_1]) / $denom))
placeholder_range: placeholder_range:
"::_1": 32 "::_1": 32
@@ -14,10 +14,10 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
peak: Peak peak: Peak
pop: PoP pop: Pct of Peak
tips: Tips tips: Tips
metric: metric:
VALU FLOPs: VALU FLOPs:
@@ -83,19 +83,19 @@ Panel Config:
peak: $numCU peak: $numCU
pop: ((100 * $numActiveCUs) / $numCU) pop: ((100 * $numActiveCUs) / $numCU)
tips: tips:
SALU Util: SALU Utilization:
value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
peak: 100 peak: 100
pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU))) pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / (GRBM_GUI_ACTIVE * $numCU)))
tips: tips:
VALU Util: VALU Utilization:
value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
peak: 100 peak: 100
pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU))) pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / (GRBM_GUI_ACTIVE * $numCU)))
tips: tips:
MFMA Util: MFMA Utilization:
value: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((GRBM_GUI_ACTIVE * $numCU) value: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((GRBM_GUI_ACTIVE * $numCU)
* 4))) * 4)))
unit: pct unit: pct
@@ -103,7 +103,20 @@ Panel Config:
pop: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((GRBM_GUI_ACTIVE * $numCU) pop: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((GRBM_GUI_ACTIVE * $numCU)
* 4))) * 4)))
tips: tips:
VALU Active Threads/Wave: VMEM Utilization:
value: AVG((((100 * (SQ_ACTIVE_INST_FLAT+SQ_ACTIVE_INST_VMEM)) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct
peak: 100
pop: AVG((((100 * (SQ_ACTIVE_INST_FLAT+SQ_ACTIVE_INST_VMEM)) / GRBM_GUI_ACTIVE) / $numCU))
tips:
Branch Utilization:
value: AVG((((100 * SQ_ACTIVE_INST_MISC) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct
peak: 100
pop: AVG((((100 * SQ_ACTIVE_INST_MISC) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct
tips:
VALU Active Threads:
value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU value: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) != 0) else None))
unit: Threads unit: Threads
@@ -111,25 +124,29 @@ Panel Config:
pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU pop: (AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) * 1.5625) != 0) else None)) * 1.5625)
tips: tips:
IPC - Issue: IPC:
value: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) value: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED)
/ SQ_ACTIVE_INST_ANY))
unit: Instr/cycle unit: Instr/cycle
peak: 5 peak: 5
pop: ((100 * AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) pop: ((100 * AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))) / 5)
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED)
/ SQ_ACTIVE_INST_ANY))) / 5)
tips: tips:
LDS BW: Wavefront Occupancy:
value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE))
unit: Wavefronts
peak: ($maxWavesPerCU * $numCU)
pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU
* $numCU))))
coll_level: SQ_LEVEL_WAVES
tips:
Theoretical LDS Bandwidth:
value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp))) / (End_Timestamp - Start_Timestamp)))
unit: GB/sec unit: GB/s
peak: (($sclk * $numCU) * 0.128) peak: (($sclk * $numCU) * 0.128)
pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128))) / (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128)))
tips: tips:
LDS Bank Conflict: LDS Bank Conflicts/Access:
value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) value: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
unit: Conflicts/access unit: Conflicts/access
@@ -137,35 +154,7 @@ Panel Config:
pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) pop: ((100 * AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))) / 32)
tips: tips:
Instr Cache Hit Rate: vL1D Cache Hit Rate:
value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
unit: pct
peak: 100
pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
tips:
Instr Cache BW:
value: AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
Scalar L1D Cache Hit Rate:
value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
unit: pct
peak: 100
pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
tips:
Scalar L1D Cache BW:
value: AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
Vector L1D Cache Hit Rate:
value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) value: 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_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 / TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
@@ -177,7 +166,7 @@ Panel Config:
TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else
None)) None))
tips: tips:
Vector L1D Cache BW: vL1D Cache BW:
value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
peak: ((($sclk / 1000) * 64) * $numCU) peak: ((($sclk / 1000) * 64) * $numCU)
@@ -192,6 +181,13 @@ Panel Config:
pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
tips: tips:
L2 Cache BW:
value: AVG(((TCC_REQ_sum * 128) / (EndNs - BeginNs)))
unit: GB/s
peak: ((($sclk / 1000) * 128) * TO_INT($L2Banks))
pop: ((100 * AVG(((TCC_REQ_sum * 128) / (EndNs - BeginNs))))
/ ((($sclk / 1000) * 128) * TO_INT($L2Banks)))
tips:
L2-Fabric Read BW: L2-Fabric Read BW:
value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / (End_Timestamp - Start_Timestamp))) * 64)) / (End_Timestamp - Start_Timestamp)))
@@ -212,36 +208,48 @@ Panel Config:
value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
tips: tips:
L2-Fabric Write Latency: L2-Fabric Write Latency:
value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
tips: tips:
Wave Occupancy: sL1D Cache Hit Rate:
value: AVG((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE)) value: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
unit: Wavefronts if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
peak: ($maxWavesPerCU * $numCU) unit: pct
pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / GRBM_GUI_ACTIVE) / ($maxWavesPerCU peak: 100
* $numCU)))) pop: AVG((((100 * SQC_DCACHE_HITS) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES))
coll_level: SQ_LEVEL_WAVES if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) != 0) else None))
tips: tips:
Instr Fetch BW: sL1D Cache BW:
value: AVG(((SQ_IFETCH / (End_Timestamp - Start_Timestamp)) * 32)) value: AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s unit: GB/s
peak: ((($sclk / 1000) * 32) * $numSQC) peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQ_IFETCH / (End_Timestamp - Start_Timestamp)) * 32))) / ($numSQC pop: ((100 * AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
* (($sclk / 1000) * 32))) / 1000) * 64) * $numSQC))
coll_level: SQ_IFETCH_LEVEL
tips: tips:
Instr Fetch Latency: L1I Hit Rate:
value: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
unit: pct
peak: 100
pop: AVG(((100 * SQC_ICACHE_HITS) / (SQC_ICACHE_HITS + SQC_ICACHE_MISSES)))
tips:
L1I BW:
value: AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))
unit: GB/s
peak: ((($sclk / 1000) * 64) * $numSQC)
pop: ((100 * AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($sclk
/ 1000) * 64) * $numSQC))
tips:
L1I Fetch Latency:
value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH)) value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
unit: Cycles unit: Cycles
peak: '' peak: None
pop: '' pop: None
coll_level: SQ_IFETCH_LEVEL coll_level: SQ_IFETCH_LEVEL
tips: tips:
@@ -19,19 +19,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy Cycles: CPF Utilization:
avg: AVG(GRBM_GUI_ACTIVE)
min: MIN(GRBM_GUI_ACTIVE)
max: MAX(GRBM_GUI_ACTIVE)
unit: Cycles/Kernel
tips:
CPF Busy:
avg: AVG(CPF_CPF_STAT_BUSY)
min: MIN(CPF_CPF_STAT_BUSY)
max: MAX(CPF_CPF_STAT_BUSY)
unit: Cycles/Kernel
tips:
CPF Util:
avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) avg: AVG((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE))
if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None)) if ((CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE) != 0) else None))
min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE)) min: MIN((((100 * CPF_CPF_STAT_BUSY) / (CPF_CPF_STAT_BUSY + CPF_CPF_STAT_IDLE))
@@ -47,15 +35,9 @@ Panel Config:
!= 0) else None)) != 0) else None))
max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
!= 0) else None)) != 0) else None))
unit: Cycles/Kernel unit: pct
tips: tips:
L2Cache Intf Busy: CPF-L2 Utilization:
avg: AVG(CPF_CPF_TCIU_BUSY)
min: MIN(CPF_CPF_TCIU_BUSY)
max: MAX(CPF_CPF_TCIU_BUSY)
unit: Cycles/Kernel
tips:
L2Cache Intf Util:
avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) avg: AVG((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE))
if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None))
min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE)) min: MIN((((100 * CPF_CPF_TCIU_BUSY) / (CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE))
@@ -64,7 +46,7 @@ Panel Config:
if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None)) if ((CPF_CPF_TCIU_BUSY + CPF_CPF_TCIU_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
L2Cache Intf Stall: CPF-L2 Stall:
avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY
!= 0) else None)) != 0) else None))
min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY
@@ -73,16 +55,19 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: pct unit: pct
tips: tips:
UTCL1 Stall: CPF-UTCL1 Stall:
avg: AVG(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) avg: AVG(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
min: MIN(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) != 0) else None)
max: MAX(CPF_CMP_UTCL1_STALL_ON_TRANSLATION) min: MIN(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
unit: Cycles/Kernel != 0) else None)
tips: max: MAX(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY
!= 0) else None)
unit: pct
tips:
- metric_table: - metric_table:
id: 502 id: 502
title: Command Processor Compute title: Packet Processor
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -91,19 +76,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy Cycles: CPC Utilization:
avg: AVG(GRBM_GUI_ACTIVE)
min: MIN(GRBM_GUI_ACTIVE)
max: MAX(GRBM_GUI_ACTIVE)
unit: Cycles
tips:
CPC Busy Cycles:
avg: AVG(CPC_CPC_STAT_BUSY)
min: MIN(CPC_CPC_STAT_BUSY)
max: MAX(CPC_CPC_STAT_BUSY)
unit: Cycles
tips:
CPC Util:
avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) avg: AVG((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE))
if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE)) min: MIN((((100 * CPC_CPC_STAT_BUSY) / (CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE))
@@ -112,12 +85,6 @@ Panel Config:
if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None)) if ((CPC_CPC_STAT_BUSY + CPC_CPC_STAT_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
CPC Stall Cycles:
avg: AVG(CPC_CPC_STAT_STALL)
min: MIN(CPC_CPC_STAT_STALL)
max: MAX(CPC_CPC_STAT_STALL)
unit: Cycles
tips:
CPC Stall Rate: CPC Stall Rate:
avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None)) != 0) else None))
@@ -127,28 +94,19 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: pct unit: pct
tips: tips:
CPC Packet Decoding: CPC Packet Decoding Utilization:
avg: AVG(CPC_ME1_BUSY_FOR_PACKET_DECODE) avg: AVG((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
min: MIN(CPC_ME1_BUSY_FOR_PACKET_DECODE) min: MIN((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
max: MAX(CPC_ME1_BUSY_FOR_PACKET_DECODE) max: MAX((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
unit: Cycles
tips:
SPI Intf Busy Cycles:
avg: AVG(CPC_ME1_DC0_SPI_BUSY)
min: MIN(CPC_ME1_DC0_SPI_BUSY)
max: MAX(CPC_ME1_DC0_SPI_BUSY)
unit: Cycles
tips:
SPI Intf Util:
avg: AVG((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
min: MIN((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
max: MAX((((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None))
unit: pct unit: pct
tips: tips:
L2Cache Intf Util: CPC-Workgroup Manager Utilization:
avg: AVG((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
min: MIN((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
max: MAX((100 * CPC_ME1_DC0_SPI_BUSY) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None)
unit: Pct
tips:
CPC-L2 Utilization:
avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) avg: AVG((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE))
if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE)) min: MIN((((100 * CPC_CPC_TCIU_BUSY) / (CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE))
@@ -157,19 +115,16 @@ Panel Config:
if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None))
unit: pct unit: pct
tips: tips:
UTCL1 Stall Cycles: CPC-UTCL1 Stall:
avg: AVG(CPC_UTCL1_STALL_ON_TRANSLATION) avg: AVG(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
min: MIN(CPC_UTCL1_STALL_ON_TRANSLATION) != 0) else None)
max: MAX(CPC_UTCL1_STALL_ON_TRANSLATION) min: MIN(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
unit: Cycles != 0) else None)
max: MAX(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY
!= 0) else None)
unit: pct
tips: tips:
UTCL2 Intf Busy Cycles: CPC-UTCL2 Utilization:
avg: AVG(CPC_CPC_UTCL2IU_BUSY)
min: MIN(CPC_CPC_UTCL2IU_BUSY)
max: MAX(CPC_CPC_UTCL2IU_BUSY)
unit: Cycles
tips:
UTCL2 Intf Util:
avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) avg: AVG((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE))
if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None)) if ((CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE) != 0) else None))
min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE)) min: MIN((((100 * CPC_CPC_UTCL2IU_BUSY) / (CPC_CPC_UTCL2IU_BUSY + CPC_CPC_UTCL2IU_IDLE))
@@ -6,11 +6,11 @@ Metric Description:
# Define the panel properties and properties of each metric in the panel. # Define the panel properties and properties of each metric in the panel.
Panel Config: Panel Config:
id: 600 id: 600
title: Shader Processor Input (SPI) title: Workgroup Manager (SPI)
data source: data source:
- metric_table: - metric_table:
id: 601 id: 601
title: SPI Stats title: Workgroup Manager Utilizations
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -19,29 +19,35 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
GPU Busy: Accelerator Utilization:
avg: AVG(GRBM_GUI_ACTIVE) avg: AVG(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
min: MIN(GRBM_GUI_ACTIVE) min: MIN(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
max: MAX(GRBM_GUI_ACTIVE) max: MAX(100 * GRBM_GUI_ACTIVE / GRBM_COUNT)
unit: Cycles unit: Pct
tips: tips:
CS Busy: Scheduler-Pipe Utilization:
avg: AVG(SPI_CSN_BUSY) avg: AVG(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
min: MIN(SPI_CSN_BUSY) min: MIN(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
max: MAX(SPI_CSN_BUSY) max: MAX(100 * SPI_CSN_BUSY / (GRBM_GUI_ACTIVE * $numPipes * $numSE))
unit: Cycles unit: Pct
tips: tips:
SPI Busy: Workgroup Manager Utilization:
avg: AVG(GRBM_SPI_BUSY) avg: AVG(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
min: MIN(GRBM_SPI_BUSY) min: MIN(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
max: MAX(GRBM_SPI_BUSY) max: MAX(100 * GRBM_SPI_BUSY / GRBM_GUI_ACTIVE)
unit: Cycles unit: Pct
tips: tips:
SQ Busy: Shader Engine Utilization:
avg: AVG(SQ_BUSY_CYCLES) avg: AVG(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
min: MIN(SQ_BUSY_CYCLES) min: MIN(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
max: MAX(SQ_BUSY_CYCLES) max: MAX(100 * SQ_BUSY_CYCLES / (GRBM_GUI_ACTIVE * $numSE))
unit: Cycles unit: Pct
tips:
SIMD Utilization:
avg: AVG(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SQ_BUSY_CU_CYCLES / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips: tips:
Dispatched Workgroups: Dispatched Workgroups:
avg: AVG(SPI_CSN_NUM_THREADGROUPS) avg: AVG(SPI_CSN_NUM_THREADGROUPS)
@@ -55,105 +61,6 @@ Panel Config:
max: MAX(SPI_CSN_WAVE) max: MAX(SPI_CSN_WAVE)
unit: Wavefronts unit: Wavefronts
tips: tips:
Wave Alloc Failed:
avg: AVG(SPI_RA_REQ_NO_ALLOC)
min: MIN(SPI_RA_REQ_NO_ALLOC)
max: MAX(SPI_RA_REQ_NO_ALLOC)
unit: Cycles
tips:
Wave Alloc Failed - CS:
avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN)
min: MIN(SPI_RA_REQ_NO_ALLOC_CSN)
max: MAX(SPI_RA_REQ_NO_ALLOC_CSN)
unit: Cycles
tips:
- metric_table:
id: 602
title: SPI Resource Allocation
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Wave request Failed (CS):
avg: AVG(SPI_RA_REQ_NO_ALLOC_CSN)
min: MIN(SPI_RA_REQ_NO_ALLOC_CSN)
max: MAX(SPI_RA_REQ_NO_ALLOC_CSN)
unit: Cycles
tips:
CS Stall:
avg: AVG(SPI_RA_RES_STALL_CSN)
min: MIN(SPI_RA_RES_STALL_CSN)
max: MAX(SPI_RA_RES_STALL_CSN)
unit: Cycles
tips:
CS Stall Rate:
avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
min: MIN((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
max: MAX((((100 * SPI_RA_RES_STALL_CSN) / GRBM_SPI_BUSY) if (GRBM_SPI_BUSY !=
0) else None))
unit: pct
tips:
Scratch Stall:
avg: AVG(SPI_RA_TMP_STALL_CSN)
min: MIN(SPI_RA_TMP_STALL_CSN)
max: MAX(SPI_RA_TMP_STALL_CSN)
unit: Cycles
tips:
Insufficient SIMD Waveslots:
avg: AVG(SPI_RA_WAVE_SIMD_FULL_CSN)
min: MIN(SPI_RA_WAVE_SIMD_FULL_CSN)
max: MAX(SPI_RA_WAVE_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient SIMD VGPRs:
avg: AVG(SPI_RA_VGPR_SIMD_FULL_CSN)
min: MIN(SPI_RA_VGPR_SIMD_FULL_CSN)
max: MAX(SPI_RA_VGPR_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient SIMD SGPRs:
avg: AVG(SPI_RA_SGPR_SIMD_FULL_CSN)
min: MIN(SPI_RA_SGPR_SIMD_FULL_CSN)
max: MAX(SPI_RA_SGPR_SIMD_FULL_CSN)
unit: SIMD
tips:
Insufficient CU LDS:
avg: AVG(SPI_RA_LDS_CU_FULL_CSN)
min: MIN(SPI_RA_LDS_CU_FULL_CSN)
max: MAX(SPI_RA_LDS_CU_FULL_CSN)
unit: CU
tips:
Insufficient CU Barries:
avg: AVG(SPI_RA_BAR_CU_FULL_CSN)
min: MIN(SPI_RA_BAR_CU_FULL_CSN)
max: MAX(SPI_RA_BAR_CU_FULL_CSN)
unit: CU
tips:
Insufficient Bulky Resource:
avg: AVG(SPI_RA_BULKY_CU_FULL_CSN)
min: MIN(SPI_RA_BULKY_CU_FULL_CSN)
max: MAX(SPI_RA_BULKY_CU_FULL_CSN)
unit: CU
tips:
Reach CU Threadgroups Limit:
avg: AVG(SPI_RA_TGLIM_CU_FULL_CSN)
min: MIN(SPI_RA_TGLIM_CU_FULL_CSN)
max: MAX(SPI_RA_TGLIM_CU_FULL_CSN)
unit: Cycles
tips:
Reach CU Wave Limit:
avg: AVG(SPI_RA_WVLIM_STALL_CSN)
min: MIN(SPI_RA_WVLIM_STALL_CSN)
max: MAX(SPI_RA_WVLIM_STALL_CSN)
unit: Cycles
tips:
VGPR Writes: VGPR Writes:
avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else
None)) None))
@@ -172,3 +79,89 @@ Panel Config:
None)) None))
unit: Cycles/wave unit: Cycles/wave
tips: tips:
- metric_table:
id: 602
title: Workgroup Manager - Resource Allocation
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Not-scheduled Rate (Workgroup Manager):
avg: AVG((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
min: MIN((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
max: MAX((100 * SPI_RA_REQ_NO_ALLOC_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
unit: Pct
tips:
Not-scheduled Rate (Scheduler-Pipe):
avg: AVG((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
min: MIN((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
max: MAX((100 * SPI_RA_REQ_NO_ALLOC / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None)
unit: Pct
tips:
Scheduler-Pipe Stall Rate:
avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
min: MIN((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
max: MAX((((100 * SPI_RA_RES_STALL_CSN) / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY !=
0) else None))
unit: Pct
tips:
Scratch Stall Rate:
avg: AVG((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
min: MIN((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
max: MAX((100 * SPI_RA_TMP_STALL_CSN / (GRBM_SPI_BUSY * $numSE)) if (GRBM_SPI_BUSY != 0) else None)
unit: Pct
tips:
Insufficient SIMD Waveslots:
avg: AVG(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_WAVE_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient SIMD VGPRs:
avg: AVG(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_VGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient SIMD SGPRs:
avg: AVG(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(100 * SPI_RA_SGPR_SIMD_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient CU LDS:
avg: AVG(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_LDS_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Insufficient CU Barriers:
avg: AVG(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_BAR_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Reached CU Workgroup Limit:
avg: AVG(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_TGLIM_CU_FULL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
Reached CU Wavefront Limit:
avg: AVG(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
min: MIN(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
max: MAX(400 * SPI_RA_WVLIM_STALL_CSN / (GRBM_GUI_ACTIVE * $numCU))
unit: Pct
tips:
@@ -77,7 +77,7 @@ Panel Config:
avg: AVG(Scratch_Per_Workitem) avg: AVG(Scratch_Per_Workitem)
min: MIN(Scratch_Per_Workitem) min: MIN(Scratch_Per_Workitem)
max: MAX(Scratch_Per_Workitem) max: MAX(Scratch_Per_Workitem)
unit: Bytes unit: Bytes/Workitem
tips: tips:
- metric_table: - metric_table:
@@ -103,7 +103,7 @@ Panel Config:
max: MAX(GRBM_GUI_ACTIVE) max: MAX(GRBM_GUI_ACTIVE)
unit: Cycle unit: Cycle
tips: tips:
Instr/wavefront: Instructions per wavefront:
avg: AVG((SQ_INSTS / SQ_WAVES)) avg: AVG((SQ_INSTS / SQ_WAVES))
min: MIN((SQ_INSTS / SQ_WAVES)) min: MIN((SQ_INSTS / SQ_WAVES))
max: MAX((SQ_INSTS / SQ_WAVES)) max: MAX((SQ_INSTS / SQ_WAVES))
@@ -10,7 +10,7 @@ Panel Config:
data source: data source:
- metric_table: - metric_table:
id: 1001 id: 1001
title: Instruction Mix title: Overall Instruction Mix
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -18,11 +18,11 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
label_txt: (# of instr + $normUnit) label_txt: (# of instr + $normUnit)
metric: metric:
VALU - Vector: VALU:
avg: AVG(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) avg: AVG(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
min: MIN(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) min: MIN(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom)) max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
@@ -40,7 +40,7 @@ Panel Config:
max: MAX((SQ_INSTS_LDS / $denom)) max: MAX((SQ_INSTS_LDS / $denom))
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
VALU - MFMA: MFMA:
avg: AVG((SQ_INSTS_MFMA / $denom)) avg: AVG((SQ_INSTS_MFMA / $denom))
min: MIN((SQ_INSTS_MFMA / $denom)) min: MIN((SQ_INSTS_MFMA / $denom))
max: MAX((SQ_INSTS_MFMA / $denom)) max: MAX((SQ_INSTS_MFMA / $denom))
@@ -64,12 +64,6 @@ Panel Config:
max: MAX((SQ_INSTS_BRANCH / $denom)) max: MAX((SQ_INSTS_BRANCH / $denom))
unit: (instr + $normUnit) unit: (instr + $normUnit)
tips: tips:
GDS:
avg: AVG((SQ_INSTS_GDS / $denom))
min: MIN((SQ_INSTS_GDS / $denom))
max: MAX((SQ_INSTS_GDS / $denom))
unit: (instr + $normUnit)
tips:
- metric_table: - metric_table:
id: 1002 id: 1002
@@ -81,7 +75,7 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
label_txt: (# of instr + $normUnit) label_txt: (# of instr + $normUnit)
metric: metric:
@@ -180,55 +174,100 @@ Panel Config:
id: 1003 id: 1003
title: VMEM Instr Mix title: VMEM Instr Mix
header: header:
type: type metric: Metric
count: Count avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips tips: Tips
metric: metric:
Buffer Instr: Global/Generic Instr:
count: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom))
Buffer Read: max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom))
count: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Buffer Write: Global/Generic Read:
count: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
Buffer Atomic: max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
count: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Flat Instr: Global/Generic Write:
count: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
Flat Read: max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
count: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Flat Write: Global/Generic Atomic:
count: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
tips: min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
Flat Atomic: max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
count: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) unit: (instr + $normUnit)
tips: tips:
Spill/Stack Instr:
avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Read:
avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Write:
avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
Spill/Stack Atomic:
avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (instr + $normUnit)
tips:
- metric_table: - metric_table:
id: 1004 id: 1004
title: MFMA Arithmetic Instr Mix title: MFMA Arithmetic Instr Mix
header: header:
type: type metric: Metric
count: Count avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips tips: Tips
metric: metric:
MFMA-I8: MFMA-I8:
count: AVG((SQ_INSTS_VALU_MFMA_I8 / $denom)) avg: AVG((SQ_INSTS_VALU_MFMA_I8 / $denom))
min: MIN((SQ_INSTS_VALU_MFMA_I8 / $denom))
max: MAX((SQ_INSTS_VALU_MFMA_I8 / $denom))
unit: (instr + $normUnit)
tips: tips:
MFMA-F16: MFMA-F16:
count: AVG((SQ_INSTS_VALU_MFMA_F16 / $denom)) avg: AVG((SQ_INSTS_VALU_MFMA_F16 / $denom))
min: MIN((SQ_INSTS_VALU_MFMA_F16 / $denom))
max: MAX((SQ_INSTS_VALU_MFMA_F16 / $denom))
unit: (instr + $normUnit)
tips: tips:
MFMA-BF16: MFMA-BF16:
count: AVG((SQ_INSTS_VALU_MFMA_BF16 / $denom)) avg: AVG((SQ_INSTS_VALU_MFMA_BF16 / $denom))
min: MIN((SQ_INSTS_VALU_MFMA_BF16 / $denom))
max: MAX((SQ_INSTS_VALU_MFMA_BF16 / $denom))
unit: (instr + $normUnit)
tips: tips:
MFMA-F32: MFMA-F32:
count: AVG((SQ_INSTS_VALU_MFMA_F32 / $denom)) avg: AVG((SQ_INSTS_VALU_MFMA_F32 / $denom))
tips: min: MIN((SQ_INSTS_VALU_MFMA_F32 / $denom))
max: MAX((SQ_INSTS_VALU_MFMA_F32 / $denom))
unit: (instr + $normUnit)
tips:
MFMA-F64: MFMA-F64:
count: AVG((SQ_INSTS_VALU_MFMA_F64 / $denom)) avg: AVG((SQ_INSTS_VALU_MFMA_F64 / $denom))
tips: min: MIN((SQ_INSTS_VALU_MFMA_F64 / $denom))
max: MAX((SQ_INSTS_VALU_MFMA_F64 / $denom))
unit: (instr + $normUnit)
tips:
@@ -13,48 +13,73 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
peak: Peak
pop: Pct of Peak
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
xrange: [0, 110] xrange: [0, 110]
metric: metric:
valu_flops_pop: VALU FLOPs:
value: ((100 * AVG(((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) value: AVG(((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16) + SQ_INSTS_VALU_TRANS_F16)
+ (2 * SQ_INSTS_VALU_FMA_F16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_MUL_F32)
+ SQ_INSTS_VALU_TRANS_F32) + (2 * SQ_INSTS_VALU_FMA_F32)))) + (64 * (((SQ_INSTS_VALU_ADD_F64
+ SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) + (2 * SQ_INSTS_VALU_FMA_F64))))
/ (EndNs - BeginNs)))
unit: GFLOP
peak: (((($sclk * $numCU) * 64) * 2) / 1000)
pop: ((100 * AVG(((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16)
+ SQ_INSTS_VALU_TRANS_F16) + (2 * SQ_INSTS_VALU_FMA_F16))) + (64 * (((SQ_INSTS_VALU_ADD_F32 + SQ_INSTS_VALU_TRANS_F16) + (2 * SQ_INSTS_VALU_FMA_F16))) + (64 * (((SQ_INSTS_VALU_ADD_F32
+ SQ_INSTS_VALU_MUL_F32) + SQ_INSTS_VALU_TRANS_F32) + (2 * SQ_INSTS_VALU_FMA_F32)))) + SQ_INSTS_VALU_MUL_F32) + SQ_INSTS_VALU_TRANS_F32) + (2 * SQ_INSTS_VALU_FMA_F32))))
+ (64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) + (64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64)
+ (2 * SQ_INSTS_VALU_FMA_F64)))) / (End_Timestamp - Start_Timestamp)))) / (((($sclk + (2 * SQ_INSTS_VALU_FMA_F64)))) / (End_Timestamp - Start_Timestamp)))) / (((($sclk
* $numCU) * 64) * 2) / 1000)) * $numCU) * 64) * 2) / 1000))
unit: Pct of Peak
tips: tips:
mfma_flops_bf16_pop: VALU IOPs:
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (End_Timestamp - Start_Timestamp)))) value: AVG(((64 * (SQ_INSTS_VALU_INT32 + SQ_INSTS_VALU_INT64)) / (End_Timestamp - Start_Timestamp)))
/ ((($sclk * $numCU) * 512) / 1000)) unit: GIOP
unit: Pct of Peak peak: (((($sclk * $numCU) * 64) * 2) / 1000)
pop: ((100 * AVG(((64 * (SQ_INSTS_VALU_INT32 + SQ_INSTS_VALU_INT64)) / (End_Timestamp
- Start_Timestamp)))) / (((($sclk * $numCU) * 64) * 2) / 1000))
tips: tips:
mfma_flops_f16_pop: MFMA FLOPs (BF16):
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (End_Timestamp - Start_Timestamp)))) value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (End_Timestamp - Start_Timestamp)))
unit: GFLOP
peak: ((($sclk * $numCU) * 1024) / 1000)
pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk * $numCU) * 1024) / 1000)) / ((($sclk * $numCU) * 1024) / 1000))
unit: Pct of Peak
tips: tips:
mfma_flops_f32_pop: MFMA FLOPs (F16):
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (End_Timestamp - Start_Timestamp)))) value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (End_Timestamp - Start_Timestamp)))
/ ((($sclk * $numCU) * 256) / 1000)) unit: GFLOP
unit: Pct of Peak peak: ((($sclk * $numCU) * 1024) / 1000)
tips: pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (End_Timestamp - Start_Timestamp))))
mfma_flops_f64_pop: / ((($sclk * $numCU) * 1024) / 1000))
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (End_Timestamp - Start_Timestamp)))) tips:
/ ((($sclk * $numCU) * 256) / 1000)) MFMA FLOPs (F32):
unit: Pct of Peak value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (End_Timestamp - Start_Timestamp)))
tips: unit: GFLOP
mfma_flops_i8_pop: peak: ((($sclk * $numCU) * 256) / 1000)
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (End_Timestamp - Start_Timestamp)))) pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk * $numCU) * 256) / 1000))
tips:
MFMA FLOPs (F64):
value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (End_Timestamp - Start_Timestamp)))
unit: GFLOP
peak: ((($sclk * $numCU) * 256) / 1000)
pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk * $numCU) * 256) / 1000))
tips:
MFMA IOPs (INT8):
value: AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (End_Timestamp - Start_Timestamp)))
unit: GIOP
peak: ((($sclk * $numCU) * 1024) / 1000)
pop: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk * $numCU) * 1024) / 1000)) / ((($sclk * $numCU) * 1024) / 1000))
unit: Pct of Peak
tips: tips:
- metric_table: - metric_table:
@@ -68,36 +93,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
IPC (Avg): IPC:
avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))
min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES)) min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES))
max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES)) max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES))
unit: Instr/cycle unit: Instr/cycle
tips: tips:
IPC (Issue): IPC (Issued):
avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM) max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM))
+ SQ_INSTS_GDS) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED) + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS)
/ SQ_ACTIVE_INST_ANY)) / SQ_ACTIVE_INST_ANY))
unit: Instr/cycle unit: Instr/cycle
tips: tips:
SALU Util: SALU Utilization:
avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) min: MIN((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU)) max: MAX((((100 * SQ_ACTIVE_INST_SCA) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct unit: pct
tips: tips:
VALU Util: VALU Utilization:
avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) min: MIN((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU)) max: MAX((((100 * SQ_ACTIVE_INST_VALU) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct unit: pct
tips: tips:
VMEM Utilization:
avg: AVG((((100 * (SQ_ACTIVE_INST_FLAT+SQ_ACTIVE_INST_VMEM)) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * (SQ_ACTIVE_INST_FLAT+SQ_ACTIVE_INST_VMEM)) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * (SQ_ACTIVE_INST_FLAT+SQ_ACTIVE_INST_VMEM)) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct
tips:
Branch Utilization:
avg: AVG((((100 * SQ_ACTIVE_INST_MISC) / GRBM_GUI_ACTIVE) / $numCU))
min: MIN((((100 * SQ_ACTIVE_INST_MISC) / GRBM_GUI_ACTIVE) / $numCU))
max: MAX((((100 * SQ_ACTIVE_INST_MISC) / GRBM_GUI_ACTIVE) / $numCU))
unit: pct
tips:
VALU Active Threads: VALU Active Threads:
avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU
!= 0) else None)) != 0) else None))
@@ -107,7 +144,7 @@ Panel Config:
!= 0) else None)) != 0) else None))
unit: Threads unit: Threads
tips: tips:
MFMA Util: MFMA Utilization:
avg: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE))) avg: AVG(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE)))
min: MIN(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE))) min: MIN(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE)))
max: MAX(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE))) max: MAX(((100 * SQ_VALU_MFMA_BUSY_CYCLES) / ((4 * $numCU) * GRBM_GUI_ACTIVE)))
@@ -122,6 +159,26 @@ Panel Config:
else None)) else None))
unit: cycles/instr unit: cycles/instr
tips: tips:
VMEM Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_VMEM) if (SQ_INSTS_VMEM != 0)
else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_VMEM) if (SQ_INSTS_VMEM != 0)
else None))
max: MAX(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_VMEM) if (SQ_INSTS_VMEM != 0)
else None))
unit: Cycles
coll_level: SQ_INST_LEVEL_VMEM
tips:
SMEM Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_SMEM) if (SQ_INSTS_SMEM != 0)
else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_SMEM) if (SQ_INSTS_SMEM != 0)
else None))
max: MAX(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_SMEM) if (SQ_INSTS_SMEM != 0)
else None))
unit: Cycles
coll_level: SQ_INST_LEVEL_SMEM
tips:
- metric_table: - metric_table:
id: 1103 id: 1103
@@ -158,10 +215,10 @@ Panel Config:
$denom)) $denom))
unit: (OPs + $normUnit) unit: (OPs + $normUnit)
tips: tips:
INT8 OPs: IOPs (Total):
avg: AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom)) avg: AVG(((64 * (SQ_INSTS_VALU_INT32 + SQ_INSTS_VALU_INT64)) + (SQ_INSTS_VALU_MFMA_MOPS_I8 * 512)) / $denom)
min: MIN(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom)) min: MIN(((64 * (SQ_INSTS_VALU_INT32 + SQ_INSTS_VALU_INT64)) + (SQ_INSTS_VALU_MFMA_MOPS_I8 * 512)) / $denom)
max: MAX(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom)) max: MAX(((64 * (SQ_INSTS_VALU_INT32 + SQ_INSTS_VALU_INT64)) + (SQ_INSTS_VALU_MFMA_MOPS_I8 * 512)) / $denom)
unit: (OPs + $normUnit) unit: (OPs + $normUnit)
tips: tips:
F16 OPs: F16 OPs:
@@ -199,4 +256,10 @@ Panel Config:
max: MAX((((64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64) max: MAX((((64 * (((SQ_INSTS_VALU_ADD_F64 + SQ_INSTS_VALU_MUL_F64) + SQ_INSTS_VALU_TRANS_F64)
+ (SQ_INSTS_VALU_FMA_F64 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / $denom)) + (SQ_INSTS_VALU_FMA_F64 * 2))) + (512 * SQ_INSTS_VALU_MFMA_MOPS_F64)) / $denom))
unit: (OPs + $normUnit) unit: (OPs + $normUnit)
tips:
INT8 OPs:
avg: AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom))
min: MIN(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom))
max: MAX(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / $denom))
unit: (OPs + $normUnit)
tips: tips:
@@ -13,10 +13,10 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
@@ -26,20 +26,24 @@ Panel Config:
value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / (GRBM_GUI_ACTIVE * $numCU)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
unit: pct
Access Rate: Access Rate:
value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU))) value: AVG(((200 * SQ_ACTIVE_INST_LDS) / (GRBM_GUI_ACTIVE * $numCU)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Bandwidth (Pct-of-Peak): unit: pct
Theoretical Bandwidth (% of Peak):
value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128))) / (End_Timestamp - Start_Timestamp)) / (($sclk * $numCU) * 0.00128)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
unit: pct
Bank Conflict Rate: Bank Conflict Rate:
value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) value: AVG((((SQ_LDS_BANK_CONFLICT * 3.125) / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
unit: pct
- metric_table: - metric_table:
id: 1202 id: 1202
@@ -58,7 +62,7 @@ Panel Config:
max: MAX((SQ_INSTS_LDS / $denom)) max: MAX((SQ_INSTS_LDS / $denom))
unit: (Instr + $normUnit) unit: (Instr + $normUnit)
tips: tips:
Bandwidth: Theoretical Bandwidth:
avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
/ $denom)) / $denom))
min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks)) min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($LDSBanks))
@@ -67,7 +71,14 @@ Panel Config:
/ $denom)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Bank Conficts/Access: LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
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:
Bank Conflicts/Access:
avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) avg: AVG(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None))
min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT))
@@ -82,7 +93,7 @@ Panel Config:
max: MAX((SQ_LDS_IDX_ACTIVE / $denom)) max: MAX((SQ_LDS_IDX_ACTIVE / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Atomic Cycles: Atomic Return Cycles:
avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom)) avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom))
min: MIN((SQ_LDS_ATOMIC_RETURN / $denom)) min: MIN((SQ_LDS_ATOMIC_RETURN / $denom))
max: MAX((SQ_LDS_ATOMIC_RETURN / $denom)) max: MAX((SQ_LDS_ATOMIC_RETURN / $denom))
@@ -110,12 +121,5 @@ Panel Config:
avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom)) avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom))
min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom)) min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom))
max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom)) max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom))
unit: ( + $normUnit) unit: (Accesses + $normUnit)
tips:
LDS Latency:
avg: AVG(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
min: MIN(((SQ_ACCUM_PREV_HIRES / SQ_INSTS_LDS) if (SQ_INSTS_LDS != 0) else None))
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:
@@ -13,10 +13,10 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
@@ -27,11 +27,16 @@ Panel Config:
* (End_Timestamp - Start_Timestamp)))) * (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Hit: Cache Hit Rate:
value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE))) + SQC_ICACHE_MISSES_DUPLICATE)))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
L1I-L2 Bandwidth:
value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($sclk * $numSQC)
* (EndNs - BeginNs))))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1302 id: 1302
@@ -68,7 +73,7 @@ Panel Config:
max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom)) max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom))
unit: (Misses + $normUnit) unit: (Misses + $normUnit)
tips: tips:
Cache Hit: Cache Hit Rate:
avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES)
+ SQC_ICACHE_MISSES_DUPLICATE))) + SQC_ICACHE_MISSES_DUPLICATE)))
min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) +
@@ -76,4 +81,28 @@ Panel Config:
max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) + max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) +
SQC_ICACHE_MISSES_DUPLICATE))) SQC_ICACHE_MISSES_DUPLICATE)))
unit: pct unit: pct
tips: tips:
Instruction Fetch Latency:
avg: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
min: MIN((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
max: MAX((SQ_ACCUM_PREV_HIRES / SQ_IFETCH))
unit: Cycles
coll_level: SQ_IFETCH_LEVEL
tips:
- metric_table:
id: 1303
title: Instruction Cache - L2 Interface
header:
metric: Metric
mean: Mean
min: Min
max: Max
unit: Unit
tips: Tips
metric:
L1I-L2 Bandwidth:
mean: AVG(((SQC_TC_INST_REQ * 64) / $denom))
min: MIN(((SQC_TC_INST_REQ * 64) / $denom))
max: MAX(((SQC_TC_INST_REQ * 64) / $denom))
unit: (Bytes + $normUnit)
tips:
@@ -12,11 +12,11 @@ Panel Config:
id: 1401 id: 1401
title: Speed-of-Light title: Speed-of-Light
header: header:
mertic: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
@@ -27,12 +27,17 @@ Panel Config:
* (End_Timestamp - Start_Timestamp)))) * (End_Timestamp - Start_Timestamp))))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Hit: Cache Hit Rate:
value: value:
AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE)) AVG((((SQC_DCACHE_HITS * 100) / (SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE))
if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) if ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
sL1D-L2 BW:
value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 100000)
/ (2 * ($sclk * $numSQC) * (EndNs - BeginNs)))
unit: Pct of Peak
tips:
- metric_table: - metric_table:
id: 1402 id: 1402
@@ -69,7 +74,7 @@ Panel Config:
max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom)) max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache Hit: Cache Hit Rate:
avg: AVG((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) avg: AVG((((100 * SQC_DCACHE_HITS) / ((SQC_DCACHE_HITS + SQC_DCACHE_MISSES)
+ SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES) + SQC_DCACHE_MISSES_DUPLICATE)) if (((SQC_DCACHE_HITS + SQC_DCACHE_MISSES)
+ SQC_DCACHE_MISSES_DUPLICATE) != 0) else None)) + SQC_DCACHE_MISSES_DUPLICATE) != 0) else None))
@@ -138,6 +143,12 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
sL1D-L2 BW:
mean: AVG(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
min: MIN(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
max: MAX(((((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 64)) / $denom))
unit: (Bytes + $normUnit)
tips:
Read Req: Read Req:
avg: AVG((SQC_TC_DATA_READ_REQ / $denom)) avg: AVG((SQC_TC_DATA_READ_REQ / $denom))
min: MIN((SQC_TC_DATA_READ_REQ / $denom)) min: MIN((SQC_TC_DATA_READ_REQ / $denom))
@@ -156,9 +167,9 @@ Panel Config:
max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom)) max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Stall: Stall Cycles:
avg: AVG((SQC_TC_STALL / $denom)) avg: AVG((SQC_TC_STALL / $denom))
min: MIN((SQC_TC_STALL / $denom)) min: MIN((SQC_TC_STALL / $denom))
max: MAX((SQC_TC_STALL / $denom)) max: MAX((SQC_TC_STALL / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
@@ -6,11 +6,11 @@ Metric Description:
# Define the panel properties and properties of each metric in the panel. # Define the panel properties and properties of each metric in the panel.
Panel Config: Panel Config:
id: 1500 id: 1500
title: Texture Addresser and Texture Data (TA/TD) title: Address Processing Unit and Data Return Path (TA/TD)
data source: data source:
- metric_table: - metric_table:
id: 1501 id: 1501
title: TA title: Address Processing Unit
header: header:
metric: Metric metric: Metric
avg: Avg avg: Avg
@@ -19,25 +19,25 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
TA Busy: Address Processing Unit Busy:
avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_TA_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TA Addr Stall: Address Stall:
avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TA Data Stall: Data Stall:
avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TD2TA Addr Stall: Data-Processor → Address Stall:
avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / (GRBM_GUI_ACTIVE * $numCU)))
@@ -47,69 +47,69 @@ Panel Config:
avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom)) avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom))
min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom)) min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom))
max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom)) max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Instr: Global/Generic Instructions:
avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Read Instr: Global/Generic Read Instructions:
avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Write Instr: Global/Generic Write Instructions:
avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Flat Atomic Instr: Global/Generic Atomic Instructions:
avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Instr: Spill/Stack Instructions:
avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Read Instr: Spill/Stack Read Instructions:
avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_READ_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Write Instr: Spill/Stack Write Instructions:
avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_WRITE_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Atomic Instr: Spill/Stack Atomic Instructions:
avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) avg: AVG((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) min: MIN((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom)) max: MAX((TA_BUFFER_ATOMIC_WAVEFRONTS_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Buffer Total Cylces: Spill/Stack Total Cycles:
avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Buffer Coalesced Read: Spill/Stack Coalesced Read:
avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_COALESCED_READ_CYCLES_sum / $denom))
unit: (Cycles + $normUnit) unit: (Cycles + $normUnit)
tips: tips:
Buffer Coalesced Write: Spill/Stack Coalesced Write:
avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) avg: AVG((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) min: MIN((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom)) max: MAX((TA_BUFFER_COALESCED_WRITE_CYCLES_sum / $denom))
@@ -127,48 +127,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
TD Busy: Data-Return Busy:
avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TD_TD_BUSY_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
TC2TD Stall: Cache RAM → Data-Return Stall:
avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TD_TC_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
SPI2TD Stall: Workgroup manager → Data-Return Stall:
avg: AVG(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) avg: AVG(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
min: MIN(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) min: MIN(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
max: MAX(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU))) max: MAX(((100 * TD_SPI_STALL_sum) / (GRBM_GUI_ACTIVE * $numCU)))
unit: pct unit: pct
tips: tips:
Coalescable Instr: Coalescable Instructions:
avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom)) avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom))
min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom)) min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom))
max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom)) max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Load Instr: Read Instructions:
avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum)
/ $denom)) / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Store Instr: Write Instructions:
avg: AVG((TD_STORE_WAVEFRONT_sum / $denom)) avg: AVG((TD_STORE_WAVEFRONT_sum / $denom))
min: MIN((TD_STORE_WAVEFRONT_sum / $denom)) min: MIN((TD_STORE_WAVEFRONT_sum / $denom))
max: MAX((TD_STORE_WAVEFRONT_sum / $denom)) max: MAX((TD_STORE_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
Atomic Instr: Atomic Instructions:
avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom)) avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom))
min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom)) min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom))
max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom)) max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom))
unit: (Instr + $normUnit) unit: (Instructions + $normUnit)
tips: tips:
@@ -13,35 +13,35 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
range_color: [1, 100] range_color: [1, 100]
label_txt: (%) label_txt: (%)
xrange: [0, 110] xrange: [0, 110]
metric: metric:
Buffer Coalescing: Hit rate:
value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum)
* 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None)) + 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))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Util: Bandwidth:
value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum
!= 0) else None))
unit: Pct of Peak
tips:
Cache BW:
value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))) value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))))
/ ((($sclk / 1000) * 64) * $numCU)) / ((($sclk / 1000) * 64) * $numCU))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
Cache Hit: Utilization:
value: AVG(((100 - ((100 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) value: AVG((((TCP_GATE_EN2_sum * 100) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum
+ TCP_TCC_ATOMIC_WITH_RET_REQ_sum) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) != 0) else None))
/ TCP_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else unit: Pct of Peak
None)) tips:
Coalescing:
value: AVG(((((TA_TOTAL_WAVEFRONTS_sum * 64) * 100) / (TCP_TOTAL_ACCESSES_sum
* 4)) if (TCP_TOTAL_ACCESSES_sum != 0) else None))
unit: Pct of Peak unit: Pct of Peak
tips: tips:
@@ -141,11 +141,26 @@ Panel Config:
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache BW: Cache BW:
avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom))
unit: GB/s unit: (Bytes + $normUnit)
tips: tips:
Cache Hit Rate:
avg: 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))
min: MIN(((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))
max: MAX(((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))
unit: pct
tips:
Cache Accesses: Cache Accesses:
avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom))
min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom))
@@ -164,22 +179,7 @@ Panel Config:
/ $denom)) / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Cache Hit Rate: Invalidations:
avg: 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))
min: MIN(((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))
max: MAX(((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))
unit: pct
tips:
Invalidate:
avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom))
@@ -188,9 +188,9 @@ Panel Config:
L1-L2 BW: L1-L2 BW:
avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) avg: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
min: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) min: MIN(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
max: AVG(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum) max: MAX(((64 * (((TCP_TCC_READ_REQ_sum + TCP_TCC_WRITE_REQ_sum) + TCP_TCC_ATOMIC_WITH_RET_REQ_sum)
+ TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom)) + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
@@ -258,7 +258,7 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_multi_bar type: simple_multi_bar
metric: metric:
NC - Read: NC - Read:
@@ -388,17 +388,17 @@ Panel Config:
avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom))
units: (Hits + $normUnit) units: (Req + $normUnit)
tips: tips:
Misses (Translation): Translation Misses:
avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom))
units: (Misses + $normUnit) units: (Req + $normUnit)
tips: tips:
Misses (Permission): Permission Misses:
avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom))
units: (Misses + $normUnit) units: (Req + $normUnit)
tips: tips:
@@ -13,31 +13,35 @@ Panel Config:
title: Speed-of-Light title: Speed-of-Light
header: header:
metric: Metric metric: Metric
value: Value value: Avg
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_bar type: simple_bar
metric: metric:
L2 Util: Utilization:
value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE))) value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($L2Banks) * GRBM_GUI_ACTIVE)))
unit: pct unit: pct
tips:
Bandwidth:
value: ((100 * AVG(((TCC_REQ_sum * 128) / (EndNs - BeginNs)))) / ((($sclk / 1000) * 128) * TO_INT($L2Banks)))
unit: pct
tips: tips:
Cache Hit: Hit Rate:
value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else 0)) + TCC_MISS_sum) != 0) else 0))
unit: pct unit: pct
tips: tips:
L2-EA Rd BW: L2-Fabric Read BW:
value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / (End_Timestamp - Start_Timestamp))) * 64)) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
tips: tips:
L2-EA Wr BW: L2-Fabric Write and Atomic BW:
value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / (End_Timestamp - Start_Timestamp))) * 32)) / (End_Timestamp - Start_Timestamp)))
unit: GB/s unit: GB/s
tips: tips:
- metric_table: - metric_table:
id: 1702 id: 1702
@@ -50,7 +54,7 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
Read BW: L2-Fabric Read BW:
avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom)) * 64)) / $denom))
min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
@@ -58,8 +62,26 @@ Panel Config:
max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum)
* 64)) / $denom)) * 64)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Write BW: HBM Read Traffic:
avg: AVG((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * (TCC_EA_RDREQ_DRAM_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
Remote Read Traffic:
avg: AVG((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum) / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
Uncached Read Traffic:
avg: AVG((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
min: MIN((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
max: MAX((100 * (TCC_EA_RD_UNCACHED_32B_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != 0) else None))
unit: pct
tips:
L2-Fabric Write and Atomic BW:
avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom)) * 32)) / $denom))
min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
@@ -67,55 +89,31 @@ Panel Config:
max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum)
* 32)) / $denom)) * 32)) / $denom))
unit: (Bytes + $normUnit) unit: (Bytes + $normUnit)
tips: tips:
Read (32B): HBM Write and Atomic Traffic:
avg: AVG((TCC_EA_RDREQ_32B_sum / $denom)) avg: AVG((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_32B_sum / $denom)) min: MIN((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_32B_sum / $denom)) max: MAX((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read (Uncached 32B): Remote Write and Atomic Traffic:
avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom)) avg: AVG((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom)) min: MIN((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom)) max: MAX((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read (64B): Atomic Traffic:
avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) avg: AVG((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) min: MIN((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom)) max: MAX((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
HBM Read: Uncached Write and Atomic Traffic:
avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom)) avg: AVG((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom)) min: MIN((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom)) max: MAX((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write (32B):
avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
unit: (Req + $normUnit)
tips:
Write (Uncached 32B):
avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Write (64B):
avg: AVG((TCC_EA_WRREQ_64B_sum / $denom))
min: MIN((TCC_EA_WRREQ_64B_sum / $denom))
max: MAX((TCC_EA_WRREQ_64B_sum / $denom))
unit: (Req + $normUnit)
tips:
HBM Write:
avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Read Latency: Read Latency:
avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum !=
0) else None)) 0) else None))
@@ -124,7 +122,7 @@ Panel Config:
max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum !=
0) else None)) 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Write Latency: Write Latency:
avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum !=
0) else None)) 0) else None))
@@ -133,7 +131,7 @@ Panel Config:
max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum !=
0) else None)) 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Atomic Latency: Atomic Latency:
avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
!= 0) else None)) != 0) else None))
@@ -142,7 +140,7 @@ Panel Config:
max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum
!= 0) else None)) != 0) else None))
unit: Cycles unit: Cycles
tips: tips:
Read Stall: Read Stall:
avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum) avg: AVG((((100 * ((TCC_EA_RDREQ_IO_CREDIT_STALL_sum + TCC_EA_RDREQ_GMI_CREDIT_STALL_sum)
+ TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
@@ -154,7 +152,7 @@ Panel Config:
+ TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
0) else None)) 0) else None))
unit: pct unit: pct
tips: tips:
Write Stall: Write Stall:
avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum) avg: AVG((((100 * ((TCC_EA_WRREQ_IO_CREDIT_STALL_sum + TCC_EA_WRREQ_GMI_CREDIT_STALL_sum)
+ TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
@@ -166,7 +164,7 @@ Panel Config:
+ TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum != + TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum)) / TCC_BUSY_sum) if (TCC_BUSY_sum !=
0) else None)) 0) else None))
unit: pct unit: pct
tips: tips:
- metric_table: - metric_table:
id: 1703 id: 1703
@@ -179,54 +177,48 @@ Panel Config:
unit: Unit unit: Unit
tips: Tips tips: Tips
metric: metric:
Bandwidth:
avg: AVG((TCC_REQ_sum * 128) / $denom)
min: MIN((TCC_REQ_sum * 128) / $denom)
max: MAX((TCC_REQ_sum * 128) / $denom)
unit: (Bytes + $normUnit)
tips:
Req: Req:
avg: AVG((TCC_REQ_sum / $denom)) avg: AVG((TCC_REQ_sum / $denom))
min: MIN((TCC_REQ_sum / $denom)) min: MIN((TCC_REQ_sum / $denom))
max: MAX((TCC_REQ_sum / $denom)) max: MAX((TCC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Streaming Req:
avg: AVG((TCC_STREAMING_REQ_sum / $denom))
min: MIN((TCC_STREAMING_REQ_sum / $denom))
max: MAX((TCC_STREAMING_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
Read Req: Read Req:
avg: AVG((TCC_READ_sum / $denom)) avg: AVG((TCC_READ_sum / $denom))
min: MIN((TCC_READ_sum / $denom)) min: MIN((TCC_READ_sum / $denom))
max: MAX((TCC_READ_sum / $denom)) max: MAX((TCC_READ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Write Req: Write Req:
avg: AVG((TCC_WRITE_sum / $denom)) avg: AVG((TCC_WRITE_sum / $denom))
min: MIN((TCC_WRITE_sum / $denom)) min: MIN((TCC_WRITE_sum / $denom))
max: MAX((TCC_WRITE_sum / $denom)) max: MAX((TCC_WRITE_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Atomic Req: Atomic Req:
avg: AVG((TCC_ATOMIC_sum / $denom)) avg: AVG((TCC_ATOMIC_sum / $denom))
min: MIN((TCC_ATOMIC_sum / $denom)) min: MIN((TCC_ATOMIC_sum / $denom))
max: MAX((TCC_ATOMIC_sum / $denom)) max: MAX((TCC_ATOMIC_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Streaming Req:
avg: AVG((TCC_STREAMING_REQ_sum / $denom))
min: MIN((TCC_STREAMING_REQ_sum / $denom))
max: MAX((TCC_STREAMING_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
Probe Req: Probe Req:
avg: AVG((TCC_PROBE_sum / $denom)) avg: AVG((TCC_PROBE_sum / $denom))
min: MIN((TCC_PROBE_sum / $denom)) min: MIN((TCC_PROBE_sum / $denom))
max: MAX((TCC_PROBE_sum / $denom)) max: MAX((TCC_PROBE_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Hits:
avg: AVG((TCC_HIT_sum / $denom))
min: MIN((TCC_HIT_sum / $denom))
max: MAX((TCC_HIT_sum / $denom))
unit: (Hits + $normUnit)
tips:
Misses:
avg: AVG((TCC_MISS_sum / $denom))
min: MIN((TCC_MISS_sum / $denom))
max: MAX((TCC_MISS_sum / $denom))
unit: (Misses + $normUnit)
tips:
Cache Hit: Cache Hit:
avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
@@ -235,61 +227,73 @@ Panel Config:
max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum
+ TCC_MISS_sum) != 0) else None)) + TCC_MISS_sum) != 0) else None))
unit: pct unit: pct
tips: tips:
Hits:
avg: AVG((TCC_HIT_sum / $denom))
min: MIN((TCC_HIT_sum / $denom))
max: MAX((TCC_HIT_sum / $denom))
unit: (Hits + $normUnit)
tips:
Misses:
avg: AVG((TCC_MISS_sum / $denom))
min: MIN((TCC_MISS_sum / $denom))
max: MAX((TCC_MISS_sum / $denom))
unit: (Misses + $normUnit)
tips:
Writeback: Writeback:
avg: AVG((TCC_WRITEBACK_sum / $denom)) avg: AVG((TCC_WRITEBACK_sum / $denom))
min: MIN((TCC_WRITEBACK_sum / $denom)) min: MIN((TCC_WRITEBACK_sum / $denom))
max: MAX((TCC_WRITEBACK_sum / $denom)) max: MAX((TCC_WRITEBACK_sum / $denom))
unit: ( + $normUnit) unit: (Cachelines + $normUnit)
tips: tips:
Writeback (Internal):
avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom))
min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom))
max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Writeback (vL1D Req):
avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Evict (Internal):
avg: AVG((TCC_NORMAL_EVICT_sum / $denom))
min: MIN((TCC_NORMAL_EVICT_sum / $denom))
max: MAX((TCC_NORMAL_EVICT_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
Evict (vL1D Req):
avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
unit: (Cachelines + $normUnit)
tips:
NC Req: NC Req:
avg: AVG((TCC_NC_REQ_sum / $denom)) avg: AVG((TCC_NC_REQ_sum / $denom))
min: MIN((TCC_NC_REQ_sum / $denom)) min: MIN((TCC_NC_REQ_sum / $denom))
max: MAX((TCC_NC_REQ_sum / $denom)) max: MAX((TCC_NC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
UC Req: UC Req:
avg: AVG((TCC_UC_REQ_sum / $denom)) avg: AVG((TCC_UC_REQ_sum / $denom))
min: MIN((TCC_UC_REQ_sum / $denom)) min: MIN((TCC_UC_REQ_sum / $denom))
max: MAX((TCC_UC_REQ_sum / $denom)) max: MAX((TCC_UC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
CC Req: CC Req:
avg: AVG((TCC_CC_REQ_sum / $denom)) avg: AVG((TCC_CC_REQ_sum / $denom))
min: MIN((TCC_CC_REQ_sum / $denom)) min: MIN((TCC_CC_REQ_sum / $denom))
max: MAX((TCC_CC_REQ_sum / $denom)) max: MAX((TCC_CC_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
RW Req: RW Req:
avg: AVG((TCC_RW_REQ_sum / $denom)) avg: AVG((TCC_RW_REQ_sum / $denom))
min: MIN((TCC_RW_REQ_sum / $denom)) min: MIN((TCC_RW_REQ_sum / $denom))
max: MAX((TCC_RW_REQ_sum / $denom)) max: MAX((TCC_RW_REQ_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Writeback (Normal):
avg: AVG((TCC_NORMAL_WRITEBACK_sum / $denom))
min: MIN((TCC_NORMAL_WRITEBACK_sum / $denom))
max: MAX((TCC_NORMAL_WRITEBACK_sum / $denom))
unit: ( + $normUnit)
tips:
Writeback (TC Req):
avg: AVG((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
min: MIN((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
max: MAX((TCC_ALL_TC_OP_WB_WRITEBACK_sum / $denom))
unit: ( + $normUnit)
tips:
Evict (Normal):
avg: AVG((TCC_NORMAL_EVICT_sum / $denom))
min: MIN((TCC_NORMAL_EVICT_sum / $denom))
max: MAX((TCC_NORMAL_EVICT_sum / $denom))
unit: ( + $normUnit)
tips:
Evict (TC Req):
avg: AVG((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
min: MIN((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
max: MAX((TCC_ALL_TC_OP_INV_EVICT_sum / $denom))
unit: ( + $normUnit)
tips:
- metric_table: - metric_table:
id: 1704 id: 1704
@@ -303,62 +307,140 @@ Panel Config:
max: Max max: Max
unit: Unit unit: Unit
tips: Tips tips: Tips
cli_style: style:
type: simple_multi_bar type: simple_multi_bar
metric: metric:
Read - Remote Socket Stall: Read - PCIe Stall:
type: Remote Socket Stall type: PCIe Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read - Peer GCD Stall: Read - Infinity Fabric™ Stall:
type: Peer GCD Stall type: Infinity Fabric™ Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Read - HBM Stall: Read - HBM Stall:
type: HBM Stall type: HBM Stall
transaction: Read transaction: Read
avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Remote Socket Stall: Write - PCIe Stall:
type: Remote Socket Stall type: PCIe Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_IO_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Peer GCD Stall: Write - Infinity Fabric™ Stall:
type: Peer GCD Stall type: Infinity Fabric™ Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - HBM Stall: Write - HBM Stall:
type: HBM Stall type: HBM Stall
transaction: Write transaction: Write
avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) avg: AVG(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) min: MIN(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom)) max: MAX(((100 * (TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: (Req + $normUnit) unit: pct
tips: tips:
Write - Credit Starvation: Write - Credit Starvation:
type: Credit Starvation type: Credit Starvation
transaction: Write transaction: Write
avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) avg: AVG(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) min: MIN(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom)) max: MAX(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None))
unit: pct
tips:
- metric_table:
id: 1705
title: L2 - Fabric Detailed Transaction Breakdown
header:
metric: Metric
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
Read (32B):
avg: AVG((TCC_EA_RDREQ_32B_sum / $denom))
min: MIN((TCC_EA_RDREQ_32B_sum / $denom))
max: MAX((TCC_EA_RDREQ_32B_sum / $denom))
unit: (Req + $normUnit) unit: (Req + $normUnit)
tips: tips:
Read (Uncached):
avg: AVG((TCC_EA_RD_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_RD_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_RD_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Read (64B):
avg: AVG(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
min: MIN(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
max: MAX(((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) / $denom))
unit: (Req + $normUnit)
tips:
HBM Read:
avg: AVG((TCC_EA_RDREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_RDREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_RDREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Remote Read:
avg: AVG((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
min: MIN((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
max: MAX((MAX((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (32B):
avg: AVG(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
min: MIN(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
max: MAX(((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (Uncached):
avg: AVG((TCC_EA_WR_UNCACHED_32B_sum / $denom))
min: MIN((TCC_EA_WR_UNCACHED_32B_sum / $denom))
max: MAX((TCC_EA_WR_UNCACHED_32B_sum / $denom))
unit: (Req + $normUnit)
tips:
Write and Atomic (64B):
avg: AVG((TCC_EA_WRREQ_64B_sum / $denom))
min: MIN((TCC_EA_WRREQ_64B_sum / $denom))
max: MAX((TCC_EA_WRREQ_64B_sum / $denom))
unit: (Req + $normUnit)
tips:
HBM Write and Atomic:
avg: AVG((TCC_EA_WRREQ_DRAM_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_sum / $denom))
unit: (Req + $normUnit)
tips:
Remote Write and Atomic:
avg: AVG((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
min: MIN((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
max: MAX((MAX((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum), 0) / $denom))
unit: (Req + $normUnit)
tips:
Atomic:
avg: AVG((TCC_EA_ATOMIC_sum / $denom))
min: MIN((TCC_EA_ATOMIC_sum / $denom))
max: MAX((TCC_EA_ATOMIC_sum / $denom))
unit: (Req + $normUnit)
tips:
@@ -186,7 +186,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1803 id: 1803
title: Requests (Requests) title: L2 Requests (Requests)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -199,12 +199,12 @@ Panel Config:
- metric_table: - metric_table:
id: 1804 id: 1804
title: L1-L2 Access (Requests) title: L2 Access (Requests)
header: header:
metric: Metric metric: Metric
read req: L1-L2 Read read req: L2 Read Req
write req: L1-L2 Write write req: L2 Write Req
atomic req: L1-L2 Atomic atomic req: L2 Atomic Req
metric: metric:
"::_1": "::_1":
read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) read req: AVG((TO_INT(TCC_READ[::_1]) / $denom))
@@ -216,12 +216,12 @@ Panel Config:
- metric_table: - metric_table:
id: 1805 id: 1805
title: L2-EA Access (Requests) title: L2 - Fabric Access (Requests)
header: header:
metric: Metric metric: Metric
read req: L2-EA Read read req: L2 - Fabric Read Req
write req: L2-EA Write write req: L2 - Fabric Write and Atomic Req
atomic req: L2-EA Atomic atomic req: L2 - Fabric Atomic Req
metric: metric:
"::_1": "::_1":
read req: AVG((TO_INT(TCC_EA_RDREQ[::_1]) / $denom)) read req: AVG((TO_INT(TCC_EA_RDREQ[::_1]) / $denom))
@@ -256,7 +256,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1806 id: 1806
title: L2-EA Read Latency (Cycles) title: L2 - Fabric Read Latency (Cycles)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -271,7 +271,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1807 id: 1807
title: L2-EA Write Latency (Cycles) title: L2 - Fabric Write Latency (Cycles)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -286,7 +286,7 @@ Panel Config:
- metric_table: - metric_table:
id: 1808 id: 1808
title: L2-EA Atomic Latency (Cycles) title: L2 - Fabric Atomic Latency (Cycles)
header: header:
metric: Metric metric: Metric
expr: Expression expr: Expression
@@ -300,35 +300,35 @@ Panel Config:
- metric_table: - metric_table:
id: 1809 id: 1809
title: L2-EA Read Stall (Cycles per normUnit) title: L2 - Fabric Read Stall (Cycles per normUnit)
header: header:
metric: Metric metric: Metric
ea read stall - io: L2-EA Read Stall - IO ea read stall - pcie: L2 - Fabric Read Stall (PCIe)
ea read stall - gmi: L2-EA Read Stall - GMI ea read stall - if: L2 - Fabric Read Stall (Infinity Fabric™)
ea read stall - dram: L2-EA Read Stall - DRAM ea read stall - hbm: L2 - Fabric Read Stall (HBM)
metric: metric:
"::_1": "::_1":
ea read stall - io: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[::_1]) / $denom)) ea read stall - pcie: AVG((TO_INT(TCC_EA_RDREQ_IO_CREDIT_STALL[::_1]) / $denom))
ea read stall - gmi: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[::_1]) / $denom)) ea read stall - if: AVG((TO_INT(TCC_EA_RDREQ_GMI_CREDIT_STALL[::_1]) / $denom))
ea read stall - dram: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[::_1]) / $denom)) ea read stall - hbm: AVG((TO_INT(TCC_EA_RDREQ_DRAM_CREDIT_STALL[::_1]) / $denom))
placeholder_range: placeholder_range:
"::_1": 32 "::_1": 32
cli_style: simple_multiple_bar cli_style: simple_multiple_bar
- metric_table: - metric_table:
id: 1810 id: 1810
title: L2-EA Write Stall (Cycles per normUnit) title: L2 - Fabric Write Stall (Cycles per normUnit)
header: header:
metric: Metric metric: Metric
ea write stall - io: L2-EA Write Stall - IO ea write stall - pcie: L2 - Fabric Write Stall (PCIe)
ea write stall - gmi: L2-EA Write Stall - GMI ea write stall - if: L2 - Fabric Write Stall (Infinity Fabric™)
ea write stall - dram: L2-EA Write Stall - DRAM ea write stall - hbm: L2 - Fabric Write Stall (HBM)
ea write stall - starve: L2-EA Write Stall - Starve ea write stall - starve: L2 - Fabric Write Starve
metric: metric:
"::_1": "::_1":
ea write stall - io: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[::_1]) / $denom)) ea write stall - pcie: AVG((TO_INT(TCC_EA_WRREQ_IO_CREDIT_STALL[::_1]) / $denom))
ea write stall - gmi: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[::_1]) / $denom)) ea write stall - if: AVG((TO_INT(TCC_EA_WRREQ_GMI_CREDIT_STALL[::_1]) / $denom))
ea write stall - dram: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[::_1]) / $denom)) ea write stall - hbm: AVG((TO_INT(TCC_EA_WRREQ_DRAM_CREDIT_STALL[::_1]) / $denom))
ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[::_1]) / $denom)) ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[::_1]) / $denom))
placeholder_range: placeholder_range:
"::_1": 32 "::_1": 32
@@ -30,7 +30,7 @@ Panel Config:
value: Value value: Value
unit: Unit unit: Unit
peak: Peak peak: Peak
pop: PoP pop: Pct of Peak
tips: Tips tips: Tips
metric: metric:
METRIC01: METRIC01: