From 90160a7c9c20a52727aba7ecf8799e08f8a2a81a Mon Sep 17 00:00:00 2001 From: Charis Poag Date: Mon, 4 Mar 2024 21:08:08 -0600 Subject: [PATCH] Fix rocm_smi library calls - [CLI] Rounded VRAM output on CLI, no diffrence in output - [python API] Fixed initializing calls which reuse initializeRsmi() calls - now we set a global reference to rocmsmi to use throughout API calls (see error below) Traceback (most recent call last): File "/home/charpoag/rocmsmi_pythonapi.py", line 9, in rocm_smi.initializeRsmi() File "/opt/rocm/libexec/rocm_smi/rocm_smi.py", line 3531, in initializeRsmi ret_init = rocmsmi.rsmi_init(0) NameError: name 'rocmsmi' is not defined Change-Id: I0eff3b8a432abf6d4344a02b9f638e1191c51a19 Signed-off-by: Charis Poag --- python_smi_tools/rocm_smi.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/python_smi_tools/rocm_smi.py b/python_smi_tools/rocm_smi.py index c007eda8bb..97936951a4 100755 --- a/python_smi_tools/rocm_smi.py +++ b/python_smi_tools/rocm_smi.py @@ -1935,7 +1935,7 @@ def showAllConcise(deviceList): if vram_used is None: mem_use_pct='Unsupported' if vram_used != None and vram_total != None and float(vram_total) != 0: - mem_use_pct = float(100 * (float(vram_used) / float(vram_total))) + mem_use_pct = round(float(100 * (float(vram_used) / float(vram_total)))) mem_use_pct = '{:<.0f}%'.format(mem_use_pct) # left aligned # values with no precision @@ -3526,6 +3526,9 @@ def doesDeviceExist(device): def initializeRsmi(): """ initializes rocmsmi if the amdgpu driver is initialized """ + global rocmsmi + # Initialize rsmiBindings + rocmsmi = initRsmiBindings(silent=PRINT_JSON) # Check if amdgpu is initialized before initializing rsmi if driverInitialized() is True: ret_init = rocmsmi.rsmi_init(0) @@ -3907,8 +3910,6 @@ if __name__ == '__main__': if args.json or args.csv: PRINT_JSON = True - # Initialize rsmiBindings - rocmsmi = initRsmiBindings(silent=PRINT_JSON) # Initialize the rocm SMI library initializeRsmi()