[SWDEV-511822] Added group check to default command (#415)

Signed-off-by: Pham, Gabriel <Gabriel.Pham@amd.com>
Этот коммит содержится в:
Pham, Gabriel
2025-05-30 18:40:18 -05:00
коммит произвёл GitHub
родитель 2eff0b3764
Коммит daf74d1cd6
2 изменённых файлов: 29 добавлений и 13 удалений
+16 -2
Просмотреть файл
@@ -6508,19 +6508,30 @@ class AMDSMICommands():
def default(self, args):
"""Display the default amdsmi view when no args are given."""
# check groups first
if not self.group_check_printed:
self.helpers.check_required_groups()
self.group_check_printed = True
processors = amdsmi_interface.amdsmi_get_processor_handles()
version_info = {"amd-smi": "N/A",
"amdgpu version": "N/A",
"rocm version": "N/A"}
version_info['rocm version'] = amdsmi_interface.amdsmi_get_rocm_version()
version_info["amdgpu version"] = amdsmi_interface.amdsmi_get_gpu_driver_info(processors[0])
try:
version_info["amdgpu version"] = amdsmi_interface.amdsmi_get_gpu_driver_info(processors[0])
except amdsmi_exception.AmdSmiLibraryException as e:
version_info["amdgpu version"] = "N/A"
logging.debug("Failed to get driver info for gpu: %s", e.get_error_info())
version_info["amd-smi"] = f'{__version__}'
default_table_info_dict = {}
default_table_info_dict.update({"version_info": version_info})
gpu_info_list = []
all_process_list = []
# all_process_list = []
# TODO: create new logger function to display table? or modify table?
# get info for each processor to display in default output
@@ -6564,6 +6575,9 @@ class AMDSMICommands():
# bdf
try:
bdf = amdsmi_interface.amdsmi_get_gpu_device_bdf(processor)
# if the len of the bdf is not 12, then invalid values are being populated.
if len(bdf) != 12:
bdf = "N/A"
except amdsmi_exception.AmdSmiLibraryException as e:
bdf = "N/A"
gpu_info_dict.update({"bdf": bdf})
+13 -11
Просмотреть файл
@@ -958,25 +958,27 @@ class AMDSMILogger():
def print_default_output(self, output: Dict):
# some template lines
# TODO: adjust column lines to give market name more space
default_line_1 = "+------------------------------------------------------------------------------+"
default_line_2 = "|--------------------------------------+---------------------------------------|"
default_line_3 = "|======================================+=======================================|"
default_line_4 = "+--------------------------------------+---------------------------------------+"
# default_line_5 = "|==============================================================================|"
# print the version information first
amd_smi_version = output['version_info']['amd-smi']
if len(amd_smi_version) > 16:
amd_smi_version = amd_smi_version[:13] + "..."
amd_smi_version = str(output['version_info']['amd-smi'])
if len(amd_smi_version) > 20:
amd_smi_version = amd_smi_version[:17] + "..."
rocm_version = "N/A"
if output['version_info']['rocm version'][0]:
rocm_version = output['version_info']['rocm version'][1]
amdgpu_version = output['version_info']['amdgpu version']['driver_version']
rocm_version = str(output['version_info']['rocm version'][1]).ljust(8)
driver_version = output['version_info']['amdgpu version']
if driver_version == "N/A":
amdgpu_version = "N/A".ljust(8)
else:
amdgpu_version = str(driver_version['driver_version']).ljust(8)
# print GPU info
print(default_line_1)
print("| AMD SMI {0:16s} amdgpu version: {1:8s} ROCm version: {2:8s} |".format(amd_smi_version, amdgpu_version, rocm_version.ljust(8)))
print("| AMD-SMI {0:20s} amdgpu version: {1:8s} ROCm version: {2:8s} |".format(amd_smi_version.ljust(20), amdgpu_version, rocm_version))
print(default_line_2)
print("| BDF GPU-Name | Mem-Util Temp UECC Power-Usage |")
print("| GPU HIP-ID OAM-ID Partition-Mode | GFX-Util Fan Memory-Usage |")
@@ -1009,8 +1011,8 @@ class AMDSMILogger():
if power_usage != "N/A":
power_usage = f"{gpu_info['power_usage']['current_power']}/{gpu_info['power_usage']['power_limit']} W"
power_usage = str(power_usage).rjust(12)
print("| {0:12s} {1:22s} | {2:8s} {3:6s} {4:5s} {5:12s} |".format(bdf, market_name, mem_util, temp, u_ecc, power_usage))
print("| {0:12.12s} {1:22.22s} | {2:8.8s} {3:6.6s} {4:5.5s} {5:12.12s} |".format(bdf, market_name, mem_util, temp, u_ecc, power_usage))
gpu_id = str(gpu_info['gpu_id']).rjust(3)
hip_id = str(gpu_info['hip_id']).rjust(6)
oam_id = str(gpu_info['oam_id']).rjust(7)
@@ -1030,7 +1032,7 @@ class AMDSMILogger():
if mem_usage != "N/A":
mem_usage = f"{gpu_info['mem_usage']['used_vram']}/{gpu_info['mem_usage']['total_vram']} MB"
mem_usage = mem_usage.rjust(19)
print("| {0:3s} {1:6s} {2:7s} {3:14s} | {4:8s} {5:7s} {6:19s} |".format(gpu_id, hip_id, oam_id, partition_modes, gfx_util, fan, mem_usage))
print("| {0:3.3s} {1:6.6s} {2:7.7s} {3:14.14s} | {4:8.8s} {5:7.7s} {6:19.19s} |".format(gpu_id, hip_id, oam_id, partition_modes, gfx_util, fan, mem_usage))
if line_count < end:
print(default_line_2)