Refactor gpu_metrics usage in libraries

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


[ROCm/amdsmi commit: d790ebc62b]
Cette révision appartient à :
Maisam Arif
2023-11-22 03:32:15 -06:00
Parent 662eaa6ad3
révision ff96f50145
10 fichiers modifiés avec 5296 ajouts et 177 suppressions
+6 -6
Voir le fichier
@@ -524,13 +524,13 @@ class AMDSMICommands():
if 'partition' in current_platform_args:
if args.partition:
try:
compute_partition = amdsmi_interface.amdsmi_dev_compute_partition_get(args.gpu)
compute_partition = amdsmi_interface.amdsmi_get_gpu_compute_partition(args.gpu)
except amdsmi_exception.AmdSmiLibraryException as e:
compute_partition = "N/A"
logging.debug("Failed to get compute partition info for gpu %s | %s", gpu_id, e.get_error_info())
try:
memory_partition = amdsmi_interface.amdsmi_dev_memory_partition_get(args.gpu)
memory_partition = amdsmi_interface.amdsmi_get_gpu_memory_partition(args.gpu)
except amdsmi_exception.AmdSmiLibraryException as e:
memory_partition = "N/A"
logging.debug("Failed to get memory partition info for gpu %s | %s", gpu_id, e.get_error_info())
@@ -1943,7 +1943,7 @@ class AMDSMICommands():
if args.compute_partition:
compute_partition = amdsmi_interface.AmdSmiComputePartitionType[args.compute_partition]
try:
amdsmi_interface.amdsmi_dev_compute_partition_set(args.gpu, compute_partition)
amdsmi_interface.amdsmi_set_gpu_compute_partition(args.gpu, compute_partition)
except amdsmi_exception.AmdSmiLibraryException as e:
if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM:
raise PermissionError('Command requires elevation') from e
@@ -1952,7 +1952,7 @@ class AMDSMICommands():
if args.memory_partition:
memory_partition = amdsmi_interface.AmdSmiMemoryPartitionType[args.memory_partition]
try:
amdsmi_interface.amdsmi_dev_memory_partition_set(args.gpu, memory_partition)
amdsmi_interface.amdsmi_set_gpu_memory_partition(args.gpu, memory_partition)
except amdsmi_exception.AmdSmiLibraryException as e:
if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM:
raise PermissionError('Command requires elevation') from e
@@ -2165,7 +2165,7 @@ class AMDSMICommands():
self.logger.store_output(args.gpu, 'reset_perf_determinism', result)
if args.compute_partition:
try:
amdsmi_interface.amdsmi_dev_compute_partition_reset(args.gpu)
amdsmi_interface.amdsmi_reset_gpu_compute_partition(args.gpu)
result = 'Successfully reset compute partition'
except amdsmi_exception.AmdSmiLibraryException as e:
if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM:
@@ -2175,7 +2175,7 @@ class AMDSMICommands():
self.logger.store_output(args.gpu, 'reset_compute_partition', result)
if args.memory_partition:
try:
amdsmi_interface.amdsmi_dev_memory_partition_reset(args.gpu)
amdsmi_interface.amdsmi_reset_gpu_memory_partition(args.gpu)
result = 'Successfully reset memory partition'
except amdsmi_exception.AmdSmiLibraryException as e:
if e.get_error_code() == amdsmi_interface.amdsmi_wrapper.AMDSMI_STATUS_NO_PERM:
Fichier diff supprimé car celui-ci est trop grand Voir la Diff
+3
Voir le fichier
@@ -56,6 +56,7 @@ const std::map<rsmi_status_t, amdsmi_status_t> rsmi_status_map = {
{RSMI_STATUS_SUCCESS, AMDSMI_STATUS_SUCCESS},
{RSMI_STATUS_INVALID_ARGS, AMDSMI_STATUS_INVAL},
{RSMI_STATUS_NOT_SUPPORTED, AMDSMI_STATUS_NOT_SUPPORTED},
{RSMI_STATUS_FILE_ERROR, AMDSMI_STATUS_FILE_ERROR},
{RSMI_STATUS_PERMISSION, AMDSMI_STATUS_NO_PERM},
{RSMI_STATUS_OUT_OF_RESOURCES, AMDSMI_STATUS_OUT_OF_RESOURCES},
{RSMI_STATUS_INTERNAL_EXCEPTION, AMDSMI_STATUS_INTERNAL_EXCEPTION},
@@ -71,6 +72,8 @@ const std::map<rsmi_status_t, amdsmi_status_t> rsmi_status_map = {
{RSMI_STATUS_UNEXPECTED_DATA, AMDSMI_STATUS_UNEXPECTED_DATA},
{RSMI_STATUS_BUSY, AMDSMI_STATUS_BUSY},
{RSMI_STATUS_REFCOUNT_OVERFLOW, AMDSMI_STATUS_REFCOUNT_OVERFLOW},
{RSMI_STATUS_SETTING_UNAVAILABLE, AMDSMI_STATUS_SETTING_UNAVAILABLE},
{RSMI_STATUS_AMDGPU_RESTART_ERR, AMDSMI_STATUS_AMDGPU_RESTART_ERR},
{RSMI_STATUS_UNKNOWN_ERROR, AMDSMI_STATUS_UNKNOWN_ERROR},
};
Fichier diff supprimé car celui-ci est trop grand Voir la Diff
+53 -1
Voir le fichier
@@ -130,7 +130,6 @@ from .amdsmi_interface import amdsmi_get_gpu_volt_metric
# # Clock, Power and Performance Query
from .amdsmi_interface import amdsmi_get_utilization_count
from .amdsmi_interface import amdsmi_get_gpu_perf_level
from .amdsmi_interface import amdsmi_set_gpu_perf_determinism_mode
from .amdsmi_interface import amdsmi_get_gpu_overdrive_level
from .amdsmi_interface import amdsmi_get_clk_freq
from .amdsmi_interface import amdsmi_get_gpu_od_volt_info
@@ -195,6 +194,59 @@ from .amdsmi_interface import amdsmi_topo_get_link_type
from .amdsmi_interface import amdsmi_is_P2P_accessible
from .amdsmi_interface import amdsmi_get_xgmi_info
# # Individual GPU Metrics Functions
from .amdsmi_interface import amdsmi_get_gpu_metrics_temp_hotspot
from .amdsmi_interface import amdsmi_get_gpu_metrics_temp_mem
from .amdsmi_interface import amdsmi_get_gpu_metrics_temp_vrsoc
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_socket_power
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_gfx_activity
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_umc_activity
from .amdsmi_interface import amdsmi_get_gpu_metrics_energy_acc
from .amdsmi_interface import amdsmi_get_gpu_metrics_system_clock_counter
from .amdsmi_interface import amdsmi_get_gpu_metrics_firmware_timestamp
from .amdsmi_interface import amdsmi_get_gpu_metrics_throttle_status
from .amdsmi_interface import amdsmi_get_gpu_metrics_pcie_link_width
from .amdsmi_interface import amdsmi_get_gpu_metrics_pcie_link_speed
from .amdsmi_interface import amdsmi_get_gpu_metrics_xgmi_link_width
from .amdsmi_interface import amdsmi_get_gpu_metrics_xgmi_link_speed
from .amdsmi_interface import amdsmi_get_gpu_metrics_gfxclk_lock_status
from .amdsmi_interface import amdsmi_get_gpu_metrics_gfx_activity_acc
from .amdsmi_interface import amdsmi_get_gpu_metrics_mem_activity_acc
from .amdsmi_interface import amdsmi_get_gpu_metrics_pcie_bandwidth_acc
from .amdsmi_interface import amdsmi_get_gpu_metrics_pcie_bandwidth_inst
from .amdsmi_interface import amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc
from .amdsmi_interface import amdsmi_get_gpu_metrics_pcie_replay_count_acc
from .amdsmi_interface import amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_uclk
from .amdsmi_interface import amdsmi_get_gpu_metrics_temp_hbm
from .amdsmi_interface import amdsmi_get_gpu_metrics_vcn_activity
from .amdsmi_interface import amdsmi_get_gpu_metrics_xgmi_read_data
from .amdsmi_interface import amdsmi_get_gpu_metrics_xgmi_write_data
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_gfxclk
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_socclk
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_vclk0
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_dclk0
from .amdsmi_interface import amdsmi_get_gpu_metrics_temp_edge
from .amdsmi_interface import amdsmi_get_gpu_metrics_temp_vrgfx
from .amdsmi_interface import amdsmi_get_gpu_metrics_temp_vrmem
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_mm_activity
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_vclk1
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_dclk1
from .amdsmi_interface import amdsmi_get_gpu_metrics_indep_throttle_status
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_socket_power
from .amdsmi_interface import amdsmi_get_gpu_metrics_curr_fan_speed
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_gfx_clock_frequency
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_soc_clock_frequency
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_uclock_frequency
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_vclock0_frequency
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_dclock0_frequency
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_vclock1_frequency
from .amdsmi_interface import amdsmi_get_gpu_metrics_avg_dclock1_frequency
from .amdsmi_interface import amdsmi_get_gpu_metrics_volt_soc
from .amdsmi_interface import amdsmi_get_gpu_metrics_volt_gfx
from .amdsmi_interface import amdsmi_get_gpu_metrics_volt_mem
from .amdsmi_interface import amdsmi_get_gpu_metrics_header_info
# # Enums
from .amdsmi_interface import AmdSmiInitFlags
from .amdsmi_interface import AmdSmiContainerTypes
Fichier diff supprimé car celui-ci est trop grand Voir la Diff
+297 -47
Voir le fichier
@@ -284,6 +284,8 @@ amdsmi_status_t__enumvalues = {
51: 'AMDSMI_NO_DRV',
52: 'AMDSMI_FILE_NOT_FOUND',
53: 'AMDSMI_ARG_PTR_NULL',
54: 'AMDSMI_STATUS_AMDGPU_RESTART_ERR',
55: 'AMDSMI_STATUS_SETTING_UNAVAILABLE',
4294967294: 'AMDSMI_STATUS_MAP_ERROR',
4294967295: 'AMDSMI_STATUS_UNKNOWN_ERROR',
}
@@ -326,6 +328,8 @@ AMDSMI_HSMP_TIMEOUT = 50
AMDSMI_NO_DRV = 51
AMDSMI_FILE_NOT_FOUND = 52
AMDSMI_ARG_PTR_NULL = 53
AMDSMI_STATUS_AMDGPU_RESTART_ERR = 54
AMDSMI_STATUS_SETTING_UNAVAILABLE = 55
AMDSMI_STATUS_MAP_ERROR = 4294967294
AMDSMI_STATUS_UNKNOWN_ERROR = 4294967295
amdsmi_status_t = ctypes.c_uint32 # enum
@@ -1479,10 +1483,34 @@ struct_amdsmi_gpu_metrics_t._fields_ = [
('current_fan_speed', ctypes.c_uint16),
('pcie_link_width', ctypes.c_uint16),
('pcie_link_speed', ctypes.c_uint16),
('padding', ctypes.c_uint16),
('PADDING_0', ctypes.c_ubyte * 2),
('gfx_activity_acc', ctypes.c_uint32),
('mem_activity_acc', ctypes.c_uint32),
('temperature_hbm', ctypes.c_uint16 * 4),
('firmware_timestamp', ctypes.c_uint64),
('voltage_soc', ctypes.c_uint16),
('voltage_gfx', ctypes.c_uint16),
('voltage_mem', ctypes.c_uint16),
('PADDING_1', ctypes.c_ubyte * 2),
('indep_throttle_status', ctypes.c_uint64),
('current_socket_power', ctypes.c_uint16),
('vcn_activity', ctypes.c_uint16 * 4),
('PADDING_2', ctypes.c_ubyte * 2),
('gfxclk_lock_status', ctypes.c_uint32),
('xgmi_link_width', ctypes.c_uint16),
('xgmi_link_speed', ctypes.c_uint16),
('PADDING_3', ctypes.c_ubyte * 4),
('pcie_bandwidth_acc', ctypes.c_uint64),
('pcie_bandwidth_inst', ctypes.c_uint64),
('pcie_l0_to_recov_count_acc', ctypes.c_uint64),
('pcie_replay_count_acc', ctypes.c_uint64),
('pcie_replay_rover_count_acc', ctypes.c_uint64),
('xgmi_read_data_acc', ctypes.c_uint64 * 8),
('xgmi_write_data_acc', ctypes.c_uint64 * 8),
('current_gfxclks', ctypes.c_uint16 * 8),
('current_socclks', ctypes.c_uint16 * 4),
('current_vclk0s', ctypes.c_uint16 * 4),
('current_dclk0s', ctypes.c_uint16 * 4),
]
amdsmi_gpu_metrics_t = struct_amdsmi_gpu_metrics_t
@@ -1883,24 +1911,24 @@ amdsmi_topo_get_link_type.argtypes = [amdsmi_processor_handle, amdsmi_processor_
amdsmi_is_P2P_accessible = _libraries['libamd_smi.so'].amdsmi_is_P2P_accessible
amdsmi_is_P2P_accessible.restype = amdsmi_status_t
amdsmi_is_P2P_accessible.argtypes = [amdsmi_processor_handle, amdsmi_processor_handle, ctypes.POINTER(ctypes.c_bool)]
amdsmi_dev_compute_partition_get = _libraries['libamd_smi.so'].amdsmi_dev_compute_partition_get
amdsmi_dev_compute_partition_get.restype = amdsmi_status_t
amdsmi_dev_compute_partition_get.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_char), uint32_t]
amdsmi_dev_compute_partition_set = _libraries['libamd_smi.so'].amdsmi_dev_compute_partition_set
amdsmi_dev_compute_partition_set.restype = amdsmi_status_t
amdsmi_dev_compute_partition_set.argtypes = [amdsmi_processor_handle, amdsmi_compute_partition_type_t]
amdsmi_dev_compute_partition_reset = _libraries['libamd_smi.so'].amdsmi_dev_compute_partition_reset
amdsmi_dev_compute_partition_reset.restype = amdsmi_status_t
amdsmi_dev_compute_partition_reset.argtypes = [amdsmi_processor_handle]
amdsmi_dev_memory_partition_get = _libraries['libamd_smi.so'].amdsmi_dev_memory_partition_get
amdsmi_dev_memory_partition_get.restype = amdsmi_status_t
amdsmi_dev_memory_partition_get.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_char), uint32_t]
amdsmi_dev_memory_partition_set = _libraries['libamd_smi.so'].amdsmi_dev_memory_partition_set
amdsmi_dev_memory_partition_set.restype = amdsmi_status_t
amdsmi_dev_memory_partition_set.argtypes = [amdsmi_processor_handle, amdsmi_memory_partition_type_t]
amdsmi_dev_memory_partition_reset = _libraries['libamd_smi.so'].amdsmi_dev_memory_partition_reset
amdsmi_dev_memory_partition_reset.restype = amdsmi_status_t
amdsmi_dev_memory_partition_reset.argtypes = [amdsmi_processor_handle]
amdsmi_get_gpu_compute_partition = _libraries['libamd_smi.so'].amdsmi_get_gpu_compute_partition
amdsmi_get_gpu_compute_partition.restype = amdsmi_status_t
amdsmi_get_gpu_compute_partition.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_char), uint32_t]
amdsmi_set_gpu_compute_partition = _libraries['libamd_smi.so'].amdsmi_set_gpu_compute_partition
amdsmi_set_gpu_compute_partition.restype = amdsmi_status_t
amdsmi_set_gpu_compute_partition.argtypes = [amdsmi_processor_handle, amdsmi_compute_partition_type_t]
amdsmi_reset_gpu_compute_partition = _libraries['libamd_smi.so'].amdsmi_reset_gpu_compute_partition
amdsmi_reset_gpu_compute_partition.restype = amdsmi_status_t
amdsmi_reset_gpu_compute_partition.argtypes = [amdsmi_processor_handle]
amdsmi_get_gpu_memory_partition = _libraries['libamd_smi.so'].amdsmi_get_gpu_memory_partition
amdsmi_get_gpu_memory_partition.restype = amdsmi_status_t
amdsmi_get_gpu_memory_partition.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_char), uint32_t]
amdsmi_set_gpu_memory_partition = _libraries['libamd_smi.so'].amdsmi_set_gpu_memory_partition
amdsmi_set_gpu_memory_partition.restype = amdsmi_status_t
amdsmi_set_gpu_memory_partition.argtypes = [amdsmi_processor_handle, amdsmi_memory_partition_type_t]
amdsmi_reset_gpu_memory_partition = _libraries['libamd_smi.so'].amdsmi_reset_gpu_memory_partition
amdsmi_reset_gpu_memory_partition.restype = amdsmi_status_t
amdsmi_reset_gpu_memory_partition.argtypes = [amdsmi_processor_handle]
amdsmi_init_gpu_event_notification = _libraries['libamd_smi.so'].amdsmi_init_gpu_event_notification
amdsmi_init_gpu_event_notification.restype = amdsmi_status_t
amdsmi_init_gpu_event_notification.argtypes = [amdsmi_processor_handle]
@@ -1967,6 +1995,173 @@ amdsmi_get_gpu_process_info.argtypes = [amdsmi_processor_handle, amdsmi_process_
amdsmi_get_gpu_total_ecc_count = _libraries['libamd_smi.so'].amdsmi_get_gpu_total_ecc_count
amdsmi_get_gpu_total_ecc_count.restype = amdsmi_status_t
amdsmi_get_gpu_total_ecc_count.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_amdsmi_error_count_t)]
gpu_metric_temp_hbm_t = ctypes.c_uint16 * 4
gpu_metric_vcn_activity_t = ctypes.c_uint16 * 4
gpu_metric_xgmi_read_data_acc_t = ctypes.c_uint64 * 8
gpu_metric_xgmi_write_data_acc_t = ctypes.c_uint64 * 8
gpu_metric_curr_gfxclk_t = ctypes.c_uint16 * 8
gpu_metric_curr_socclk_t = ctypes.c_uint16 * 4
gpu_metric_curr_vclk0_t = ctypes.c_uint16 * 4
gpu_metric_curr_dclk0_t = ctypes.c_uint16 * 4
amdsmi_get_gpu_metrics_temp_hotspot = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_temp_hotspot
amdsmi_get_gpu_metrics_temp_hotspot.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_temp_hotspot.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_temp_mem = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_temp_mem
amdsmi_get_gpu_metrics_temp_mem.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_temp_mem.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_temp_vrsoc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_temp_vrsoc
amdsmi_get_gpu_metrics_temp_vrsoc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_temp_vrsoc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_curr_socket_power = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_socket_power
amdsmi_get_gpu_metrics_curr_socket_power.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_socket_power.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_gfx_activity = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_gfx_activity
amdsmi_get_gpu_metrics_avg_gfx_activity.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_gfx_activity.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_umc_activity = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_umc_activity
amdsmi_get_gpu_metrics_avg_umc_activity.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_umc_activity.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_energy_acc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_energy_acc
amdsmi_get_gpu_metrics_energy_acc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_energy_acc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_system_clock_counter = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_system_clock_counter
amdsmi_get_gpu_metrics_system_clock_counter.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_system_clock_counter.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_firmware_timestamp = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_firmware_timestamp
amdsmi_get_gpu_metrics_firmware_timestamp.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_firmware_timestamp.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_throttle_status = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_throttle_status
amdsmi_get_gpu_metrics_throttle_status.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_throttle_status.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_gpu_metrics_pcie_link_width = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_pcie_link_width
amdsmi_get_gpu_metrics_pcie_link_width.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_link_width.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_pcie_link_speed = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_pcie_link_speed
amdsmi_get_gpu_metrics_pcie_link_speed.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_link_speed.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_xgmi_link_width = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_xgmi_link_width
amdsmi_get_gpu_metrics_xgmi_link_width.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_link_width.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_xgmi_link_speed = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_xgmi_link_speed
amdsmi_get_gpu_metrics_xgmi_link_speed.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_link_speed.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_gfxclk_lock_status = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_gfxclk_lock_status
amdsmi_get_gpu_metrics_gfxclk_lock_status.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_gfxclk_lock_status.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_gpu_metrics_gfx_activity_acc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_gfx_activity_acc
amdsmi_get_gpu_metrics_gfx_activity_acc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_gfx_activity_acc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_gpu_metrics_mem_activity_acc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_mem_activity_acc
amdsmi_get_gpu_metrics_mem_activity_acc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_mem_activity_acc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_gpu_metrics_pcie_bandwidth_acc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_pcie_bandwidth_acc
amdsmi_get_gpu_metrics_pcie_bandwidth_acc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_bandwidth_acc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_pcie_bandwidth_inst = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_pcie_bandwidth_inst
amdsmi_get_gpu_metrics_pcie_bandwidth_inst.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_bandwidth_inst.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc
amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_pcie_replay_count_acc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_pcie_replay_count_acc
amdsmi_get_gpu_metrics_pcie_replay_count_acc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_replay_count_acc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc
amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_curr_uclk = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_uclk
amdsmi_get_gpu_metrics_curr_uclk.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_uclk.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_temp_hbm = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_temp_hbm
amdsmi_get_gpu_metrics_temp_hbm.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_temp_hbm.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16 * 4)]
amdsmi_get_gpu_metrics_vcn_activity = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_vcn_activity
amdsmi_get_gpu_metrics_vcn_activity.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_vcn_activity.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16 * 4)]
amdsmi_get_gpu_metrics_xgmi_read_data = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_xgmi_read_data
amdsmi_get_gpu_metrics_xgmi_read_data.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_read_data.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64 * 8)]
amdsmi_get_gpu_metrics_xgmi_write_data = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_xgmi_write_data
amdsmi_get_gpu_metrics_xgmi_write_data.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_write_data.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64 * 8)]
amdsmi_get_gpu_metrics_curr_gfxclk = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_gfxclk
amdsmi_get_gpu_metrics_curr_gfxclk.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_gfxclk.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16 * 8)]
amdsmi_get_gpu_metrics_curr_socclk = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_socclk
amdsmi_get_gpu_metrics_curr_socclk.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_socclk.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16 * 4)]
amdsmi_get_gpu_metrics_curr_vclk0 = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_vclk0
amdsmi_get_gpu_metrics_curr_vclk0.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_vclk0.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16 * 4)]
amdsmi_get_gpu_metrics_curr_dclk0 = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_dclk0
amdsmi_get_gpu_metrics_curr_dclk0.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_dclk0.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16 * 4)]
amdsmi_get_gpu_metrics_temp_edge = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_temp_edge
amdsmi_get_gpu_metrics_temp_edge.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_temp_edge.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_temp_vrgfx = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_temp_vrgfx
amdsmi_get_gpu_metrics_temp_vrgfx.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_temp_vrgfx.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_temp_vrmem = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_temp_vrmem
amdsmi_get_gpu_metrics_temp_vrmem.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_temp_vrmem.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_mm_activity = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_mm_activity
amdsmi_get_gpu_metrics_avg_mm_activity.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_mm_activity.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_curr_vclk1 = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_vclk1
amdsmi_get_gpu_metrics_curr_vclk1.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_vclk1.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_curr_dclk1 = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_dclk1
amdsmi_get_gpu_metrics_curr_dclk1.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_dclk1.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_indep_throttle_status = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_indep_throttle_status
amdsmi_get_gpu_metrics_indep_throttle_status.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_indep_throttle_status.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_gpu_metrics_avg_socket_power = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_socket_power
amdsmi_get_gpu_metrics_avg_socket_power.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_socket_power.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_curr_fan_speed = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_curr_fan_speed
amdsmi_get_gpu_metrics_curr_fan_speed.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_curr_fan_speed.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_gfx_clock_frequency = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_gfx_clock_frequency
amdsmi_get_gpu_metrics_avg_gfx_clock_frequency.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_gfx_clock_frequency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_soc_clock_frequency = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_soc_clock_frequency
amdsmi_get_gpu_metrics_avg_soc_clock_frequency.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_soc_clock_frequency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_uclock_frequency = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_uclock_frequency
amdsmi_get_gpu_metrics_avg_uclock_frequency.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_uclock_frequency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_vclock0_frequency = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_vclock0_frequency
amdsmi_get_gpu_metrics_avg_vclock0_frequency.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_vclock0_frequency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_dclock0_frequency = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_dclock0_frequency
amdsmi_get_gpu_metrics_avg_dclock0_frequency.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_dclock0_frequency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_vclock1_frequency = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_vclock1_frequency
amdsmi_get_gpu_metrics_avg_vclock1_frequency.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_vclock1_frequency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_avg_dclock1_frequency = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_avg_dclock1_frequency
amdsmi_get_gpu_metrics_avg_dclock1_frequency.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_avg_dclock1_frequency.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_volt_soc = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_volt_soc
amdsmi_get_gpu_metrics_volt_soc.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_volt_soc.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_volt_gfx = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_volt_gfx
amdsmi_get_gpu_metrics_volt_gfx.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_volt_gfx.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_volt_mem = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_volt_mem
amdsmi_get_gpu_metrics_volt_mem.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_volt_mem.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_header_info = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_header_info
amdsmi_get_gpu_metrics_header_info.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_header_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_amd_metrics_table_header_t)]
amdsmi_get_gpu_metrics_xcd_counter = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_xcd_counter
amdsmi_get_gpu_metrics_xcd_counter.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_xcd_counter.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint16)]
amdsmi_get_gpu_metrics_log = _libraries['libamd_smi.so'].amdsmi_get_gpu_metrics_log
amdsmi_get_gpu_metrics_log.restype = amdsmi_status_t
amdsmi_get_gpu_metrics_log.argtypes = [amdsmi_processor_handle]
amdsmi_get_cpu_core_energy = _libraries['libamd_smi.so'].amdsmi_get_cpu_core_energy
amdsmi_get_cpu_core_energy.restype = amdsmi_status_t
amdsmi_get_cpu_core_energy.argtypes = [amdsmi_processor_handle, uint32_t, ctypes.POINTER(ctypes.c_uint64)]
@@ -2157,9 +2352,9 @@ __all__ = \
'AMDSMI_RAS_ERR_STATE_SING_C', 'AMDSMI_SLOT_TYPE__CEM',
'AMDSMI_SLOT_TYPE__OAM', 'AMDSMI_SLOT_TYPE__PCIE',
'AMDSMI_SLOT_TYPE__RESERVED', 'AMDSMI_STATUS_ADDRESS_FAULT',
'AMDSMI_STATUS_API_FAILED', 'AMDSMI_STATUS_BUSY',
'AMDSMI_STATUS_DRIVER_NOT_LOADED', 'AMDSMI_STATUS_DRM_ERROR',
'AMDSMI_STATUS_FAIL_LOAD_MODULE',
'AMDSMI_STATUS_AMDGPU_RESTART_ERR', 'AMDSMI_STATUS_API_FAILED',
'AMDSMI_STATUS_BUSY', 'AMDSMI_STATUS_DRIVER_NOT_LOADED',
'AMDSMI_STATUS_DRM_ERROR', 'AMDSMI_STATUS_FAIL_LOAD_MODULE',
'AMDSMI_STATUS_FAIL_LOAD_SYMBOL', 'AMDSMI_STATUS_FILE_ERROR',
'AMDSMI_STATUS_INIT_ERROR', 'AMDSMI_STATUS_INPUT_OUT_OF_BOUNDS',
'AMDSMI_STATUS_INSUFFICIENT_SIZE',
@@ -2172,15 +2367,16 @@ __all__ = \
'AMDSMI_STATUS_NO_PERM', 'AMDSMI_STATUS_NO_SLOT',
'AMDSMI_STATUS_OUT_OF_RESOURCES',
'AMDSMI_STATUS_REFCOUNT_OVERFLOW', 'AMDSMI_STATUS_RETRY',
'AMDSMI_STATUS_SUCCESS', 'AMDSMI_STATUS_TIMEOUT',
'AMDSMI_STATUS_UNEXPECTED_DATA', 'AMDSMI_STATUS_UNEXPECTED_SIZE',
'AMDSMI_STATUS_UNKNOWN_ERROR', 'AMDSMI_TEMP_CRITICAL',
'AMDSMI_TEMP_CRITICAL_HYST', 'AMDSMI_TEMP_CRIT_MIN',
'AMDSMI_TEMP_CRIT_MIN_HYST', 'AMDSMI_TEMP_CURRENT',
'AMDSMI_TEMP_EMERGENCY', 'AMDSMI_TEMP_EMERGENCY_HYST',
'AMDSMI_TEMP_FIRST', 'AMDSMI_TEMP_HIGHEST', 'AMDSMI_TEMP_LAST',
'AMDSMI_TEMP_LOWEST', 'AMDSMI_TEMP_MAX', 'AMDSMI_TEMP_MAX_HYST',
'AMDSMI_TEMP_MIN', 'AMDSMI_TEMP_MIN_HYST', 'AMDSMI_TEMP_OFFSET',
'AMDSMI_STATUS_SETTING_UNAVAILABLE', 'AMDSMI_STATUS_SUCCESS',
'AMDSMI_STATUS_TIMEOUT', 'AMDSMI_STATUS_UNEXPECTED_DATA',
'AMDSMI_STATUS_UNEXPECTED_SIZE', 'AMDSMI_STATUS_UNKNOWN_ERROR',
'AMDSMI_TEMP_CRITICAL', 'AMDSMI_TEMP_CRITICAL_HYST',
'AMDSMI_TEMP_CRIT_MIN', 'AMDSMI_TEMP_CRIT_MIN_HYST',
'AMDSMI_TEMP_CURRENT', 'AMDSMI_TEMP_EMERGENCY',
'AMDSMI_TEMP_EMERGENCY_HYST', 'AMDSMI_TEMP_FIRST',
'AMDSMI_TEMP_HIGHEST', 'AMDSMI_TEMP_LAST', 'AMDSMI_TEMP_LOWEST',
'AMDSMI_TEMP_MAX', 'AMDSMI_TEMP_MAX_HYST', 'AMDSMI_TEMP_MIN',
'AMDSMI_TEMP_MIN_HYST', 'AMDSMI_TEMP_OFFSET',
'AMDSMI_UTILIZATION_COUNTER_FIRST',
'AMDSMI_UTILIZATION_COUNTER_LAST', 'AMDSMI_VOLT_AVERAGE',
'AMDSMI_VOLT_CURRENT', 'AMDSMI_VOLT_FIRST', 'AMDSMI_VOLT_HIGHEST',
@@ -2257,12 +2453,7 @@ __all__ = \
'amdsmi_container_types_t', 'amdsmi_counter_command_t',
'amdsmi_counter_value_t', 'amdsmi_cpu_apb_disable',
'amdsmi_cpu_apb_enable', 'amdsmi_cpusocket_handle',
'amdsmi_ddr_bw_metrics_t', 'amdsmi_dev_compute_partition_get',
'amdsmi_dev_compute_partition_reset',
'amdsmi_dev_compute_partition_set',
'amdsmi_dev_memory_partition_get',
'amdsmi_dev_memory_partition_reset',
'amdsmi_dev_memory_partition_set', 'amdsmi_dev_perf_level_t',
'amdsmi_ddr_bw_metrics_t', 'amdsmi_dev_perf_level_t',
'amdsmi_dimm_power_t', 'amdsmi_dimm_thermal_t',
'amdsmi_dpm_level_t', 'amdsmi_driver_info_t',
'amdsmi_engine_usage_t', 'amdsmi_error_count_t',
@@ -2300,6 +2491,7 @@ __all__ = \
'amdsmi_get_gpu_available_counters',
'amdsmi_get_gpu_bad_page_info', 'amdsmi_get_gpu_bdf_id',
'amdsmi_get_gpu_board_info', 'amdsmi_get_gpu_cache_info',
'amdsmi_get_gpu_compute_partition',
'amdsmi_get_gpu_compute_process_gpus',
'amdsmi_get_gpu_compute_process_info',
'amdsmi_get_gpu_compute_process_info_by_pid',
@@ -2308,9 +2500,62 @@ __all__ = \
'amdsmi_get_gpu_ecc_enabled', 'amdsmi_get_gpu_ecc_status',
'amdsmi_get_gpu_event_notification', 'amdsmi_get_gpu_fan_rpms',
'amdsmi_get_gpu_fan_speed', 'amdsmi_get_gpu_fan_speed_max',
'amdsmi_get_gpu_id', 'amdsmi_get_gpu_memory_reserved_pages',
'amdsmi_get_gpu_id', 'amdsmi_get_gpu_memory_partition',
'amdsmi_get_gpu_memory_reserved_pages',
'amdsmi_get_gpu_memory_total', 'amdsmi_get_gpu_memory_usage',
'amdsmi_get_gpu_metrics_info',
'amdsmi_get_gpu_metrics_avg_dclock0_frequency',
'amdsmi_get_gpu_metrics_avg_dclock1_frequency',
'amdsmi_get_gpu_metrics_avg_gfx_activity',
'amdsmi_get_gpu_metrics_avg_gfx_clock_frequency',
'amdsmi_get_gpu_metrics_avg_mm_activity',
'amdsmi_get_gpu_metrics_avg_soc_clock_frequency',
'amdsmi_get_gpu_metrics_avg_socket_power',
'amdsmi_get_gpu_metrics_avg_uclock_frequency',
'amdsmi_get_gpu_metrics_avg_umc_activity',
'amdsmi_get_gpu_metrics_avg_vclock0_frequency',
'amdsmi_get_gpu_metrics_avg_vclock1_frequency',
'amdsmi_get_gpu_metrics_curr_dclk0',
'amdsmi_get_gpu_metrics_curr_dclk1',
'amdsmi_get_gpu_metrics_curr_fan_speed',
'amdsmi_get_gpu_metrics_curr_gfxclk',
'amdsmi_get_gpu_metrics_curr_socclk',
'amdsmi_get_gpu_metrics_curr_socket_power',
'amdsmi_get_gpu_metrics_curr_uclk',
'amdsmi_get_gpu_metrics_curr_vclk0',
'amdsmi_get_gpu_metrics_curr_vclk1',
'amdsmi_get_gpu_metrics_energy_acc',
'amdsmi_get_gpu_metrics_firmware_timestamp',
'amdsmi_get_gpu_metrics_gfx_activity_acc',
'amdsmi_get_gpu_metrics_gfxclk_lock_status',
'amdsmi_get_gpu_metrics_header_info',
'amdsmi_get_gpu_metrics_indep_throttle_status',
'amdsmi_get_gpu_metrics_info', 'amdsmi_get_gpu_metrics_log',
'amdsmi_get_gpu_metrics_mem_activity_acc',
'amdsmi_get_gpu_metrics_pcie_bandwidth_acc',
'amdsmi_get_gpu_metrics_pcie_bandwidth_inst',
'amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc',
'amdsmi_get_gpu_metrics_pcie_link_speed',
'amdsmi_get_gpu_metrics_pcie_link_width',
'amdsmi_get_gpu_metrics_pcie_replay_count_acc',
'amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc',
'amdsmi_get_gpu_metrics_system_clock_counter',
'amdsmi_get_gpu_metrics_temp_edge',
'amdsmi_get_gpu_metrics_temp_hbm',
'amdsmi_get_gpu_metrics_temp_hotspot',
'amdsmi_get_gpu_metrics_temp_mem',
'amdsmi_get_gpu_metrics_temp_vrgfx',
'amdsmi_get_gpu_metrics_temp_vrmem',
'amdsmi_get_gpu_metrics_temp_vrsoc',
'amdsmi_get_gpu_metrics_throttle_status',
'amdsmi_get_gpu_metrics_vcn_activity',
'amdsmi_get_gpu_metrics_volt_gfx',
'amdsmi_get_gpu_metrics_volt_mem',
'amdsmi_get_gpu_metrics_volt_soc',
'amdsmi_get_gpu_metrics_xcd_counter',
'amdsmi_get_gpu_metrics_xgmi_link_speed',
'amdsmi_get_gpu_metrics_xgmi_link_width',
'amdsmi_get_gpu_metrics_xgmi_read_data',
'amdsmi_get_gpu_metrics_xgmi_write_data',
'amdsmi_get_gpu_od_volt_curve_regions',
'amdsmi_get_gpu_od_volt_info', 'amdsmi_get_gpu_overdrive_level',
'amdsmi_get_gpu_pci_bandwidth',
@@ -2355,9 +2600,10 @@ __all__ = \
'amdsmi_process_info_t', 'amdsmi_processor_handle',
'amdsmi_range_t', 'amdsmi_ras_err_state_t',
'amdsmi_ras_feature_t', 'amdsmi_reset_gpu',
'amdsmi_reset_gpu_fan', 'amdsmi_reset_gpu_xgmi_error',
'amdsmi_retired_page_record_t', 'amdsmi_set_clk_freq',
'amdsmi_set_cpu_core_boostlimit',
'amdsmi_reset_gpu_compute_partition', 'amdsmi_reset_gpu_fan',
'amdsmi_reset_gpu_memory_partition',
'amdsmi_reset_gpu_xgmi_error', 'amdsmi_retired_page_record_t',
'amdsmi_set_clk_freq', 'amdsmi_set_cpu_core_boostlimit',
'amdsmi_set_cpu_df_pstate_range',
'amdsmi_set_cpu_gmi3_link_width_range',
'amdsmi_set_cpu_pcie_link_rate',
@@ -2365,11 +2611,11 @@ __all__ = \
'amdsmi_set_cpu_socket_boostlimit',
'amdsmi_set_cpu_socket_lclk_dpm_level',
'amdsmi_set_cpu_socket_power_cap', 'amdsmi_set_cpu_xgmi_width',
'amdsmi_set_gpu_clk_range',
'amdsmi_set_gpu_clk_range', 'amdsmi_set_gpu_compute_partition',
'amdsmi_set_gpu_event_notification_mask',
'amdsmi_set_gpu_fan_speed', 'amdsmi_set_gpu_od_clk_info',
'amdsmi_set_gpu_od_volt_info', 'amdsmi_set_gpu_overdrive_level',
'amdsmi_set_gpu_pci_bandwidth',
'amdsmi_set_gpu_fan_speed', 'amdsmi_set_gpu_memory_partition',
'amdsmi_set_gpu_od_clk_info', 'amdsmi_set_gpu_od_volt_info',
'amdsmi_set_gpu_overdrive_level', 'amdsmi_set_gpu_pci_bandwidth',
'amdsmi_set_gpu_perf_determinism_mode',
'amdsmi_set_gpu_perf_level', 'amdsmi_set_gpu_power_profile',
'amdsmi_set_power_cap', 'amdsmi_shut_down',
@@ -2385,7 +2631,11 @@ __all__ = \
'amdsmi_voltage_type_t', 'amdsmi_vram_info_t',
'amdsmi_vram_type_t', 'amdsmi_vram_usage_t',
'amdsmi_vram_vendor_type_t', 'amdsmi_xgmi_info_t',
'amdsmi_xgmi_status_t', 'processor_type_t', 'size_t',
'amdsmi_xgmi_status_t', 'gpu_metric_curr_dclk0_t',
'gpu_metric_curr_gfxclk_t', 'gpu_metric_curr_socclk_t',
'gpu_metric_curr_vclk0_t', 'gpu_metric_temp_hbm_t',
'gpu_metric_vcn_activity_t', 'gpu_metric_xgmi_read_data_acc_t',
'gpu_metric_xgmi_write_data_acc_t', 'processor_type_t', 'size_t',
'struct_amd_metrics_table_header_t', 'struct_amdsmi_asic_info_t',
'struct_amdsmi_board_info_t', 'struct_amdsmi_clk_info_t',
'struct_amdsmi_counter_value_t', 'struct_amdsmi_ddr_bw_metrics_t',
+589 -6
Voir le fichier
@@ -1019,7 +1019,7 @@ amdsmi_is_P2P_accessible(amdsmi_processor_handle processor_handle_src,
// Compute Partition functions
amdsmi_status_t
amdsmi_dev_compute_partition_get(amdsmi_processor_handle processor_handle,
amdsmi_get_gpu_compute_partition(amdsmi_processor_handle processor_handle,
char *compute_partition, uint32_t len) {
AMDSMI_CHECK_INIT();
return rsmi_wrapper(rsmi_dev_compute_partition_get, processor_handle,
@@ -1027,7 +1027,7 @@ amdsmi_dev_compute_partition_get(amdsmi_processor_handle processor_handle,
}
amdsmi_status_t
amdsmi_dev_compute_partition_set(amdsmi_processor_handle processor_handle,
amdsmi_set_gpu_compute_partition(amdsmi_processor_handle processor_handle,
amdsmi_compute_partition_type_t compute_partition) {
AMDSMI_CHECK_INIT();
return rsmi_wrapper(rsmi_dev_compute_partition_set, processor_handle,
@@ -1035,14 +1035,14 @@ amdsmi_dev_compute_partition_set(amdsmi_processor_handle processor_handle,
}
amdsmi_status_t
amdsmi_dev_compute_partition_reset(amdsmi_processor_handle processor_handle) {
amdsmi_reset_gpu_compute_partition(amdsmi_processor_handle processor_handle) {
AMDSMI_CHECK_INIT();
return rsmi_wrapper(rsmi_dev_compute_partition_reset, processor_handle);
}
// Memory Partition functions
amdsmi_status_t
amdsmi_dev_memory_partition_get(amdsmi_processor_handle processor_handle,
amdsmi_get_gpu_memory_partition(amdsmi_processor_handle processor_handle,
char *memory_partition, uint32_t len) {
AMDSMI_CHECK_INIT();
return rsmi_wrapper(rsmi_dev_memory_partition_get, processor_handle,
@@ -1050,7 +1050,7 @@ amdsmi_dev_memory_partition_get(amdsmi_processor_handle processor_handle,
}
amdsmi_status_t
amdsmi_dev_memory_partition_set(amdsmi_processor_handle processor_handle,
amdsmi_set_gpu_memory_partition(amdsmi_processor_handle processor_handle,
amdsmi_memory_partition_type_t memory_partition) {
AMDSMI_CHECK_INIT();
return rsmi_wrapper(rsmi_dev_memory_partition_set, processor_handle,
@@ -1058,7 +1058,7 @@ amdsmi_dev_memory_partition_set(amdsmi_processor_handle processor_handle,
}
amdsmi_status_t
amdsmi_dev_memory_partition_reset(amdsmi_processor_handle processor_handle) {
amdsmi_reset_gpu_memory_partition(amdsmi_processor_handle processor_handle) {
AMDSMI_CHECK_INIT();
return rsmi_wrapper(rsmi_dev_memory_partition_reset, processor_handle);
}
@@ -2155,6 +2155,589 @@ amdsmi_status_t amdsmi_get_processor_handle_from_bdf(amdsmi_bdf_t bdf,
return AMDSMI_STATUS_API_FAILED;
}
amdsmi_status_t
amdsmi_get_gpu_metrics_temp_hotspot(amdsmi_processor_handle processor_handle,
uint16_t *hotspot_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_temp_hotspot_get, processor_handle,
hotspot_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_temp_mem(amdsmi_processor_handle processor_handle,
uint16_t *mem_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_temp_mem_get, processor_handle,
mem_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_temp_vrsoc(amdsmi_processor_handle processor_handle,
uint16_t *vrsoc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_temp_vrsoc_get, processor_handle,
vrsoc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_socket_power(amdsmi_processor_handle processor_handle,
uint16_t *socket_power_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_socket_power_get, processor_handle,
socket_power_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_gfx_activity(amdsmi_processor_handle processor_handle,
uint16_t *gfx_activity_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_gfx_activity_get, processor_handle,
gfx_activity_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_umc_activity(amdsmi_processor_handle processor_handle,
uint16_t *umc_activity_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_umc_activity_get, processor_handle,
umc_activity_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_energy_acc(amdsmi_processor_handle processor_handle,
uint64_t *energy_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_energy_acc_get, processor_handle,
energy_acc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_system_clock_counter(amdsmi_processor_handle processor_handle,
uint64_t *system_clock_counter_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_system_clock_counter_get, processor_handle,
system_clock_counter_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_firmware_timestamp(amdsmi_processor_handle processor_handle,
uint64_t *firmware_timestamp_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_firmware_timestamp_get, processor_handle,
firmware_timestamp_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_throttle_status(amdsmi_processor_handle processor_handle,
uint32_t *throttle_status_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_throttle_status_get, processor_handle,
throttle_status_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_link_width(amdsmi_processor_handle processor_handle,
uint16_t *pcie_link_width_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_pcie_link_width_get, processor_handle,
pcie_link_width_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_link_speed(amdsmi_processor_handle processor_handle,
uint16_t *pcie_link_speed_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_pcie_link_speed_get, processor_handle,
pcie_link_speed_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_link_width(amdsmi_processor_handle processor_handle,
uint16_t *xgmi_link_width_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_xgmi_link_width_get, processor_handle,
xgmi_link_width_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_link_speed(amdsmi_processor_handle processor_handle,
uint16_t *xgmi_link_speed_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_xgmi_link_speed_get, processor_handle,
xgmi_link_speed_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_gfxclk_lock_status(amdsmi_processor_handle processor_handle,
uint32_t *gfxclk_lock_status_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_gfxclk_lock_status_get, processor_handle,
gfxclk_lock_status_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_gfx_activity_acc(amdsmi_processor_handle processor_handle,
uint32_t *gfx_activity_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_gfx_activity_acc_get, processor_handle,
gfx_activity_acc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_mem_activity_acc(amdsmi_processor_handle processor_handle,
uint32_t *mem_activity_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_mem_activity_acc_get, processor_handle,
mem_activity_acc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_bandwidth_acc(amdsmi_processor_handle processor_handle,
uint64_t *pcie_bandwidth_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_pcie_bandwidth_acc_get, processor_handle,
pcie_bandwidth_acc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_bandwidth_inst(amdsmi_processor_handle processor_handle,
uint64_t *pcie_bandwidth_inst_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_pcie_bandwidth_inst_get, processor_handle,
pcie_bandwidth_inst_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc(amdsmi_processor_handle processor_handle,
uint64_t *pcie_count_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_pcie_l0_recov_count_acc_get, processor_handle,
pcie_count_acc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_replay_count_acc(amdsmi_processor_handle processor_handle,
uint64_t *pcie_count_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_pcie_replay_count_acc_get, processor_handle,
pcie_count_acc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc(amdsmi_processor_handle processor_handle,
uint64_t *pcie_count_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_pcie_replay_rover_count_acc_get, processor_handle,
pcie_count_acc_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_uclk(amdsmi_processor_handle processor_handle,
uint16_t *uclk_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_uclk_get, processor_handle,
uclk_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_temp_hbm(amdsmi_processor_handle processor_handle,
gpu_metric_temp_hbm_t *temp_hbm_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_temp_hbm_get, processor_handle,
reinterpret_cast<GPUMetricTempHbm_t*>(temp_hbm_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_vcn_activity(amdsmi_processor_handle processor_handle,
gpu_metric_vcn_activity_t *vcn_activity_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_vcn_activity_get, processor_handle,
reinterpret_cast<GPUMetricVcnActivity_t*>(vcn_activity_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_read_data(amdsmi_processor_handle processor_handle,
gpu_metric_xgmi_read_data_acc_t *xgmi_read_data_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_xgmi_read_data_get, processor_handle,
reinterpret_cast<GPUMetricXgmiReadDataAcc_t*>(xgmi_read_data_acc_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_xgmi_write_data(amdsmi_processor_handle processor_handle,
gpu_metric_xgmi_write_data_acc_t *xgmi_write_data_acc_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_xgmi_write_data_get, processor_handle,
reinterpret_cast<GPUMetricXgmiWriteDataAcc_t*>(xgmi_write_data_acc_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_gfxclk(amdsmi_processor_handle processor_handle,
gpu_metric_curr_gfxclk_t *curr_gfxclk_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_gfxclk_get, processor_handle,
reinterpret_cast<GPUMetricCurrGfxClk_t*>(curr_gfxclk_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_socclk(amdsmi_processor_handle processor_handle,
gpu_metric_curr_socclk_t *current_socclk_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_socclk_get, processor_handle,
reinterpret_cast<GPUMetricCurrSocClk_t*>(current_socclk_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_vclk0(amdsmi_processor_handle processor_handle,
gpu_metric_curr_vclk0_t *current_vclk_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_vclk0_get, processor_handle,
reinterpret_cast<GPUMetricCurrVClk0_t*>(current_vclk_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_dclk0(amdsmi_processor_handle processor_handle,
gpu_metric_curr_dclk0_t *current_dclk_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_dclk0_get, processor_handle,
reinterpret_cast<GPUMetricCurrDClk0_t*>(current_dclk_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_temp_edge(amdsmi_processor_handle processor_handle,
uint16_t *edge_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_temp_edge_get, processor_handle,
edge_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_temp_vrgfx(amdsmi_processor_handle processor_handle,
uint16_t *vrgfx_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_temp_vrgfx_get, processor_handle,
vrgfx_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_temp_vrmem(amdsmi_processor_handle processor_handle,
uint16_t *vrmem_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_temp_vrmem_get, processor_handle,
vrmem_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_mm_activity(amdsmi_processor_handle processor_handle,
uint16_t *mm_activity_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_mm_activity_get, processor_handle,
mm_activity_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_vclk1(amdsmi_processor_handle processor_handle,
uint16_t *current_vclk_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_vclk1_get, processor_handle,
current_vclk_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_dclk1(amdsmi_processor_handle processor_handle,
uint16_t *current_dclk_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_dclk1_get, processor_handle,
current_dclk_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_indep_throttle_status(amdsmi_processor_handle processor_handle,
uint64_t *throttle_status_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_indep_throttle_status_get, processor_handle,
throttle_status_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_socket_power(amdsmi_processor_handle processor_handle,
uint16_t *socket_power_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_socket_power_get, processor_handle,
socket_power_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_curr_fan_speed(amdsmi_processor_handle processor_handle,
uint16_t *fan_speed_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_curr_fan_speed_get, processor_handle,
fan_speed_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_gfx_clock_frequency(amdsmi_processor_handle processor_handle,
uint16_t *clock_frequency_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_gfx_clock_frequency_get, processor_handle,
clock_frequency_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_soc_clock_frequency(amdsmi_processor_handle processor_handle,
uint16_t *clock_frequency_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_soc_clock_frequency_get, processor_handle,
clock_frequency_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_uclock_frequency(amdsmi_processor_handle processor_handle,
uint16_t *clock_frequency_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_uclock_frequency_get, processor_handle,
clock_frequency_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_vclock0_frequency(amdsmi_processor_handle processor_handle,
uint16_t *clock_frequency_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_vclock0_frequency_get, processor_handle,
clock_frequency_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_dclock0_frequency(amdsmi_processor_handle processor_handle,
uint16_t *clock_frequency_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_dclock0_frequency_get, processor_handle,
clock_frequency_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_vclock1_frequency(amdsmi_processor_handle processor_handle,
uint16_t *clock_frequency_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_vclock1_frequency_get, processor_handle,
clock_frequency_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_avg_dclock1_frequency(amdsmi_processor_handle processor_handle,
uint16_t *clock_frequency_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_avg_dclock1_frequency_get, processor_handle,
clock_frequency_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_volt_soc(amdsmi_processor_handle processor_handle,
uint16_t *voltage_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_volt_soc_get, processor_handle,
voltage_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_volt_gfx(amdsmi_processor_handle processor_handle,
uint16_t *voltage_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_volt_gfx_get, processor_handle,
voltage_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_volt_mem(amdsmi_processor_handle processor_handle,
uint16_t *voltage_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_volt_mem_get, processor_handle,
voltage_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_header_info(amdsmi_processor_handle processor_handle,
amd_metrics_table_header_t *header_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_header_info_get, processor_handle,
reinterpret_cast<metrics_table_header_t*>(header_value));
}
amdsmi_status_t
amdsmi_get_gpu_metrics_xcd_counter(amdsmi_processor_handle processor_handle,
uint16_t *xcd_counter_value)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_xcd_counter_get, processor_handle,
xcd_counter_value);
}
amdsmi_status_t
amdsmi_get_gpu_metrics_log(amdsmi_processor_handle processor_handle)
{
AMDSMI_CHECK_INIT();
// nullptr api supported
return rsmi_wrapper(rsmi_dev_metrics_log_get, processor_handle);
}
#ifdef ENABLE_ESMI_LIB
amdsmi_status_t amdsmi_get_cpu_hsmp_proto_ver(amdsmi_cpusocket_handle socket_handle,
uint32_t *proto_ver)
+378 -1
Voir le fichier
@@ -100,7 +100,7 @@ void TestGpuMetricsRead::Run(void) {
PrintDeviceHeader(processor_handles_[i]);
IF_VERB(STANDARD) {
std::cout << "\t**GPU METRICS:\n";
std::cout << "\t**GPU METRICS: Using static struct (Backwards Compatibility):\n";
}
amdsmi_gpu_metrics_t smu;
err = amdsmi_get_gpu_metrics_info(processor_handles_[i], &smu);
@@ -191,4 +191,381 @@ void TestGpuMetricsRead::Run(void) {
err = amdsmi_get_gpu_metrics_info(processor_handles_[i], nullptr);
ASSERT_EQ(err, AMDSMI_STATUS_INVAL);
}
//
auto val_ui16 = uint16_t(0);
auto val_ui32 = uint32_t(0);
auto val_ui64 = uint64_t(0);
auto status_code(amdsmi_status_t::AMDSMI_STATUS_SUCCESS);
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(processor_handles_[i]);
auto temp_edge_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_temp_edge(processor_handles_[i], &temp_edge_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_hotspot_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_temp_hotspot(processor_handles_[i], &temp_hotspot_value);
CHK_ERR_ASRT(status_code);
auto temp_mem_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_temp_mem(processor_handles_[i], &temp_mem_value);
CHK_ERR_ASRT(status_code);
auto temp_vrgfx_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_temp_vrgfx(processor_handles_[i], &temp_vrgfx_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_vrsoc_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_temp_vrsoc(processor_handles_[i], &temp_vrsoc_value);
CHK_ERR_ASRT(status_code);
auto temp_vrmem_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_temp_vrmem(processor_handles_[i], &temp_vrmem_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
gpu_metric_temp_hbm_t temp_hbm_values;
status_code = amdsmi_get_gpu_metrics_temp_hbm(processor_handles_[i], &temp_hbm_values);
CHK_ERR_ASRT(status_code);
auto temp_curr_socket_power_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_curr_socket_power(processor_handles_[i], &temp_curr_socket_power_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_energy_accum_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_energy_acc(processor_handles_[i], &temp_energy_accum_value);
CHK_ERR_ASRT(status_code);
auto temp_avg_socket_power_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_socket_power(processor_handles_[i], &temp_avg_socket_power_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_avg_gfx_activity_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_gfx_activity(processor_handles_[i], &temp_avg_gfx_activity_value);
CHK_ERR_ASRT(status_code);
auto temp_avg_umc_activity_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_umc_activity(processor_handles_[i], &temp_avg_umc_activity_value);
CHK_ERR_ASRT(status_code);
auto temp_avg_mm_activity_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_mm_activity(processor_handles_[i], &temp_avg_mm_activity_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
gpu_metric_vcn_activity_t temp_vcn_values;
status_code = amdsmi_get_gpu_metrics_vcn_activity(processor_handles_[i], &temp_vcn_values);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_mem_activity_accum_value = val_ui32;
status_code = amdsmi_get_gpu_metrics_mem_activity_acc(processor_handles_[i], &temp_mem_activity_accum_value);
CHK_ERR_ASRT(status_code);
auto temp_gfx_activity_accum_value = val_ui32;
status_code = amdsmi_get_gpu_metrics_gfx_activity_acc(processor_handles_[i], &temp_gfx_activity_accum_value);
CHK_ERR_ASRT(status_code);
auto temp_avg_gfx_clock_freq_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_gfx_clock_frequency(processor_handles_[i], &temp_avg_gfx_clock_freq_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_avg_soc_clock_freq_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_soc_clock_frequency(processor_handles_[i], &temp_avg_soc_clock_freq_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_avg_uclock_freq_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_uclock_frequency(processor_handles_[i], &temp_avg_uclock_freq_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_avg_vclock0_freq_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_vclock0_frequency(processor_handles_[i], &temp_avg_vclock0_freq_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_avg_dclock0_freq_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_dclock0_frequency(processor_handles_[i], &temp_avg_dclock0_freq_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_avg_vclock1_freq_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_vclock1_frequency(processor_handles_[i], &temp_avg_vclock1_freq_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_avg_dclock1_freq_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_avg_dclock1_frequency(processor_handles_[i], &temp_avg_dclock1_freq_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_curr_vclk1_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_curr_vclk1(processor_handles_[i], &temp_curr_vclk1_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_curr_dclk1_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_curr_dclk1(processor_handles_[i], &temp_curr_dclk1_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_curr_uclk_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_curr_uclk(processor_handles_[i], &temp_curr_uclk_value);
CHK_ERR_ASRT(status_code);
gpu_metric_curr_dclk0_t temp_curr_dclk0_values;
status_code = amdsmi_get_gpu_metrics_curr_dclk0(processor_handles_[i], &temp_curr_dclk0_values);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
gpu_metric_curr_gfxclk_t temp_curr_gfxclk_values;
status_code = amdsmi_get_gpu_metrics_curr_gfxclk(processor_handles_[i], &temp_curr_gfxclk_values);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
gpu_metric_curr_socclk_t temp_curr_socclk_values;
status_code = amdsmi_get_gpu_metrics_curr_socclk(processor_handles_[i], &temp_curr_socclk_values);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
gpu_metric_curr_vclk0_t temp_curr_vclk0_values;
status_code = amdsmi_get_gpu_metrics_curr_vclk0(processor_handles_[i], &temp_curr_vclk0_values);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_indep_throttle_status_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_indep_throttle_status(processor_handles_[i], &temp_indep_throttle_status_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_throttle_status_value = val_ui32;
status_code = amdsmi_get_gpu_metrics_throttle_status(processor_handles_[i], &temp_throttle_status_value);
CHK_ERR_ASRT(status_code);
auto temp_gfxclk_lock_status_value = val_ui32;
status_code = amdsmi_get_gpu_metrics_gfxclk_lock_status(processor_handles_[i], &temp_gfxclk_lock_status_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_curr_fan_speed_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_curr_fan_speed(processor_handles_[i], &temp_curr_fan_speed_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_pcie_link_width_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_pcie_link_width(processor_handles_[i], &temp_pcie_link_width_value);
CHK_ERR_ASRT(status_code);
auto temp_pcie_link_speed_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_pcie_link_speed(processor_handles_[i], &temp_pcie_link_speed_value);
CHK_ERR_ASRT(status_code);
auto temp_pcie_bandwidth_accum_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_pcie_bandwidth_acc(processor_handles_[i], &temp_pcie_bandwidth_accum_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_pcie_bandwidth_inst_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_pcie_bandwidth_inst(processor_handles_[i], &temp_pcie_bandwidth_inst_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_pcie_l0_recov_count_accum_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_pcie_l0_recov_count_acc(processor_handles_[i], &temp_pcie_l0_recov_count_accum_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_pcie_replay_count_accum_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_pcie_replay_count_acc(processor_handles_[i], &temp_pcie_replay_count_accum_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_pcie_replay_rover_count_accum_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_pcie_replay_rover_count_acc(processor_handles_[i], &temp_pcie_replay_rover_count_accum_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_xgmi_link_width_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_xgmi_link_width(processor_handles_[i], &temp_xgmi_link_width_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_xgmi_link_speed_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_xgmi_link_speed(processor_handles_[i], &temp_xgmi_link_speed_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
gpu_metric_xgmi_read_data_acc_t temp_xgmi_read_values;
status_code = amdsmi_get_gpu_metrics_xgmi_read_data(processor_handles_[i], &temp_xgmi_read_values);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
gpu_metric_xgmi_write_data_acc_t temp_xgmi_write_values;
status_code = amdsmi_get_gpu_metrics_xgmi_write_data(processor_handles_[i], &temp_xgmi_write_values);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_voltage_soc_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_volt_soc(processor_handles_[i], &temp_voltage_soc_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_voltage_gfx_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_volt_gfx(processor_handles_[i], &temp_voltage_gfx_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_voltage_mem_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_volt_mem(processor_handles_[i], &temp_voltage_mem_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
auto temp_system_clock_counter_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_system_clock_counter(processor_handles_[i], &temp_system_clock_counter_value);
CHK_ERR_ASRT(status_code);
auto temp_firmware_timestamp_value = val_ui64;
status_code = amdsmi_get_gpu_metrics_firmware_timestamp(processor_handles_[i], &temp_firmware_timestamp_value);
CHK_ERR_ASRT(status_code);
auto temp_xcd_counter_value = val_ui16;
status_code = amdsmi_get_gpu_metrics_xcd_counter(processor_handles_[i], &temp_xcd_counter_value);
if (status_code != AMDSMI_STATUS_NOT_SUPPORTED) {
CHK_ERR_ASRT(status_code);
}
IF_VERB(STANDARD) {
std::cout << "\n";
std::cout << "\t[Temperature]" << "\n";
std::cout << "\t -> temp_edge(): " << temp_edge_value << "\n";
std::cout << "\t -> temp_hotspot(): " << temp_hotspot_value << "\n";
std::cout << "\t -> temp_mem(): " << temp_mem_value << "\n";
std::cout << "\t -> temp_vrgfx(): " << temp_vrgfx_value << "\n";
std::cout << "\t -> temp_vrsoc(): " << temp_vrsoc_value << "\n";
std::cout << "\t -> temp_vrmem(): " << temp_vrmem_value << "\n";
std::cout << "\t -> temp_hbm(): " << temp_hbm_values << "\n";
std::cout << "\n";
std::cout << "\t[Power/Energy]" << "\n";
std::cout << "\t -> current_socket_power(): " << temp_curr_socket_power_value << "\n";
std::cout << "\t -> energy_accum(): " << temp_energy_accum_value << "\n";
std::cout << "\t -> average_socket_power(): " << temp_avg_socket_power_value << "\n";
std::cout << "\n";
std::cout << "\t[Utilization]" << "\n";
std::cout << "\t -> average_gfx_activity(): " << temp_avg_gfx_activity_value << "\n";
std::cout << "\t -> average_umc_activity(): " << temp_avg_umc_activity_value << "\n";
std::cout << "\t -> average_mm_activity(): " << temp_avg_mm_activity_value << "\n";
std::cout << "\t -> vcn_activity(): " << temp_vcn_values << "\n";
std::cout << "\t -> mem_activity_accum(): " << temp_mem_activity_accum_value << "\n";
std::cout << "\t -> gfx_activity_accum(): " << temp_gfx_activity_accum_value << "\n";
std::cout << "\n";
std::cout << "\t[Average Clock]" << "\n";
std::cout << "\t -> average_gfx_clock_frequency(): " << temp_avg_gfx_clock_freq_value << "\n";
std::cout << "\t -> average_soc_clock_frequency(): " << temp_avg_soc_clock_freq_value << "\n";
std::cout << "\t -> average_uclock_frequency(): " << temp_avg_uclock_freq_value << "\n";
std::cout << "\t -> average_vclock0_frequency(): " << temp_avg_vclock0_freq_value << "\n";
std::cout << "\t -> average_dclock0_frequency(): " << temp_avg_dclock0_freq_value << "\n";
std::cout << "\t -> average_vclock1_frequency(): " << temp_avg_vclock1_freq_value << "\n";
std::cout << "\t -> average_dclock1_frequency(): " << temp_avg_dclock1_freq_value << "\n";
std::cout << "\n";
std::cout << "\t[Current Clock]" << "\n";
std::cout << "\t -> current_vclock1(): " << temp_curr_vclk1_value << "\n";
std::cout << "\t -> current_dclock1(): " << temp_curr_dclk1_value << "\n";
std::cout << "\t -> current_uclock(): " << temp_curr_uclk_value << "\n";
std::cout << "\t -> current_dclk0(): " << temp_curr_dclk0_values << "\n";
std::cout << "\t -> current_gfxclk(): " << temp_curr_gfxclk_values << "\n";
std::cout << "\t -> current_soc_clock(): " << temp_curr_socclk_values << "\n";
std::cout << "\t -> current_vclk0(): " << temp_curr_vclk0_values << "\n";
std::cout << "\n";
std::cout << "\t[Throttle]" << "\n";
std::cout << "\t -> indep_throttle_status(): " << temp_indep_throttle_status_value << "\n";
std::cout << "\t -> throttle_status(): " << temp_throttle_status_value << "\n";
std::cout << "\n";
std::cout << "\t[Gfx Clock Lock]" << "\n";
std::cout << "\t -> gfxclk_lock_status(): " << temp_gfxclk_lock_status_value << "\n";
std::cout << "\n";
std::cout << "\t[Current Fan Speed]" << "\n";
std::cout << "\t -> current_fan_speed(): " << temp_curr_fan_speed_value << "\n";
std::cout << "\n";
std::cout << "\t[Link/Bandwidth/Speed]" << "\n";
std::cout << "\t -> pcie_link_width(): " << temp_pcie_link_width_value << "\n";
std::cout << "\t -> pcie_link_speed(): " << temp_pcie_link_speed_value << "\n";
std::cout << "\t -> pcie_bandwidth_accum(): " << temp_pcie_bandwidth_accum_value << "\n";
std::cout << "\t -> pcie_bandwidth_inst(): " << temp_pcie_bandwidth_inst_value << "\n";
std::cout << "\t -> pcie_l0_recov_count_accum(): " << temp_pcie_l0_recov_count_accum_value << "\n";
std::cout << "\t -> pcie_replay_count_accum(): " << temp_pcie_replay_count_accum_value << "\n";
std::cout << "\t -> pcie_replay_rollover_count_accum(): " << temp_pcie_replay_rover_count_accum_value << "\n";
std::cout << "\t -> xgmi_link_width(): " << temp_xgmi_link_width_value << "\n";
std::cout << "\t -> xgmi_link_speed(): " << temp_xgmi_link_speed_value << "\n";
std::cout << "\t -> xgmi_read_data(): " << temp_xgmi_read_values << "\n";
std::cout << "\t -> xgmi_write_data(): " << temp_xgmi_write_values << "\n";
std::cout << "\n";
std::cout << "\t[Voltage]" << "\n";
std::cout << "\t -> voltage_soc(): " << temp_voltage_soc_value << "\n";
std::cout << "\t -> voltage_gfx(): " << temp_voltage_gfx_value << "\n";
std::cout << "\t -> voltage_mem(): " << temp_voltage_mem_value << "\n";
std::cout << "\n";
std::cout << "\t[Timestamp]" << "\n";
std::cout << "\t -> system_clock_counter(): " << temp_system_clock_counter_value << "\n";
std::cout << "\t -> firmware_timestamp(): " << temp_firmware_timestamp_value << "\n";
std::cout << "\n";
std::cout << "\t[XCD CounterVoltage]" << "\n";
std::cout << "\t -> xcd_counter(): " << temp_xcd_counter_value << "\n";
std::cout << "\n\n";
}
}
}
+1 -1
Voir le fichier
@@ -108,7 +108,7 @@ void TestTempRead::Run(void) {
return;
}
uint32_t type;
uint32_t type(0);
for (uint32_t x = 0; x < num_iterations(); ++x) {
for (uint32_t i = 0; i < num_monitor_devs(); ++i) {
PrintDeviceHeader(processor_handles_[i]);