From 4536a453db1cbf1230ef80dbd03b7c34f4424a4d Mon Sep 17 00:00:00 2001 From: "Galantsev, Dmitrii" Date: Mon, 23 Jan 2023 15:21:56 -0600 Subject: [PATCH] SWDEV-342533 - Hide WIP fields Provide support for reliable metrics and hide experimental in current release. Further ROCMTools integration development is pushed out to ROCm 5.6. Change-Id: Iae7a0ed3991588c833bd8ef580b02b9c71390d55 Signed-off-by: Galantsev, Dmitrii --- README.md | 7 ++++--- common/rdc_field.data | 26 +++++++++++++------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index c1991980e1..6810a67612 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ cd /opt/rocm/rdc/bin # below requires rocmtools to be installed ./rdci dmon -u -i 0 -c 5 -e 700 ## monitor field 700 on gpu 0 for count of 5 # below is only likely to work on MI series GPUs -./rdci dmon -u -i 0 -c 5 -e 700,701,702,706 ## monitor fields 700,701,702,706 +./rdci dmon -u -i 0 -c 5 -e 700,701,702 ## monitor fields 700,701,702 ``` ## Troubleshooting rdcd @@ -185,8 +185,9 @@ ERROR, INFO, DEBUG logging levels are supported - Reading `RDC_FI_PROF_*` crashes rdcd - All `RDC_FI_PROF_*` metrics return N/A + 0. ROCMTools support is in beta. + Reading registers beyond 700-702 range is not guaranteed to work. 1. Does your GPU support selected fields? Field 700 (`RDC_FI_PROF_ELAPSED_CYCLES`) is supposed to be accessible on most GPUs. Others are mostly intended for MI series. - 2. Set `RDC_LOG=DEBUG` as stated above - 3. Is rocmtools installed? Can you find `librocmtools.so`? + 2. Is rocmtools installed? Can you find `librocmtools.so`? diff --git a/common/rdc_field.data b/common/rdc_field.data index e8d1e51d99..6985f73a24 100644 --- a/common/rdc_field.data +++ b/common/rdc_field.data @@ -81,22 +81,22 @@ FLD_DESC_ENT(RDC_FI_ECC_UMC_DED, "UMC Double Error Detection", // This doesn't map to rocprofiler counters directly // See counter_map in rdc/include/rdc_libs/rdc_modules/rdc_rocp/RdcRocpBase.h // See metrics.xml in rocmtools +// TODO: uncomment rest of the fields when implemented FLD_DESC_ENT(RDC_FI_PROF_ELAPSED_CYCLES, "Number of Elapsed Cycles over all SMs", "PROF_ELAPSED_COUNT", false) FLD_DESC_ENT(RDC_FI_PROF_ACTIVE_WAVES, "Number of Active Waves", "PROF_ACTIVE_WAVES", false) FLD_DESC_ENT(RDC_FI_PROF_ACTIVE_CYCLES, "Number of Active Cycles", "PROF_ACTIVE_CYCLES", false) -FLD_DESC_ENT(RDC_FI_PROF_CU_OCCUPANCY, "Active Waves / maximum Active Waves per CU", "PROF_CU_OCCUPANCY", false) -FLD_DESC_ENT(RDC_FI_PROF_CU_UTILIZATION, "Active Cycles / total Elapsed Cycles", "PROF_CU_UTILIZATION", false) -FLD_DESC_ENT(RDC_FI_PROF_FETCH_SIZE, "kb fetched from video memory", "PROF_FETCH_SIZE", false) -FLD_DESC_ENT(RDC_FI_PROF_WRITE_SIZE, "kb written to video memory", "PROF_WRITE_SIZE", false) -FLD_DESC_ENT(RDC_FI_PROF_FLOPS_16, "Number of fp16 OPS / second", "PROF_FLOPS_16", false) -FLD_DESC_ENT(RDC_FI_PROF_FLOPS_32, "Number of fp32 OPS / second", "PROF_FLOPS_32", false) -FLD_DESC_ENT(RDC_FI_PROF_FLOPS_64, "Number of fp64 OPS / second", "PROF_FLOPS_64", false) -// TODO: uncomment when below are implemented -FLD_DESC_ENT(RDC_FI_PROF_GFLOPS_16, "Number of fp16 GOPS / second", "PROF_GFLOPS_16", false) -FLD_DESC_ENT(RDC_FI_PROF_GFLOPS_32, "Number of fp32 GOPS / second", "PROF_GFLOPS_32", false) -FLD_DESC_ENT(RDC_FI_PROF_GFLOPS_64, "Number of fp64 GOPS / second", "PROF_GFLOPS_64", false) -FLD_DESC_ENT(RDC_FI_PROF_MEMR_BW_KBPNS, "HBM Read Bandwidth in kb/ns", "PROF_MEMR_BW_KBPNS", false) -FLD_DESC_ENT(RDC_FI_PROF_MEMW_BW_KBPNS, "HBM Write Bandwidth in kb/ns", "PROF_MEMW_BW_KBPNS", false) +//FLD_DESC_ENT(RDC_FI_PROF_CU_OCCUPANCY, "Active Waves / maximum Active Waves per CU", "PROF_CU_OCCUPANCY", false) +//FLD_DESC_ENT(RDC_FI_PROF_CU_UTILIZATION, "Active Cycles / total Elapsed Cycles", "PROF_CU_UTILIZATION", false) +//FLD_DESC_ENT(RDC_FI_PROF_FETCH_SIZE, "kb fetched from video memory", "PROF_FETCH_SIZE", false) +//FLD_DESC_ENT(RDC_FI_PROF_WRITE_SIZE, "kb written to video memory", "PROF_WRITE_SIZE", false) +//FLD_DESC_ENT(RDC_FI_PROF_FLOPS_16, "Number of fp16 OPS / second", "PROF_FLOPS_16", false) +//FLD_DESC_ENT(RDC_FI_PROF_FLOPS_32, "Number of fp32 OPS / second", "PROF_FLOPS_32", false) +//FLD_DESC_ENT(RDC_FI_PROF_FLOPS_64, "Number of fp64 OPS / second", "PROF_FLOPS_64", false) +//FLD_DESC_ENT(RDC_FI_PROF_GFLOPS_16, "Number of fp16 GOPS / second", "PROF_GFLOPS_16", false) +//FLD_DESC_ENT(RDC_FI_PROF_GFLOPS_32, "Number of fp32 GOPS / second", "PROF_GFLOPS_32", false) +//FLD_DESC_ENT(RDC_FI_PROF_GFLOPS_64, "Number of fp64 GOPS / second", "PROF_GFLOPS_64", false) +//FLD_DESC_ENT(RDC_FI_PROF_MEMR_BW_KBPNS, "HBM Read Bandwidth in kb/ns", "PROF_MEMR_BW_KBPNS", false) +//FLD_DESC_ENT(RDC_FI_PROF_MEMW_BW_KBPNS, "HBM Write Bandwidth in kb/ns", "PROF_MEMW_BW_KBPNS", false) // Events FLD_DESC_ENT(RDC_EVNT_XGMI_0_NOP_TX, "NOPs sent to neighbor 0", "XGMI_NOP_0", false)