From 0326c52ce944da9761d9f3754e8010d75f097415 Mon Sep 17 00:00:00 2001 From: "Pham, Gabriel" Date: Thu, 30 Jan 2025 04:12:08 -0500 Subject: [PATCH] [SWDEV-493207] Added amd_hsmp version to version command Signed-off-by: Pham, Gabriel --- CHANGELOG.md | 4 +++- amdsmi_cli/amdsmi_commands.py | 45 ++++++++++++++++++----------------- amdsmi_cli/amdsmi_parser.py | 6 ++--- 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9b8205241..dd4f7001c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -135,8 +135,10 @@ GPU: 0 ### Changed -- **Added amdgpu driver version to `amd-smi version` command**. +- **Added amdgpu driver version and amd_hsmp driver version to `amd-smi version` command**. - The `amd-smi version` command can now also display the amdgpu driver version using the `-g` flag. + - The amd_hsmp driver version can also be displayed using the `-c` flag. + - The new default for the `version` command is to display all the version information, including both amdgpu and amd_hsmp driver versions. ```shell amd-smi version -g diff --git a/amdsmi_cli/amdsmi_commands.py b/amdsmi_cli/amdsmi_commands.py index 848c2ee087..7f9f67637a 100644 --- a/amdsmi_cli/amdsmi_commands.py +++ b/amdsmi_cli/amdsmi_commands.py @@ -98,7 +98,9 @@ class AMDSMICommands(): sys.exit(-1) - def version(self, args, gpu_version=None): + + def version(self, args, gpu_version=None, cpu_version=None): + """Print Version String Args: @@ -107,12 +109,12 @@ class AMDSMICommands(): if gpu_version: args.gpu_version = gpu_version - # if cpu_version: - # args.cpu_version = cpu_version - # # if no args are given, display everything - # if not gpu_version and not cpu_version: - # args.gpu_version = True - # args.cpu_version = True + if cpu_version: + args.cpu_version = cpu_version + # if no args are given, display everything + if not gpu_version and not cpu_version: + args.gpu_version = True + args.cpu_version = True try: amdsmi_lib_version = amdsmi_interface.amdsmi_get_lib_version() @@ -129,7 +131,7 @@ class AMDSMICommands(): if args.gpu_version: try: gpus = amdsmi_interface.amdsmi_get_processor_handles() - if gpus: + if isinstance(gpus, list): gpu_version_info = amdsmi_interface.amdsmi_get_gpu_driver_info(gpus[0]) gpu_version_str = gpu_version_info['driver_version'] else: @@ -137,18 +139,17 @@ class AMDSMICommands(): except amdsmi_exception.AmdSmiLibraryException as e: gpu_version_str = e.get_error_info() self.logger.output['amdgpu_version'] = gpu_version_str - - # if args.cpu_version: - # try: - # cpus = amdsmi_interface.amdsmi_get_cpusocket_handles() - # if cpus: - # cpu_version_info = amdsmi_interface.amdsmi_get_amd_hsmp_deriver_version(cpus[0]) - # cpu_version_str = cpu_version_info['driver_version'] - # else: - # cpu_version_str = "N/A" - # except amdsmi_exception.AmdSmiLibraryException as e: - # cpu_version_str = e.get_error_info() - # self.logger.output['amd_hsmp_driver_version'] = cpu_version_str + if args.cpu_version: + try: + cpus = amdsmi_interface.amdsmi_get_cpusocket_handles() + if isinstance(cpus, list): + cpu_version_info = amdsmi_interface.amdsmi_get_amd_hsmp_driver_version(cpus[0]) + cpu_version_str = cpu_version_info['driver_version'] + else: + cpu_version_str = "N/A" + except amdsmi_exception.AmdSmiLibraryException as e: + cpu_version_str = e.get_error_info() + self.logger.output['amd_hsmp_driver_version'] = cpu_version_str if self.logger.is_human_readable_format(): human_readable_output = f"AMDSMI Tool: {__version__} | " \ @@ -156,8 +157,8 @@ class AMDSMICommands(): f"ROCm version: {rocm_version_str}" if args.gpu_version: human_readable_output = human_readable_output + f" | amdgpu version: {gpu_version_str}" - # if args.cpu_version: - # human_readable_output = human_readable_output + f" | amd_hsmp driver version: {cpu_version_str}" + if args.cpu_version: + human_readable_output = human_readable_output + f" | amd_hsmp driver version: {cpu_version_str}" # Custom human readable handling for version if self.logger.destination == 'stdout': print(human_readable_output) diff --git a/amdsmi_cli/amdsmi_parser.py b/amdsmi_cli/amdsmi_parser.py index ff36ae729d..e542593081 100644 --- a/amdsmi_cli/amdsmi_parser.py +++ b/amdsmi_cli/amdsmi_parser.py @@ -604,13 +604,13 @@ class AMDSMIParser(argparse.ArgumentParser): # Add Universal Arguments self._add_command_modifiers(version_parser) - # help info; CPU version code will be added back in once amd_hsmp code has been completed + # help info gpu_version_help = "Display the current amdgpu driver version" - # cpu_version_help = "Display the current amd_hsmp driver version" + cpu_version_help = "Display the current amd_hsmp driver version" # Add GPU and CPU version Arguments version_parser.add_argument('-g', '--gpu_version', action='store_true', required=False, help=gpu_version_help) - # version_parser.add_argument('-c', '--cpu_version', action='store_true', required=False, help=cpu_version_help) + version_parser.add_argument('-c', '--cpu_version', action='store_true', required=False, help=cpu_version_help) def _add_list_parser(self, subparsers: argparse._SubParsersAction, func):