Merge amd-dev into amd-master 20240111

Signed-off-by: guanyu12 <guanyu12@amd.com>
Change-Id: Id32f687d271216cbc5f34849008e4e29ae9afab8
This commit is contained in:
guanyu12
2024-01-11 11:29:23 +08:00
5 fájl változott, egészen pontosan 44 új sor hozzáadva és 4 régi sor törölve
+3
Fájl megtekintése
@@ -22,6 +22,7 @@ add_custom_command(
${PY_PACKAGE_DIR}/amdsmi_logger.py
${PY_PACKAGE_DIR}/amdsmi_parser.py
${PY_PACKAGE_DIR}/amdsmi_cli_exceptions.py
${PY_PACKAGE_DIR}/rocm_version.py
${PY_PACKAGE_DIR}/BDF.py
${PY_PACKAGE_DIR}/README.md
${PY_PACKAGE_DIR}/Release_Notes.md
@@ -35,6 +36,7 @@ add_custom_command(
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_logger.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_parser.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/amdsmi_cli_exceptions.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/rocm_version.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/BDF.py ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${PY_PACKAGE_DIR}/
COMMAND ln -Pf ${CMAKE_CURRENT_SOURCE_DIR}/Release_Notes.md ${PY_PACKAGE_DIR}/)
@@ -52,6 +54,7 @@ add_custom_target(
${PY_PACKAGE_DIR}/amdsmi_logger.py
${PY_PACKAGE_DIR}/amdsmi_parser.py
${PY_PACKAGE_DIR}/amdsmi_cli_exceptions.py
${PY_PACKAGE_DIR}/rocm_version.py
${PY_PACKAGE_DIR}/BDF.py
${PY_PACKAGE_DIR}/README.md
${PY_PACKAGE_DIR}/Release_Notes.md)
+3 -1
Fájl megtekintése
@@ -78,7 +78,9 @@ 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.4.0.0 | Platform: Linux Baremetal
AMD System Management Interface | Version: 23.4.0.0 | ROCm version: 6.1.0 |
Platform: Linux Baremetal
optional arguments:
-h, --help show this help message and exit
+5 -1
Fájl megtekintése
@@ -30,6 +30,7 @@ from _version import __version__
from amdsmi_helpers import AMDSMIHelpers
from amdsmi_logger import AMDSMILogger
from amdsmi_cli_exceptions import AmdSmiRequiredCommandException
from rocm_version import get_rocm_version
from amdsmi import amdsmi_interface
from amdsmi import amdsmi_exception
@@ -93,16 +94,19 @@ class AMDSMICommands():
try:
amdsmi_lib_version = amdsmi_interface.amdsmi_get_lib_version()
amdsmi_lib_version_str = f"{amdsmi_lib_version['year']}.{amdsmi_lib_version['major']}.{amdsmi_lib_version['minor']}.{amdsmi_lib_version['release']}"
rocm_version_str = get_rocm_version();
except amdsmi_exception.AmdSmiLibraryException as e:
amdsmi_lib_version_str = e.get_error_info()
self.logger.output['tool'] = 'AMDSMI Tool'
self.logger.output['version'] = f'{__version__}'
self.logger.output['amdsmi_library_version'] = f'{amdsmi_lib_version_str}'
self.logger.output['rocm_version'] = f'{rocm_version_str}'
if self.logger.is_human_readable_format():
print(f'AMDSMI Tool: {__version__} | '\
f'AMDSMI Library version: {amdsmi_lib_version_str}')
f'AMDSMI Library version: {amdsmi_lib_version_str} | ' \
f'ROCm version: {rocm_version_str}' )
elif self.logger.is_json_format() or self.logger.is_csv_format():
self.logger.print_output()
+4 -2
Fájl megtekintése
@@ -31,6 +31,7 @@ from pathlib import Path
from _version import __version__
from amdsmi_helpers import AMDSMIHelpers
from rocm_version import get_rocm_version
import amdsmi_cli_exceptions
@@ -78,13 +79,14 @@ class AMDSMIParser(argparse.ArgumentParser):
version_string = f"Version: {__version__}"
platform_string = f"Platform: {self.helpers.os_info()}"
rocm_version = get_rocm_version();
rocm_version_string = f"ROCm version: {rocm_version}"
program_name = 'amd-smi'
# Adjust argument parser options
super().__init__(
formatter_class= lambda prog: AMDSMIParserHelpFormatter(prog),
description=f"AMD System Management Interface | {version_string} | {platform_string}",
description=f"AMD System Management Interface | {version_string} | {rocm_version_string} | {platform_string}",
add_help=True,
prog=program_name)
+29
Fájl megtekintése
@@ -0,0 +1,29 @@
import os
import ctypes
from pathlib import Path
# Get the ROCm version for rocm-core library
def get_rocm_version():
try:
librocm_core_file = Path(__file__).resolve().parent.parent.parent / "lib" / "librocm-core.so"
if not librocm_core_file.is_file():
return "N/A"
# python binding
librocm_core = ctypes.CDLL(librocm_core_file)
VerErrors = ctypes.c_uint32
get_rocm_core_version = librocm_core.getROCmVersion
get_rocm_core_version.restype = VerErrors
get_rocm_core_version.argtypes = [ctypes.POINTER(ctypes.c_uint32), ctypes.POINTER(ctypes.c_uint32),ctypes.POINTER(ctypes.c_uint32)]
# call the function
major = ctypes.c_uint32()
minor = ctypes.c_uint32()
patch = ctypes.c_uint32()
if get_rocm_core_version(ctypes.byref(major), ctypes.byref(minor),ctypes.byref(patch)) == 0:
return "%d.%d.%d" % (major.value, minor.value, patch.value)
return "N/A"
except:
return "N/A"