SWDEV-475244 - Memory Usage and Bandwidth: max mem and current mem (#48)

This commit is contained in:
Ma, Li
2024-12-23 10:22:53 +08:00
zatwierdzone przez GitHub
6 zmienionych plików z 35 dodań i 0 usunięć
@@ -573,6 +573,32 @@ rdc_status_t RdcMetricFetcherImpl::fetch_smi_field(uint32_t gpu_index, rdc_field
}
break;
}
case RDC_FI_GPU_MEMORY_MAX_BANDWIDTH: {
amdsmi_vram_info_t vram_info;
value->status = amdsmi_get_gpu_vram_info(processor_handle, &vram_info);
value->type = INTEGER;
if (value->status == AMDSMI_STATUS_SUCCESS) {
value->value.l_int = vram_info.vram_max_bandwidth;
}
break;
}
case RDC_FI_GPU_MEMORY_CUR_BANDWIDTH: {
amdsmi_engine_usage_t engine_usage;
amdsmi_vram_info_t vram_info;
value->status = amdsmi_get_gpu_activity(processor_handle, &engine_usage);
value->type = INTEGER;
if (value->status == AMDSMI_STATUS_SUCCESS) {
value->value.l_int = static_cast<int64_t>(engine_usage.umc_activity);
}
value->status = amdsmi_get_gpu_vram_info(processor_handle, &vram_info);
if (value->status == AMDSMI_STATUS_SUCCESS) {
value->value.l_int = value->value.l_int / 100 * vram_info.vram_max_bandwidth;
}
break;
}
case RDC_FI_GPU_COUNT: {
uint32_t processor_count = 0;
// amdsmi is initialized in AMDSMI_INIT_AMD_GPUS mode -> returned sockets are GPUs
+1
Wyświetl plik
@@ -183,6 +183,7 @@ rdc_status_t RdcSmiLib::rdc_telemetry_fields_query(uint32_t field_ids[MAX_NUM_FI
RDC_HEALTH_XGMI_ERROR, RDC_HEALTH_PCIE_REPLAY_COUNT, RDC_HEALTH_RETIRED_PAGE_NUM,
RDC_HEALTH_PENDING_PAGE_NUM, RDC_HEALTH_RETIRED_PAGE_LIMIT, RDC_HEALTH_UNCORRECTABLE_PAGE_LIMIT,
RDC_HEALTH_POWER_THROTTLE_TIME, RDC_HEALTH_THERMAL_THROTTLE_TIME,
RDC_FI_GPU_MEMORY_MAX_BANDWIDTH, RDC_FI_GPU_MEMORY_CUR_BANDWIDTH,
};
std::copy(fields.begin(), fields.end(), field_ids);
*field_count = fields.size();