Adding min/max/avg breakdown across dispatches for instruction mix panels

Signed-off-by: JoseSantosAMD <Jose.Santos@amd.com>
This commit is contained in:
JoseSantosAMD
2023-08-07 11:23:25 -05:00
parent ecc39861b5
commit cc19506270
4 ha cambiato i file con 122 aggiunte e 35 eliminazioni
@@ -12,41 +12,58 @@ Panel Config:
id: 1001
title: Instruction Mix
header:
metric: Metric
count: Count
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
VALU - Vector:
count: None # No HW module
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
VMEM:
count: None # No HW module
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
LDS:
count: AVG((SQ_INSTS_LDS / $denom))
avg: AVG((SQ_INSTS_LDS / $denom))
min: MIN((SQ_INSTS_LDS / $denom))
max: MAX((SQ_INSTS_LDS / $denom))
unit: $normUnit
tips:
VALU - MFMA:
count: None # No HW module
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
SALU:
count: AVG((SQ_INSTS_SALU / $denom))
avg: AVG((SQ_INSTS_SALU / $denom))
min: MIN((SQ_INSTS_SALU / $denom))
max: MAX((SQ_INSTS_SALU / $denom))
unit: (instr + $normUnit)
tips:
SMEM:
count: AVG((SQ_INSTS_SMEM / $denom))
avg: AVG((SQ_INSTS_SMEM / $denom))
min: MIN((SQ_INSTS_SMEM / $denom))
max: MAX((SQ_INSTS_SMEM / $denom))
unit: (instr + $normUnit)
tips:
Branch:
count: AVG((SQ_INSTS_BRANCH / $denom))
avg: AVG((SQ_INSTS_BRANCH / $denom))
min: MIN((SQ_INSTS_BRANCH / $denom))
max: MAX((SQ_INSTS_BRANCH / $denom))
unit: (instr + $normUnit)
tips:
GDS:
count: AVG((SQ_INSTS_GDS / $denom))
avg: AVG((SQ_INSTS_GDS / $denom))
min: MIN((SQ_INSTS_GDS / $denom))
max: MAX((SQ_INSTS_GDS / $denom))
unit: (instr + $normUnit)
tips:
@@ -13,40 +13,58 @@ Panel Config:
title: Instruction Mix
header:
metric: Metric
count: Count
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
VALU - Vector:
count: 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))
max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
unit: (instr + $normUnit)
tips:
VMEM:
count: AVG(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom))
avg: AVG(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom))
min: MIN(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)
max: MAX(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom)
unit: (instr + $normUnit)
tips:
LDS:
count: AVG((SQ_INSTS_LDS / $denom))
avg: AVG((SQ_INSTS_LDS / $denom))
min: MIN((SQ_INSTS_LDS / $denom))
max: MAX((SQ_INSTS_LDS / $denom))
unit: (instr + $normUnit)
tips:
VALU - MFMA:
count: None # No HW module
avg: None # No HW module
min: None # No HW module
max: None # No HW module
unit: (instr + $normUnit)
tips:
SALU:
count: AVG((SQ_INSTS_SALU / $denom))
avg: AVG((SQ_INSTS_SALU / $denom))
min: MIN((SQ_INSTS_SALU / $denom))
max: MAX((SQ_INSTS_SALU / $denom))
unit: (instr + $normUnit)
tips:
SMEM:
count: AVG((SQ_INSTS_SMEM / $denom))
avg: AVG((SQ_INSTS_SMEM / $denom))
min: MIN((SQ_INSTS_SMEM / $denom))
max: MAX((SQ_INSTS_SMEM / $denom))
unit: (instr + $normUnit)
tips:
Branch:
count: AVG((SQ_INSTS_BRANCH / $denom))
avg: AVG((SQ_INSTS_BRANCH / $denom))
min: MIN((SQ_INSTS_BRANCH / $denom))
max: MAX((SQ_INSTS_BRANCH / $denom))
unit: (instr + $normUnit)
tips:
GDS:
count: AVG((SQ_INSTS_GDS / $denom))
avg: AVG((SQ_INSTS_GDS / $denom))
min: MIN((SQ_INSTS_GDS / $denom))
max: MAX((SQ_INSTS_GDS / $denom))
unit: (instr + $normUnit)
tips:
@@ -13,40 +13,58 @@ Panel Config:
title: Instruction Mix
header:
metric: Metric
count: Count
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
VALU - Vector:
count: 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))
max: MAX(((SQ_INSTS_VALU - SQ_INSTS_MFMA) / $denom))
unit: (instr + $normUnit)
tips:
VMEM:
count: AVG(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom))
avg: AVG(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom))
min: MIN(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom))
max: MAX(((SQ_INSTS_VMEM - SQ_INSTS_FLAT_LDS_ONLY) / $denom))
unit: (instr + $normUnit)
tips:
LDS:
count: AVG((SQ_INSTS_LDS / $denom))
avg: AVG((SQ_INSTS_LDS / $denom))
min: MIN((SQ_INSTS_LDS / $denom))
max: MAX((SQ_INSTS_LDS / $denom))
unit: (instr + $normUnit)
tips:
VALU - MFMA:
count: AVG((SQ_INSTS_MFMA / $denom))
avg: AVG((SQ_INSTS_MFMA / $denom))
min: MIN((SQ_INSTS_MFMA / $denom))
max: MAX((SQ_INSTS_MFMA / $denom))
unit: (instr + $normUnit)
tips:
SALU:
count: AVG((SQ_INSTS_SALU / $denom))
avg: AVG((SQ_INSTS_SALU / $denom))
min: MIN((SQ_INSTS_SALU / $denom))
max: MAX((SQ_INSTS_SALU / $denom))
unit: (instr + $normUnit)
tips:
SMEM:
count: AVG((SQ_INSTS_SMEM / $denom))
avg: AVG((SQ_INSTS_SMEM / $denom))
min: MIN((SQ_INSTS_SMEM / $denom))
max: MAX((SQ_INSTS_SMEM / $denom))
unit: (instr + $normUnit)
tips:
Branch:
count: AVG((SQ_INSTS_BRANCH / $denom))
avg: AVG((SQ_INSTS_BRANCH / $denom))
min: MIN((SQ_INSTS_BRANCH / $denom))
max: MAX((SQ_INSTS_BRANCH / $denom))
unit: (instr + $normUnit)
tips:
GDS:
count: AVG((SQ_INSTS_GDS / $denom))
avg: AVG((SQ_INSTS_GDS / $denom))
min: MIN((SQ_INSTS_GDS / $denom))
max: MAX((SQ_INSTS_GDS / $denom))
unit: (instr + $normUnit)
tips:
@@ -13,11 +13,25 @@ Panel Config:
title: Speed-of-Light
header:
metric: Metric
value: Value
avg: Avg
min: Min
max: Max
tips: Tips
metric:
valu_flops_pop:
value: ((100 * AVG(((((64 * (((SQ_INSTS_VALU_ADD_F16 + SQ_INSTS_VALU_MUL_F16)
avg: ((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_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)))) / (((($sclk
* $numCU) * 64) * 2) / 1000))
min: ((100 * MIN(((((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)))) / (((($sclk
* $numCU) * 64) * 2) / 1000))
max: ((100 * MAX(((((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)
@@ -25,23 +39,43 @@ Panel Config:
* $numCU) * 64) * 2) / 1000))
tips:
mfma_flops_bf16_pop:
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (EndNs - BeginNs))))
avg: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 512) / 1000))
min: ((100 * MIN(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 512) / 1000))
max: ((100 * MAX(((SQ_INSTS_VALU_MFMA_MOPS_BF16 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 512) / 1000))
tips:
mfma_flops_f16_pop:
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (EndNs - BeginNs))))
avg: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 1024) / 1000))
min: ((100 * MIN(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 1024) / 1000))
max: ((100 * MAX(((SQ_INSTS_VALU_MFMA_MOPS_F16 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 1024) / 1000))
tips:
mfma_flops_f32_pop:
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (EndNs - BeginNs))))
avg: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 256) / 1000))
min: ((100 * MIN(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 256) / 1000))
max: ((100 * MAX(((SQ_INSTS_VALU_MFMA_MOPS_F32 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 256) / 1000))
tips:
mfma_flops_f64_pop:
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (EndNs - BeginNs))))
avg: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 256) / 1000))
min: ((100 * MIN(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 256) / 1000))
max: ((100 * MAX(((SQ_INSTS_VALU_MFMA_MOPS_F64 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 256) / 1000))
tips:
mfma_flops_i8_pop:
value: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (EndNs - BeginNs))))
avg: ((100 * AVG(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 1024) / 1000))
min: ((100 * MIN(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 1024) / 1000))
max: ((100 * MAX(((SQ_INSTS_VALU_MFMA_MOPS_I8 * 512) / (EndNs - BeginNs))))
/ ((($sclk * $numCU) * 1024) / 1000))
tips: