[SWDEV-511822] Added group check to default command (#415)
Signed-off-by: Pham, Gabriel <Gabriel.Pham@amd.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
2eff0b3764
Коммит
daf74d1cd6
@@ -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})
|
||||
|
||||
@@ -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)
|
||||
|
||||
Ссылка в новой задаче
Block a user