From 81c82c1c24581afe4be0766e67a4250c5e5e7b87 Mon Sep 17 00:00:00 2001 From: Nicholas Curtis Date: Tue, 27 Feb 2024 14:38:09 -0500 Subject: [PATCH] correct small negatives in remote read/write traffic due to running in different passes Signed-off-by: Nicholas Curtis [ROCm/rocprofiler-compute commit: 20d93703fce8b22212ccf564026a883244d03fd7] --- .../gfx908/1800_L2_cache_per_channel.yaml | 32 +++---- .../gfx90a/1800_L2_cache_per_channel.yaml | 48 +++++------ .../gfx940/1700_L2_cache.yaml | 12 +-- .../gfx940/1800_L2_cache_per_channel.yaml | 85 +++++++----------- .../gfx941/1700_L2_cache.yaml | 12 +-- .../gfx941/1800_L2_cache_per_channel.yaml | 85 +++++++----------- .../gfx942/1700_L2_cache.yaml | 12 +-- .../gfx942/1800_L2_cache_per_channel.yaml | 86 +++++++++---------- .../rocprofiler-compute/src/utils/schema.py | 13 +-- 9 files changed, 166 insertions(+), 219 deletions(-) diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx908/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx908/1800_L2_cache_per_channel.yaml index 99439a2dd0..72c91450c0 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx908/1800_L2_cache_per_channel.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx908/1800_L2_cache_per_channel.yaml @@ -10,7 +10,7 @@ Panel Config: data source: - metric_table: id: 1801 - title: Aggregate Stats (All 32 channels) + title: Aggregate Stats (All channels) header: metric: Metric avg: Avg @@ -171,7 +171,7 @@ Panel Config: - metric_table: id: 1802 - title: L2 Cache Hit Rate (%) + title: L2 Cache Hit Rate (pct) header: metric: Metric expr: Expression @@ -186,7 +186,7 @@ Panel Config: - metric_table: id: 1803 - title: L2 Requests (Requests) + title: L2 Requests (per normUnit) header: metric: Metric expr: Expression @@ -199,12 +199,12 @@ Panel Config: - metric_table: id: 1804 - title: L2 Access (Requests) + title: L2 Requests (per normUnit) header: metric: Metric - read req: L2 Read Req - write req: L2 Write Req - atomic req: L2 Atomic Req + read req: L2 Read + write req: L2 Write + atomic req: L2 Atomic metric: "::_1": read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) @@ -216,12 +216,12 @@ Panel Config: - metric_table: id: 1805 - title: L2 - Fabric Access (Requests) + title: L2-Fabric Requests (per normUnit) header: metric: Metric - read req: L2 - Fabric Read Req - write req: L2 - Fabric Write and Atomic Req - atomic req: L2 - Fabric Atomic Req + read req: L2-Fabric Read + write req: L2-Fabric Write and Atomic + atomic req: L2-Fabric Atomic metric: "::_1": read req: AVG((TO_INT(TCC_EA_RDREQ[::_1]) / $denom)) @@ -256,7 +256,7 @@ Panel Config: - metric_table: id: 1806 - title: L2 - Fabric Read Latency (Cycles) + title: L2-Fabric Read Latency (Cycles) header: metric: Metric expr: Expression @@ -271,7 +271,7 @@ Panel Config: - metric_table: id: 1807 - title: L2 - Fabric Write Latency (Cycles) + title: L2-Fabric Write and Atomic Latency (Cycles) header: metric: Metric expr: Expression @@ -286,7 +286,7 @@ Panel Config: - metric_table: id: 1808 - title: L2 - Fabric Atomic Latency (Cycles) + title: L2-Fabric Atomic Latency (Cycles per normUnit) header: metric: Metric expr: Expression @@ -300,7 +300,7 @@ Panel Config: - metric_table: id: 1809 - title: L2 - Fabric Read Stall (Cycles per normUnit) + title: L2-Fabric Read Stall (Cycles per normUnit) header: metric: Metric ea read stall - pcie: L2 - Fabric Read Stall (PCIe) @@ -317,7 +317,7 @@ Panel Config: - metric_table: id: 1810 - title: L2 - Fabric Write Stall (Cycles per normUnit) + title: L2-Fabric Write and Atomic Stall (Cycles per normUnit) header: metric: Metric ea write stall - pcie: L2 - Fabric Write Stall (PCIe) diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx90a/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx90a/1800_L2_cache_per_channel.yaml index 57d7f6942f..ea680f8e1c 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx90a/1800_L2_cache_per_channel.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx90a/1800_L2_cache_per_channel.yaml @@ -6,11 +6,11 @@ Metric Description: # Define the panel properties and properties of each metric in the panel. Panel Config: id: 1800 - title: L2 Cache (per Channel) + title: L2 Cache (per Metric) data source: - metric_table: id: 1801 - title: Aggregate Stats (All 32 channels) + title: Aggregate Stats (All channels) header: metric: Metric avg: Avg @@ -171,7 +171,7 @@ Panel Config: - metric_table: id: 1802 - title: L2 Cache Hit Rate (%) + title: L2 Cache Hit Rate (pct) header: metric: Metric expr: Expression @@ -186,7 +186,7 @@ Panel Config: - metric_table: id: 1803 - title: L2 Requests (Requests) + title: L2 Requests (per normUnit) header: metric: Metric expr: Expression @@ -199,12 +199,12 @@ Panel Config: - metric_table: id: 1804 - title: L2 Access (Requests) + title: L2 Requests (per normUnit) header: metric: Metric - read req: L2 Read Req - write req: L2 Write Req - atomic req: L2 Atomic Req + read req: L2 Read + write req: L2 Write + atomic req: L2 Atomic metric: "::_1": read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) @@ -216,12 +216,12 @@ Panel Config: - metric_table: id: 1805 - title: L2 - Fabric Access (Requests) + title: L2-Fabric Requests (per normUnit) header: metric: Metric - read req: L2 - Fabric Read Req - write req: L2 - Fabric Write and Atomic Req - atomic req: L2 - Fabric Atomic Req + read req: L2-Fabric Read + write req: L2-Fabric Write and Atomic + atomic req: L2-Fabric Atomic metric: "::_1": read req: AVG((TO_INT(TCC_EA_RDREQ[::_1]) / $denom)) @@ -256,7 +256,7 @@ Panel Config: - metric_table: id: 1806 - title: L2 - Fabric Read Latency (Cycles) + title: L2-Fabric Read Latency (Cycles) header: metric: Metric expr: Expression @@ -271,7 +271,7 @@ Panel Config: - metric_table: id: 1807 - title: L2 - Fabric Write Latency (Cycles) + title: L2-Fabric Write and Atomic Latency (Cycles) header: metric: Metric expr: Expression @@ -286,7 +286,7 @@ Panel Config: - metric_table: id: 1808 - title: L2 - Fabric Atomic Latency (Cycles) + title: L2-Fabric Atomic Latency (Cycles per normUnit) header: metric: Metric expr: Expression @@ -300,12 +300,12 @@ Panel Config: - metric_table: id: 1809 - title: L2 - Fabric Read Stall (Cycles per normUnit) + title: L2-Fabric Read Stall (Cycles per normUnit) header: metric: Metric - ea read stall - pcie: L2 - Fabric Read Stall (PCIe) - ea read stall - if: L2 - Fabric Read Stall (Infinity Fabric™) - ea read stall - hbm: L2 - Fabric Read Stall (HBM) + ea read stall - pcie: L2-Fabric Read Stall (PCIe) + ea read stall - if: L2-Fabric Read Stall (Infinity Fabric™) + ea read stall - hbm: L2-Fabric Read Stall (HBM) metric: "::_1": ea read stall - pcie: None # Missing perfmon @@ -317,13 +317,13 @@ Panel Config: - metric_table: id: 1810 - title: L2 - Fabric Write Stall (Cycles per normUnit) + title: L2-Fabric Write and Atomic Stall (Cycles per normUnit) header: metric: Metric - ea write stall - pcie: L2 - Fabric Write Stall (PCIe) - ea write stall - if: L2 - Fabric Write Stall (Infinity Fabric™) - ea write stall - hbm: L2 - Fabric Write Stall (HBM) - ea write stall - starve: L2 - Fabric Write Starve + ea write stall - pcie: L2-Fabric Write Stall (PCIe) + ea write stall - if: L2-Fabric Write Stall (Infinity Fabric™) + ea write stall - hbm: L2-Fabric Write Stall (HBM) + ea write stall - starve: L2-Fabric Write Starve metric: "::_1": ea write stall - pcie: None # Missing perfmon diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1700_L2_cache.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1700_L2_cache.yaml index 9ca61aa487..2bd037d0c2 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1700_L2_cache.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1700_L2_cache.yaml @@ -68,9 +68,9 @@ Panel Config: unit: pct tips: Remote Read Traffic: - avg: AVG((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) - min: MIN((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) - max: MAX((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + avg: AVG((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum), 0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + min: MIN((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum), 0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + max: MAX((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum), 0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) unit: pct tips: Uncached Read Traffic: @@ -98,9 +98,9 @@ Panel Config: unit: pct tips: Remote Write and Atomic Traffic: - avg: AVG((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) - min: MIN((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) - max: MAX((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + avg: AVG((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + min: MIN((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + max: MAX((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) unit: pct tips: Atomic Traffic: diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1800_L2_cache_per_channel.yaml index 4548a83d0e..259b324adf 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1800_L2_cache_per_channel.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx940/1800_L2_cache_per_channel.yaml @@ -6,11 +6,11 @@ Metric Description: # Define the panel properties and properties of each metric in the panel. Panel Config: id: 1800 - title: L2 Cache (per Channel) + title: L2 Cache (per Metric) data source: - metric_table: id: 1801 - title: Aggregate Stats (All 32 channels) + title: Aggregate Stats (All channels) header: metric: Metric avg: Avg @@ -107,7 +107,7 @@ Panel Config: - metric_table: id: 1802 - title: L2 Cache Hit Rate (%) + title: L2 Cache Hit Rate (pct) header: metric: Metric expr: Expression @@ -122,7 +122,7 @@ Panel Config: - metric_table: id: 1803 - title: Requests (Requests) + title: L2 Requests (per normUnit) header: metric: Metric expr: Expression @@ -135,12 +135,12 @@ Panel Config: - metric_table: id: 1804 - title: L1-L2 Access (Requests) + title: L2 Requests (per normUnit) header: metric: Metric - read req: L1-L2 Read - write req: L1-L2 Write - atomic req: L1-L2 Atomic + read req: L2 Read + write req: L2 Write + atomic req: L2 Atomic metric: "::_1": read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) @@ -152,12 +152,12 @@ Panel Config: - metric_table: id: 1805 - title: L2-EA Access (Requests) + title: L2-Fabric Requests (per normUnit) header: metric: Metric - read req: L2-EA Read - write req: L2-EA Write - atomic req: L2-EA Atomic + read req: L2-Fabric Read + write req: L2-Fabric Write and Atomic + atomic req: L2-Fabric Atomic metric: "::_1": read req: AVG((TO_INT(TCC_EA0_RDREQ[::_1]) / $denom)) @@ -169,12 +169,12 @@ Panel Config: # - metric_table: # id: 1806 - # title: L2-EA Latency (Cycles) + # title: L2-Fabric Latency (Cycles) # header: # metric: Metric - # read lat: L2-EA Read - # write lat: L2-EA Write - # atomic lat: L2-EA Atomic + # read lat: L2-Fabric Read + # write lat: L2-Fabric Write + # atomic lat: L2-Fabric Atomic # metric: # "::_1": # read lat: @@ -192,7 +192,7 @@ Panel Config: - metric_table: id: 1806 - title: L2-EA Read Latency (Cycles) + title: L2-Fabric Read Latency (Cycles) header: metric: Metric expr: Expression @@ -207,7 +207,7 @@ Panel Config: - metric_table: id: 1807 - title: L2-EA Write Latency (Cycles) + title: L2-Fabric Write and Atomic Latency (Cycles) header: metric: Metric expr: Expression @@ -222,7 +222,7 @@ Panel Config: - metric_table: id: 1808 - title: L2-EA Atomic Latency (Cycles) + title: L2-Fabric Atomic Latency (Cycles per normUnit) header: metric: Metric expr: Expression @@ -236,12 +236,12 @@ Panel Config: - metric_table: id: 1809 - title: L2-EA Read Stall (Cycles per normUnit) + title: L2-Fabric Read Stall (Cycles per normUnit) header: metric: Metric - ea read stall - io: L2-EA Read Stall - IO - ea read stall - gmi: L2-EA Read Stall - GMI - ea read stall - dram: L2-EA Read Stall - DRAM + ea read stall - io: L2-Fabric Read Stall - IO + ea read stall - gmi: L2-Fabric Read Stall - GMI + ea read stall - dram: L2-Fabric Read Stall - DRAM metric: "::_1": ea read stall - io: None # Missing perfmon @@ -253,46 +253,19 @@ Panel Config: - metric_table: id: 1810 - title: L2-EA Write Stall (Cycles per normUnit) + title: L2-Fabric Write and Atomic Stall (Cycles per normUnit) header: metric: Metric - ea write stall - io: L2-EA Write Stall - IO - ea write stall - gmi: L2-EA Write Stall - GMI - ea write stall - dram: L2-EA Write Stall - DRAM - ea write stall - starve: L2-EA Write Stall - Starve + ea write stall - io: L2-Fabric Write Stall - IO + ea write stall - gmi: L2-Fabric Write Stall - GMI + ea write stall - dram: L2-Fabric Write Stall - DRAM + ea write stall - starve: L2-Fabric Write Stall - Starve metric: "::_1": ea write stall - io: None # Missing perfmon ea write stall - gmi: None # Missing perfmon ea write stall - dram: None # Missing perfmon - ea write stall - starve: AVG((TO_INT(TCC_TOO_MANY_EA_WRREQS_STALL[::_1]) / $denom)) + ea write stall - starve: None # Missing perfmon placeholder_range: "::_1": $total_l2_chan cli_style: simple_multiple_bar - - - metric_table: - id: 1811 - title: L2 Tag Stall (cycles) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: TCC_TAG_STALL[::_1] - placeholder_range: - "::_1": $total_l2_chan - cli_style: simple_box - - - metric_table: - id: 1812 - title: L2 Bubble (128B request) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: TCC_BUBBLE[::_1] - placeholder_range: - "::_1": $total_l2_chan - # tips: Number of 128-byte read requests sent to EA - cli_style: simple_box diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1700_L2_cache.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1700_L2_cache.yaml index 9ca61aa487..1355b66838 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1700_L2_cache.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1700_L2_cache.yaml @@ -68,9 +68,9 @@ Panel Config: unit: pct tips: Remote Read Traffic: - avg: AVG((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) - min: MIN((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) - max: MAX((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + avg: AVG((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum),0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + min: MIN((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum),0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + max: MAX((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum),0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) unit: pct tips: Uncached Read Traffic: @@ -98,9 +98,9 @@ Panel Config: unit: pct tips: Remote Write and Atomic Traffic: - avg: AVG((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) - min: MIN((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) - max: MAX((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + avg: AVG((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + min: MIN((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + max: MAX((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) unit: pct tips: Atomic Traffic: diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1800_L2_cache_per_channel.yaml index 0523099ad7..259b324adf 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1800_L2_cache_per_channel.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx941/1800_L2_cache_per_channel.yaml @@ -6,11 +6,11 @@ Metric Description: # Define the panel properties and properties of each metric in the panel. Panel Config: id: 1800 - title: L2 Cache (per Channel) + title: L2 Cache (per Metric) data source: - metric_table: id: 1801 - title: Aggregate Stats (All 32 channels) + title: Aggregate Stats (All channels) header: metric: Metric avg: Avg @@ -107,7 +107,7 @@ Panel Config: - metric_table: id: 1802 - title: L2 Cache Hit Rate (%) + title: L2 Cache Hit Rate (pct) header: metric: Metric expr: Expression @@ -122,7 +122,7 @@ Panel Config: - metric_table: id: 1803 - title: Requests (Requests) + title: L2 Requests (per normUnit) header: metric: Metric expr: Expression @@ -135,12 +135,12 @@ Panel Config: - metric_table: id: 1804 - title: L1-L2 Access (Requests) + title: L2 Requests (per normUnit) header: metric: Metric - read req: L1-L2 Read - write req: L1-L2 Write - atomic req: L1-L2 Atomic + read req: L2 Read + write req: L2 Write + atomic req: L2 Atomic metric: "::_1": read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) @@ -152,12 +152,12 @@ Panel Config: - metric_table: id: 1805 - title: L2-EA Access (Requests) + title: L2-Fabric Requests (per normUnit) header: metric: Metric - read req: L2-EA Read - write req: L2-EA Write - atomic req: L2-EA Atomic + read req: L2-Fabric Read + write req: L2-Fabric Write and Atomic + atomic req: L2-Fabric Atomic metric: "::_1": read req: AVG((TO_INT(TCC_EA0_RDREQ[::_1]) / $denom)) @@ -169,12 +169,12 @@ Panel Config: # - metric_table: # id: 1806 - # title: L2-EA Latency (Cycles) + # title: L2-Fabric Latency (Cycles) # header: # metric: Metric - # read lat: L2-EA Read - # write lat: L2-EA Write - # atomic lat: L2-EA Atomic + # read lat: L2-Fabric Read + # write lat: L2-Fabric Write + # atomic lat: L2-Fabric Atomic # metric: # "::_1": # read lat: @@ -192,7 +192,7 @@ Panel Config: - metric_table: id: 1806 - title: L2-EA Read Latency (Cycles) + title: L2-Fabric Read Latency (Cycles) header: metric: Metric expr: Expression @@ -207,7 +207,7 @@ Panel Config: - metric_table: id: 1807 - title: L2-EA Write Latency (Cycles) + title: L2-Fabric Write and Atomic Latency (Cycles) header: metric: Metric expr: Expression @@ -222,7 +222,7 @@ Panel Config: - metric_table: id: 1808 - title: L2-EA Atomic Latency (Cycles) + title: L2-Fabric Atomic Latency (Cycles per normUnit) header: metric: Metric expr: Expression @@ -236,12 +236,12 @@ Panel Config: - metric_table: id: 1809 - title: L2-EA Read Stall (Cycles per normUnit) + title: L2-Fabric Read Stall (Cycles per normUnit) header: metric: Metric - ea read stall - io: L2-EA Read Stall - IO - ea read stall - gmi: L2-EA Read Stall - GMI - ea read stall - dram: L2-EA Read Stall - DRAM + ea read stall - io: L2-Fabric Read Stall - IO + ea read stall - gmi: L2-Fabric Read Stall - GMI + ea read stall - dram: L2-Fabric Read Stall - DRAM metric: "::_1": ea read stall - io: None # Missing perfmon @@ -253,46 +253,19 @@ Panel Config: - metric_table: id: 1810 - title: L2-EA Write Stall (Cycles per normUnit) + title: L2-Fabric Write and Atomic Stall (Cycles per normUnit) header: metric: Metric - ea write stall - io: L2-EA Write Stall - IO - ea write stall - gmi: L2-EA Write Stall - GMI - ea write stall - dram: L2-EA Write Stall - DRAM - ea write stall - starve: L2-EA Write Stall - Starve + ea write stall - io: L2-Fabric Write Stall - IO + ea write stall - gmi: L2-Fabric Write Stall - GMI + ea write stall - dram: L2-Fabric Write Stall - DRAM + ea write stall - starve: L2-Fabric Write Stall - Starve metric: "::_1": ea write stall - io: None # Missing perfmon ea write stall - gmi: None # Missing perfmon ea write stall - dram: None # Missing perfmon - ea write stall - starve: TCC_TOO_MANY_EA_WRREQS_STALL + ea write stall - starve: None # Missing perfmon placeholder_range: "::_1": $total_l2_chan cli_style: simple_multiple_bar - - - metric_table: - id: 1811 - title: L2 Tag Stall (cycles) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: TCC_TAG_STALL[::_1] - placeholder_range: - "::_1": $total_l2_chan - cli_style: simple_box - - - metric_table: - id: 1812 - title: L2 Bubble (128B request) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: TCC_BUBBLE[::_1] - placeholder_range: - "::_1": $total_l2_chan - # tips: Number of 128-byte read requests sent to EA - cli_style: simple_box diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1700_L2_cache.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1700_L2_cache.yaml index a6b8424add..b6022bf0ef 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1700_L2_cache.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1700_L2_cache.yaml @@ -72,9 +72,9 @@ Panel Config: unit: pct tips: Remote Read Traffic: - avg: AVG((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) - min: MIN((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) - max: MAX((100 * ((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + avg: AVG((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum),0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + min: MIN((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum),0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) + max: MAX((100 * (MAX((TCC_EA0_RDREQ_sum - TCC_EA0_RDREQ_DRAM_sum),0) / TCC_EA0_RDREQ_sum) if (TCC_EA0_RDREQ_sum != 0) else None)) unit: pct tips: Uncached Read Traffic: @@ -102,9 +102,9 @@ Panel Config: unit: pct tips: Remote Write and Atomic Traffic: - avg: AVG((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) - min: MIN((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) - max: MAX((100 * ((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + avg: AVG((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + min: MIN((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) + max: MAX((100 * (MAX((TCC_EA0_WRREQ_sum - TCC_EA0_WRREQ_DRAM_sum),0) / TCC_EA0_WRREQ_sum) if (TCC_EA0_WRREQ_sum != 0) else None)) unit: pct tips: Atomic Traffic: diff --git a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1800_L2_cache_per_channel.yaml index 0523099ad7..a24e204f23 100644 --- a/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1800_L2_cache_per_channel.yaml +++ b/projects/rocprofiler-compute/src/omniperf_soc/analysis_configs/gfx942/1800_L2_cache_per_channel.yaml @@ -6,11 +6,11 @@ Metric Description: # Define the panel properties and properties of each metric in the panel. Panel Config: id: 1800 - title: L2 Cache (per Channel) + title: L2 Cache (per Metric) data source: - metric_table: id: 1801 - title: Aggregate Stats (All 32 channels) + title: Aggregate Stats (All channels) header: metric: Metric avg: Avg @@ -107,7 +107,7 @@ Panel Config: - metric_table: id: 1802 - title: L2 Cache Hit Rate (%) + title: L2 Cache Hit Rate (pct) header: metric: Metric expr: Expression @@ -122,7 +122,7 @@ Panel Config: - metric_table: id: 1803 - title: Requests (Requests) + title: L2 Requests (per normUnit) header: metric: Metric expr: Expression @@ -135,12 +135,12 @@ Panel Config: - metric_table: id: 1804 - title: L1-L2 Access (Requests) + title: L2 Requests (per normUnit) header: metric: Metric - read req: L1-L2 Read - write req: L1-L2 Write - atomic req: L1-L2 Atomic + read req: L2 Read + write req: L2 Write + atomic req: L2 Atomic metric: "::_1": read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) @@ -152,12 +152,12 @@ Panel Config: - metric_table: id: 1805 - title: L2-EA Access (Requests) + title: L2-Fabric Requests (per normUnit) header: metric: Metric - read req: L2-EA Read - write req: L2-EA Write - atomic req: L2-EA Atomic + read req: L2-Fabric Read + write req: L2-Fabric Write and Atomic + atomic req: L2-Fabric Atomic metric: "::_1": read req: AVG((TO_INT(TCC_EA0_RDREQ[::_1]) / $denom)) @@ -169,12 +169,12 @@ Panel Config: # - metric_table: # id: 1806 - # title: L2-EA Latency (Cycles) + # title: L2-Fabric Latency (Cycles) # header: # metric: Metric - # read lat: L2-EA Read - # write lat: L2-EA Write - # atomic lat: L2-EA Atomic + # read lat: L2-Fabric Read + # write lat: L2-Fabric Write + # atomic lat: L2-Fabric Atomic # metric: # "::_1": # read lat: @@ -192,7 +192,7 @@ Panel Config: - metric_table: id: 1806 - title: L2-EA Read Latency (Cycles) + title: L2-Fabric Read Latency (Cycles) header: metric: Metric expr: Expression @@ -207,7 +207,7 @@ Panel Config: - metric_table: id: 1807 - title: L2-EA Write Latency (Cycles) + title: L2-Fabric Write and Atomic Latency (Cycles) header: metric: Metric expr: Expression @@ -222,7 +222,7 @@ Panel Config: - metric_table: id: 1808 - title: L2-EA Atomic Latency (Cycles) + title: L2-Fabric Atomic Latency (Cycles per normUnit) header: metric: Metric expr: Expression @@ -236,12 +236,12 @@ Panel Config: - metric_table: id: 1809 - title: L2-EA Read Stall (Cycles per normUnit) + title: L2-Fabric Read Stall (Cycles per normUnit) header: metric: Metric - ea read stall - io: L2-EA Read Stall - IO - ea read stall - gmi: L2-EA Read Stall - GMI - ea read stall - dram: L2-EA Read Stall - DRAM + ea read stall - io: L2-Fabric Read Stall - IO + ea read stall - gmi: L2-Fabric Read Stall - GMI + ea read stall - dram: L2-Fabric Read Stall - DRAM metric: "::_1": ea read stall - io: None # Missing perfmon @@ -253,45 +253,45 @@ Panel Config: - metric_table: id: 1810 - title: L2-EA Write Stall (Cycles per normUnit) + title: L2-Fabric Write and Atomic Stall (Cycles per normUnit) header: metric: Metric - ea write stall - io: L2-EA Write Stall - IO - ea write stall - gmi: L2-EA Write Stall - GMI - ea write stall - dram: L2-EA Write Stall - DRAM - ea write stall - starve: L2-EA Write Stall - Starve + ea write stall - io: L2-Fabric Write Stall - IO + ea write stall - gmi: L2-Fabric Write Stall - GMI + ea write stall - dram: L2-Fabric Write Stall - DRAM + ea write stall - starve: L2-Fabric Write Stall - Starve metric: "::_1": ea write stall - io: None # Missing perfmon ea write stall - gmi: None # Missing perfmon ea write stall - dram: None # Missing perfmon - ea write stall - starve: TCC_TOO_MANY_EA_WRREQS_STALL + ea write stall - starve: None # Missing perfmon placeholder_range: "::_1": $total_l2_chan cli_style: simple_multiple_bar - - metric_table: - id: 1811 - title: L2 Tag Stall (cycles) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: TCC_TAG_STALL[::_1] - placeholder_range: - "::_1": $total_l2_chan - cli_style: simple_box + # - metric_table: + # id: 1811 + # title: L2 Tag Stall (cycles) + # header: + # metric: Metric + # expr: Expression + # metric: + # "::_1": + # expr: TCC_TAG_STALL[::_1] + # placeholder_range: + # "::_1": $total_l2_chan + # cli_style: simple_box - metric_table: id: 1812 - title: L2 Bubble (128B request) + title: L2-Fabric (128B read requests per normUnit) header: metric: Metric expr: Expression metric: "::_1": - expr: TCC_BUBBLE[::_1] + expr: (TO_INT(TCC_BUBBLE[::_1]) / $denom) placeholder_range: "::_1": $total_l2_chan # tips: Number of 128-byte read requests sent to EA diff --git a/projects/rocprofiler-compute/src/utils/schema.py b/projects/rocprofiler-compute/src/utils/schema.py index ea5f23ba4b..08d02d3ed1 100644 --- a/projects/rocprofiler-compute/src/utils/schema.py +++ b/projects/rocprofiler-compute/src/utils/schema.py @@ -91,12 +91,13 @@ supported_field = [ "Channel", "L2 Cache Hit Rate", "Requests", - "L1-L2 Read", - "L1-L2 Write", - "L1-L2 Atomic", - "L2-EA Read", - "L2-EA Write", - "L2-EA Atomic", + "L2 Read", + "L2 Write", + "L2 Atomic", + "L2-Fabric Requests", + "L2-Fabric Read", + "L2-Fabric Write and Atomic", + "L2-Fabric Atomic", "L2 Read Req", "L2 Write Req", "L2 Atomic Req",