Add coarse grain utilization counter

The coarse grain utilization counter includes GFX and Memory activity.

Change-Id: I5d09976792d3f4a1c1081651fa24ff857016d4c0
Esse commit está contido em:
Bill(Shuzhou) Liu authored and Shuzhou Liu committed 2021-04-14 10:40:19 -04:00
1 pai c7c2ac5559
commit 9bfb9ac297
2 files changed
+95 -3

No files matched your search

+38
Ver Arquivo
@@ -2830,6 +2830,44 @@ rsmi_dev_busy_percent_get(uint32_t dv_ind, uint32_t *busy_percent) {
CATCH
}
rsmi_status_t
rsmi_utilization_count_get(uint32_t dv_ind,
rsmi_utilization_counter_t utilization_counters[],
uint32_t count,
uint64_t *timestamp) {
TRY
rsmi_status_t ret;
rsmi_gpu_metrics_t gpu_metrics;
ret = rsmi_dev_gpu_metrics_info_get(dv_ind, &gpu_metrics);
if (ret != RSMI_STATUS_SUCCESS) {
return ret;
}
if (timestamp == nullptr ||
utilization_counters == nullptr) {
return RSMI_STATUS_INVALID_ARGS;
}
for (uint32_t index = 0 ; index < count; index++) {
switch (utilization_counters[index].type) {
case RSMI_COARSE_GRAIN_GFX_ACTIVITY:
utilization_counters[index].value = gpu_metrics.gfx_activity_acc;
break;
case RSMI_COARSE_GRAIN_MEM_ACTIVITY:
utilization_counters[index].value = gpu_metrics.mem_actvity_acc;
break;
default:
return RSMI_STATUS_INVALID_ARGS;
}
}
*timestamp = gpu_metrics.system_clock_counter;
return ret;
CATCH
}
rsmi_status_t
rsmi_dev_vbios_version_get(uint32_t dv_ind, char *vbios, uint32_t len) {
TRY