diff --git a/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc b/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc index 1e62cd454b..056b25e0b0 100644 --- a/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc +++ b/projects/rdc/rdc_libs/rdc/src/RdcMetricFetcherImpl.cc @@ -610,8 +610,14 @@ rdc_status_t RdcMetricFetcherImpl::fetch_smi_field(uint32_t gpu_index, rdc_field } break; case RDC_FI_POWER_USAGE: { amdsmi_power_info_t power_info = {}; - uint32_t sensor_ind = 0; - value->status = amdsmi_get_power_info(processor_handle, sensor_ind, &power_info); +// Handle API breaking change in amdsmi commit dc4a16da6fb45d581a6e23c78d340172989418a0 +// Breaking change is only in rocm 6.4.0 (amdsmi 25.2) +// It is reverted to old signature in 6.4.1 (amdsmi 25.3) +#if (((AMDSMI_LIB_VERSION_MAJOR) == 25) && ((AMDSMI_LIB_VERSION_MINOR) == 2)) + value->status = amdsmi_get_power_info(processor_handle, 0, &power_info); +#else + value->status = amdsmi_get_power_info(processor_handle, &power_info); +#endif value->type = INTEGER; if (value->status != AMDSMI_STATUS_SUCCESS) { RDC_LOG(RDC_ERROR, "amdsmi_get_power_info failed!");