CLI Fixes & ESMI import handling

Signed-off-by: Maisam Arif <maisarif@amd.com>
Change-Id: I08e66d2bdbe37064fd73f42eeb9199f1e3bc3404


[ROCm/amdsmi commit: 6ec87b6a23]
Αυτή η υποβολή περιλαμβάνεται σε:
Maisam Arif
2023-10-16 19:29:17 -05:00
γονέας 0bddd17717
υποβολή 02bd64a893
2 αρχεία άλλαξαν με 25 προσθήκες και 15 διαγραφές
@@ -874,7 +874,10 @@ class AMDSMICommands():
# Get gpu_id for logging # Get gpu_id for logging
gpu_id = self.helpers.get_gpu_id_from_device_handle(args.gpu) gpu_id = self.helpers.get_gpu_id_from_device_handle(args.gpu)
logging.debug("GPU Metrics table for %s | %s", gpu_id, amdsmi_interface.amdsmi_get_gpu_metrics_info(args.gpu)) try:
logging.debug("GPU Metrics table for %s | %s", gpu_id, amdsmi_interface.amdsmi_get_gpu_metrics_info(args.gpu))
except amdsmi_exception.AmdSmiLibraryException as e:
logging.debug("Unabled to load GPU Metrics table for %s | %s", gpu_id, e.err_info)
if self.helpers.is_linux() and self.helpers.is_baremetal(): if self.helpers.is_linux() and self.helpers.is_baremetal():
if args.usage: if args.usage:
@@ -1855,6 +1858,7 @@ class AMDSMICommands():
if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM: if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM:
raise PermissionError('Command requires elevation') from e raise PermissionError('Command requires elevation') from e
raise ValueError(f"Unable to set compute partition to {args.compute_partition} on {gpu_string}") from e raise ValueError(f"Unable to set compute partition to {args.compute_partition} on {gpu_string}") from e
self.logger.store_output(args.gpu, 'computepartition', f"Successfully set compute partition to {args.compute_partition}")
if args.memory_partition: if args.memory_partition:
memory_partition = amdsmi_interface.AmdSmiMemoryPartitionType[args.memory_partition] memory_partition = amdsmi_interface.AmdSmiMemoryPartitionType[args.memory_partition]
try: try:
@@ -1863,6 +1867,8 @@ class AMDSMICommands():
if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM: if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM:
raise PermissionError('Command requires elevation') from e raise PermissionError('Command requires elevation') from e
raise ValueError(f"Unable to set memory partition to {args.memory_partition} on {gpu_string}") from e raise ValueError(f"Unable to set memory partition to {args.memory_partition} on {gpu_string}") from e
self.logger.store_output(args.gpu, 'memorypartition', f"Successfully set memory partition to {args.memory_partition}")
if multiple_devices: if multiple_devices:
self.logger.store_multiple_device_output() self.logger.store_multiple_device_output()
return # Skip printing when there are multiple devices return # Skip printing when there are multiple devices
@@ -29,20 +29,24 @@ from .amdsmi_interface import amdsmi_get_processor_handles
from .amdsmi_interface import amdsmi_get_socket_handles from .amdsmi_interface import amdsmi_get_socket_handles
from .amdsmi_interface import amdsmi_get_socket_info from .amdsmi_interface import amdsmi_get_socket_info
from .amdsmi_interface import amdsmi_get_cpusocket_handles # ESMI Dependent Functions
from .amdsmi_interface import amdsmi_get_cpusocket_info try:
from .amdsmi_interface import amdsmi_get_cpucore_handles from .amdsmi_interface import amdsmi_get_cpusocket_handles
from .amdsmi_interface import amdsmi_get_cpu_hsmp_proto_ver from .amdsmi_interface import amdsmi_get_cpusocket_info
from .amdsmi_interface import amdsmi_get_cpu_smu_fw_version from .amdsmi_interface import amdsmi_get_cpucore_handles
from .amdsmi_interface import amdsmi_get_cpu_core_energy from .amdsmi_interface import amdsmi_get_cpu_hsmp_proto_ver
from .amdsmi_interface import amdsmi_get_cpu_socket_energy from .amdsmi_interface import amdsmi_get_cpu_smu_fw_version
from .amdsmi_interface import amdsmi_get_cpu_prochot_status from .amdsmi_interface import amdsmi_get_cpu_core_energy
from .amdsmi_interface import amdsmi_get_cpu_fclk_mclk from .amdsmi_interface import amdsmi_get_cpu_socket_energy
from .amdsmi_interface import amdsmi_get_cpu_cclk_limit from .amdsmi_interface import amdsmi_get_cpu_prochot_status
from .amdsmi_interface import amdsmi_get_cpu_socket_current_active_freq_limit from .amdsmi_interface import amdsmi_get_cpu_fclk_mclk
from .amdsmi_interface import amdsmi_get_cpu_socket_freq_range from .amdsmi_interface import amdsmi_get_cpu_cclk_limit
from .amdsmi_interface import amdsmi_get_cpu_core_current_freq_limit from .amdsmi_interface import amdsmi_get_cpu_socket_current_active_freq_limit
from .amdsmi_interface import amdsmi_get_cpu_socket_power from .amdsmi_interface import amdsmi_get_cpu_socket_freq_range
from .amdsmi_interface import amdsmi_get_cpu_core_current_freq_limit
from .amdsmi_interface import amdsmi_get_cpu_socket_power
except AttributeError:
pass
from .amdsmi_interface import amdsmi_get_gpu_device_bdf from .amdsmi_interface import amdsmi_get_gpu_device_bdf
from .amdsmi_interface import amdsmi_get_gpu_device_uuid from .amdsmi_interface import amdsmi_get_gpu_device_uuid