Fix misc memory leaks

Change-Id: I3dbf56e98d8c1312f9081956ed590962b2bdace3
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/amdsmi commit: 44c189b9f5]
This commit is contained in:
Galantsev, Dmitrii
2024-03-07 04:56:16 -06:00
والد 54c7e6f4c7
کامیت 01dbe9de84
7فایلهای تغییر یافته به همراه113 افزوده شده و 117 حذف شده
@@ -255,6 +255,7 @@ class Device {
rsmi_status_t dev_log_gpu_metrics(std::ostringstream& outstream_metrics);
AMGpuMetricsPublicLatestTupl_t dev_copy_internal_to_external_metrics();
static const std::map<DevInfoTypes, const char*> devInfoTypesStrings;
private:
std::shared_ptr<Monitor> monitor_;
@@ -724,7 +724,7 @@ class GpuMetricsBase_t
};
using GpuMetricsBasePtr = std::shared_ptr<GpuMetricsBase_t>;
using AMDGpuMetricFactories_t = std::map<AMDGpuMetricVersionFlags_t, GpuMetricsBasePtr>;
using AMDGpuMetricFactories_t = const std::map<AMDGpuMetricVersionFlags_t, GpuMetricsBasePtr>;
class GpuMetricsBase_v11_t final : public GpuMetricsBase_t
@@ -117,7 +117,6 @@ class RocmSMI {
void debugRSMIEnvVarInfo();
bool isLoggingOn(void);
uint32_t getLogSetting(void);
static const std::map<amd::smi::DevInfoTypes, std::string> devInfoTypesStrings;
private:
std::vector<std::shared_ptr<Device>> devices_;
@@ -82,7 +82,7 @@ using amd::smi::monitorTypesToString;
using amd::smi::getRSMIStatusString;
using amd::smi::AMDGpuMetricsUnitType_t;
using amd::smi::AMDGpuMetricTypeId_t;
auto &devInfoTypesStrings = amd::smi::RocmSMI::devInfoTypesStrings;
auto &devInfoTypesStrings = amd::smi::Device::devInfoTypesStrings;
static const uint32_t kMaxOverdriveLevel = 20;
static const float kEnergyCounterResolution = 15.3F;
@@ -2027,7 +2027,7 @@ enum eNameStrType {
NAME_STR_SUBSYS
};
std::map<std::string, rsmi_compute_partition_type_t>
static const std::map<std::string, rsmi_compute_partition_type_t>
mapStringToRSMIComputePartitionTypes {
{"CPX", RSMI_COMPUTE_PARTITION_CPX},
{"SPX", RSMI_COMPUTE_PARTITION_SPX},
@@ -2036,7 +2036,7 @@ mapStringToRSMIComputePartitionTypes {
{"QPX", RSMI_COMPUTE_PARTITION_QPX}
};
std::map<rsmi_compute_partition_type_t, std::string>
static const std::map<rsmi_compute_partition_type_t, std::string>
mapRSMIToStringComputePartitionTypes {
{RSMI_COMPUTE_PARTITION_INVALID, "UNKNOWN"},
{RSMI_COMPUTE_PARTITION_CPX, "CPX"},
@@ -2046,7 +2046,7 @@ mapRSMIToStringComputePartitionTypes {
{RSMI_COMPUTE_PARTITION_QPX, "QPX"}
};
std::map<rsmi_memory_partition_type_t, std::string>
static const std::map<rsmi_memory_partition_type_t, std::string>
mapRSMIToStringMemoryPartitionTypes {
{RSMI_MEMORY_PARTITION_UNKNOWN, "UNKNOWN"},
{RSMI_MEMORY_PARTITION_NPS1, "NPS1"},
@@ -2055,7 +2055,7 @@ mapRSMIToStringMemoryPartitionTypes {
{RSMI_MEMORY_PARTITION_NPS8, "NPS8"}
};
std::map<std::string, rsmi_memory_partition_type_t>
static const std::map<std::string, rsmi_memory_partition_type_t>
mapStringToMemoryPartitionTypes {
{"NPS1", RSMI_MEMORY_PARTITION_NPS1},
{"NPS2", RSMI_MEMORY_PARTITION_NPS2},
@@ -336,7 +336,7 @@ static const std::map<rsmi_dev_perf_level, const char *> kDevPerfLvlMap = {
{RSMI_DEV_PERF_LEVEL_UNKNOWN, kDevPerfLevelUnknownStr},
};
static std::map<DevInfoTypes, uint8_t> kDevInfoVarTypeToRSMIVariant = {
static const std::map<DevInfoTypes, uint8_t> kDevInfoVarTypeToRSMIVariant = {
// rsmi_memory_type_t
{kDevMemTotGTT, RSMI_MEM_TYPE_GTT},
{kDevMemTotVisVRAM, RSMI_MEM_TYPE_VIS_VRAM},
@@ -391,6 +391,89 @@ static std::map<DevInfoTypes, uint8_t> kDevInfoVarTypeToRSMIVariant = {
{kDevDFCountersAvailable, RSMI_EVNT_GRP_XGMI}
};
const std::map<DevInfoTypes, const char*>
Device::devInfoTypesStrings = {
{kDevPerfLevel, "kDevPerfLevel"},
{kDevOverDriveLevel, "kDevOverDriveLevel"},
{kDevMemOverDriveLevel, "kDevMemOverDriveLevel"},
{kDevDevID, "kDevDevID"},
{kDevXGMIPhysicalID, "kDevXGMIPhysicalID"},
{kDevDevRevID, "kDevDevRevID"},
{kDevDevProdName, "kDevDevProdName"},
{kDevBoardInfo, "kDevBoardInfo"},
{kDevDevProdNum, "kDevDevProdNum"},
{kDevVendorID, "kDevVendorID"},
{kDevSubSysDevID, "kDevSubSysDevID"},
{kDevSubSysVendorID, "kDevSubSysVendorID"},
{kDevGPUMClk, "kDevGPUMClk"},
{kDevGPUSClk, "kDevGPUSClk"},
{kDevDCEFClk, "kDevDCEFClk"},
{kDevFClk, "kDevFClk"},
{kDevSOCClk, "kDevSOCClk"},
{kDevPCIEClk, "kDevPCIEClk"},
{kDevPowerProfileMode, "kDevPowerProfileMode"},
{kDevUsage, "kDevUsage"},
{kDevPowerODVoltage, "kDevPowerODVoltage"},
{kDevVBiosVer, "kDevVBiosVer"},
{kDevPCIEThruPut, "kDevPCIEThruPut"},
{kDevErrCntSDMA, "kDevErrCntSDMA"},
{kDevErrCntUMC, "kDevErrCntUMC"},
{kDevErrCntGFX, "kDevErrCntGFX"},
{kDevErrCntMMHUB, "kDevErrCntMMHUB"},
{kDevErrCntPCIEBIF, "kDevErrCntPCIEBIF"},
{kDevErrCntHDP, "kDevErrCntHDP"},
{kDevErrCntXGMIWAFL, "kDevErrCntXGMIWAFL"},
{kDevErrCntFeatures, "kDevErrCntFeatures"},
{kDevErrRASSchema, "kDevErrRASSchema"},
{kDevErrTableVersion, "kDevErrTableVersion"},
{kDevMemTotGTT, "kDevMemTotGTT"},
{kDevMemTotVisVRAM, "kDevMemTotVisVRAM"},
{kDevMemTotVRAM, "kDevMemTotVRAM"},
{kDevMemUsedGTT, "kDevMemUsedGTT"},
{kDevMemUsedVisVRAM, "kDevMemUsedVisVRAM"},
{kDevMemUsedVRAM, "kDevMemUsedVRAM"},
{kDevVramVendor, "kDevVramVendor"},
{kDevPCIEReplayCount, "kDevPCIEReplayCount"},
{kDevUniqueId, "kDevUniqueId"},
{kDevDFCountersAvailable, "kDevDFCountersAvailable"},
{kDevMemBusyPercent, "kDevMemBusyPercent"},
{kDevXGMIError, "kDevXGMIError"},
{kDevFwVersionAsd, "kDevFwVersionAsd"},
{kDevFwVersionCe, "kDevFwVersionCe"},
{kDevFwVersionDmcu, "kDevFwVersionDmcu"},
{kDevFwVersionMc, "kDevFwVersionMc"},
{kDevFwVersionMe, "kDevFwVersionMe"},
{kDevFwVersionMec, "kDevFwVersionMec"},
{kDevFwVersionMec2, "kDevFwVersionMec2"},
{kDevFwVersionMes, "kDevFwVersionMes"},
{kDevFwVersionMesKiq, "kDevFwVersionMesKiq"},
{kDevFwVersionPfp, "kDevFwVersionPfp"},
{kDevFwVersionRlc, "kDevFwVersionRlc"},
{kDevFwVersionRlcSrlc, "kDevFwVersionRlcSrlc"},
{kDevFwVersionRlcSrlg, "kDevFwVersionRlcSrlg"},
{kDevFwVersionRlcSrls, "kDevFwVersionRlcSrls"},
{kDevFwVersionSdma, "kDevFwVersionSdma"},
{kDevFwVersionSdma2, "kDevFwVersionSdma2"},
{kDevFwVersionSmc, "kDevFwVersionSmc"},
{kDevFwVersionSos, "kDevFwVersionSos"},
{kDevFwVersionTaRas, "kDevFwVersionTaRas"},
{kDevFwVersionTaXgmi, "kDevFwVersionTaXgmi"},
{kDevFwVersionUvd, "kDevFwVersionUvd"},
{kDevFwVersionVce, "kDevFwVersionVce"},
{kDevFwVersionVcn, "kDevFwVersionVcn"},
{kDevSerialNumber, "kDevSerialNumber"},
{kDevMemPageBad, "kDevMemPageBad"},
{kDevNumaNode, "kDevNumaNode"},
{kDevGpuMetrics, "kDevGpuMetrics"},
{kDevPmMetrics, "kDevPmMetrics"},
{kDevRegMetrics, "kDevRegMetrics"},
{kDevGpuReset, "kDevGpuReset"},
{kDevAvailableComputePartition, "kDevAvailableComputePartition"},
{kDevComputePartition, "kDevComputePartition"},
{kDevMemoryPartition, "kDevMemoryPartition"},
{kDevPCieVendorID, "kDevPCieVendorID"},
};
static const std::map<const char *, dev_depends_t> kDevFuncDependsMap = {
// Functions with only mandatory dependencies
{"rsmi_dev_vram_vendor_get", {{kDevVramVendorFName}, {}}},
@@ -644,7 +727,7 @@ int Device::openSysfsFileStream(DevInfoTypes type, T *fs, const char *str) {
if (ret != 0) {
ss << __PRETTY_FUNCTION__ << " | Issue: File did not exist - SYSFS file ("
<< sysfs_path
<< ") for DevInfoInfoType (" << RocmSMI::devInfoTypesStrings.at(type)
<< ") for DevInfoInfoType (" << devInfoTypesStrings.at(type)
<< "), returning " << std::to_string(ret);
LOG_ERROR(ss);
return ret;
@@ -653,7 +736,7 @@ int Device::openSysfsFileStream(DevInfoTypes type, T *fs, const char *str) {
ss << __PRETTY_FUNCTION__
<< " | Issue: File is not a regular file - SYSFS file ("
<< sysfs_path << ") for "
<< "DevInfoInfoType (" << RocmSMI::devInfoTypesStrings.at(type) << "),"
<< "DevInfoInfoType (" << devInfoTypesStrings.at(type) << "),"
<< " returning ENOENT (" << std::strerror(ENOENT) << ")";
LOG_ERROR(ss);
return ENOENT;
@@ -664,7 +747,7 @@ int Device::openSysfsFileStream(DevInfoTypes type, T *fs, const char *str) {
if (!fs->is_open()) {
ss << __PRETTY_FUNCTION__
<< " | Issue: Could not open - SYSFS file (" << sysfs_path << ") for "
<< "DevInfoInfoType (" << RocmSMI::devInfoTypesStrings.at(type) << "), "
<< "DevInfoInfoType (" << devInfoTypesStrings.at(type) << "), "
<< ", returning " << std::to_string(errno) << " ("
<< std::strerror(errno) << ")";
LOG_ERROR(ss);
@@ -673,7 +756,7 @@ int Device::openSysfsFileStream(DevInfoTypes type, T *fs, const char *str) {
ss << __PRETTY_FUNCTION__ << " | Successfully opened SYSFS file ("
<< sysfs_path
<< ") for DevInfoInfoType (" << RocmSMI::devInfoTypesStrings.at(type)
<< ") for DevInfoInfoType (" << devInfoTypesStrings.at(type)
<< ")";
LOG_INFO(ss);
return 0;
@@ -690,7 +773,7 @@ int Device::readDebugInfoStr(DevInfoTypes type, std::string *retStr) {
ret = openDebugFileStream(type, &fs);
if (ret != 0) {
ss << "Could not read debugInfoStr for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type)<< "), returning "
<< devInfoTypesStrings.at(type)<< "), returning "
<< std::to_string(ret);
LOG_ERROR(ss);
return ret;
@@ -704,7 +787,7 @@ int Device::readDebugInfoStr(DevInfoTypes type, std::string *retStr) {
fs.close();
ss << "Successfully read debugInfoStr for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type)<< "), retString= " << *retStr;
<< devInfoTypesStrings.at(type)<< "), retString= " << *retStr;
LOG_INFO(ss);
return 0;
@@ -720,7 +803,7 @@ int Device::readDevInfoStr(DevInfoTypes type, std::string *retStr) {
ret = openSysfsFileStream(type, &fs);
if (ret != 0) {
ss << "Could not read device info string for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << "), returning "
<< devInfoTypesStrings.at(type) << "), returning "
<< std::to_string(ret);
LOG_ERROR(ss);
return ret;
@@ -729,8 +812,8 @@ int Device::readDevInfoStr(DevInfoTypes type, std::string *retStr) {
fs >> *retStr;
fs.close();
ss << __PRETTY_FUNCTION__
<< "Successfully read device info string for DevInfoType (" +
RocmSMI::devInfoTypesStrings.at(type) + "): " + *retStr
<< "Successfully read device info string for DevInfoType (" <<
devInfoTypesStrings.at(type) << "): " + *retStr
<< " | "
<< (fs.is_open() ? " File stream is opened" : " File stream is closed")
<< " | " << (fs.bad() ? "[ERROR] Bad read operation" :
@@ -765,7 +848,7 @@ int Device::writeDevInfoStr(DevInfoTypes type, std::string valStr,
fs.close();
ss << __PRETTY_FUNCTION__ << " | Issue: Could not open fileStream; "
<< "Could not write device info string (" << valStr
<< ") for DevInfoType (" << RocmSMI::devInfoTypesStrings.at(type)
<< ") for DevInfoType (" << devInfoTypesStrings.at(type)
<< "), returning " << std::to_string(ret);
LOG_ERROR(ss);
return ret;
@@ -776,7 +859,7 @@ int Device::writeDevInfoStr(DevInfoTypes type, std::string valStr,
fs.flush();
fs.close();
ss << "Successfully wrote device info string (" << valStr
<< ") for DevInfoType (" << RocmSMI::devInfoTypesStrings.at(type)
<< ") for DevInfoType (" << devInfoTypesStrings.at(type)
<< "), returning RSMI_STATUS_SUCCESS";
LOG_INFO(ss);
ret = RSMI_STATUS_SUCCESS;
@@ -790,7 +873,7 @@ int Device::writeDevInfoStr(DevInfoTypes type, std::string valStr,
fs.close();
ss << __PRETTY_FUNCTION__ << " | Issue: Could not write to file; "
<< "Could not write device info string (" << valStr
<< ") for DevInfoType (" << RocmSMI::devInfoTypesStrings.at(type)
<< ") for DevInfoType (" << devInfoTypesStrings.at(type)
<< "), returning " << getRSMIStatusString(ErrnoToRsmiStatus(ret));
ss << " | "
<< (fs.is_open() ? "[ERROR] File stream open" :
@@ -877,14 +960,14 @@ int Device::readDevInfoLine(DevInfoTypes type, std::string *line) {
ret = openSysfsFileStream(type, &fs);
if (ret != 0) {
ss << "Could not read DevInfoLine for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << ")";
<< devInfoTypesStrings.at(type) << ")";
LOG_ERROR(ss);
return ret;
}
std::getline(fs, *line);
ss << "Successfully read DevInfoLine for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << "), returning *line = "
<< devInfoTypesStrings.at(type) << "), returning *line = "
<< *line;
LOG_INFO(ss);
@@ -903,7 +986,7 @@ int Device::readDevInfoBinary(DevInfoTypes type, std::size_t b_size,
ptr = fopen(sysfs_path.c_str(), "rb");
if (!ptr) {
ss << "Could not read DevInfoBinary for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << ")"
<< devInfoTypesStrings.at(type) << ")"
<< " - SYSFS (" << sysfs_path << ")"
<< ", returning " << std::to_string(errno) << " ("
<< std::strerror(errno) << ")";
@@ -915,7 +998,7 @@ int Device::readDevInfoBinary(DevInfoTypes type, std::size_t b_size,
fclose(ptr);
if ((num*b_size) != b_size) {
ss << "Could not read DevInfoBinary for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << ") - SYSFS ("
<< devInfoTypesStrings.at(type) << ") - SYSFS ("
<< sysfs_path << "), binary size error; "
<< "[buff: "
<< p_binary_data
@@ -929,7 +1012,7 @@ int Device::readDevInfoBinary(DevInfoTypes type, std::size_t b_size,
return ENOENT;
}
ss << "Successfully read DevInfoBinary for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << ") - SYSFS ("
<< devInfoTypesStrings.at(type) << ") - SYSFS ("
<< sysfs_path << "), returning binaryData = " << p_binary_data
<< "; byte_size = " << std::dec << static_cast<int>(b_size);
@@ -961,7 +1044,7 @@ int Device::readDevInfoMultiLineStr(DevInfoTypes type,
if (retVec->empty()) {
ss << "Read devInfoMultiLineStr for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << ")"
<< devInfoTypesStrings.at(type) << ")"
<< ", but contained no string lines";
LOG_ERROR(ss);
return ENXIO;
@@ -979,12 +1062,12 @@ int Device::readDevInfoMultiLineStr(DevInfoTypes type,
if (!allLines.empty()) {
ss << "Successfully read devInfoMultiLineStr for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << ") "
<< devInfoTypesStrings.at(type) << ") "
<< ", returning lines read = " << allLines;
LOG_INFO(ss);
} else {
ss << "Read devInfoMultiLineStr for DevInfoType ("
<< RocmSMI::devInfoTypesStrings.at(type) << ")"
<< devInfoTypesStrings.at(type) << ")"
<< ", but lines were empty";
LOG_INFO(ss);
return ENXIO;
@@ -368,7 +368,7 @@ GpuMetricsBasePtr amdgpu_metrics_factory(AMDGpuMetricVersionFlags_t gpu_metric_v
<< " |";
LOG_TRACE(ostrstream);
return (amd_gpu_metrics_factory_table[gpu_metric_version]);
return (amd_gpu_metrics_factory_table.at(gpu_metric_version));
}
ostrstream << __PRETTY_FUNCTION__
@@ -57,10 +57,8 @@
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
#include <climits>
#include "rocm_smi/rocm_smi.h"
#include "rocm_smi/rocm_smi_device.h"
@@ -79,91 +77,6 @@ static const char *kDeviceNamePrefix = "card";
static const char *kAMDMonitorTypes[] = {"radeon", "amdgpu", ""};
static const std::string amdSMI = "amd::smi::";
const std::map<amd::smi::DevInfoTypes, std::string>
amd::smi::RocmSMI::devInfoTypesStrings = {
{amd::smi::kDevPerfLevel, amdSMI + "kDevPerfLevel"},
{amd::smi::kDevOverDriveLevel, amdSMI + "kDevOverDriveLevel"},
{amd::smi::kDevMemOverDriveLevel, amdSMI + "kDevMemOverDriveLevel"},
{amd::smi::kDevDevID, amdSMI + "kDevDevID"},
{amd::smi::kDevXGMIPhysicalID, amdSMI + "kDevXGMIPhysicalID"},
{amd::smi::kDevDevRevID, amdSMI + "kDevDevRevID"},
{amd::smi::kDevDevProdName, amdSMI + "kDevDevProdName"},
{amd::smi::kDevBoardInfo, amdSMI + "kDevBoardInfo"},
{amd::smi::kDevDevProdNum, amdSMI + "kDevDevProdNum"},
{amd::smi::kDevVendorID, amdSMI + "kDevVendorID"},
{amd::smi::kDevSubSysDevID, amdSMI + "kDevSubSysDevID"},
{amd::smi::kDevSubSysVendorID, amdSMI + "kDevSubSysVendorID"},
{amd::smi::kDevGPUMClk, amdSMI + "kDevGPUMClk"},
{amd::smi::kDevGPUSClk, amdSMI + "kDevGPUSClk"},
{amd::smi::kDevDCEFClk, amdSMI + "kDevDCEFClk"},
{amd::smi::kDevFClk, amdSMI + "kDevFClk"},
{amd::smi::kDevSOCClk, amdSMI + "kDevSOCClk"},
{amd::smi::kDevPCIEClk, amdSMI + "kDevPCIEClk"},
{amd::smi::kDevPowerProfileMode, amdSMI + "kDevPowerProfileMode"},
{amd::smi::kDevUsage, amdSMI + "kDevUsage"},
{amd::smi::kDevPowerODVoltage, amdSMI + "kDevPowerODVoltage"},
{amd::smi::kDevVBiosVer, amdSMI + "kDevVBiosVer"},
{amd::smi::kDevPCIEThruPut, amdSMI + "kDevPCIEThruPut"},
{amd::smi::kDevErrCntSDMA, amdSMI + "kDevErrCntSDMA"},
{amd::smi::kDevErrCntUMC, amdSMI + "kDevErrCntUMC"},
{amd::smi::kDevErrCntGFX, amdSMI + "kDevErrCntGFX"},
{amd::smi::kDevErrCntMMHUB, amdSMI + "kDevErrCntMMHUB"},
{amd::smi::kDevErrCntPCIEBIF, amdSMI + "kDevErrCntPCIEBIF"},
{amd::smi::kDevErrCntHDP, amdSMI + "kDevErrCntHDP"},
{amd::smi::kDevErrCntXGMIWAFL, amdSMI + "kDevErrCntXGMIWAFL"},
{amd::smi::kDevErrCntFeatures, amdSMI + "kDevErrCntFeatures"},
{amd::smi::kDevErrRASSchema, amdSMI + "kDevErrRASSchema"},
{amd::smi::kDevErrTableVersion, amdSMI + "kDevErrTableVersion"},
{amd::smi::kDevMemTotGTT, amdSMI + "kDevMemTotGTT"},
{amd::smi::kDevMemTotVisVRAM, amdSMI + "kDevMemTotVisVRAM"},
{amd::smi::kDevMemTotVRAM, amdSMI + "kDevMemTotVRAM"},
{amd::smi::kDevMemUsedGTT, amdSMI + "kDevMemUsedGTT"},
{amd::smi::kDevMemUsedVisVRAM, amdSMI + "kDevMemUsedVisVRAM"},
{amd::smi::kDevMemUsedVRAM, amdSMI + "kDevMemUsedVRAM"},
{amd::smi::kDevVramVendor, amdSMI + "kDevVramVendor"},
{amd::smi::kDevPCIEReplayCount, amdSMI + "kDevPCIEReplayCount"},
{amd::smi::kDevUniqueId, amdSMI + "kDevUniqueId"},
{amd::smi::kDevDFCountersAvailable, amdSMI + "kDevDFCountersAvailable"},
{amd::smi::kDevMemBusyPercent, amdSMI + "kDevMemBusyPercent"},
{amd::smi::kDevXGMIError, amdSMI + "kDevXGMIError"},
{amd::smi::kDevFwVersionAsd, amdSMI + "kDevFwVersionAsd"},
{amd::smi::kDevFwVersionCe, amdSMI + "kDevFwVersionCe"},
{amd::smi::kDevFwVersionDmcu, amdSMI + "kDevFwVersionDmcu"},
{amd::smi::kDevFwVersionMc, amdSMI + "kDevFwVersionMc"},
{amd::smi::kDevFwVersionMe, amdSMI + "kDevFwVersionMe"},
{amd::smi::kDevFwVersionMec, amdSMI + "kDevFwVersionMec"},
{amd::smi::kDevFwVersionMec2, amdSMI + "kDevFwVersionMec2"},
{amd::smi::kDevFwVersionMes, amdSMI + "kDevFwVersionMes"},
{amd::smi::kDevFwVersionMesKiq, amdSMI + "kDevFwVersionMesKiq"},
{amd::smi::kDevFwVersionPfp, amdSMI + "kDevFwVersionPfp"},
{amd::smi::kDevFwVersionRlc, amdSMI + "kDevFwVersionRlc"},
{amd::smi::kDevFwVersionRlcSrlc, amdSMI + "kDevFwVersionRlcSrlc"},
{amd::smi::kDevFwVersionRlcSrlg, amdSMI + "kDevFwVersionRlcSrlg"},
{amd::smi::kDevFwVersionRlcSrls, amdSMI + "kDevFwVersionRlcSrls"},
{amd::smi::kDevFwVersionSdma, amdSMI + "kDevFwVersionSdma"},
{amd::smi::kDevFwVersionSdma2, amdSMI + "kDevFwVersionSdma2"},
{amd::smi::kDevFwVersionSmc, amdSMI + "kDevFwVersionSmc"},
{amd::smi::kDevFwVersionSos, amdSMI + "kDevFwVersionSos"},
{amd::smi::kDevFwVersionTaRas, amdSMI + "kDevFwVersionTaRas"},
{amd::smi::kDevFwVersionTaXgmi, amdSMI + "kDevFwVersionTaXgmi"},
{amd::smi::kDevFwVersionUvd, amdSMI + "kDevFwVersionUvd"},
{amd::smi::kDevFwVersionVce, amdSMI + "kDevFwVersionVce"},
{amd::smi::kDevFwVersionVcn, amdSMI + "kDevFwVersionVcn"},
{amd::smi::kDevSerialNumber, amdSMI + "kDevSerialNumber"},
{amd::smi::kDevMemPageBad, amdSMI + "kDevMemPageBad"},
{amd::smi::kDevNumaNode, amdSMI + "kDevNumaNode"},
{amd::smi::kDevGpuMetrics, amdSMI + "kDevGpuMetrics"},
{amd::smi::kDevPmMetrics, amdSMI + "kDevPmMetrics"},
{amd::smi::kDevRegMetrics, amdSMI + "kDevRegMetrics"},
{amd::smi::kDevGpuReset, amdSMI + "kDevGpuReset"},
{amd::smi::kDevAvailableComputePartition, amdSMI +
"kDevAvailableComputePartition"},
{amd::smi::kDevComputePartition, amdSMI + "kDevComputePartition"},
{amd::smi::kDevMemoryPartition, amdSMI + "kDevMemoryPartition"},
{amd::smi::kDevPCieVendorID, amdSMI + "kDevPCieVendorID"},
};
namespace amd {
namespace smi {
@@ -647,7 +560,7 @@ std::string RocmSMI::getRSMIEnvVarInfo(void) {
for (auto it=env_vars_.enum_overrides.begin();
it != env_vars_.enum_overrides.end(); ++it) {
DevInfoTypes type = static_cast<DevInfoTypes>(*it);
ss << (std::to_string(*it) + " (" + devInfoTypesStrings.at(type) + ")");
ss << (std::to_string(*it) + " (" + Device::devInfoTypesStrings.at(type) + ")");
auto temp_it = it;
if(++temp_it != env_vars_.enum_overrides.end()) {
ss << ", ";