From 2740d18028e6779bca15f36f819a1e13d5f1e69e Mon Sep 17 00:00:00 2001 From: vedithal-amd Date: Fri, 18 Jul 2025 09:57:33 -0400 Subject: [PATCH] Remove MI50/MI60 gfx906 support per documentation (#819) [ROCm/rocprofiler-compute commit: 537a269e953eb851e439021fed0efcaad39357a3] --- projects/rocprofiler-compute/CHANGELOG.md | 1 + .../gfx906/0000_top_stats.yaml | 14 - .../gfx906/0100_system_info.yaml | 9 - .../gfx906/0200_system-speed-of-light.yaml | 249 -------- .../gfx906/0300_mem_chart.yaml | 314 ---------- .../gfx906/0500_command-processor.yaml | 153 ----- .../gfx906/0600_shader-processor-input.yaml | 188 ------ .../gfx906/0700_wavefront-launch.yaml | 142 ----- .../1000_compute-unit-instruction-mix.yaml | 293 --------- .../1100_compute-unit-compute-pipeline.yaml | 239 -------- .../analysis_configs/gfx906/1200_lds.yaml | 174 ------ .../gfx906/1300_instruction-cache.yaml | 105 ---- .../gfx906/1400_constant-cache.yaml | 171 ------ .../gfx906/1500_TA_and_TD.yaml | 213 ------- .../gfx906/1600_L1_cache.yaml | 486 --------------- .../gfx906/1700_L2_cache.yaml | 556 ------------------ .../gfx906/1800_L2_cache_per_channel.yaml | 335 ----------- .../gfx906/2100_pc_sampling.yaml | 10 - .../src/utils/mi_gpu_spec.yaml | 18 - 19 files changed, 1 insertion(+), 3669 deletions(-) delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0000_top_stats.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0100_system_info.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0200_system-speed-of-light.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0300_mem_chart.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0500_command-processor.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0600_shader-processor-input.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0700_wavefront-launch.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1000_compute-unit-instruction-mix.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1100_compute-unit-compute-pipeline.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1200_lds.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1300_instruction-cache.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1400_constant-cache.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1500_TA_and_TD.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1600_L1_cache.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1700_L2_cache.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1800_L2_cache_per_channel.yaml delete mode 100644 projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/2100_pc_sampling.yaml diff --git a/projects/rocprofiler-compute/CHANGELOG.md b/projects/rocprofiler-compute/CHANGELOG.md index 45303bdc3b..ec2b257f16 100644 --- a/projects/rocprofiler-compute/CHANGELOG.md +++ b/projects/rocprofiler-compute/CHANGELOG.md @@ -115,6 +115,7 @@ Full documentation for ROCm Compute Profiler is available at [https://rocm.docs. * Roofline support for Ubuntu 20.04 and SLES below 15.6 * Usage of rocm-smi +* Remove support for MI50/MI60 in accordance with the documentation ## ROCm Compute Profiler 3.1.0 for ROCm 6.4.0 diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0000_top_stats.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0000_top_stats.yaml deleted file mode 100644 index ccf1309850..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0000_top_stats.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -Panel Config: - id: 000 - title: Top Stats - data source: - - raw_csv_table: - id: 001 - title: Top Kernels - source: pmc_kernel_top.csv - - - raw_csv_table: - id: 002 - title: Dispatch List - source: pmc_dispatch_info.csv diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0100_system_info.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0100_system_info.yaml deleted file mode 100644 index b7ec29eaf9..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0100_system_info.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -Panel Config: - id: 100 - title: System Info - data source: - - raw_csv_table: - id: 101 - source: sysinfo.csv - columnwise: True diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0200_system-speed-of-light.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0200_system-speed-of-light.yaml deleted file mode 100644 index bb23dd9f93..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0200_system-speed-of-light.yaml +++ /dev/null @@ -1,249 +0,0 @@ ---- -# Add description/tips for each metric in this section. -# So it could be shown in hover. -Metric Description: - SALU: &SALU_anchor Scalar Arithmetic Logic Unit - -# Define the panel properties and properties of each metric in the panel. -Panel Config: - id: 200 - title: System Speed-of-Light - data source: - - metric_table: - id: 201 - title: Speed-of-Light - header: - metric: Metric - value: Avg - unit: Unit - peak: Peak - pop: Pct of Peak - tips: Tips - metric: - VALU FLOPs: - value: None # No perf counter - unit: GFLOP/s - peak: (((($max_sclk * $cu_per_gpu) * 64) * 2) / 1000) - pop: None # No perf counter - tips: - VALU IOPs: - value: None # No perf counter - unit: GIOP/s - peak: (((($max_sclk * $cu_per_gpu) * 64) * 2) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F8): - value: None # No HW module - unit: GFLOP/s - peak: None # No HW module - pop: None # No HW module - tips: - MFMA FLOPs (BF16): - value: None # No perf counter - unit: GFLOP/s - peak: ((($max_sclk * $cu_per_gpu) * 512) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F16): - value: None # No perf counter - unit: GFLOP/s - peak: ((($max_sclk * $cu_per_gpu) * 1024) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F32): - value: None # No perf counter - unit: GFLOP/s - peak: ((($max_sclk * $cu_per_gpu) * 256) / 1000) - pop: None # No perf counter - tips: - MFMA FLOPs (F64): - value: None # No perf counter - unit: GFLOP/s - peak: ((($max_sclk * $cu_per_gpu) * 256) / 1000) - pop: None # No perf counter - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then remove this - MFMA FLOPs (F6F4): - value: None - unit: GFLOP/s - peak: None - pop: None - tips: - MFMA IOPs (Int8): - value: None # No perf counter - unit: GIOP/s - peak: ((($max_sclk * $cu_per_gpu) * 1024) / 1000) - pop: None # No perf counter - tips: - Active CUs: - value: $numActiveCUs - unit: CUs - peak: $cu_per_gpu - pop: ((100 * $numActiveCUs) / $cu_per_gpu) - tips: - SALU Utilization: - value: AVG(((100 * SQ_ACTIVE_INST_SCA) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_SCA) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - tips: - VALU Utilization: - value: AVG(((100 * SQ_ACTIVE_INST_VALU) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - peak: 100 - pop: AVG(((100 * SQ_ACTIVE_INST_VALU) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - tips: - MFMA Utilization: - value: None # No HW module - unit: pct - peak: 100 - pop: None # No HW module - tips: - 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 - != 0) else None)) - unit: Threads - peak: $wave_size - pop: (100 * AVG((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU / $wave_size) if (SQ_ACTIVE_INST_VALU != 0) else None)) - tips: - IPC: - value: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - unit: Instr/cycle - peak: 5 - pop: ((100 * AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES))) / 5) - tips: - Wavefront Occupancy: - value: AVG((SQ_ACCUM_PREV_HIRES / $GRBM_GUI_ACTIVE_PER_XCD)) - unit: Wavefronts - peak: ($max_waves_per_cu * $cu_per_gpu) - pop: (100 * AVG(((SQ_ACCUM_PREV_HIRES / $GRBM_GUI_ACTIVE_PER_XCD) / ($max_waves_per_cu - * $cu_per_gpu)))) - coll_level: SQ_LEVEL_WAVES - tips: - Theoretical LDS Bandwidth: - value: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu)) - / (End_Timestamp - Start_Timestamp))) - unit: GB/s - peak: (($max_sclk * $cu_per_gpu) * 0.128) - pop: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu)) - / (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128))) - tips: - LDS Bank Conflicts/Access: - 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)) - unit: Conflicts/access - peak: 32 - 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) - tips: - vL1D Cache Hit Rate: - 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_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: pct - peak: 100 - pop: 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)) - tips: - vL1D Cache BW: - value: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp))) - unit: GB/s - peak: ((($max_sclk / 1000) * 64) * $cu_per_gpu) - pop: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))) - / ((($max_sclk / 1000) * 64) * $cu_per_gpu)) - tips: - L2 Cache Hit Rate: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - peak: 100 - pop: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - tips: - L2 Cache BW: - value: AVG(((TCC_REQ_sum * 64) / (End_Timestamp - Start_Timestamp))) - unit: GB/s - peak: ((($max_sclk / 1000) * 64) * TO_INT($total_l2_chan)) - pop: ((100 * AVG(((TCC_REQ_sum * 64) / (End_Timestamp - Start_Timestamp)))) - / ((($max_sclk / 1000) * 64) * TO_INT($total_l2_chan))) - tips: - L2-Fabric Read BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (End_Timestamp - Start_Timestamp))) - unit: GB/s - peak: $hbmBandwidth - pop: ((100 * AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (End_Timestamp - Start_Timestamp)))) / $hbmBandwidth) - tips: - L2-Fabric Write BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (End_Timestamp - Start_Timestamp))) - unit: GB/s - peak: $hbmBandwidth - pop: ((100 * AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (End_Timestamp - Start_Timestamp)))) / $hbmBandwidth) - tips: - L2-Fabric Read Latency: - value: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum - != 0) else None)) - unit: Cycles - peak: None - pop: None - tips: - L2-Fabric Write Latency: - value: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum - != 0) else None)) - unit: Cycles - peak: None - pop: None - tips: - sL1D 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: - sL1D Cache BW: - value: AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64)) - unit: GB/s - peak: ((($max_sclk / 1000) * 64) * $sqc_per_gpu) - pop: ((100 * AVG(((SQC_DCACHE_REQ / (End_Timestamp - Start_Timestamp)) * 64))) / ((($max_sclk - / 1000) * 64) * $sqc_per_gpu)) - tips: - 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: ((($max_sclk / 1000) * 64) * $sqc_per_gpu) - pop: ((100 * AVG(((SQC_ICACHE_REQ / (End_Timestamp - Start_Timestamp)) * 32))) / ((($max_sclk - / 1000) * 32) * $sqc_per_gpu)) - tips: - L1I Fetch Latency: - value: AVG((SQ_ACCUM_PREV_HIRES / SQ_IFETCH)) - unit: Cycles - peak: None - pop: None - coll_level: SQ_IFETCH_LEVEL - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0300_mem_chart.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0300_mem_chart.yaml deleted file mode 100644 index c1b3f01695..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0300_mem_chart.yaml +++ /dev/null @@ -1,314 +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: 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_PER_XCD) / $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: $cu_per_gpu - tips: - VGPR: - #alias: vgpr_ - value: ROUND(AVG(Arch_VGPR), 0) - tips: - SGPR: - #alias: sgpr_ - value: ROUND(AVG(SGPR), 0) - tips: - LDS Allocation: - #alias: lds_alloc_ - value: ROUND(AVG(LDS_Per_Workgroup), 0) - tips: - Scratch Allocation: - #alias: scratch_alloc_ - value: ROUND(AVG(Scratch_Per_Workitem), 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_PER_XCD * $cu_per_gpu))), - 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 diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0500_command-processor.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0500_command-processor.yaml deleted file mode 100644 index 834ca2de6b..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0500_command-processor.yaml +++ /dev/null @@ -1,153 +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: 500 - title: Command Processor (CPC/CPF) - data source: - - metric_table: - id: 501 - title: Command Processor Fetcher - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - CPC SYNC FIFO Full Rate: - avg: None - min: None - max: None - unit: pct - tips: - CPC CANE Stall Rate: - avg: None - min: None - max: None - unit: pct - tips: - CPC ADC Utilization: - avg: None - min: None - max: None - unit: pct - tips: - CPF Utilization: - 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)) - min: MIN((((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)) - max: MAX((((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)) - unit: pct - tips: - CPF Stall: - avg: AVG((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_STAT_STALL) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None)) - unit: pct - tips: - CPF-L2 Utilization: - 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)) - min: MIN((((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)) - max: MAX((((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)) - unit: pct - tips: - CPF-L2 Stall: - avg: AVG((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - min: MIN((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - max: MAX((((100 * CPF_CPF_TCIU_STALL) / CPF_CPF_TCIU_BUSY) if (CPF_CPF_TCIU_BUSY - != 0) else None)) - unit: pct - tips: - CPF-UTCL1 Stall: - avg: AVG(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 0) else None) - min: MIN(((100 * CPF_CMP_UTCL1_STALL_ON_TRANSLATION) / CPF_CPF_STAT_BUSY) if (CPF_CPF_STAT_BUSY - != 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: - - - metric_table: - id: 502 - title: Packet Processor - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - CPC Utilization: - 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)) - min: MIN((((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)) - max: MAX((((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)) - unit: pct - tips: - CPC Stall Rate: - avg: AVG((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - min: MIN((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - max: MAX((((100 * CPC_CPC_STAT_STALL) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None)) - unit: pct - tips: - CPC Packet Decoding Utilization: - avg: AVG((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None) - min: MIN((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None) - max: MAX((100 * CPC_ME1_BUSY_FOR_PACKET_DECODE) / CPC_CPC_STAT_BUSY if (CPC_CPC_STAT_BUSY != 0) else None) - unit: pct - tips: - 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)) - 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)) - if ((CPC_CPC_TCIU_BUSY + CPC_CPC_TCIU_IDLE) != 0) else None)) - max: MAX((((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)) - unit: pct - tips: - CPC-UTCL1 Stall: - avg: AVG(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 0) else None) - min: MIN(((100 * CPC_UTCL1_STALL_ON_TRANSLATION) / CPC_CPC_STAT_BUSY) if (CPC_CPC_STAT_BUSY - != 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: - CPC-UTCL2 Utilization: - 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)) - min: MIN((((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)) - max: MAX((((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)) - unit: pct - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0600_shader-processor-input.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0600_shader-processor-input.yaml deleted file mode 100644 index 2459e41db9..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0600_shader-processor-input.yaml +++ /dev/null @@ -1,188 +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: 600 - title: Workgroup Manager (SPI) - data source: - - metric_table: - id: 601 - title: Workgroup Manager Utilizations - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - Schedule-Pipe Wave Occupancy: - avg: None - min: None - max: None - unit: Wave - tips: - Accelerator Utilization: - avg: AVG(100 * $GRBM_GUI_ACTIVE_PER_XCD / $GRBM_COUNT_PER_XCD) - min: MIN(100 * $GRBM_GUI_ACTIVE_PER_XCD / $GRBM_COUNT_PER_XCD) - max: MAX(100 * $GRBM_GUI_ACTIVE_PER_XCD / $GRBM_COUNT_PER_XCD) - unit: Pct - tips: - Scheduler-Pipe Utilization: - avg: AVG(100 * SPI_CSN_BUSY / ($GRBM_GUI_ACTIVE_PER_XCD * $pipes_per_gpu * $se_per_gpu)) - min: MIN(100 * SPI_CSN_BUSY / ($GRBM_GUI_ACTIVE_PER_XCD * $pipes_per_gpu * $se_per_gpu)) - max: MAX(100 * SPI_CSN_BUSY / ($GRBM_GUI_ACTIVE_PER_XCD * $pipes_per_gpu * $se_per_gpu)) - unit: Pct - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - Scheduler-Pipe Wave Utilization: - avg: None - min: None - max: None - unit: Pct - tips: - Workgroup Manager Utilization: - avg: AVG(100 * $GRBM_SPI_BUSY_PER_XCD / $GRBM_GUI_ACTIVE_PER_XCD) - min: MIN(100 * $GRBM_SPI_BUSY_PER_XCD / $GRBM_GUI_ACTIVE_PER_XCD) - max: MAX(100 * $GRBM_SPI_BUSY_PER_XCD / $GRBM_GUI_ACTIVE_PER_XCD) - unit: Pct - tips: - Shader Engine Utilization: - avg: AVG(100 * SQ_BUSY_CYCLES / ($GRBM_GUI_ACTIVE_PER_XCD * $se_per_gpu)) - min: MIN(100 * SQ_BUSY_CYCLES / ($GRBM_GUI_ACTIVE_PER_XCD * $se_per_gpu)) - max: MAX(100 * SQ_BUSY_CYCLES / ($GRBM_GUI_ACTIVE_PER_XCD * $se_per_gpu)) - unit: Pct - tips: - SIMD Utilization: - avg: AVG(100 * SQ_BUSY_CU_CYCLES / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(100 * SQ_BUSY_CU_CYCLES / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(100 * SQ_BUSY_CU_CYCLES / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: - Dispatched Workgroups: - avg: AVG(SPI_CSN_NUM_THREADGROUPS) - min: MIN(SPI_CSN_NUM_THREADGROUPS) - max: MAX(SPI_CSN_NUM_THREADGROUPS) - unit: Workgroups - tips: - Dispatched Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - VGPR Writes: - avg: AVG((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((4 * SPI_VWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - tips: - SGPR Writes: - avg: AVG((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - min: MIN((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - max: MAX((((1 * SPI_SWC_CSC_WR) / SPI_CSN_WAVE) if (SPI_CSN_WAVE != 0) else - None)) - unit: Cycles/wave - 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_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None) - min: MIN((100 * SPI_RA_REQ_NO_ALLOC_CSN / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None) - max: MAX((100 * SPI_RA_REQ_NO_ALLOC_CSN / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None) - unit: Pct - tips: - Not-scheduled Rate (Scheduler-Pipe): - avg: AVG((100 * SPI_RA_REQ_NO_ALLOC / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None) - min: MIN((100 * SPI_RA_REQ_NO_ALLOC / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None) - max: MAX((100 * SPI_RA_REQ_NO_ALLOC / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None) - unit: Pct - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - Scheduler-Pipe FIFO Full Rate: - avg: None - min: None - max: None - unit: Pct - tips: - Scheduler-Pipe Stall Rate: - avg: AVG((((100 * SPI_RA_RES_STALL_CSN) / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None)) - min: MIN((((100 * SPI_RA_RES_STALL_CSN) / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None)) - max: MAX((((100 * SPI_RA_RES_STALL_CSN) / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != - 0) else None)) - unit: Pct - tips: - Scratch Stall Rate: - avg: AVG((100 * SPI_RA_TMP_STALL_CSN / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != 0) else None) - min: MIN((100 * SPI_RA_TMP_STALL_CSN / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != 0) else None) - max: MAX((100 * SPI_RA_TMP_STALL_CSN / ($GRBM_SPI_BUSY_PER_XCD * $se_per_gpu)) if ($GRBM_SPI_BUSY_PER_XCD != 0) else None) - unit: Pct - tips: - Insufficient SIMD Waveslots: - avg: AVG(100 * SPI_RA_WAVE_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(100 * SPI_RA_WAVE_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(100 * SPI_RA_WAVE_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: - Insufficient SIMD VGPRs: - avg: AVG(100 * SPI_RA_VGPR_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(100 * SPI_RA_VGPR_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(100 * SPI_RA_VGPR_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: - Insufficient SIMD SGPRs: - avg: AVG(100 * SPI_RA_SGPR_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(100 * SPI_RA_SGPR_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(100 * SPI_RA_SGPR_SIMD_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: - Insufficient CU LDS: - avg: AVG(400 * SPI_RA_LDS_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(400 * SPI_RA_LDS_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(400 * SPI_RA_LDS_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: - Insufficient CU Barriers: - avg: AVG(400 * SPI_RA_BAR_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(400 * SPI_RA_BAR_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(400 * SPI_RA_BAR_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: - Reached CU Workgroup Limit: - avg: AVG(400 * SPI_RA_TGLIM_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(400 * SPI_RA_TGLIM_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(400 * SPI_RA_TGLIM_CU_FULL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: - Reached CU Wavefront Limit: - avg: AVG(400 * SPI_RA_WVLIM_STALL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - min: MIN(400 * SPI_RA_WVLIM_STALL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - max: MAX(400 * SPI_RA_WVLIM_STALL_CSN / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu)) - unit: Pct - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0700_wavefront-launch.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0700_wavefront-launch.yaml deleted file mode 100644 index 72ca0f8774..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/0700_wavefront-launch.yaml +++ /dev/null @@ -1,142 +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: 700 - title: Wavefront - data source: - - metric_table: - id: 701 - title: Wavefront Launch Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Grid Size: - avg: AVG(Grid_Size) - min: MIN(Grid_Size) - max: MAX(Grid_Size) - unit: Work Items - tips: - Workgroup Size: - avg: AVG(Workgroup_Size) - min: MIN(Workgroup_Size) - max: MAX(Workgroup_Size) - unit: Work Items - tips: - Total Wavefronts: - avg: AVG(SPI_CSN_WAVE) - min: MIN(SPI_CSN_WAVE) - max: MAX(SPI_CSN_WAVE) - unit: Wavefronts - tips: - Saved Wavefronts: - avg: AVG(SQ_WAVES_SAVED) - min: MIN(SQ_WAVES_SAVED) - max: MAX(SQ_WAVES_SAVED) - unit: Wavefronts - tips: - Restored Wavefronts: - avg: AVG(SQ_WAVES_RESTORED) - min: MIN(SQ_WAVES_RESTORED) - max: MAX(SQ_WAVES_RESTORED) - unit: Wavefronts - tips: - VGPRs: - avg: AVG(Arch_VGPR) - min: MIN(Arch_VGPR) - max: MAX(Arch_VGPR) - unit: Registers - tips: - AGPRs: - avg: AVG(Accum_VGPR) - min: MIN(Accum_VGPR) - max: MAX(Accum_VGPR) - unit: Registers - tips: - SGPRs: - avg: AVG(SGPR) - min: MIN(SGPR) - max: MAX(SGPR) - unit: Registers - tips: - LDS Allocation: - avg: AVG(LDS_Per_Workgroup) - min: MIN(LDS_Per_Workgroup) - max: MAX(LDS_Per_Workgroup) - unit: Bytes - tips: - Scratch Allocation: - avg: AVG(Scratch_Per_Workitem) - min: MIN(Scratch_Per_Workitem) - max: MAX(Scratch_Per_Workitem) - unit: Bytes/Workitem - tips: - - - metric_table: - id: 702 - title: Wavefront Runtime Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Kernel Time (Nanosec): - avg: AVG((End_Timestamp - Start_Timestamp)) - min: MIN((End_Timestamp - Start_Timestamp)) - max: MAX((End_Timestamp - Start_Timestamp)) - unit: ns - tips: - Kernel Time (Cycles): - avg: AVG($GRBM_GUI_ACTIVE_PER_XCD) - min: MIN($GRBM_GUI_ACTIVE_PER_XCD) - max: MAX($GRBM_GUI_ACTIVE_PER_XCD) - unit: Cycle - tips: - Instructions per wavefront: - avg: AVG((SQ_INSTS / SQ_WAVES)) - min: MIN((SQ_INSTS / SQ_WAVES)) - max: MAX((SQ_INSTS / SQ_WAVES)) - unit: Instr/wavefront - tips: - Wave Cycles: - avg: AVG(((4 * SQ_WAVE_CYCLES) / $denom)) - min: MIN(((4 * SQ_WAVE_CYCLES) / $denom)) - max: MAX(((4 * SQ_WAVE_CYCLES) / $denom)) - unit: (Cycles + $normUnit) - tips: - Dependency Wait Cycles: - avg: AVG(((4 * SQ_WAIT_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Issue Wait Cycles: - avg: AVG(((4 * SQ_WAIT_INST_ANY) / $denom)) - min: MIN(((4 * SQ_WAIT_INST_ANY) / $denom)) - max: MAX(((4 * SQ_WAIT_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Active Cycles: - avg: AVG(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - min: MIN(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - max: MAX(((4 * SQ_ACTIVE_INST_ANY) / $denom)) - unit: (Cycles + $normUnit) - tips: - Wavefront Occupancy: - avg: AVG((SQ_ACCUM_PREV_HIRES / $GRBM_GUI_ACTIVE_PER_XCD)) - min: MIN((SQ_ACCUM_PREV_HIRES / $GRBM_GUI_ACTIVE_PER_XCD)) - max: MAX((SQ_ACCUM_PREV_HIRES / $GRBM_GUI_ACTIVE_PER_XCD)) - unit: Wavefronts - coll_level: SQ_LEVEL_WAVES - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1000_compute-unit-instruction-mix.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1000_compute-unit-instruction-mix.yaml deleted file mode 100644 index fc48a05878..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1000_compute-unit-instruction-mix.yaml +++ /dev/null @@ -1,293 +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: 1000 - title: Compute Units - Instruction Mix - data source: - - metric_table: - id: 1001 - title: Overall Instruction Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - VALU: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - VMEM: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - LDS: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (instr + $normUnit) - tips: - MFMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - SALU: - avg: AVG((SQ_INSTS_SALU / $denom)) - min: MIN((SQ_INSTS_SALU / $denom)) - max: MAX((SQ_INSTS_SALU / $denom)) - unit: (instr + $normUnit) - tips: - SMEM: - avg: AVG((SQ_INSTS_SMEM / $denom)) - min: MIN((SQ_INSTS_SMEM / $denom)) - max: MAX((SQ_INSTS_SMEM / $denom)) - unit: (instr + $normUnit) - tips: - Branch: - avg: AVG((SQ_INSTS_BRANCH / $denom)) - min: MIN((SQ_INSTS_BRANCH / $denom)) - max: MAX((SQ_INSTS_BRANCH / $denom)) - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1002 - title: VALU Arithmetic Instr Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - INT-32: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - INT-64: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-ADD: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-MUL: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-FMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F16-Trans: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-ADD: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-MUL: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-FMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F32-Trans: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-ADD: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-MUL: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-FMA: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - F64-Trans: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - Conversion: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - - - metric_table: - id: 1003 - title: VMEM Instr Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Global/Generic Instr: - avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) - unit: (instr + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then remove this - Spill/Stack Coalesceable Instr: - avg: None - min: None - max: None - unit: (instr + $normUnit) - tips: - Global/Generic Coalesceable Instr: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (instr + $normUnit) - tips: - Global/Generic Read: - avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - unit: (instr + $normUnit) - tips: - Global/Generic Write: - avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - unit: (instr + $normUnit) - tips: - Global/Generic Atomic: - avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (instr + $normUnit) - 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: - id: 1004 - title: MFMA Arithmetic Instr Mix - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - MFMA-I8: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - MFMA-F8: - avg: None # No HW module - min: None # No HW module - max: None # No HW module None # No HW module - unit: (instr + $normUnit) - tips: - MFMA-F16: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - MFMA-BF16: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - MFMA-F32: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - MFMA-F64: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (instr + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - MFMA-F6F4: - avg: None - min: None - max: None - unit: (instr + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1100_compute-unit-compute-pipeline.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1100_compute-unit-compute-pipeline.yaml deleted file mode 100644 index 41bb9563f5..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1100_compute-unit-compute-pipeline.yaml +++ /dev/null @@ -1,239 +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: 1100 - title: Compute Units - Compute Pipeline - data source: - - metric_table: - id: 1101 - title: Speed-of-Light - header: - metric: Metric - value: Avg - unit: Unit - peak: Peak - pop: Pct of Peak - tips: Tips - metric: - VALU FLOPs: - value: None # No perf counter - unit: None - peak: None - pop: None - tips: - VALU IOPs: - value: None # No perf counter - unit: None - peak: None - pop: None - tips: - MFMA FLOPs (F8): - value: None # No perf counter - unit: GFLOP - peak: None # No perf counter - pop: None # No perf counter - tips: - MFMA FLOPs (BF16): - value: None # No perf counter - Unit: None - peak: None - pop: None - tips: - MFMA FLOPs (F16): - value: None # No perf counter - unit: None - peak: None - pop: None - tips: - MFMA FLOPs (F32): - value: None # No perf counter - unit: None - peak: None - pop: None - tips: - MFMA FLOPs (F64): - value: None # No perf counter - unit: None - peak: None - pop: None - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - MFMA FLOPs (F6F4): - value: None - unit: GFLOP - peak: None - pop: None - tips: - MFMA IOPs (INT8): - value: None # No perf counter - unit: None - peak: None - pop: None - tips: - - - metric_table: - id: 1102 - title: Pipeline Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - IPC: - avg: AVG((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - min: MIN((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - max: MAX((SQ_INSTS / SQ_BUSY_CU_CYCLES)) - unit: Instr/cycle - tips: - IPC (Issued): - avg: AVG(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM)) - + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS) - / SQ_ACTIVE_INST_ANY)) - min: MIN(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM)) - + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS) - / SQ_ACTIVE_INST_ANY)) - max: MAX(((((((((SQ_INSTS_VALU + SQ_INSTS_VMEM) + SQ_INSTS_SALU) + SQ_INSTS_SMEM)) - + SQ_INSTS_BRANCH) + SQ_INSTS_SENDMSG) + SQ_INSTS_VSKIPPED + SQ_INSTS_LDS) - / SQ_ACTIVE_INST_ANY)) - unit: Instr/cycle - tips: - SALU Utilization: - avg: AVG((((100 * SQ_ACTIVE_INST_SCA) / $GRBM_GUI_ACTIVE_PER_XCD) / $cu_per_gpu)) - min: MIN((((100 * SQ_ACTIVE_INST_SCA) / $GRBM_GUI_ACTIVE_PER_XCD) / $cu_per_gpu)) - max: MAX((((100 * SQ_ACTIVE_INST_SCA) / $GRBM_GUI_ACTIVE_PER_XCD) / $cu_per_gpu)) - unit: pct - tips: - VALU Utilization: - avg: AVG((((100 * SQ_ACTIVE_INST_VALU) / $GRBM_GUI_ACTIVE_PER_XCD) / $cu_per_gpu)) - min: MIN((((100 * SQ_ACTIVE_INST_VALU) / $GRBM_GUI_ACTIVE_PER_XCD) / $cu_per_gpu)) - max: MAX((((100 * SQ_ACTIVE_INST_VALU) / $GRBM_GUI_ACTIVE_PER_XCD) / $cu_per_gpu)) - unit: pct - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - VALU Co-Issue Efficiency: - avg: None - min: None - max: None - unit: pct - 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: - avg: AVG(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - min: MIN(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - max: MAX(((SQ_THREAD_CYCLES_VALU / SQ_ACTIVE_INST_VALU) if (SQ_ACTIVE_INST_VALU - != 0) else None)) - unit: Threads - tips: - MFMA Utilization: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: pct - tips: - MFMA Instr Cycles: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: cycles/instr - 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: - id: 1103 - title: Arithmetic Operations - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - FLOPs (Total): - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - IOPs (Total): - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F8 OPs: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (OPs + $normUnit) - tips: - F16 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - BF16 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F32 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - F64 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - F6F4 OPs: - avg: None - min: None - max: None - unit: (OPs + $normUnit) - tips: - INT8 OPs: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (OPs + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1200_lds.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1200_lds.yaml deleted file mode 100644 index f40d07132e..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1200_lds.yaml +++ /dev/null @@ -1,174 +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: 1200 - title: Local Data Share (LDS) - data source: - - metric_table: - id: 1201 - title: Speed-of-Light - header: - metric: Metric - value: Value - unit: Unit - tips: Tips - metric: - Utilization: - value: AVG(((100 * SQ_LDS_IDX_ACTIVE) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: Pct of Peak - tips: - Access Rate: - value: AVG(((200 * SQ_ACTIVE_INST_LDS) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: Pct of Peak - tips: - Theoretical Bandwidth (% of Peak): - value: AVG((((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu)) - / (End_Timestamp - Start_Timestamp)) / (($max_sclk * $cu_per_gpu) * 0.00128))) - unit: Pct of Peak - tips: - Bank Conflict Rate: - 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)) - unit: Pct of Peak - tips: - comparable: false # for now - cli_style: simple_bar - - - metric_table: - id: 1202 - title: LDS Stats - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - LDS Instrs: - avg: AVG((SQ_INSTS_LDS / $denom)) - min: MIN((SQ_INSTS_LDS / $denom)) - max: MAX((SQ_INSTS_LDS / $denom)) - unit: (Instr + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS LOAD: - avg: None - min: None - max: None - unit: (instr + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS STORE: - avg: None - min: None - max: None - unit: (instr + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS ATOMIC: - avg: None - min: None - max: None - unit: (instr + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS LOAD Bandwidth: - avg: None - min: None - max: None - units: Gbps - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS STORE Bandwidth: - avg: None - min: None - max: None - units: Gbps - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS ATOMIC Bandwidth: - avg: None - min: None - max: None - units: Gbps - tips: - Theoretical Bandwidth: - avg: AVG(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu)) - / $denom)) - min: MIN(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu)) - / $denom)) - max: MAX(((((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) * 4) * TO_INT($lds_banks_per_cu)) - / $denom)) - unit: (Bytes + $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: - Bank Conflicts/Access: - 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)) - min: MIN(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - max: MAX(((SQ_LDS_BANK_CONFLICT / (SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT)) - if ((SQ_LDS_IDX_ACTIVE - SQ_LDS_BANK_CONFLICT) != 0) else None)) - unit: Conflicts/Access - tips: - Index Accesses: - avg: AVG((SQ_LDS_IDX_ACTIVE / $denom)) - min: MIN((SQ_LDS_IDX_ACTIVE / $denom)) - max: MAX((SQ_LDS_IDX_ACTIVE / $denom)) - unit: (Cycles + $normUnit) - tips: - Atomic Return Cycles: - avg: AVG((SQ_LDS_ATOMIC_RETURN / $denom)) - min: MIN((SQ_LDS_ATOMIC_RETURN / $denom)) - max: MAX((SQ_LDS_ATOMIC_RETURN / $denom)) - unit: (Cycles + $normUnit) - tips: - Bank Conflict: - avg: AVG((SQ_LDS_BANK_CONFLICT / $denom)) - min: MIN((SQ_LDS_BANK_CONFLICT / $denom)) - max: MAX((SQ_LDS_BANK_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Addr Conflict: - avg: AVG((SQ_LDS_ADDR_CONFLICT / $denom)) - min: MIN((SQ_LDS_ADDR_CONFLICT / $denom)) - max: MAX((SQ_LDS_ADDR_CONFLICT / $denom)) - unit: (Cycles + $normUnit) - tips: - Unaligned Stall: - avg: AVG((SQ_LDS_UNALIGNED_STALL / $denom)) - min: MIN((SQ_LDS_UNALIGNED_STALL / $denom)) - max: MAX((SQ_LDS_UNALIGNED_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: - Mem Violations: - avg: AVG((SQ_LDS_MEM_VIOLATIONS / $denom)) - min: MIN((SQ_LDS_MEM_VIOLATIONS / $denom)) - max: MAX((SQ_LDS_MEM_VIOLATIONS / $denom)) - unit: (Accesses + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS Command FIFO Full Rate: - avg: None - min: None - max: None - unit: (Cycles + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - LDS Data FIFO Full Rate: - avg: None - min: None - max: None - unit: (Cycles + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1300_instruction-cache.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1300_instruction-cache.yaml deleted file mode 100644 index 209a42726e..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1300_instruction-cache.yaml +++ /dev/null @@ -1,105 +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: 1300 - title: Instruction Cache - data source: - - metric_table: - id: 1301 - title: Speed-of-Light - header: - metric: Metric - value: Avg - unit: Unit - tips: Tips - metric: - Bandwidth: - value: AVG(((SQC_ICACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) - * (End_Timestamp - Start_Timestamp)))) - unit: Pct of Peak - tips: - Cache Hit Rate: - value: AVG(((SQC_ICACHE_HITS * 100) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - unit: Pct of Peak - tips: - L1I-L2 Bandwidth: - value: AVG(((SQC_TC_INST_REQ * 100000) / (2 * ($max_sclk * $sqc_per_gpu) - * (End_Timestamp - Start_Timestamp)))) - unit: Pct of Peak - tips: - comparable: false # for now - cli_style: simple_bar - - - metric_table: - id: 1302 - title: Instruction Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_ICACHE_REQ / $denom)) - min: MIN((SQC_ICACHE_REQ / $denom)) - max: MAX((SQC_ICACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_ICACHE_HITS / $denom)) - min: MIN((SQC_ICACHE_HITS / $denom)) - max: MAX((SQC_ICACHE_HITS / $denom)) - unit: (Hits + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_ICACHE_MISSES / $denom)) - min: MIN((SQC_ICACHE_MISSES / $denom)) - max: MAX((SQC_ICACHE_MISSES / $denom)) - unit: (Misses + $normUnit) - tips: - Misses - Duplicated: - avg: AVG((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_ICACHE_MISSES_DUPLICATE / $denom)) - unit: (Misses + $normUnit) - tips: - Cache Hit Rate: - avg: AVG(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - min: MIN(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - max: MAX(((100 * SQC_ICACHE_HITS) / ((SQC_ICACHE_HITS + SQC_ICACHE_MISSES) - + SQC_ICACHE_MISSES_DUPLICATE))) - unit: pct - 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 - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - L1I-L2 Bandwidth: - avg: 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: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1400_constant-cache.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1400_constant-cache.yaml deleted file mode 100644 index 669a5834b9..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1400_constant-cache.yaml +++ /dev/null @@ -1,171 +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: 1400 - title: Scalar L1 Data Cache - data source: - - metric_table: - id: 1401 - title: Speed-of-Light - header: - metric: Metric - value: Avg - unit: Unit - tips: Tips - metric: - Bandwidth: - value: AVG(((SQC_DCACHE_REQ * 100000) / (($max_sclk * $sqc_per_gpu) - * (End_Timestamp - Start_Timestamp)))) - unit: Pct of Peak - tips: - Cache Hit Rate: - value: 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)) - unit: Pct of Peak - tips: - sL1D-L2 BW: - value: AVG(((SQC_TC_DATA_READ_REQ + SQC_TC_DATA_WRITE_REQ + SQC_TC_DATA_ATOMIC_REQ) * 100000) - / (2 * ($max_sclk * $sqc_per_gpu) * (End_Timestamp - Start_Timestamp))) - unit: Pct of Peak - tips: - comparable: false # for now - cli_style: simple_bar - - - metric_table: - id: 1402 - title: Scalar L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Req: - avg: AVG((SQC_DCACHE_REQ / $denom)) - min: MIN((SQC_DCACHE_REQ / $denom)) - max: MAX((SQC_DCACHE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Hits: - avg: AVG((SQC_DCACHE_HITS / $denom)) - min: MIN((SQC_DCACHE_HITS / $denom)) - max: MAX((SQC_DCACHE_HITS / $denom)) - unit: (Req + $normUnit) - tips: - Misses - Non Duplicated: - avg: AVG((SQC_DCACHE_MISSES / $denom)) - min: MIN((SQC_DCACHE_MISSES / $denom)) - max: MAX((SQC_DCACHE_MISSES / $denom)) - unit: (Req + $normUnit) - tips: - Misses- Duplicated: - avg: AVG((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - min: MIN((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - max: MAX((SQC_DCACHE_MISSES_DUPLICATE / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hit Rate: - 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) != 0) else None)) - min: MIN((((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) != 0) else None)) - max: MAX((((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) != 0) else None)) - unit: pct - tips: - Read Req (Total): - avg: AVG((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - min: MIN((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - max: MAX((((((SQC_DCACHE_REQ_READ_1 + SQC_DCACHE_REQ_READ_2) + SQC_DCACHE_REQ_READ_4) - + SQC_DCACHE_REQ_READ_8) + SQC_DCACHE_REQ_READ_16) / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_DCACHE_ATOMIC / $denom)) - min: MIN((SQC_DCACHE_ATOMIC / $denom)) - max: MAX((SQC_DCACHE_ATOMIC / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (1 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_1 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_1 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_1 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (2 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_2 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_2 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_2 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (4 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_4 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_4 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_4 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (8 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_8 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_8 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_8 / $denom)) - unit: (Req + $normUnit) - tips: - Read Req (16 DWord): - avg: AVG((SQC_DCACHE_REQ_READ_16 / $denom)) - min: MIN((SQC_DCACHE_REQ_READ_16 / $denom)) - max: MAX((SQC_DCACHE_REQ_READ_16 / $denom)) - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1403 - title: Scalar L1D Cache - L2 Interface - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - sL1D-L2 BW: - avg: 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: - avg: AVG((SQC_TC_DATA_READ_REQ / $denom)) - min: MIN((SQC_TC_DATA_READ_REQ / $denom)) - max: MAX((SQC_TC_DATA_READ_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((SQC_TC_DATA_WRITE_REQ / $denom)) - min: MIN((SQC_TC_DATA_WRITE_REQ / $denom)) - max: MAX((SQC_TC_DATA_WRITE_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((SQC_TC_DATA_ATOMIC_REQ / $denom)) - min: MIN((SQC_TC_DATA_ATOMIC_REQ / $denom)) - max: MAX((SQC_TC_DATA_ATOMIC_REQ / $denom)) - unit: (Req + $normUnit) - tips: - Stall Cycles: - avg: AVG((SQC_TC_STALL / $denom)) - min: MIN((SQC_TC_STALL / $denom)) - max: MAX((SQC_TC_STALL / $denom)) - unit: (Cycles + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1500_TA_and_TD.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1500_TA_and_TD.yaml deleted file mode 100644 index ab85cf5459..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1500_TA_and_TD.yaml +++ /dev/null @@ -1,213 +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: 1500 - title: Address Processing Unit and Data Return Path (TA/TD) - data source: - - metric_table: - id: 1501 - title: Address Processing Unit - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Address Processing Unit Busy: - avg: AVG(((100 * TA_TA_BUSY_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - min: MIN(((100 * TA_TA_BUSY_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - max: MAX(((100 * TA_TA_BUSY_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - tips: - Address Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TC_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - tips: - Data Stall: - avg: AVG(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - min: MIN(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - max: MAX(((100 * TA_DATA_STALLED_BY_TC_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - tips: - Data-Processor → Address Stall: - avg: AVG(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - min: MIN(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - max: MAX(((100 * TA_ADDR_STALLED_BY_TD_CYCLES_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - Sequencer → TA Address Stall: - avg: None - min: None - max: None - unit: (Cycles + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - Sequencer → TA Command Stall: - avg: None - min: None - max: None - unit: (Cycles + $normUnit) - tips: - # TODO: Fix baseline comparision logic to handle non existent metrics, then - Sequencer → TA Data Stall: - avg: None - min: None - max: None - unit: (Cycles + $normUnit) - tips: - Total Instructions: - avg: AVG((TA_TOTAL_WAVEFRONTS_sum / $denom)) - min: MIN((TA_TOTAL_WAVEFRONTS_sum / $denom)) - max: MAX((TA_TOTAL_WAVEFRONTS_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Global/Generic Instructions: - avg: AVG((TA_FLAT_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WAVEFRONTS_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Global/Generic Read Instructions: - avg: AVG((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_READ_WAVEFRONTS_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Global/Generic Read Instructions for LDS: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Instructions + $normUnit) - tips: - Global/Generic Write Instructions: - avg: AVG((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_WRITE_WAVEFRONTS_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Global/Generic Atomic Instructions: - avg: AVG((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - min: MIN((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - max: MAX((TA_FLAT_ATOMIC_WAVEFRONTS_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Spill/Stack Instructions: - avg: AVG((TA_BUFFER_WAVEFRONTS_sum / $denom)) - min: MIN((TA_BUFFER_WAVEFRONTS_sum / $denom)) - max: MAX((TA_BUFFER_WAVEFRONTS_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Spill/Stack Read Instructions: - 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: (Instructions + $normUnit) - tips: - Spill/Stack Read Instructions for LDS: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Instructions + $normUnit) - tips: - Spill/Stack Write Instructions: - 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: (Instructions + $normUnit) - tips: - Spill/Stack Atomic Instructions: - 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: (Instructions + $normUnit) - tips: - Spill/Stack Total Cycles: - avg: AVG((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - min: MIN((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - max: MAX((TA_BUFFER_TOTAL_CYCLES_sum / $denom)) - unit: (Cycles + $normUnit) - tips: - Spill/Stack Coalesced Read: - avg: AVG((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)) - unit: (Cycles + $normUnit) - tips: - Spill/Stack Coalesced Write: - avg: AVG((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)) - unit: (Cycles + $normUnit) - tips: - - - metric_table: - id: 1502 - title: Data-Return Path - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Data-Return Busy: - avg: AVG(((100 * TD_TD_BUSY_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - min: MIN(((100 * TD_TD_BUSY_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - max: MAX(((100 * TD_TD_BUSY_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - tips: - Cache RAM → Data-Return Stall: - avg: AVG(((100 * TD_TC_STALL_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - min: MIN(((100 * TD_TC_STALL_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - max: MAX(((100 * TD_TC_STALL_sum) / ($GRBM_GUI_ACTIVE_PER_XCD * $cu_per_gpu))) - unit: pct - tips: - Workgroup manager → Data-Return Stall: - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: pct - tips: - Coalescable Instructions: - avg: AVG((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - min: MIN((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - max: MAX((TD_COALESCABLE_WAVEFRONT_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Read Instructions: - avg: AVG((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - min: MIN((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - max: MAX((((TD_LOAD_WAVEFRONT_sum - TD_STORE_WAVEFRONT_sum) - TD_ATOMIC_WAVEFRONT_sum) - / $denom)) - unit: (Instructions + $normUnit) - tips: - Write Instructions: - avg: AVG((TD_STORE_WAVEFRONT_sum / $denom)) - min: MIN((TD_STORE_WAVEFRONT_sum / $denom)) - max: MAX((TD_STORE_WAVEFRONT_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Atomic Instructions: - avg: AVG((TD_ATOMIC_WAVEFRONT_sum / $denom)) - min: MIN((TD_ATOMIC_WAVEFRONT_sum / $denom)) - max: MAX((TD_ATOMIC_WAVEFRONT_sum / $denom)) - unit: (Instructions + $normUnit) - tips: - Write Ack Instructions: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Instructions + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1600_L1_cache.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1600_L1_cache.yaml deleted file mode 100644 index 03fb3cf17d..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1600_L1_cache.yaml +++ /dev/null @@ -1,486 +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: 1600 - title: Vector L1 Data Cache - data source: - - metric_table: - id: 1601 - title: Speed-of-Light - header: - metric: Metric - value: Avg - unit: Unit - tips: Tips - metric: - Hit rate: - 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_TOTAL_CACHE_ACCESSES_sum)) if (TCP_TOTAL_CACHE_ACCESSES_sum != 0) else - None)) - unit: Pct of Peak - tips: - Bandwidth: - value: ((100 * AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / (End_Timestamp - Start_Timestamp)))) - / ((($max_sclk / 1000) * 64) * $cu_per_gpu)) - 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: - comparable: false # for now - cli_style: simple_bar - - - metric_table: - id: 1602 - title: L1D Cache Stalls (%) - header: - metric: Metric - expr: Expression - tips: Tips - metric: - Stalled on L2 Data: - expr: - (((100 * TCP_PENDING_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None) - tips: - Stalled on L2 Req: - expr: - (((100 * TCP_TCR_TCP_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) if (TCP_GATE_EN1_sum - != 0) else None) - tips: - Stalled on Address: - expr: - None - tips: - Stalled on Data: - expr: - None - tips: - Stalled on Latency FIFO: - expr: - None - tips: - Stalled on Request FIFO: - expr: - None - tips: - Stalled on Read Return: - expr: - None - tips: - Tag RAM Stall (Read): - expr: - (((100 * TCP_READ_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None) - tips: - Tag RAM Stall (Write): - expr: - (((100 * TCP_WRITE_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None) - tips: - Tag RAM Stall (Atomic): - expr: - (((100 * TCP_ATOMIC_TAGCONFLICT_STALL_CYCLES_sum) / TCP_GATE_EN1_sum) - if (TCP_GATE_EN1_sum != 0) else None) - tips: - cli_style: simple_box - - - metric_table: - id: 1603 - title: L1D Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Total Req: - avg: AVG((TCP_TOTAL_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCP_TOTAL_READ_sum / $denom)) - min: MIN((TCP_TOTAL_READ_sum / $denom)) - max: MAX((TCP_TOTAL_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCP_TOTAL_WRITE_sum / $denom)) - min: MIN((TCP_TOTAL_WRITE_sum / $denom)) - max: MAX((TCP_TOTAL_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - min: MIN(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - max: MAX(((TCP_TOTAL_ATOMIC_WITH_RET_sum + TCP_TOTAL_ATOMIC_WITHOUT_RET_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - Cache BW: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom)) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom)) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum * 64) / $denom)) - unit: (Bytes + $normUnit) - 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: - avg: AVG((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - min: MIN((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - max: MAX((TCP_TOTAL_CACHE_ACCESSES_sum / $denom)) - unit: (Req + $normUnit) - tips: - Cache Hits: - avg: AVG(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - min: MIN(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - max: MAX(((TCP_TOTAL_CACHE_ACCESSES_sum - (((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)) - unit: (Req + $normUnit) - tips: - Invalidations: - avg: AVG((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - min: MIN((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - max: MAX((TCP_TOTAL_WRITEBACK_INVALIDATES_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 BW: - 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)) - 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)) - 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)) - unit: (Bytes + $normUnit) - tips: - Tag RAM 0 Req: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Req + $normUnit) - tips: - Tag RAM 1 Req: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Req + $normUnit) - tips: - Tag RAM 2 Req: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Req + $normUnit) - tips: - Tag RAM 3 Req: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Req + $normUnit) - tips: - L1-L2 Read: - avg: AVG((TCP_TCC_READ_REQ_sum / $denom)) - min: MIN((TCP_TCC_READ_REQ_sum / $denom)) - max: MAX((TCP_TCC_READ_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Write: - avg: AVG((TCP_TCC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - L1-L2 Atomic: - avg: AVG(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - min: MIN(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - max: MAX(((TCP_TCC_ATOMIC_WITH_RET_REQ_sum + TCP_TCC_ATOMIC_WITHOUT_RET_REQ_sum) - / $denom)) - unit: (Req + $normUnit) - tips: - L1 Access Latency: - avg: AVG(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - min: MIN(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - max: MAX(((TCP_TCP_LATENCY_sum / TCP_TA_TCP_STATE_READ_sum) if (TCP_TA_TCP_STATE_READ_sum - != 0) else None)) - unit: Cycles - tips: - L1-L2 Read Latency: - avg: 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)) - min: MIN(((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)) - max: MAX(((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)) - unit: Cycles - tips: - L1-L2 Write Latency: - avg: 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)) - min: MIN(((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)) - max: MAX(((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)) - unit: Cycles - tips: - - - metric_table: - id: 1604 - title: L1D - L2 Transactions - header: - metric: Metric - xfer: Xfer - coherency: Coherency - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - NC - Read: - xfer: Read - coherency: NC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - UC - Read: - xfer: Read - coherency: UC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - CC - Read: - xfer: Read - coherency: CC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - RW - Read: - xfer: Read - coherency: RW - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - RW - Write: - xfer: Write - coherency: RW - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - NC - Write: - xfer: Write - coherency: NC - avg: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC - Write: - xfer: Write - coherency: UC - avg: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_UC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC - Write: - xfer: Write - coherency: CC - avg: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - min: MIN((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - max: MAX((TCP_TCC_CC_WRITE_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - NC - Atomic: - xfer: Atomic - coherency: NC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - UC - Atomic: - xfer: Atomic - coherency: UC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - CC - Atomic: - xfer: Atomic - coherency: CC - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - RW - Atomic: - xfer: Atomic - coherency: RW - avg: None # No perf counter - min: None # No perf counter - max: None # No perf counter - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1605 - title: L1D Addr Translation - header: - metric: Metric - avg: Avg - min: Min - max: Max - units: Units - tips: Tips - metric: - Req: - avg: AVG((TCP_UTCL1_REQUEST_sum / $denom)) - min: MIN((TCP_UTCL1_REQUEST_sum / $denom)) - max: MAX((TCP_UTCL1_REQUEST_sum / $denom)) - units: (Req + $normUnit) - tips: - Inflight Req: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Req + $normUnit) - tips: - Hit Ratio: - avg: AVG((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - min: MIN((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - max: MAX((((100 * TCP_UTCL1_TRANSLATION_HIT_sum) / TCP_UTCL1_REQUEST_sum) if - (TCP_UTCL1_REQUEST_sum != 0) else None)) - units: pct - tips: - Hits: - avg: AVG((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_HIT_sum / $denom)) - units: (Req + $normUnit) - tips: - Translation Misses: - avg: AVG((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_TRANSLATION_MISS_sum / $denom)) - units: (Req + $normUnit) - tips: - Misses under Translation Miss: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Req + $normUnit) - tips: - Permission Misses: - avg: AVG((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - min: MIN((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - max: MAX((TCP_UTCL1_PERMISSION_MISS_sum / $denom)) - units: (Req + $normUnit) - tips: - - metric_table: - id: 1606 - title: L1D Addr Translation Stalls - header: - metric: Metric - avg: Avg - min: Min - max: Max - units: Units - tips: Tips - metric: - Cache Full Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Cycles + $normUnit) - tips: - Cache Miss Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Cycles + $normUnit) - tips: - Serialization Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Cycles + $normUnit) - tips: - Thrashing Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Cycles + $normUnit) - tips: - Latency FIFO Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Cycles + $normUnit) - tips: - Resident Page Full Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Cycles + $normUnit) - tips: - UTCL2 Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - units: (Cycles + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1700_L2_cache.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1700_L2_cache.yaml deleted file mode 100644 index f762728210..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1700_L2_cache.yaml +++ /dev/null @@ -1,556 +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: 1700 - title: L2 Cache - data source: - - metric_table: - id: 1701 - title: Speed-of-Light - header: - metric: Metric - value: Avg - unit: Unit - tips: Tips - metric: - Utilization: - value: AVG(((TCC_BUSY_sum * 100) / (TO_INT($total_l2_chan) * $GRBM_GUI_ACTIVE_PER_XCD))) - unit: pct - tips: - Bandwidth: - value: ((100 * AVG(((TCC_REQ_sum * 64) / (End_Timestamp - Start_Timestamp)))) / ((($max_sclk / 1000) * 64) * TO_INT($total_l2_chan))) - unit: pct - tips: - Hit Rate: - value: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else 0)) - unit: pct - tips: - L2-Fabric Read BW: - value: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / (End_Timestamp - Start_Timestamp))) - unit: GB/s - tips: - L2-Fabric Write and Atomic BW: - value: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / (End_Timestamp - Start_Timestamp))) - unit: GB/s - tips: - HBM Bandwidth: - value: $hbmBandwidth - unit: GB/s - tips: - - - metric_table: - id: 1702 - title: L2 - Fabric Transactions - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Read BW: - avg: AVG((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - min: MIN((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - max: MAX((((TCC_EA_RDREQ_32B_sum * 32) + ((TCC_EA_RDREQ_sum - TCC_EA_RDREQ_32B_sum) - * 64)) / $denom)) - unit: (Bytes + $normUnit) - tips: - 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: - Write and Atomic BW: - avg: AVG((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - min: MIN((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - max: MAX((((TCC_EA_WRREQ_64B_sum * 64) + ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_64B_sum) - * 32)) / $denom)) - unit: (Bytes + $normUnit) - tips: - HBM Write and Atomic Traffic: - avg: AVG((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - min: MIN((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - max: MAX((100 * (TCC_EA_WRREQ_DRAM_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - unit: pct - tips: - Remote Write and Atomic Traffic: - 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((100 * ((TCC_EA_WRREQ_sum - TCC_EA_WRREQ_DRAM_sum) / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - 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: pct - tips: - Atomic Traffic: - avg: AVG((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - min: MIN((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - max: MAX((100 * (TCC_EA_ATOMIC_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - unit: pct - tips: - Uncached Write and Atomic Traffic: - avg: AVG((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - min: MIN((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - max: MAX((100 * (TCC_EA_WR_UNCACHED_32B_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != 0) else None)) - unit: pct - tips: - Read Latency: - avg: AVG(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_RDREQ_LEVEL_sum / TCC_EA_RDREQ_sum) if (TCC_EA_RDREQ_sum != - 0) else None)) - unit: Cycles - tips: - Write and Atomic Latency: - avg: AVG(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - min: MIN(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - max: MAX(((TCC_EA_WRREQ_LEVEL_sum / TCC_EA_WRREQ_sum) if (TCC_EA_WRREQ_sum != - 0) else None)) - unit: Cycles - tips: - Atomic Latency: - avg: AVG(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - min: MIN(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - max: MAX(((TCC_EA_ATOMIC_LEVEL_sum / TCC_EA_ATOMIC_sum) if (TCC_EA_ATOMIC_sum - != 0) else None)) - unit: Cycles - tips: - Read Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - Write Stall: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - - - metric_table: - id: 1703 - title: L2 Cache Accesses - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - 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: - Read Bandwidth: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Write Bandwidth: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Atomic Bandwidth: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Req: - avg: AVG((TCC_REQ_sum / $denom)) - min: MIN((TCC_REQ_sum / $denom)) - max: MAX((TCC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Read Req: - avg: AVG((TCC_READ_sum / $denom)) - min: MIN((TCC_READ_sum / $denom)) - max: MAX((TCC_READ_sum / $denom)) - unit: (Req + $normUnit) - tips: - Write Req: - avg: AVG((TCC_WRITE_sum / $denom)) - min: MIN((TCC_WRITE_sum / $denom)) - max: MAX((TCC_WRITE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Atomic Req: - avg: AVG((TCC_ATOMIC_sum / $denom)) - min: MIN((TCC_ATOMIC_sum / $denom)) - max: MAX((TCC_ATOMIC_sum / $denom)) - unit: (Req + $normUnit) - 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: - Bypasss Req: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Req + $normUnit) - tips: - Probe Req: - avg: AVG((TCC_PROBE_sum / $denom)) - min: MIN((TCC_PROBE_sum / $denom)) - max: MAX((TCC_PROBE_sum / $denom)) - unit: (Req + $normUnit) - tips: - Input Buffer Req: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Req + $normUnit) - tips: - Cache Hit: - avg: AVG((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - min: MIN((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - max: MAX((((100 * TCC_HIT_sum) / (TCC_HIT_sum + TCC_MISS_sum)) if ((TCC_HIT_sum - + TCC_MISS_sum) != 0) else None)) - unit: pct - 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: - avg: AVG((TCC_WRITEBACK_sum / $denom)) - min: MIN((TCC_WRITEBACK_sum / $denom)) - max: MAX((TCC_WRITEBACK_sum / $denom)) - unit: (Cachelines + $normUnit) - 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: - avg: AVG((TCC_NC_REQ_sum / $denom)) - min: MIN((TCC_NC_REQ_sum / $denom)) - max: MAX((TCC_NC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - UC Req: - avg: AVG((TCC_UC_REQ_sum / $denom)) - min: MIN((TCC_UC_REQ_sum / $denom)) - max: MAX((TCC_UC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - CC Req: - avg: AVG((TCC_CC_REQ_sum / $denom)) - min: MIN((TCC_CC_REQ_sum / $denom)) - max: MAX((TCC_CC_REQ_sum / $denom)) - unit: (Req + $normUnit) - tips: - RW Req: - avg: None # No HW module - min: None # No HW module - max: None # No HW module - unit: (Req + $normUnit) - tips: - - - metric_table: - id: 1704 - title: L2 Cache Stalls - header: - metric: Metric - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - metric: - Stalled on Latency FIFO: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Cycles + $normUnit) - tips: - Stalled on Write Data FIFO: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Cycles + $normUnit) - tips: - Input Buffer Stalled on L2: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Cycles + $normUnit) - tips: - - - metric_table: - id: 1705 - title: L2 - Fabric Interface Stalls - header: - metric: Metric - type: Type - transaction: Transaction - avg: Avg - min: Min - max: Max - unit: Unit - tips: Tips - style: - type: simple_multi_bar - metric: - Read - PCIe Stall: - type: PCIe Stall - transaction: Read - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - Read - Infinity Fabric™ Stall: - type: Infinity Fabric™ Stall - transaction: Read - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - Read - HBM Stall: - type: HBM Stall - transaction: Read - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - Write - PCIe Stall: - type: PCIe Stall - transaction: Write - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - Write - Infinity Fabric™ Stall: - type: Infinity Fabric™ Stall - transaction: Write - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - Write - HBM Stall: - type: HBM Stall - transaction: Write - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: pct - tips: - Write - Credit Starvation: - type: Credit Starvation - transaction: Write - avg: AVG(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None)) - min: MIN(((100 * (TCC_TOO_MANY_EA_WRREQS_STALL_sum / TCC_BUSY_sum)) if (TCC_BUSY_sum != 0) else None)) - 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: 1706 - 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) - 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: - 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: - 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: - Read Bandwidth - PCIe: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Read Bandwidth - Infinity Fabric™: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Read Bandwidth - HBM: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $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: - Write Bandwidth - PCIe: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Write Bandwidth - Infinity Fabric™: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Write Bandwidth - HBM: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $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: - Atomic - HBM: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Req + $normUnit) - tips: - Atomic Bandwidth - PCIe: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Atomic Bandwidth - Infinity Fabric™: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: - Atomic Bandwidth - HBM: - avg: None # Missing perfmon - min: None # Missing perfmon - max: None # Missing perfmon - unit: (Bytes + $normUnit) - tips: diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1800_L2_cache_per_channel.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1800_L2_cache_per_channel.yaml deleted file mode 100644 index 6d7e2777c7..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/1800_L2_cache_per_channel.yaml +++ /dev/null @@ -1,335 +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: 1800 - title: L2 Cache (per Channel) - data source: - - metric_table: - id: 1801 - title: Aggregate Stats (All 32 channels) - header: - metric: Metric - avg: Avg - std dev: Std Dev - min: Min - max: Max - unit: Unit - tips: Tips - metric: - L2 Cache Hit Rate: - avg: AVG(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[29] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - std dev: STD(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - min: MIN(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - max: MAX(((((((((((((((((((((((((((((((((((100 * TCC_HIT[0]) + (100 * TCC_HIT[1])) - + (100 * TCC_HIT[2])) + (100 * TCC_HIT[3])) + (100 * TCC_HIT[4])) + (100 * - TCC_HIT[5])) + (100 * TCC_HIT[6])) + (100 * TCC_HIT[7])) + (100 * TCC_HIT[8])) - + (100 * TCC_HIT[9])) + (100 * TCC_HIT[10])) + (100 * TCC_HIT[11])) + (100 - * TCC_HIT[12])) + (100 * TCC_HIT[13])) + (100 * TCC_HIT[14])) + (100 * TCC_HIT[15])) - + (100 * TCC_HIT[16])) + (100 * TCC_HIT[17])) + (100 * TCC_HIT[18])) + (100 - * TCC_HIT[19])) + (100 * TCC_HIT[20])) + (100 * TCC_HIT[21])) + (100 * TCC_HIT[22])) - + (100 * TCC_HIT[23])) + (100 * TCC_HIT[24])) + (100 * TCC_HIT[25])) + (100 - * TCC_HIT[26])) + (100 * TCC_HIT[27])) + (100 * TCC_HIT[28])) + (100 * TCC_HIT[29])) - + (100 * TCC_HIT[30])) + (100 * TCC_HIT[31])) / ((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31]))) if (((((((((((((((((((((((((((((((((TCC_MISS[0] - + TCC_HIT[0]) + (TCC_MISS[1] + TCC_HIT[1])) + (TCC_MISS[2] + TCC_HIT[2])) - + (TCC_MISS[3] + TCC_HIT[3])) + (TCC_MISS[4] + TCC_HIT[4])) + (TCC_MISS[5] - + TCC_HIT[5])) + (TCC_MISS[6] + TCC_HIT[6])) + (TCC_MISS[7] + TCC_HIT[7])) - + (TCC_MISS[8] + TCC_HIT[8])) + (TCC_MISS[9] + TCC_HIT[9])) + (TCC_MISS[10] - + TCC_HIT[10])) + (TCC_MISS[11] + TCC_HIT[11])) + (TCC_MISS[12] + TCC_HIT[12])) - + (TCC_MISS[13] + TCC_HIT[13])) + (TCC_MISS[14] + TCC_HIT[14])) + (TCC_MISS[15] - + TCC_HIT[15])) + (TCC_MISS[16] + TCC_HIT[16])) + (TCC_MISS[17] + TCC_HIT[17])) - + (TCC_MISS[18] + TCC_HIT[18])) + (TCC_MISS[19] + TCC_HIT[19])) + (TCC_MISS[20] - + TCC_HIT[20])) + (TCC_MISS[21] + TCC_HIT[21])) + (TCC_MISS[22] + TCC_HIT[22])) - + (TCC_MISS[23] + TCC_HIT[23])) + (TCC_MISS[24] + TCC_HIT[24])) + (TCC_MISS[25] - + TCC_HIT[25])) + (TCC_MISS[26] + TCC_HIT[26])) + (TCC_MISS[27] + TCC_HIT[27])) - + (TCC_MISS[28] + TCC_HIT[28])) + (TCC_MISS[28] + TCC_HIT[29])) + (TCC_MISS[30] - + TCC_HIT[30])) + (TCC_MISS[31] + TCC_HIT[31])) != 0) else None)) - unit: pct - tips: - # FIXME: other arggr metrics!! - - - metric_table: - id: 1802 - title: L2 Cache Hit Rate (%) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: - (((100 * TCC_HIT[::_1]) / (TCC_HIT[::_1] + TCC_MISS[::_1])) if ((TCC_HIT[::_1] - + TCC_MISS[::_1]) != 0) else None) - placeholder_range: - "::_1": 32 - cli_style: simple_box - - - metric_table: - id: 1803 - title: L2 Requests (Requests) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: (TO_INT(TCC_REQ[::_1]) / $denom) - placeholder_range: - "::_1": 32 - cli_style: simple_box - - - metric_table: - id: 1804 - title: L2 Access (Requests) - header: - metric: Metric - read req: L2 Read Req - write req: L2 Write Req - atomic req: L2 Atomic Req - metric: - "::_1": - read req: AVG((TO_INT(TCC_READ[::_1]) / $denom)) - write req: AVG((TO_INT(TCC_WRITE[::_1]) / $denom)) - atomic req: AVG((TO_INT(TCC_ATOMIC[::_1]) / $denom)) - placeholder_range: - "::_1": 32 - cli_style: simple_multiple_bar - - - metric_table: - id: 1805 - title: L2 - Fabric Access (Requests) - header: - metric: Metric - read req: L2 - Fabric Read Req - write req: L2 - Fabric Write and Atomic Req - atomic req: L2 - Fabric Atomic Req - metric: - "::_1": - read req: AVG((TO_INT(TCC_EA_RDREQ[::_1]) / $denom)) - write req: AVG((TO_INT(TCC_EA_WRREQ[::_1]) / $denom)) - atomic req: AVG((TO_INT(TCC_EA_ATOMIC[::_1]) / $denom)) - placeholder_range: - "::_1": 32 - cli_style: simple_multiple_bar - - # - metric_table: - # id: 1806 - # title: L2-EA Latency (Cycles) - # header: - # metric: Metric - # read lat: L2-EA Read - # write lat: L2-EA Write - # atomic lat: L2-EA Atomic - # metric: - # "::_1": - # read lat: - # AVG(((TCC_EA_RDREQ_LEVEL[::_1] / TCC_EA_RDREQ[::_1]) if (TCC_EA_RDREQ[::_1] - # != 0) else None)) - # write lat: - # AVG(((TCC_EA_WRREQ_LEVEL[::_1] / TCC_EA_WRREQ[::_1]) if (TCC_EA_WRREQ[::_1] - # != 0) else None)) - # atomic lat: - # AVG(((TCC_EA_ATOMIC_LEVEL[::_1] / TCC_EA_ATOMIC[::_1]) if - # (TCC_EA_ATOMIC[::_1] != 0) else 0)) - # placeholder_range: - # "::_1": 32 - # cli_style: simple_multiple_bar - - - metric_table: - id: 1806 - title: L2 - Fabric Read Latency (Cycles) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: - ((TCC_EA_RDREQ_LEVEL[::_1] / TCC_EA_RDREQ[::_1]) if (TCC_EA_RDREQ[::_1] - != 0) else None) - placeholder_range: - "::_1": 32 - cli_style: simple_box - - - metric_table: - id: 1807 - title: L2 - Fabric Write Latency (Cycles) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: - ((TCC_EA_WRREQ_LEVEL[::_1] / TCC_EA_WRREQ[::_1]) if (TCC_EA_WRREQ[::_1] - != 0) else None) - placeholder_range: - "::_1": 32 - cli_style: simple_box - - - metric_table: - id: 1808 - title: L2 - Fabric Atomic Latency (Cycles) - header: - metric: Metric - expr: Expression - metric: - "::_1": - expr: ((TCC_EA_ATOMIC_LEVEL[::_1] / TCC_EA_ATOMIC[::_1]) if - (TCC_EA_ATOMIC[::_1] != 0) else 0) - placeholder_range: - "::_1": 32 - cli_style: simple_box - - - metric_table: - id: 1809 - 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) - metric: - "::_1": - ea read stall - pcie: None # No perf counter - ea read stall - if: None # No perf counter - ea read stall - hbm: None # No perf counter - placeholder_range: - "::_1": 32 - cli_style: simple_multiple_bar - - - metric_table: - id: 1810 - title: L2 - Fabric Write 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 - metric: - "::_1": - ea write stall - pcie: None # No perf counter - ea write stall - if: None # No perf counter - ea write stall - hbm: None # No perf counter - ea write stall - starve: None # No perf counter - placeholder_range: - "::_1": 32 - cli_style: simple_multiple_bar diff --git a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/2100_pc_sampling.yaml b/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/2100_pc_sampling.yaml deleted file mode 100644 index 2e2fe60b06..0000000000 --- a/projects/rocprofiler-compute/src/rocprof_compute_soc/analysis_configs/gfx906/2100_pc_sampling.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -Panel Config: - id: 2100 - title: PC Sampling - data source: - - pc_sampling_table: - id: 2101 - title: PC Sampling - source: None # Not support - comparable: false # enable it later diff --git a/projects/rocprofiler-compute/src/utils/mi_gpu_spec.yaml b/projects/rocprofiler-compute/src/utils/mi_gpu_spec.yaml index d2280531e3..bf8159a9c1 100644 --- a/projects/rocprofiler-compute/src/utils/mi_gpu_spec.yaml +++ b/projects/rocprofiler-compute/src/utils/mi_gpu_spec.yaml @@ -21,24 +21,6 @@ # -------------------------------------------------------------------------------- mi_gpu_spec: - - gpu_series: mi50 - gpu_archs: - - gpu_arch: gfx906 - perfmon_config: - SQ: 8 - TA: 2 - TD: 2 - TCP: 4 - TCC: 4 - CPC: 2 - CPF: 2 - SPI: 6 - GRBM: 2 - GDS: 4 - models: - - gpu_model: mi50 - - gpu_model: mi60 - - gpu_series: mi100 gpu_archs: - gpu_arch: gfx908