diff --git a/projects/amdsmi/rocm_smi/src/rocm_smi.cc b/projects/amdsmi/rocm_smi/src/rocm_smi.cc index 3173e50ed4..d24adc60b0 100644 --- a/projects/amdsmi/rocm_smi/src/rocm_smi.cc +++ b/projects/amdsmi/rocm_smi/src/rocm_smi.cc @@ -2955,6 +2955,9 @@ rsmi_status_t rsmi_dev_pm_metrics_info_get(uint32_t dv_ind, CHK_SUPPORT_NAME_ONLY(num_of_metrics) std::string file_path = dev-> get_sys_file_path_by_type(amd::smi::kDevPmMetrics); + if (file_path.empty()) { + return RSMI_STATUS_NOT_SUPPORTED; + } int ret = amd::smi::present_pmmetrics( file_path.c_str(), pm_metrics, num_of_metrics); @@ -2973,6 +2976,9 @@ rsmi_status_t rsmi_dev_reg_table_info_get(uint32_t dv_ind, CHK_SUPPORT_NAME_ONLY(num_of_metrics) std::string file_path = dev-> get_sys_file_path_by_type(amd::smi::kDevRegMetrics); + if (file_path.empty()) { + return RSMI_STATUS_NOT_SUPPORTED; + } int ret = amd::smi::present_reg_state( file_path.c_str(), reg_type, reg_metrics, num_of_metrics); diff --git a/projects/amdsmi/rocm_smi/src/rocm_smi_device.cc b/projects/amdsmi/rocm_smi/src/rocm_smi_device.cc index d7d29b03bf..eeec891c99 100644 --- a/projects/amdsmi/rocm_smi/src/rocm_smi_device.cc +++ b/projects/amdsmi/rocm_smi/src/rocm_smi_device.cc @@ -738,6 +738,10 @@ std::string Device::get_sys_file_path_by_type(DevInfoTypes type) const { sysfs_path += "/device/"; sysfs_path += kDevAttribNameMap.at(type); + if (access(sysfs_path.c_str(), F_OK) != 0) { + sysfs_path.clear(); + } + return sysfs_path; } diff --git a/projects/amdsmi/tests/python_unittest/integration_test.py b/projects/amdsmi/tests/python_unittest/integration_test.py index e34cc1247b..bc65220859 100755 --- a/projects/amdsmi/tests/python_unittest/integration_test.py +++ b/projects/amdsmi/tests/python_unittest/integration_test.py @@ -50,19 +50,19 @@ def handle_exceptions(func): try: return func(*args, **kwargs) except amdsmi.AmdSmiRetryException as e: - print("**** [ERROR] | Test: " + str(func.__name__) + " | Caught AmdSmiRetryException: {}".format(e)) + print("**** Test: " + str(func.__name__) + " | Caught AmdSmiRetryException: {}".format(e)) amdsmi.amdsmi_shut_down() pass except amdsmi.AmdSmiTimeoutException as e: - print("**** [ERROR] | Test: " + str(func.__name__) + " | Caught AmdSmiTimeoutException: {}".format(e)) + print("**** Test: " + str(func.__name__) + " | Caught AmdSmiTimeoutException: {}".format(e)) amdsmi.amdsmi_shut_down() pass except amdsmi.AmdSmiLibraryException as e: - print("**** [ERROR] | Test: " + str(func.__name__) + " | Caught AmdSmiLibraryException: {}".format(e)) + print("**** Test: " + str(func.__name__) + " | Caught AmdSmiLibraryException: {}".format(e)) amdsmi.amdsmi_shut_down() pass except Exception as e: - print("**** [ERROR] | Test: " + str(func.__name__) + " | Caught unknown exception: {}".format(e)) + print("**** Test: " + str(func.__name__) + " | Caught unknown exception: {}".format(e)) amdsmi.amdsmi_shut_down() pass return wrapper @@ -610,7 +610,7 @@ class TestAmdSmiPythonInterface(unittest.TestCase): bdf = amdsmi.amdsmi_get_gpu_device_bdf(processors[i]) print("\n\n###Test Processor {}, bdf: {}".format(i, bdf)) print("\n###Test amdsmi_get_power_info \n") - power_info = amdsmi.amdsmi_get_power_info(processors[i], 0) + power_info = amdsmi.amdsmi_get_power_info(processors[i]) print(" power_info['current_socket_power'] is: {}".format( power_info['current_socket_power'])) print(" power_info['average_socket_power'] is: {}".format(