amd-smi [CPU]: Added Support to get number of threads per core

Change-Id: I7e6500f3f53068a3483b64a54d78ac9e1d9cd183
Αυτή η υποβολή περιλαμβάνεται σε:
muthusamy
2024-06-12 10:00:53 +00:00
υποβλήθηκε από Maisam Arif
γονέας 92f014059e
υποβολή 057d688b55
3 αρχεία άλλαξαν με 31 προσθήκες και 0 διαγραφές
@@ -4923,6 +4923,17 @@ amdsmi_status_t amdsmi_get_cpu_socket_energy(amdsmi_processor_handle processor_h
* @{
*/
/**
* @brief Get Number of threads Per Core.
*
* @platform{cpu_bm}
*
* @param[in,out] threads_per_core - Input buffer to return the Number of threads Per Core
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_threads_per_core(uint32_t *threads_per_core);
/**
* @brief Get SMU Firmware Version.
*
@@ -2259,6 +2259,9 @@ amdsmi_get_cpu_core_energy.argtypes = [amdsmi_processor_handle, ctypes.POINTER(c
amdsmi_get_cpu_socket_energy = _libraries['libamd_smi.so'].amdsmi_get_cpu_socket_energy
amdsmi_get_cpu_socket_energy.restype = amdsmi_status_t
amdsmi_get_cpu_socket_energy.argtypes = [amdsmi_processor_handle, ctypes.POINTER(ctypes.c_uint64)]
amdsmi_get_threads_per_core = _libraries['libamd_smi.so'].amdsmi_get_threads_per_core
amdsmi_get_threads_per_core.restype = amdsmi_status_t
amdsmi_get_threads_per_core.argtypes = [ctypes.POINTER(ctypes.c_uint32)]
amdsmi_get_cpu_smu_fw_version = _libraries['libamd_smi.so'].amdsmi_get_cpu_smu_fw_version
amdsmi_get_cpu_smu_fw_version.restype = amdsmi_status_t
amdsmi_get_cpu_smu_fw_version.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_amdsmi_smu_fw_version_t)]
@@ -2610,6 +2613,7 @@ __all__ = \
'amdsmi_get_cpu_fclk_mclk', 'amdsmi_get_cpu_hsmp_proto_ver',
'amdsmi_get_cpu_model', 'amdsmi_get_cpu_prochot_status',
'amdsmi_get_cpu_pwr_svi_telemetry_all_rails',
'amdsmi_get_threads_per_core',
'amdsmi_get_cpu_smu_fw_version',
'amdsmi_get_cpu_socket_c0_residency',
'amdsmi_get_cpu_socket_current_active_freq_limit',
@@ -2231,6 +2231,22 @@ static amdsmi_status_t amdsmi_errno_to_esmi_status(amdsmi_status_t status)
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_threads_per_core(uint32_t *threads_per_core)
{
amdsmi_status_t status;
uint32_t esmi_threads_per_core;
AMDSMI_CHECK_INIT();
status = static_cast<amdsmi_status_t>(esmi_threads_per_core_get(&esmi_threads_per_core));
if (status != AMDSMI_STATUS_SUCCESS)
return amdsmi_errno_to_esmi_status(status);
*threads_per_core = esmi_threads_per_core;
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_cpu_hsmp_proto_ver(amdsmi_processor_handle processor_handle,
uint32_t *proto_ver)
{