rocprofiler: add valu utilization

SWDEV-475242

For the description of "FP32 Engine Activity" and "FP64 Engine Activity" in dcgm,
It seems that we do not have an equivalent to these pipe-utilizations on our hardware.

In rocprofiler, I think VALU Utilization is the closest to what we want.

Change-Id: Ibce8835ef4757084cdfd73258de6fc1606ca0158
Signed-off-by: Chen Gong <curry.gong@amd.com>


[ROCm/rdc commit: 251fcbe49d]
This commit is contained in:
Chen Gong
2024-10-28 18:02:38 +08:00
کامیت شده توسط Gong, Curry
والد 71e2727a8f
کامیت a8086b484d
4فایلهای تغییر یافته به همراه15 افزوده شده و 10 حذف شده
@@ -137,6 +137,7 @@ FLD_DESC_ENT(RDC_FI_PROF_EVAL_MEM_W_BW, "Written to video memory kb / ms
FLD_DESC_ENT(RDC_FI_PROF_EVAL_FLOPS_16, "Number of fp16 OPS / ms", "FLOPS_16", false)
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)
// Events
FLD_DESC_ENT(RDC_EVNT_XGMI_0_NOP_TX, "NOPs sent to neighbor 0", "XGMI_NOP_0", false)
@@ -277,6 +277,7 @@ typedef enum {
RDC_FI_PROF_EVAL_FLOPS_16,
RDC_FI_PROF_EVAL_FLOPS_32,
RDC_FI_PROF_EVAL_FLOPS_64,
RDC_FI_PROF_VALU_PIPE_ISSUE_UTIL,
/**
* @brief Raw XGMI counter events
@@ -138,16 +138,18 @@ class rdc_field_t(c_int):
RDC_FI_XGMI_7_WRITE_KB = 715
RDC_FI_XGMI_TOTAL_READ_KB = 716
RDC_FI_XGMI_TOTAL_WRITE_KB = 717
RDC_FI_PROF_MEAN_OCCUPANCY_PER_CU = 800
RDC_FI_PROF_MEAN_OCCUPANCY_PER_ACTIVE_CU = 801
RDC_FI_PROF_ACTIVE_CYCLES = 802
RDC_FI_PROF_ACTIVE_WAVES = 803
RDC_FI_PROF_ELAPSED_CYCLES = 804
RDC_FI_PROF_EVAL_MEM_R_BW = 805
RDC_FI_PROF_EVAL_MEM_W_BW = 806
RDC_FI_PROF_EVAL_FLOPS_16 = 807
RDC_FI_PROF_EVAL_FLOPS_32 = 808
RDC_FI_PROF_EVAL_FLOPS_64 = 809
RDC_FI_PROF_OCCUPANCY_PERCENT = 800
RDC_FI_PROF_ACTIVE_CYCLES = 801
RDC_FI_PROF_ACTIVE_WAVES = 802
RDC_FI_PROF_ELAPSED_CYCLES = 803
RDC_FI_PROF_TENSOR_ACTIVE_PERCENT = 804
RDC_FI_PROF_GPU_UTIL_PERCENT = 805
RDC_FI_PROF_EVAL_MEM_R_BW = 806
RDC_FI_PROF_EVAL_MEM_W_BW = 807
RDC_FI_PROF_EVAL_FLOPS_16 = 808
RDC_FI_PROF_EVAL_FLOPS_32 = 809
RDC_FI_PROF_EVAL_FLOPS_64 = 810
RDC_FI_PROF_VALU_PIPE_ISSUE_UTIL = 811
RDC_EVNT_XGMI_0_NOP_TX = 1000
RDC_EVNT_XGMI_0_REQ_TX = 1001
RDC_EVNT_XGMI_0_RESP_TX = 1002
@@ -258,6 +258,7 @@ RdcRocpBase::RdcRocpBase() {
{RDC_FI_PROF_EVAL_FLOPS_16, "TOTAL_16_OPS"},
{RDC_FI_PROF_EVAL_FLOPS_32, "TOTAL_32_OPS"},
{RDC_FI_PROF_EVAL_FLOPS_64, "FP64_ACTIVE"},
{RDC_FI_PROF_VALU_PIPE_ISSUE_UTIL, "ValuPipeIssueUtil"},
};
std::vector<std::string> all_fields;