From f4de4b05299893f01d36880028446d04ca44b322 Mon Sep 17 00:00:00 2001 From: Greg Scaffidi Date: Wed, 18 Dec 2024 13:37:36 -0600 Subject: [PATCH] Add RDC_FI_PROF_SM_ACTIVE metric. Signed-off-by: Greg Scaffidi Change-Id: I63aaf5eb05d74ba696ace2b088e17c2cfb1bd74b Signed-off-by: adapryor --- common/rdc_field.data | 1 + example/rocprofiler_example.cc | 1 + include/rdc/rdc.h | 1 + python_binding/rdc_bootstrap.py | 1 + rdc_libs/rdc_modules/rdc_rocp/RdcRocpBase.cc | 1 + 5 files changed, 5 insertions(+) diff --git a/common/rdc_field.data b/common/rdc_field.data index 3fbb0b5710..ce8daa7ed6 100644 --- a/common/rdc_field.data +++ b/common/rdc_field.data @@ -138,6 +138,7 @@ FLD_DESC_ENT(RDC_FI_PROF_EVAL_FLOPS_16, "Number of fp16 OPS / ms", FLD_DESC_ENT(RDC_FI_PROF_EVAL_FLOPS_32, "Number of fp32 OPS / ms", "FLOPS_32", false) FLD_DESC_ENT(RDC_FI_PROF_EVAL_FLOPS_64, "Number of fp64 OPS / ms", "FLOPS_64", false) FLD_DESC_ENT(RDC_FI_PROF_VALU_PIPE_ISSUE_UTIL, "Percent of Active Pipe VALU", "VALU_UTILIZATION", false) +FLD_DESC_ENT(RDC_FI_PROF_SM_ACTIVE, "Ratio of Cycles with active warp on SM","VALUBusy", false) // Events FLD_DESC_ENT(RDC_EVNT_XGMI_0_NOP_TX, "NOPs sent to neighbor 0", "XGMI_NOP_0", false) diff --git a/example/rocprofiler_example.cc b/example/rocprofiler_example.cc index 48c69e94c5..3b156f0fbd 100644 --- a/example/rocprofiler_example.cc +++ b/example/rocprofiler_example.cc @@ -139,6 +139,7 @@ int run() { field_ids.push_back(RDC_FI_PROF_EVAL_FLOPS_16); field_ids.push_back(RDC_FI_PROF_EVAL_FLOPS_32); field_ids.push_back(RDC_FI_PROF_EVAL_FLOPS_64); + field_ids.push_back(RDC_FI_PROF_SM_ACTIVE); result = rdc_group_field_create(rdc_handle, field_ids.size(), field_ids.data(), field_group_name, &field_group_id); if (result != RDC_ST_OK) { diff --git a/include/rdc/rdc.h b/include/rdc/rdc.h index dc380eabdf..088d2a3f4b 100644 --- a/include/rdc/rdc.h +++ b/include/rdc/rdc.h @@ -283,6 +283,7 @@ typedef enum { RDC_FI_PROF_EVAL_FLOPS_32, RDC_FI_PROF_EVAL_FLOPS_64, RDC_FI_PROF_VALU_PIPE_ISSUE_UTIL, + RDC_FI_PROF_SM_ACTIVE, /** * @brief Raw XGMI counter events diff --git a/python_binding/rdc_bootstrap.py b/python_binding/rdc_bootstrap.py index fb23470bf7..e2796455cb 100644 --- a/python_binding/rdc_bootstrap.py +++ b/python_binding/rdc_bootstrap.py @@ -150,6 +150,7 @@ class rdc_field_t(c_int): RDC_FI_PROF_EVAL_FLOPS_32 = 809 RDC_FI_PROF_EVAL_FLOPS_64 = 810 RDC_FI_PROF_VALU_PIPE_ISSUE_UTIL = 811 + RDC_FI_PROF_SM_ACTIVE = 812 RDC_EVNT_XGMI_0_NOP_TX = 1000 RDC_EVNT_XGMI_0_REQ_TX = 1001 RDC_EVNT_XGMI_0_RESP_TX = 1002 diff --git a/rdc_libs/rdc_modules/rdc_rocp/RdcRocpBase.cc b/rdc_libs/rdc_modules/rdc_rocp/RdcRocpBase.cc index 38a9fadee4..42f5c8037a 100644 --- a/rdc_libs/rdc_modules/rdc_rocp/RdcRocpBase.cc +++ b/rdc_libs/rdc_modules/rdc_rocp/RdcRocpBase.cc @@ -119,6 +119,7 @@ RdcRocpBase::RdcRocpBase() { {RDC_FI_PROF_EVAL_FLOPS_32, "TOTAL_32_OPS"}, {RDC_FI_PROF_EVAL_FLOPS_64, "TOTAL_64_OPS"}, {RDC_FI_PROF_VALU_PIPE_ISSUE_UTIL, "ValuPipeIssueUtil"}, + {RDC_FI_PROF_SM_ACTIVE, "VALUBusy"}, }; hsa_status_t status = hsa_init();