[SWDEV-530633] Use gpu_metric speed and BW for xgmi (#366)
The xgmi command was showing pcie bit rate and bandwidth instead of xgmi. Corrected the API to get xgmi data from gpu metric.
Added python API for amdsmi_get_link_metrics. Modified the amdsmi_link_metrics struct.
Added check to confirm non zero partition got xgmi command.
---------
Signed-off-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
[ROCm/amdsmi commit: 2eff0b3764]
Этот коммит содержится в:
1 родитель
c830bb4d74
Коммит
f12c72a4e2
7 files changed
+147
-31
No files matched your search
@@ -2119,16 +2119,22 @@ amdsmi_status_t amdsmi_get_link_metrics(amdsmi_processor_handle processor_handle
|
||||
if (link_metrics == nullptr) return AMDSMI_STATUS_INVAL;
|
||||
|
||||
amdsmi_gpu_metrics_t metric_info = {};
|
||||
link_metrics->max_bandwidth = std::numeric_limits<uint32_t>::max();
|
||||
|
||||
amdsmi_status_t status = amdsmi_get_gpu_metrics_info(
|
||||
processor_handle, &metric_info);
|
||||
if (status != AMDSMI_STATUS_SUCCESS)
|
||||
return status;
|
||||
link_metrics->num_links = AMDSMI_MAX_NUM_XGMI_LINKS;
|
||||
for (unsigned int i = 0; i < link_metrics->num_links; i++) {
|
||||
|
||||
link_metrics->bit_rate = metric_info.xgmi_link_speed;
|
||||
if ((metric_info.xgmi_link_speed != std::numeric_limits<uint16_t>::max()) &&
|
||||
(metric_info.xgmi_link_width != std::numeric_limits<uint16_t>::max()))
|
||||
link_metrics->max_bandwidth = metric_info.xgmi_link_speed * metric_info.xgmi_link_width;
|
||||
|
||||
for (unsigned int i = 0; i < AMDSMI_MAX_NUM_XGMI_LINKS; i++) {
|
||||
link_metrics->links[i].read = metric_info.xgmi_read_data_acc[i];
|
||||
link_metrics->links[i].write = metric_info.xgmi_write_data_acc[i];
|
||||
link_metrics->links[i].bit_rate = metric_info.xgmi_link_speed;
|
||||
link_metrics->links[i].max_bandwidth = metric_info.xgmi_link_width;
|
||||
link_metrics->links[i].link_type = AMDSMI_LINK_TYPE_XGMI;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user