* Fix IL1 Latency metric

* Add SQC_ICACHE_INFLIGHT_LEVEL counter and corresponding accumulation
  counter to counter definitions

* Add missing coll_level

* Fix descriptions and tests
Этот коммит содержится в:
vedithal-amd
2025-08-12 14:03:11 -04:00
коммит произвёл GitHub
родитель b793b183a4
Коммит 63f31859e4
10 изменённых файлов: 62 добавлений и 21 удалений
@@ -224,6 +224,7 @@ Panel Config:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -224,6 +224,7 @@ Panel Config:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -224,6 +224,7 @@ Panel Config:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -224,6 +224,7 @@ Panel Config:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -224,6 +224,7 @@ Panel Config:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -226,6 +226,7 @@ Panel Config:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
+40 -15
Просмотреть файл
@@ -212,7 +212,7 @@ rocprofiler-sdk:
block: CPC
event: 9
- name: CPC_SYNC_FIFO_FULL_LEVEL
description: SYNC FIFO full last cycles.
description: Level count SYNC FIFO full last cycles.
properties: []
definitions:
- architectures:
@@ -3239,7 +3239,7 @@ rocprofiler-sdk:
block: SQ
event: 136
- name: SQ_IFETCH_LEVEL
description: Number of inflight instruction fetch requests from the cache. This is a value returned per-sharder engine.
description: Level count number of inflight instruction fetch requests from the cache. This is a value returned per-sharder engine.
Best used with accumulate() functions as part of a derived counter.
properties: []
definitions:
@@ -4469,7 +4469,7 @@ rocprofiler-sdk:
block: SQ
event: 125
- name: SQ_INST_LEVEL_GDS
description: Number of in-flight GDS (global) instructions. This value represents the number of instructions each wave
description: Level count number of in-flight GDS (global) instructions. This value represents the number of instructions each wave
spends synchronizing workgroups across the device (global data sync). Set next counter to ACCUM_PREV and divide by INSTS_GDS
for average latency. This value is returned on a per-SE (aggregate of values in SIMDs in the SE) basis.
properties: []
@@ -4490,7 +4490,7 @@ rocprofiler-sdk:
block: SQ
event: 87
- name: SQ_INST_LEVEL_LDS
description: Number of in-flight LDS instructions. This value represents the number of instructions each wave spends executing
description: Level count number of in-flight LDS instructions. This value represents the number of instructions each wave spends executing
instructions accessing the local data store (data shared between SIMDs on the same CU). Set next counter to ACCUM_PREV
and divide by INSTS_LDS for average latency. Includes FLAT instructions. This value is returned on a per-SE (aggregate
of values in SIMDs in the SE) basis.
@@ -4536,7 +4536,7 @@ rocprofiler-sdk:
block: SQ
event: 90
- name: SQ_INST_LEVEL_SMEM
description: Number of in-flight SMEM instructions (*2 load/store; *2 atomic; *2 memtime; *4 wb/inv). Set next counter
description: Level count number of in-flight SMEM instructions (*2 load/store; *2 atomic; *2 memtime; *4 wb/inv). Set next counter
to ACCUM_PREV and divide by INSTS_SMEM for average latency per smem request. Falls slightly short of total request latency
because some fetches are divided into two requests that may finish at different times and this counter collects the
average latency of the two. This value is returned on a per-SE (aggregate of values in SIMDs in the SE) basis.
@@ -4561,7 +4561,7 @@ rocprofiler-sdk:
block: SQ
event: 89
- name: SQ_INST_LEVEL_VMEM
description: Number of in-flight VMEM instructions. Set next counter to ACCUM_PREV and divide by INSTS_VMEM for average
description: Level count number of in-flight VMEM instructions. Set next counter to ACCUM_PREV and divide by INSTS_VMEM for average
latency. Includes FLAT instructions. This value is returned on a per-SE (aggregate of values in SIMDs in the SE) basis.
properties: []
definitions:
@@ -4742,7 +4742,7 @@ rocprofiler-sdk:
block: SQ
event: 144
- name: SQ_LEVEL_WAVES
description: Track the number of waves. Set ACCUM_PREV for the next counter to use this. This value is returned on a per-SIMD
description: Level count number of waves. Set ACCUM_PREV for the next counter to use this. This value is returned on a per-SIMD
basis.
properties: []
definitions:
@@ -6448,7 +6448,7 @@ rocprofiler-sdk:
block: TCC
event: 40
- name: TCC_EA0_ATOMIC_LEVEL
description: The sum of the number of EA atomics in flight. This is primarily meant for measure average EA atomic latency.
description: Level count the number of EA atomics in flight. This is primarily meant for measure average EA atomic latency.
Average atomic latency = TCC_PERF_SEL_EA_WRREQ_ATOMIC_LEVEL/TCC_PERF_SEL_EA_WRREQ_ATOMIC.
properties: []
definitions:
@@ -6639,7 +6639,7 @@ rocprofiler-sdk:
- gfx950
expression: reduce(TCC_EA0_RDREQ_IO_CREDIT_STALL,sum)
- name: TCC_EA0_RDREQ_LEVEL
description: The sum of the number of TCC/EA read requests in flight. This is primarily meant for measure average EA read
description: Level count the number of TCC/EA read requests in flight. This is primarily meant for measure average EA read
latency. Average read latency = TCC_PERF_SEL_EA_RDREQ_LEVEL/TCC_PERF_SEL_EA_RDREQ.
properties: []
definitions:
@@ -6858,7 +6858,7 @@ rocprofiler-sdk:
- gfx950
expression: reduce(TCC_EA0_WRREQ_IO_CREDIT_STALL,sum)
- name: TCC_EA0_WRREQ_LEVEL
description: The sum of the number of EA write requests in flight. This is primarily meant for measure average EA write
description: Level count the number of EA write requests in flight. This is primarily meant for measure average EA write
latency. Average write latency = TCC_PERF_SEL_EA_WRREQ_LEVEL/TCC_PERF_SEL_EA_WRREQ.
properties: []
definitions:
@@ -7047,7 +7047,7 @@ rocprofiler-sdk:
block: TCC
event: 36
- name: TCC_EA_ATOMIC_LEVEL
description: The sum of the number of EA atomics in flight. This is primarily meant for measure average EA atomic latency.
description: Level count the number of EA atomics in flight. This is primarily meant for measure average EA atomic latency.
Average atomic latency = TCC_PERF_SEL_EA_WRREQ_ATOMIC_LEVEL/TCC_PERF_SEL_EA_WRREQ_ATOMIC.
properties: []
definitions:
@@ -7179,7 +7179,7 @@ rocprofiler-sdk:
- gfx90a
expression: reduce(TCC_EA_RDREQ_IO_CREDIT_STALL,sum)
- name: TCC_EA_RDREQ_LEVEL
description: The sum of the number of TCC/EA read requests in flight. This is primarily meant for measure average EA read
description: Level count the number of TCC/EA read requests in flight. This is primarily meant for measure average EA read
latency. Average read latency = TCC_PERF_SEL_EA_RDREQ_LEVEL/TCC_PERF_SEL_EA_RDREQ.
properties: []
definitions:
@@ -7329,7 +7329,7 @@ rocprofiler-sdk:
- gfx90a
expression: reduce(TCC_EA_WRREQ_IO_CREDIT_STALL,sum)
- name: TCC_EA_WRREQ_LEVEL
description: The sum of the number of EA write requests in flight. This is primarily meant for measure average EA write
description: Level count the number of EA write requests in flight. This is primarily meant for measure average EA write
latency. Average write latency = TCC_PERF_SEL_EA_WRREQ_LEVEL/TCC_PERF_SEL_EA_WRREQ.
properties: []
definitions:
@@ -10589,7 +10589,7 @@ rocprofiler-sdk:
- gfx950
expression: TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum/TCP_GATE_EN1_sum
- name: SQC_DCACHE_INFLIGHT_LEVEL
description: Total outstanding transactions in data cache (per-SQ, nondeterministic)
description: Level count total outstanding transactions in data cache (per-SQ, nondeterministic)
properties: []
definitions:
- architectures:
@@ -10601,6 +10601,19 @@ rocprofiler-sdk:
- gfx950
block: SQ
event: 337
- name: SQC_ICACHE_INFLIGHT_LEVEL
description: Level count total outstanding transactions in instruction cache (per-SQ, nondeterministic)
properties: []
definitions:
- architectures:
- gfx90a
- gfx908
- gfx940
- gfx941
- gfx942
- gfx950
block: SQ
event: 336
- name: SQ_IFETCH_LEVEL_ACCUM
description: Accumulate SQ_IFETCH_LEVEL
properties: []
@@ -10672,4 +10685,16 @@ rocprofiler-sdk:
- gfx941
- gfx942
- gfx950
expression: accumulate(SQC_DCACHE_INFLIGHT_LEVEL, HIGH_RES)
expression: accumulate(SQC_DCACHE_INFLIGHT_LEVEL, HIGH_RES)
- name: SQC_ICACHE_INFLIGHT_LEVEL_ACCUM
description: Accumulate SQC_ICACHE_INFLIGHT_LEVEL
properties: []
definitions:
- architectures:
- gfx908
- gfx90a
- gfx940
- gfx941
- gfx942
- gfx950
expression: accumulate(SQC_ICACHE_INFLIGHT_LEVEL, HIGH_RES)
+4
Просмотреть файл
@@ -74,6 +74,7 @@ MAX_REOCCURING_COUNT = 28
ALL_CSVS_MI100 = sorted([
"SQC_DCACHE_INFLIGHT_LEVEL.csv",
"SQC_ICACHE_INFLIGHT_LEVEL.csv",
"SQ_IFETCH_LEVEL.csv",
"SQ_INST_LEVEL_LDS.csv",
"SQ_INST_LEVEL_SMEM.csv",
@@ -93,6 +94,7 @@ ALL_CSVS_MI100 = sorted([
ALL_CSVS_MI200 = sorted([
"SQC_DCACHE_INFLIGHT_LEVEL.csv",
"SQC_ICACHE_INFLIGHT_LEVEL.csv",
"SQ_IFETCH_LEVEL.csv",
"SQ_INST_LEVEL_LDS.csv",
"SQ_INST_LEVEL_SMEM.csv",
@@ -110,6 +112,7 @@ ALL_CSVS_MI200 = sorted([
])
ALL_CSVS_MI300 = sorted([
"SQC_DCACHE_INFLIGHT_LEVEL.csv",
"SQC_ICACHE_INFLIGHT_LEVEL.csv",
"SQ_IFETCH_LEVEL.csv",
"SQ_INST_LEVEL_LDS.csv",
"SQ_INST_LEVEL_SMEM.csv",
@@ -127,6 +130,7 @@ ALL_CSVS_MI300 = sorted([
])
ALL_CSVS_MI350 = sorted([
"SQC_DCACHE_INFLIGHT_LEVEL.csv",
"SQC_ICACHE_INFLIGHT_LEVEL.csv",
"SQ_IFETCH_LEVEL.csv",
"SQ_INST_LEVEL_LDS.csv",
"SQ_INST_LEVEL_SMEM.csv",
+6 -6
Просмотреть файл
@@ -17,12 +17,12 @@ src/rocprof_compute_soc/analysis_configs/gfx940/0200_system_speed_of_light.yaml:
src/rocprof_compute_soc/analysis_configs/gfx941/0200_system_speed_of_light.yaml: a1d4f1f712755f6369d3a350eadcd5b0fcd90b5c0cab8be691c24bb860d90ba5
src/rocprof_compute_soc/analysis_configs/gfx942/0200_system_speed_of_light.yaml: 70716745e727d3a7e6fa706d34c346f796c241c485516da52e0c694386b3cf57
src/rocprof_compute_soc/analysis_configs/gfx950/0200_system_speed_of_light.yaml: a2cb003c74c0a75b9fe690da4e21b46e78fdb2f3233fc4753bca9276e93d60b0
src/rocprof_compute_soc/analysis_configs/gfx908/0300_memory_chart.yaml: c2ce64cc7406df29b444ea8e1d494b19dbbd15ac6d17a9f5452dada215fb5671
src/rocprof_compute_soc/analysis_configs/gfx90a/0300_memory_chart.yaml: cbb3c841b1ad8cbb23a071fcc145dedabb5341d36054c188c9f61878632fd664
src/rocprof_compute_soc/analysis_configs/gfx940/0300_memory_chart.yaml: f3c235b5c9ef06c837c04689fc1f413d1137360795ffccfc0256b40769c926c6
src/rocprof_compute_soc/analysis_configs/gfx941/0300_memory_chart.yaml: f3c235b5c9ef06c837c04689fc1f413d1137360795ffccfc0256b40769c926c6
src/rocprof_compute_soc/analysis_configs/gfx942/0300_memory_chart.yaml: f3c235b5c9ef06c837c04689fc1f413d1137360795ffccfc0256b40769c926c6
src/rocprof_compute_soc/analysis_configs/gfx950/0300_memory_chart.yaml: deeb8671c4628aaad3046391975c9c62547460dcf18eb179ef7dc6b2729919e2
src/rocprof_compute_soc/analysis_configs/gfx908/0300_memory_chart.yaml: 190c31ddc0bc713dba8b508faf13f0630b268ed15a0d9206f30998a0a071136f
src/rocprof_compute_soc/analysis_configs/gfx90a/0300_memory_chart.yaml: 8eeb4bb544eebd59aa10b51c1149ee4d015c76073c9a35e673210d9740fbf808
src/rocprof_compute_soc/analysis_configs/gfx940/0300_memory_chart.yaml: cff5509ac8502bad6dbd75e3058159fe429aece5d93279c66b2a6a8c887b43b6
src/rocprof_compute_soc/analysis_configs/gfx941/0300_memory_chart.yaml: cff5509ac8502bad6dbd75e3058159fe429aece5d93279c66b2a6a8c887b43b6
src/rocprof_compute_soc/analysis_configs/gfx942/0300_memory_chart.yaml: cff5509ac8502bad6dbd75e3058159fe429aece5d93279c66b2a6a8c887b43b6
src/rocprof_compute_soc/analysis_configs/gfx950/0300_memory_chart.yaml: 643b31ffa43bc3613d6f90b0c23d95093d0d0aa5bc8e72d9a0fbc1b739a08b67
src/rocprof_compute_soc/analysis_configs/gfx908/0400_roofline.yaml: 57f95dcd487dfcdf24e1c2d8eb16d14dc3462df83d11a08e7de2b06343b48c3e
src/rocprof_compute_soc/analysis_configs/gfx90a/0400_roofline.yaml: 57f95dcd487dfcdf24e1c2d8eb16d14dc3462df83d11a08e7de2b06343b48c3e
src/rocprof_compute_soc/analysis_configs/gfx940/0400_roofline.yaml: 57f95dcd487dfcdf24e1c2d8eb16d14dc3462df83d11a08e7de2b06343b48c3e
+6
Просмотреть файл
@@ -1728,6 +1728,7 @@ panels:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -1865,6 +1866,7 @@ panels:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -1998,6 +2000,7 @@ panels:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -2131,6 +2134,7 @@ panels:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -2266,6 +2270,7 @@ panels:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd:
@@ -2403,6 +2408,7 @@ panels:
IL1 Lat:
value: ROUND((AVG(((SQ_ACCUM_PREV_HIRES / SQC_ICACHE_REQ) if (SQC_ICACHE_REQ
!= 0) else None)) * 100), 0)
coll_level: SQC_ICACHE_INFLIGHT_LEVEL
IL1_L2 Rd:
value: ROUND(AVG((SQC_TC_INST_REQ / $denom)), 0)
L2 Rd: