Support extra metrics in the RDC

Remove the * in the rdci stats
When a group is created, the GPUs can be added in the same command.
Add the support to the memory temperature.
Add the support to the memory clock.
Add the support to report the ECC errors.
Add the support to report the PCIe bandwidth throughput.

Since the RX/TX throughput may take 1 second to retreive, an async fetch is implemented
in the RdcMetricFetcherImpl.

Change-Id: If04f602fe1f2d14dbf7c2fb189549fd030523f9a
Этот коммит содержится в:
Bill(Shuzhou) Liu
2020-04-29 10:32:50 -04:00
коммит произвёл Chris Freehill
родитель 096dc2dadb
Коммит f4a3fd4dda
20 изменённых файлов: 601 добавлений и 62 удалений
+38
Просмотреть файл
@@ -144,16 +144,48 @@ typedef enum {
*/
#define RDC_FI_GPU_SM_CLOCK 100
/**
* Clock for the memory
*/
#define RDC_FI_MEM_CLOCK 101
/**
* PCIe Tx utilization information
*/
#define RDC_FI_PCIE_TX 200
/**
* PCIe Rx utilization information
*/
#define RDC_FI_PCIE_RX 201
/**
* GPU Utilization
*/
#define RDC_FI_GPU_UTIL 203
/**
* Accumulated correctable ECC errors
*/
#define RDC_FI_ECC_CORRECT_TOTAL 312
/**
* Accumulated uncorrectable ECC errors
*/
#define RDC_FI_ECC_UNCORRECT_TOTAL 313
/**
* Memory temperature for the device
*/
#define RDC_FI_MEMORY_TEMP 140
/**
* Current temperature for the device
*/
#define RDC_FI_GPU_TEMP 150
/**
* GPU count in the system
*/
@@ -209,9 +241,15 @@ typedef struct {
uint64_t end_time; //!< The time to stop the watching
uint64_t energy_consumed;
uint64_t ecc_correct;
uint64_t ecc_uncorrect;
rdc_stats_summary_t pcie_tx;
rdc_stats_summary_t pcie_rx;
rdc_stats_summary_t power_usage;
rdc_stats_summary_t gpu_clock;
rdc_stats_summary_t memory_clock;
rdc_stats_summary_t gpu_utilization;
rdc_stats_summary_t gpu_temperature;
uint64_t max_gpu_memory_used;
rdc_stats_summary_t memory_utilization;