Esmi Auxillary API wrappers removed from amdsmi library

that are called during amdsmi inititalization
    amdsmi_get_cpu_family,
    amdsmi_get_cpu_model,
    amdsmi_get_cpu_threads_per_core,
    amdsmi_get_number_of_cpu_cores,
    amdsmi_get_number_of_cpu_sockets

Added amdsmi_get_cpucore_info to amdsmi library

Change-Id: Ib88d580e1d85afdf578963247e585cfae05c58ad


[ROCm/amdsmi commit: 28f6383639]
This commit is contained in:
Deepak Mewar
2023-10-30 05:53:49 -04:00
zatwierdzone przez Maisam Arif
rodzic 21fa9c0950
commit a09863f550
3 zmienionych plików z 34 dodań i 92 usunięć
+14 -45
Wyświetl plik
@@ -1469,6 +1469,20 @@ amdsmi_status_t amdsmi_get_socket_info(
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_cpusocket_info(amdsmi_cpusocket_handle socket_handle, uint32_t sockid);
/**
* @brief Get information about the given cpu core
*
* @details This function retrieves cpu core information. The @p core_handle must
* be provided to retrieve the core ID.
*
* @param[in] core_handle a processor handle
*
* @param[out] coreid The id of the core.
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_cpucore_info(amdsmi_processor_handle core_handle, uint32_t coreid);
#endif
/**
@@ -4588,51 +4602,6 @@ amdsmi_status_t amdsmi_get_metrics_table(amdsmi_cpusocket_handle socket_handle,
/*---------------------------------------------------------------------------*/
/** @{ */
/**
* @brief Get cpu family.
*
* @param[in,out] family - Input buffer to fill family
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_cpu_family(uint32_t family);
/**
* @brief Get cpu model.
*
* @param[in,out] family - Input buffer to fill family
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_cpu_model(uint32_t model);
/**
* @brief Get threads per core.
*
* @param[in,out] threads - Input buffer to fill threads count.
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_cpu_threads_per_core(uint32_t threads);
/**
* @brief Get number of cpus.
*
* @param[in,out] cpus - Input buffer to fill number of cpus.
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_number_of_cpu_cores(uint32_t cpus);
/**
* @brief Get number of sockets
*
* @param[in,out] sockets - Input buffer to fill number of sockets.
*
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t amdsmi_get_number_of_cpu_sockets(uint32_t sockets);
/**
* @brief Get first online core on socket.
*
@@ -60,14 +60,13 @@ public:
virtual ~AMDSmiCpuCore() {}
const uint32_t& get_core_id() const { return core_idx_; }
void add_processor(AMDSmiProcessor* processor) { processors_.push_back(processor); }
std::vector<AMDSmiProcessor*>& get_processors() { return processors_;}
amdsmi_status_t get_processor_count(uint32_t* processor_count) const;
private:
uint32_t core_idx_;
//uint64_t input;
//uint32_t idx;
std::vector<AMDSmiProcessor*> processors_;
};
+19 -45
Wyświetl plik
@@ -330,6 +330,25 @@ amdsmi_status_t amdsmi_get_cpusocket_info(
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_cpucore_info(
amdsmi_processor_handle core_handle,
uint32_t core_id) {
AMDSMI_CHECK_INIT();
if (core_handle == nullptr) {
return AMDSMI_STATUS_INVAL;
}
amd::smi::AMDSmiProcessor* core = nullptr;
amdsmi_status_t r = amd::smi::AMDSmiSystem::getInstance()
.handle_to_processor(core_handle, &core);
if (r != AMDSMI_STATUS_SUCCESS) return r;
core_id = static_cast<amd::smi::AMDSmiCpuCore*>(core)->get_core_id();
return AMDSMI_STATUS_SUCCESS;
}
#endif
amdsmi_status_t amdsmi_get_processor_handles(amdsmi_socket_handle socket_handle,
@@ -2948,51 +2967,6 @@ amdsmi_status_t amdsmi_get_metrics_table(amdsmi_cpusocket_handle socket_handle,
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_number_of_cpu_sockets(uint32_t sockets)
{
amdsmi_status_t status = amd::smi::AMDSmiSystem::getInstance().get_cpu_sockets(sockets);
if (status != AMDSMI_STATUS_SUCCESS)
return status;
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_number_of_cpu_cores(uint32_t cpus)
{
amdsmi_status_t status = amd::smi::AMDSmiSystem::getInstance().get_cpu_cores(cpus);
if (status != AMDSMI_STATUS_SUCCESS)
return status;
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_cpu_threads_per_core(uint32_t threads)
{
amdsmi_status_t status = amd::smi::AMDSmiSystem::getInstance().get_threads_per_core(threads);
if (status != AMDSMI_STATUS_SUCCESS)
return status;
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_cpu_family(uint32_t family)
{
amdsmi_status_t status = amd::smi::AMDSmiSystem::getInstance().get_cpu_family(family);
if (status != AMDSMI_STATUS_SUCCESS)
return status;
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_get_cpu_model(uint32_t model)
{
amdsmi_status_t status = amd::smi::AMDSmiSystem::getInstance().get_cpu_model(model);
if (status != AMDSMI_STATUS_SUCCESS)
return status;
return AMDSMI_STATUS_SUCCESS;
}
amdsmi_status_t amdsmi_first_online_core_on_cpu_socket(amdsmi_cpusocket_handle socket_handle,
uint32_t sock_ind, uint32_t *pcore_ind)
{