From 63f31859e4d560e19e5c4bb13383fa126ee10a64 Mon Sep 17 00:00:00 2001 From: vedithal-amd Date: Tue, 12 Aug 2025 14:03:11 -0400 Subject: [PATCH] Fix instruction cache metrics (#276) * 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 --- .../gfx908/0300_memory_chart.yaml | 1 + .../gfx90a/0300_memory_chart.yaml | 1 + .../gfx940/0300_memory_chart.yaml | 1 + .../gfx941/0300_memory_chart.yaml | 1 + .../gfx942/0300_memory_chart.yaml | 1 + .../gfx950/0300_memory_chart.yaml | 1 + .../profile_configs/counter_defs.yaml | 55 ++++++++++++++----- .../tests/test_profile_general.py | 4 ++ .../utils/autogen_hash.yaml | 12 ++-- .../utils/unified_config.yaml | 6 ++ 10 files changed, 62 insertions(+), 21 deletions(-) diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx908/0300_memory_chart.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx908/0300_memory_chart.yaml index ffd948ccab..06e680802e 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx908/0300_memory_chart.yaml +++ b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx908/0300_memory_chart.yaml @@ -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: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx90a/0300_memory_chart.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx90a/0300_memory_chart.yaml index 6fb757becb..13d0527bca 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx90a/0300_memory_chart.yaml +++ b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx90a/0300_memory_chart.yaml @@ -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: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx940/0300_memory_chart.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx940/0300_memory_chart.yaml index 1a6587ce82..0a6510182a 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx940/0300_memory_chart.yaml +++ b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx940/0300_memory_chart.yaml @@ -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: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx941/0300_memory_chart.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx941/0300_memory_chart.yaml index 1a6587ce82..0a6510182a 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx941/0300_memory_chart.yaml +++ b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx941/0300_memory_chart.yaml @@ -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: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx942/0300_memory_chart.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx942/0300_memory_chart.yaml index 1a6587ce82..0a6510182a 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx942/0300_memory_chart.yaml +++ b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx942/0300_memory_chart.yaml @@ -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: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx950/0300_memory_chart.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx950/0300_memory_chart.yaml index ecfbf69b6a..e7b911a4b0 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx950/0300_memory_chart.yaml +++ b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx950/0300_memory_chart.yaml @@ -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: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/profile_configs/counter_defs.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/profile_configs/counter_defs.yaml index fa1cca70b7..391c71602a 100644 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/profile_configs/counter_defs.yaml +++ b/projects/rocprofiler-compute/src/rocprof_compute_soc/profile_configs/counter_defs.yaml @@ -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) \ No newline at end of file + 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) \ No newline at end of file diff --git a/projects/rocprofiler-compute/tests/test_profile_general.py b/projects/rocprofiler-compute/tests/test_profile_general.py index 8fe9471e80..51dcdd50c7 100644 --- a/projects/rocprofiler-compute/tests/test_profile_general.py +++ b/projects/rocprofiler-compute/tests/test_profile_general.py @@ -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", diff --git a/projects/rocprofiler-compute/utils/autogen_hash.yaml b/projects/rocprofiler-compute/utils/autogen_hash.yaml index bd51f8e59f..3a4e66320c 100644 --- a/projects/rocprofiler-compute/utils/autogen_hash.yaml +++ b/projects/rocprofiler-compute/utils/autogen_hash.yaml @@ -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 diff --git a/projects/rocprofiler-compute/utils/unified_config.yaml b/projects/rocprofiler-compute/utils/unified_config.yaml index 5357e7e77e..d214d3148d 100644 --- a/projects/rocprofiler-compute/utils/unified_config.yaml +++ b/projects/rocprofiler-compute/utils/unified_config.yaml @@ -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: