diff --git a/rocm_smi/example/rocm_smi_example.cc b/rocm_smi/example/rocm_smi_example.cc index 0515d75d3c..cef1fd1263 100755 --- a/rocm_smi/example/rocm_smi_example.cc +++ b/rocm_smi/example/rocm_smi_example.cc @@ -808,6 +808,10 @@ int main() { print_test_header("GPU METRICS", i); print_function_header_with_rsmi_ret(ret, "rsmi_dev_gpu_metrics_info_get(" + std::to_string(i) + ", &p)"); + std::cout << "\t**p.common_header.content_revision: " << std::dec + << p.common_header.content_revision << "\n"; + std::cout << "\t**p.common_header.format_revision: " << std::dec + << p.common_header.format_revision << "\n"; std::cout << "\t**p.average_gfxclk_frequency: " << std::dec << p.average_gfxclk_frequency << "\n"; std::cout << "\t**p.average_socclk_frequency: " << std::dec diff --git a/src/rocm_smi_gpu_metrics.cc b/src/rocm_smi_gpu_metrics.cc index b055876398..6833d35e91 100755 --- a/src/rocm_smi_gpu_metrics.cc +++ b/src/rocm_smi_gpu_metrics.cc @@ -496,10 +496,15 @@ rsmi_dev_gpu_metrics_info_get(uint32_t dv_ind, rsmi_gpu_metrics_t *smu) { // a specific version. *smu = {}; - uint8_t dev_content_revision = dev->gpu_metrics_ver().content_revision; - if (dev_content_revision != RSMI_GPU_METRICS_API_CONTENT_VER_1 || - dev_content_revision != RSMI_GPU_METRICS_API_CONTENT_VER_2 || - dev_content_revision != RSMI_GPU_METRICS_API_CONTENT_VER_3) { + bool isRevisionExpected = ((dev->gpu_metrics_ver().content_revision == 1) || + (dev->gpu_metrics_ver().content_revision == 2) || + (dev->gpu_metrics_ver().content_revision == 3)); + if (isRevisionExpected == false) { + ss << __PRETTY_FUNCTION__ << " | content revision was = " + << print_unsigned_hex_and_int(dev->gpu_metrics_ver().content_revision) + << ", expected version 1,2, or 3 | returning " + << getRSMIStatusString(RSMI_STATUS_NOT_SUPPORTED); + LOG_ERROR(ss); return RSMI_STATUS_NOT_SUPPORTED; } if (dev->gpu_metrics_ver().content_revision ==