From 307b8ee0853cda5880980fb1ff2bcbec3eb27d1b Mon Sep 17 00:00:00 2001 From: "Bill(Shuzhou) Liu" Date: Wed, 12 May 2021 09:59:36 -0400 Subject: [PATCH] The RDC returns power_usage 0 RDC is trying to bulk fetch power usage from gpu_metrics. If the gpu_metrics is 0, it will fallback to rsmi_dev_power_ave_get(). Change-Id: I57d165d6af0c91b39798c89eef317d4e5df2d0f6 [ROCm/rdc commit: eafb948115db7ef9683efb27d03e7a941d1bac53] --- projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc b/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc index c5fa2471b5..5b801f7858 100644 --- a/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc +++ b/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc @@ -291,6 +291,12 @@ rdc_status_t RdcMetricFetcherImpl::bulk_fetch_smi_fields( case RDC_FI_POWER_USAGE: // average_socket_power * 1000000 value.field_value.value.l_int = static_cast(gpu_metrics.average_socket_power * 1000000); + // Ignore if the power is 0, which will fallback to non-bulk fetch. + if (value.field_value.value.l_int == 0) { + RDC_LOG(RDC_DEBUG, "Bulk fetch " << value.gpu_index << ":" << + "RDC_FI_POWER_USAGE fallback to regular way."); + continue; + } break; case RDC_FI_GPU_UTIL: // average_gfx_activity value.field_value.value.l_int =