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 <module>
    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 <Charis.Poag@amd.com>
此提交包含在:
Charis Poag
2024-03-04 21:08:08 -06:00
父節點 35b561fd69
當前提交 90160a7c9c
+4 -3
查看文件
@@ -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()