From 8a1ca3d26c4ce9486bb695cd54ae5967f8e803ad Mon Sep 17 00:00:00 2001 From: Ori Messinger Date: Mon, 12 Apr 2021 00:02:24 -0400 Subject: [PATCH] rocm_smi.py: Show 'Out of Spec' warning only if required Use default power cap exposed via sysfs to determine when to show 'Out of Spec" warning. Signed-off-by: Ori Messinger Change-Id: I0fa3612b50e230856b0d5a390f876b35268d9587 [ROCm/amdsmi commit: b71e07b3fb8c5071be9095c20c9d5cb9b8ca5f73] --- projects/amdsmi/python_smi_tools/rocm_smi.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/projects/amdsmi/python_smi_tools/rocm_smi.py b/projects/amdsmi/python_smi_tools/rocm_smi.py index 05b049b044..ec50c3dc2d 100755 --- a/projects/amdsmi/python_smi_tools/rocm_smi.py +++ b/projects/amdsmi/python_smi_tools/rocm_smi.py @@ -1140,8 +1140,11 @@ def setPowerOverDrive(deviceList, value, autoRespond): # Wattage input value converted to microWatt for ROCm SMI Lib new_power_cap.value = int(value) * 1000000 ret = rocmsmi.rsmi_dev_power_cap_get(device, 0, byref(current_power_cap)) - ret = rocmsmi.rsmi_dev_power_cap_set(device, 0, 0) - ret = rocmsmi.rsmi_dev_power_cap_get(device, 0, byref(default_power_cap)) + ret = rocmsmi.rsmi_dev_power_cap_default_get(device, byref(default_power_cap)) + # If rsmi_dev_power_cap_default_get fails, use manual workaround to fetch default power cap + if ret != 0: + ret = rocmsmi.rsmi_dev_power_cap_set(device, 0, 0) + ret = rocmsmi.rsmi_dev_power_cap_get(device, 0, byref(default_power_cap)) if current_power_cap.value < default_power_cap.value: current_power_cap.value = default_power_cap.value if not specWarningConfirmed and new_power_cap.value > current_power_cap.value: