From ca59a60a9a7457752067e524a4f298ab4f8fda2a Mon Sep 17 00:00:00 2001 From: Maisam Arif Date: Mon, 31 Jul 2023 07:42:05 -0500 Subject: [PATCH] Updated Versioning corrected to amd-smi version from rocm-smi version Added newline characters in the gpu choices Updated cli versioning to 23.2.1.0 to match amd-smi Signed-off-by: Maisam Arif Change-Id: Ia6db3a281e2349e05a09209bdcfdfa5ac48e3a86 --- amdsmi_cli/README.md | 2 +- amdsmi_cli/__init__.py | 1 + amdsmi_cli/_version.py | 2 +- amdsmi_cli/amdsmi_commands.py | 5 +---- amdsmi_cli/amdsmi_helpers.py | 2 +- include/amd_smi/amdsmi.h | 6 +++--- py-interface/amdsmi_interface.py | 5 +++-- py-interface/amdsmi_wrapper.py | 6 +++--- py-interface/pyproject.toml | 8 ++++---- src/amd_smi/amd_smi.cc | 10 +++++++--- .../amd_smi_test/functional/sys_info_read.cc | 20 ++++++++++--------- tests/amd_smi_test/functional/version_read.cc | 12 ++++++----- 12 files changed, 43 insertions(+), 36 deletions(-) diff --git a/amdsmi_cli/README.md b/amdsmi_cli/README.md index 86e35b2914..21d9629818 100644 --- a/amdsmi_cli/README.md +++ b/amdsmi_cli/README.md @@ -54,7 +54,7 @@ amd-smi will report the version and current platform detected when running the c amd-smi usage: amd-smi [-h] ... -AMD System Management Interface | Version: 23.0.1.0 | Platform: Linux Baremetal +AMD System Management Interface | Version: 23.2.1.0 | Platform: Linux Baremetal optional arguments: -h, --help show this help message and exit diff --git a/amdsmi_cli/__init__.py b/amdsmi_cli/__init__.py index e69de29bb2..06eafbb554 100644 --- a/amdsmi_cli/__init__.py +++ b/amdsmi_cli/__init__.py @@ -0,0 +1 @@ +__version__ = "23.2.1.0" diff --git a/amdsmi_cli/_version.py b/amdsmi_cli/_version.py index 4e4887542a..06eafbb554 100644 --- a/amdsmi_cli/_version.py +++ b/amdsmi_cli/_version.py @@ -1 +1 @@ -__version__ = "23.0.1.1" +__version__ = "23.2.1.0" diff --git a/amdsmi_cli/amdsmi_commands.py b/amdsmi_cli/amdsmi_commands.py index 509da4bf18..b63f1cd588 100644 --- a/amdsmi_cli/amdsmi_commands.py +++ b/amdsmi_cli/amdsmi_commands.py @@ -63,10 +63,7 @@ class AMDSMICommands(): except amdsmi_exception.AmdSmiLibraryException as e: amdsmi_lib_version = e.get_error_info() - major = amdsmi_lib_version["major"] - minor = amdsmi_lib_version["minor"] - patch = amdsmi_lib_version["patch"] - amdsmi_lib_version_str = f'{major}.{minor}.{patch}' + amdsmi_lib_version_str = amdsmi_lib_version["build"] self.logger.output['tool'] = 'AMDSMI Tool' self.logger.output['version'] = f'{__version__}' diff --git a/amdsmi_cli/amdsmi_helpers.py b/amdsmi_cli/amdsmi_helpers.py index f5df6c72db..43fd42aef4 100644 --- a/amdsmi_cli/amdsmi_helpers.py +++ b/amdsmi_cli/amdsmi_helpers.py @@ -152,7 +152,7 @@ class AMDSMIHelpers(): "UUID": uuid, "Device Handle": device_handle, } - gpu_choices_str += f"ID:{gpu_id:<2} | BDF:{bdf} | UUID:{uuid}" + gpu_choices_str += f"ID:{gpu_id:<2} | BDF:{bdf} | UUID:{uuid}\n" return (gpu_choices, gpu_choices_str) diff --git a/include/amd_smi/amdsmi.h b/include/amd_smi/amdsmi.h index 38a1741dae..bbed4ab49c 100644 --- a/include/amd_smi/amdsmi.h +++ b/include/amd_smi/amdsmi.h @@ -938,11 +938,11 @@ typedef struct { * @brief This structure holds version information. */ typedef struct { + uint32_t year; //!< Last 2 digits of the Year released uint32_t major; //!< Major version uint32_t minor; //!< Minor version - uint32_t patch; //!< Patch, build or stepping version - const char *build; //!< Build string - uint32_t reserved[4]; + uint32_t release; //!< Patch, build or stepping version + const char *build; //!< Full Build version string } amdsmi_version_t; /** diff --git a/py-interface/amdsmi_interface.py b/py-interface/amdsmi_interface.py index b3f6296cfc..4df710fa62 100644 --- a/py-interface/amdsmi_interface.py +++ b/py-interface/amdsmi_interface.py @@ -1143,10 +1143,11 @@ def amdsmi_get_lib_version(): _check_res(amdsmi_wrapper.amdsmi_get_lib_version(ctypes.byref(version))) return { + "year": version.year, "major": version.major, "minor": version.minor, - "patch": version.patch, - "build": version.build.contents.value.decode("utf-8"), + "release": version.release, + "build": version.build.contents.value.decode("utf-8") } diff --git a/py-interface/amdsmi_wrapper.py b/py-interface/amdsmi_wrapper.py index 488f68854f..7209bfac24 100644 --- a/py-interface/amdsmi_wrapper.py +++ b/py-interface/amdsmi_wrapper.py @@ -1246,12 +1246,12 @@ class struct_c__SA_amdsmi_version_t(Structure): struct_c__SA_amdsmi_version_t._pack_ = 1 # source:False struct_c__SA_amdsmi_version_t._fields_ = [ + ('year', ctypes.c_uint32), ('major', ctypes.c_uint32), ('minor', ctypes.c_uint32), - ('patch', ctypes.c_uint32), - ('PADDING_0', ctypes.c_ubyte * 4), + ('release', ctypes.c_uint32), ('build', ctypes.POINTER(ctypes.c_char)), - ('reserved', ctypes.c_uint32 * 4), + ('reserved', ctypes.c_ubyte * 4), ] amdsmi_version_t = struct_c__SA_amdsmi_version_t diff --git a/py-interface/pyproject.toml b/py-interface/pyproject.toml index 2a3112d1c3..87624e2d05 100644 --- a/py-interface/pyproject.toml +++ b/py-interface/pyproject.toml @@ -10,14 +10,14 @@ name = "amdsmi" authors = [ {name = "AMD", email = "amd-smi.support@amd.com"}, ] -version = '23.0.1.1' +version = "23.2.1.0" license = {file = "amdsmi/LICENSE"} readme = {file = "amdsmi/README.md", content-type = "text/markdown"} -description = "SMI LIB - AMD GPU Monitoring Library" +description = "AMDSMI Python LIB - AMD GPU Monitoring Library" requires-python = ">=3.7" dependencies = [ - 'PyYAML >= 5.0', - 'clang >= 14.0' + "PyYAML >= 5.0", + "clang >= 14.0" ] [project.urls] diff --git a/src/amd_smi/amd_smi.cc b/src/amd_smi/amd_smi.cc index b366da4095..31d3ec95f7 100644 --- a/src/amd_smi/amd_smi.cc +++ b/src/amd_smi/amd_smi.cc @@ -1283,9 +1283,13 @@ amdsmi_status_t amdsmi_get_lib_version(amdsmi_version_t *version) { if (version == nullptr) return AMDSMI_STATUS_INVAL; - auto rstatus = rsmi_version_get( - reinterpret_cast(version)); - return amd::smi::rsmi_to_amdsmi_status(rstatus); + version->year = AMDSMI_LIB_VERSION_YEAR; + version->major = AMDSMI_LIB_VERSION_MAJOR; + version->minor = AMDSMI_LIB_VERSION_MINOR; + version->release = AMDSMI_LIB_VERSION_RELEASE; + version->build = AMDSMI_LIB_VERSION_STRING; + + return AMDSMI_STATUS_SUCCESS; } amdsmi_status_t diff --git a/tests/amd_smi_test/functional/sys_info_read.cc b/tests/amd_smi_test/functional/sys_info_read.cc index 2851618d8c..9157bf35f9 100755 --- a/tests/amd_smi_test/functional/sys_info_read.cc +++ b/tests/amd_smi_test/functional/sys_info_read.cc @@ -91,7 +91,7 @@ void TestSysInfoRead::Run(void) { uint64_t val_ui64; uint32_t val_ui32; char buffer[80]; - amdsmi_version_t ver = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, nullptr}; + amdsmi_version_t ver = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, nullptr}; TestBase::Run(); if (setup_failed_) { @@ -177,15 +177,17 @@ void TestSysInfoRead::Run(void) { } } - err = amdsmi_get_lib_version(&ver); - CHK_ERR_ASRT(err) + err = amdsmi_get_lib_version(&ver); + CHK_ERR_ASRT(err) - ASSERT_TRUE(ver.major != 0xFFFFFFFF && ver.minor != 0xFFFFFFFF && - ver.patch != 0xFFFFFFFF && ver.build != nullptr); - IF_VERB(STANDARD) { - std::cout << "\t**RocM SMI Library version: " << ver.major << "." << - ver.minor << "." << ver.patch << " (" << ver.build << ")" << std::endl; - } + ASSERT_TRUE(ver.year != 0xFFFFFFFF && ver.major != 0xFFFFFFFF && + ver.minor != 0xFFFFFFFF && ver.release != 0xFFFFFFFF && + ver.build != nullptr); + IF_VERB(STANDARD) { + std::cout << "\t**AMD SMI Library version: " << ver.year << "." << + ver.major << "." << ver.minor << "." << ver.release << + " (" << ver.build << ")" << std::endl; + } std::cout << std::setbase(10); diff --git a/tests/amd_smi_test/functional/version_read.cc b/tests/amd_smi_test/functional/version_read.cc index d44b8f88d6..22d9f9f84c 100755 --- a/tests/amd_smi_test/functional/version_read.cc +++ b/tests/amd_smi_test/functional/version_read.cc @@ -88,7 +88,7 @@ static const uint32_t kVerMaxStrLen = 80; void TestVersionRead::Run(void) { amdsmi_status_t err; - amdsmi_version_t ver = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, nullptr}; + amdsmi_version_t ver = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, nullptr}; TestBase::Run(); if (setup_failed_) { @@ -99,10 +99,12 @@ void TestVersionRead::Run(void) { err = amdsmi_get_lib_version(&ver); CHK_ERR_ASRT(err) - ASSERT_TRUE(ver.major != 0xFFFFFFFF && ver.minor != 0xFFFFFFFF && - ver.patch != 0xFFFFFFFF && ver.build != nullptr); + ASSERT_TRUE(ver.year != 0xFFFFFFFF && ver.major != 0xFFFFFFFF && + ver.minor != 0xFFFFFFFF && ver.release != 0xFFFFFFFF && + ver.build != nullptr); IF_VERB(STANDARD) { - std::cout << "\t**AMD SMI Library version: " << ver.major << "." << - ver.minor << "." << ver.patch << " (" << ver.build << ")" << std::endl; + std::cout << "\t**AMD SMI Library version: " << ver.year << "." << + ver.major << "." << ver.minor << "." << ver.release << + " (" << ver.build << ")" << std::endl; } }