Add support to use the field name in rdci

In the rdci dmon and fieldgroup, now the fields can be specified
using either number id or the field name.

When the rdc is async fetching metrics, it will not report that fetch
as an error.

Change-Id: I81331e2c239af987181147be5ac0e29ba1617ab4


[ROCm/rdc commit: d30cb81fdb]
Αυτή η υποβολή περιλαμβάνεται σε:
Bill(Shuzhou) Liu
2020-05-19 09:38:50 -04:00
υποβλήθηκε από Chris Freehill
γονέας aa0a40f84d
υποβολή 0f8f345992
6 αρχεία άλλαξαν με 60 προσθήκες και 12 διαγραφές
@@ -40,6 +40,34 @@ RdciSubSystem::RdciSubSystem():
}
}
bool RdciSubSystem::get_field_id_from_name(
const std::string& name, uint32_t& value) const {
const std::map<std::string, uint32_t> field_name_to_id = {
{"RDC_FI_GPU_MEMORY_USAGE", 525},
{"RDC_FI_GPU_MEMORY_TOTAL", 580},
{"RDC_FI_POWER_USAGE", 155},
{"RDC_FI_GPU_CLOCK", 100},
{"RDC_FI_MEM_CLOCK", 101},
{"RDC_FI_PCIE_TX", 200},
{"RDC_FI_PCIE_RX", 201},
{"RDC_FI_GPU_UTIL", 203},
{"RDC_FI_ECC_CORRECT_TOTAL", 312},
{"RDC_FI_ECC_UNCORRECT_TOTAL", 313},
{"RDC_FI_MEMORY_TEMP", 140},
{"RDC_FI_GPU_TEMP", 150},
{"RDC_FI_GPU_COUNT", 4},
{"RDC_FI_DEV_NAME", 50}
};
auto id = field_name_to_id.find(name);
if (id == field_name_to_id.end()) {
return false;
}
value = id->second;
return true;
}
std::vector<std::string> RdciSubSystem::split_string(const std::string& s,
char delimiter) const {
std::vector<std::string> tokens;