SWDEV-384797 - Renamed measure to info

Change-Id: I2397ed189fe0171ed29bd6440f8fa0bb210b95a5
Signed-off-by: Dalibor Stanisavljevic <Dalibor.Stanisavljevic@amd.com>
This commit is contained in:
Dalibor Stanisavljevic
2023-05-16 12:31:52 +02:00
parent dc4ba12e00
commit ca7f965018
8 changed files with 78 additions and 77 deletions
+17 -17
View File
@@ -283,7 +283,7 @@ class AMDSMICommands():
raise e
if args.limit:
try:
power_limit = amdsmi_interface.amdsmi_get_power_measure(args.gpu)['power_limit']
power_limit = amdsmi_interface.amdsmi_get_power_info(args.gpu)['power_limit']
except amdsmi_exception.AmdSmiLibraryException as e:
power_limit = e.get_error_info()
if not self.all_arguments:
@@ -811,32 +811,32 @@ class AMDSMICommands():
if args.power:
power_dict = {}
try:
power_measure = amdsmi_interface.amdsmi_get_power_measure(args.gpu)
power_measure = amdsmi_interface.amdsmi_get_power_info(args.gpu)
power_dict = {'average_socket_power': power_measure['average_socket_power'],
'voltage_gfx': power_measure['voltage_gfx'],
'voltage_soc': amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info,
'voltage_mem': amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info}
'gfx_voltage': power_measure['gfx_voltage'],
'soc_voltage': amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info,
'mem_voltage': amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info}
if self.logger.is_human_readable_format():
power_dict['average_socket_power'] = f"{power_dict['average_socket_power']} W"
power_dict['voltage_gfx'] = f"{power_dict['voltage_gfx']} mV"
power_dict['voltage_soc'] = amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info
power_dict['voltage_mem'] = amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info
power_dict['gfx_voltage'] = f"{power_dict['gfx_voltage']} mV"
power_dict['soc_voltage'] = amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info
power_dict['mem_voltage'] = amdsmi_exception.AmdSmiLibraryException(amdsmi_exception.AmdSmiRetCode.NOT_IMPLEMENTED).err_info
except amdsmi_exception.AmdSmiLibraryException as e:
power_dict = {'average_socket_power': e.get_error_info(),
'voltage_gfx': e.get_error_info(),
'voltage_soc': e.get_error_info(),
'voltage_mem': e.get_error_info()}
'gfx_voltage': e.get_error_info(),
'soc_voltage': e.get_error_info(),
'mem_voltage': e.get_error_info()}
if not self.all_arguments:
raise e
if self.logger.is_gpuvsmi_compatibility():
power_dict['current_power'] = power_dict.pop('average_socket_power')
power_dict['current_voltage'] = power_dict.pop('voltage_gfx')
power_dict['current_voltage_soc'] = power_dict.pop('voltage_soc')
power_dict['current_voltage_mem'] = power_dict.pop('voltage_mem')
power_dict['current_voltage'] = power_dict.pop('gfx_voltage')
power_dict['current_soc_voltage'] = power_dict.pop('soc_voltage')
power_dict['current_mem_voltage'] = power_dict.pop('mem_voltage')
try:
power_dict['current_fan_rpm'] = amdsmi_interface.amdsmi_dev_get_fan_rpms(args.gpu, 0)
@@ -850,8 +850,8 @@ class AMDSMICommands():
values_dict['power'] = power_dict
if args.clock:
try:
clock_gfx = amdsmi_interface.amdsmi_get_clock_measure(args.gpu, amdsmi_interface.AmdSmiClkType.GFX)
clock_mem = amdsmi_interface.amdsmi_get_clock_measure(args.gpu, amdsmi_interface.AmdSmiClkType.MEM)
clock_gfx = amdsmi_interface.amdsmi_get_clock_info(args.gpu, amdsmi_interface.AmdSmiClkType.GFX)
clock_mem = amdsmi_interface.amdsmi_get_clock_info(args.gpu, amdsmi_interface.AmdSmiClkType.MEM)
clocks = {'gfx': clock_gfx,
'mem': clock_mem}
@@ -1056,7 +1056,7 @@ class AMDSMICommands():
raise e
if args.energy:
try:
energy = amdsmi_interface.amdsmi_get_power_measure(args.gpu)['energy_accumulator']
energy = amdsmi_interface.amdsmi_get_power_info(args.gpu)['energy_accumulator']
if self.logger.is_human_readable_format():
unit = 'J'
+9 -9
View File
@@ -305,12 +305,12 @@ int main() {
vbios_info.vbios_version_string);
// Get power measure
amdsmi_power_measure_t power_measure = {};
ret = amdsmi_get_power_measure(processor_handles[j], &power_measure);
amdsmi_power_info_t power_measure = {};
ret = amdsmi_get_power_info(processor_handles[j], &power_measure);
CHK_AMDSMI_RET(ret)
printf(" Output of amdsmi_get_power_measure:\n");
printf(" Output of amdsmi_get_power_info:\n");
printf("\tCurrent GFX Voltage: %d\n",
power_measure.voltage_gfx);
power_measure.gfx_voltage);
printf("\tAverage socket power: %d\n",
power_measure.average_socket_power);
printf("\tEnergy accumulator: %ld\n\n",
@@ -358,18 +358,18 @@ int main() {
}
// Get GFX clock measurements
amdsmi_clk_measure_t gfx_clk_values = {};
ret = amdsmi_get_clock_measure(processor_handles[j], CLK_TYPE_GFX,
amdsmi_clk_info_t gfx_clk_values = {};
ret = amdsmi_get_clock_info(processor_handles[j], CLK_TYPE_GFX,
&gfx_clk_values);
CHK_AMDSMI_RET(ret)
printf(" Output of amdsmi_get_clock_measure:\n");
printf(" Output of amdsmi_get_clock_info:\n");
printf("\tGPU GFX Max Clock: %d\n", gfx_clk_values.max_clk);
printf("\tGPU GFX Average Clock: %d\n", gfx_clk_values.avg_clk);
printf("\tGPU GFX Current Clock: %d\n", gfx_clk_values.cur_clk);
// Get MEM clock measurements
amdsmi_clk_measure_t mem_clk_values = {};
ret = amdsmi_get_clock_measure(processor_handles[j], CLK_TYPE_MEM,
amdsmi_clk_info_t mem_clk_values = {};
ret = amdsmi_get_clock_info(processor_handles[j], CLK_TYPE_MEM,
&mem_clk_values);
CHK_AMDSMI_RET(ret)
printf("\tGPU MEM Max Clock: %d\n", mem_clk_values.max_clk);
+7 -7
View File
@@ -379,12 +379,12 @@ typedef struct {
typedef struct {
uint32_t average_socket_power;
uint64_t energy_accumulator; // v1 mod. (32->64)
uint32_t voltage_gfx; // GFX voltage measurement in mV
uint32_t voltage_soc; // SOC voltage measurement in mV
uint32_t voltage_mem; // MEM voltage measurement in mV
uint32_t gfx_voltage; // GFX voltage measurement in mV
uint32_t soc_voltage; // SOC voltage measurement in mV
uint32_t mem_voltage; // MEM voltage measurement in mV
uint32_t power_limit; // The power limit;
uint32_t reserved[9];
} amdsmi_power_measure_t;
} amdsmi_power_info_t;
typedef struct {
uint32_t cur_clk;
@@ -392,7 +392,7 @@ typedef struct {
uint32_t min_clk;
uint32_t max_clk;
uint32_t reserved[4];
} amdsmi_clk_measure_t;
} amdsmi_clk_info_t;
typedef struct {
uint32_t gfx_activity;
@@ -3754,7 +3754,7 @@ amdsmi_get_gpu_activity(amdsmi_processor_handle processor_handle, amdsmi_engine_
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t
amdsmi_get_power_measure(amdsmi_processor_handle processor_handle, amdsmi_power_measure_t *info);
amdsmi_get_power_info(amdsmi_processor_handle processor_handle, amdsmi_power_info_t *info);
/**
* @brief Returns the measurements of the clocks in the GPU
@@ -3771,7 +3771,7 @@ amdsmi_get_power_measure(amdsmi_processor_handle processor_handle, amdsmi_power_
* @return ::amdsmi_status_t | ::AMDSMI_STATUS_SUCCESS on success, non-zero on fail
*/
amdsmi_status_t
amdsmi_get_clock_measure(amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_measure_t *info);
amdsmi_get_clock_info(amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_info_t *info);
/**
* @brief Returns the VRAM usage (both total and used memory)
+8 -8
View File
@@ -511,7 +511,7 @@ try:
except AmdSmiException as e:
print(e)
```
## amdsmi_get_power_measure
## amdsmi_get_power_info
Description: Returns the current power and voltage for the given GPU
Input parameters:
@@ -522,11 +522,11 @@ Output: Dictionary with fields
Field | Description
---|---
`average_socket_power`| average socket power
`voltage_gfx` | voltage gfx
`gfx_voltage` | voltage gfx
`energy_accumulator` | energy accumulator
`power_limit` | power limit
Exceptions that can be thrown by `amdsmi_get_power_measure` function:
Exceptions that can be thrown by `amdsmi_get_power_info` function:
* `AmdSmiLibraryException`
* `AmdSmiRetryException`
* `AmdSmiParameterException`
@@ -539,9 +539,9 @@ try:
print("No GPUs on machine")
else:
for device in devices:
power_measure = amdsmi_get_power_measure(device)
power_measure = amdsmi_get_power_info(device)
print(power_measure['average_socket_power'])
print(power_measure['voltage_gfx'])
print(power_measure['gfx_voltage'])
print(power_measure['energy_accumulator'])
print(power_measure['power_limit'])
except AmdSmiException as e:
@@ -579,7 +579,7 @@ try:
except AmdSmiException as e:
print(e)
```
## amdsmi_get_clock_measure
## amdsmi_get_clock_info
Description: Returns the clock measure for the given GPU
Input parameters:
@@ -609,7 +609,7 @@ Field | Description
`min_clk` | Minimum clock for given clock type
`max_clk` | Maximum clock for given clock type
Exceptions that can be thrown by `amdsmi_get_clock_measure` function:
Exceptions that can be thrown by `amdsmi_get_clock_info` function:
* `AmdSmiLibraryException`
* `AmdSmiRetryException`
* `AmdSmiParameterException`
@@ -622,7 +622,7 @@ try:
print("No GPUs on machine")
else:
for device in devices:
clock_measure = amdsmi_get_clock_measure(device, AmdSmiClkType.GFX)
clock_measure = amdsmi_get_clock_info(device, AmdSmiClkType.GFX)
print(clock_measure['cur_clk'])
print(clock_measure['avg_clk'])
print(clock_measure['min_clk'])
+2 -2
View File
@@ -48,8 +48,8 @@ from .amdsmi_interface import amdsmi_get_fw_info
# # GPU Monitoring
from .amdsmi_interface import amdsmi_get_gpu_activity
from .amdsmi_interface import amdsmi_get_gpu_vram_usage
from .amdsmi_interface import amdsmi_get_power_measure
from .amdsmi_interface import amdsmi_get_clock_measure
from .amdsmi_interface import amdsmi_get_power_info
from .amdsmi_interface import amdsmi_get_clock_info
from .amdsmi_interface import amdsmi_get_pcie_link_status
from .amdsmi_interface import amdsmi_get_pcie_link_caps
+7 -7
View File
@@ -698,7 +698,7 @@ def amdsmi_get_gpu_activity(
}
def amdsmi_get_clock_measure(
def amdsmi_get_clock_info(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
clock_type: amdsmi_wrapper.amdsmi_clk_type_t,
) -> Dict[str, Any]:
@@ -709,9 +709,9 @@ def amdsmi_get_clock_measure(
if not isinstance(clock_type, AmdSmiClkType):
raise AmdSmiParameterException(clock_type, AmdSmiClkType)
clock_measure = amdsmi_wrapper.amdsmi_clk_measure_t()
clock_measure = amdsmi_wrapper.amdsmi_clk_info_t()
_check_res(
amdsmi_wrapper.amdsmi_get_clock_measure(
amdsmi_wrapper.amdsmi_get_clock_info(
processor_handle,
amdsmi_wrapper.amdsmi_clk_type_t(clock_type),
ctypes.byref(clock_measure),
@@ -962,7 +962,7 @@ def amdsmi_get_gpu_driver_version(
return version.value.decode("utf-8")
def amdsmi_get_power_measure(
def amdsmi_get_power_info(
processor_handle: amdsmi_wrapper.amdsmi_processor_handle,
) -> Dict[str, Any]:
if not isinstance(processor_handle, amdsmi_wrapper.amdsmi_processor_handle):
@@ -970,16 +970,16 @@ def amdsmi_get_power_measure(
processor_handle, amdsmi_wrapper.amdsmi_processor_handle
)
power_measure = amdsmi_wrapper.amdsmi_power_measure_t()
power_measure = amdsmi_wrapper.amdsmi_power_info_t()
_check_res(
amdsmi_wrapper.amdsmi_get_power_measure(
amdsmi_wrapper.amdsmi_get_power_info(
processor_handle, ctypes.byref(power_measure)
)
)
return {
"average_socket_power": power_measure.average_socket_power,
"voltage_gfx": power_measure.voltage_gfx,
"gfx_voltage": power_measure.gfx_voltage,
"energy_accumulator": power_measure.energy_accumulator,
"power_limit" : power_measure.power_limit,
}
+25 -24
View File
@@ -23,7 +23,7 @@
import os
# -*- coding: utf-8 -*-
#
# TARGET arch is: ['-I/usr/lib64/clang/10.0.1/include']
# TARGET arch is: ['-I/usr/lib/llvm-14/lib/clang/14.0.0/include']
# WORD_SIZE is: 8
# POINTER_SIZE is: 8
# LONGDOUBLE_SIZE is: 16
@@ -187,6 +187,7 @@ else:
_libraries['libamd_smi.so'] = ctypes.CDLL(libamd_smi_cwd)
# values for enumeration 'c__EA_amdsmi_init_flags_t'
c__EA_amdsmi_init_flags_t__enumvalues = {
0: 'AMDSMI_INIT_ALL_DEVICES',
@@ -667,28 +668,28 @@ struct_c__SA_amdsmi_board_info_t._fields_ = [
]
amdsmi_board_info_t = struct_c__SA_amdsmi_board_info_t
class struct_c__SA_amdsmi_power_measure_t(Structure):
class struct_c__SA_amdsmi_power_info_t(Structure):
pass
struct_c__SA_amdsmi_power_measure_t._pack_ = 1 # source:False
struct_c__SA_amdsmi_power_measure_t._fields_ = [
struct_c__SA_amdsmi_power_info_t._pack_ = 1 # source:False
struct_c__SA_amdsmi_power_info_t._fields_ = [
('average_socket_power', ctypes.c_uint32),
('PADDING_0', ctypes.c_ubyte * 4),
('energy_accumulator', ctypes.c_uint64),
('voltage_gfx', ctypes.c_uint32),
('voltage_soc', ctypes.c_uint32),
('voltage_mem', ctypes.c_uint32),
('gfx_voltage', ctypes.c_uint32),
('soc_voltage', ctypes.c_uint32),
('mem_voltage', ctypes.c_uint32),
('power_limit', ctypes.c_uint32),
('reserved', ctypes.c_uint32 * 9),
('PADDING_1', ctypes.c_ubyte * 4),
]
amdsmi_power_measure_t = struct_c__SA_amdsmi_power_measure_t
class struct_c__SA_amdsmi_clk_measure_t(Structure):
amdsmi_power_info_t = struct_c__SA_amdsmi_power_info_t
class struct_c__SA_amdsmi_clk_info_t(Structure):
pass
struct_c__SA_amdsmi_clk_measure_t._pack_ = 1 # source:False
struct_c__SA_amdsmi_clk_measure_t._fields_ = [
struct_c__SA_amdsmi_clk_info_t._pack_ = 1 # source:False
struct_c__SA_amdsmi_clk_info_t._fields_ = [
('cur_clk', ctypes.c_uint32),
('avg_clk', ctypes.c_uint32),
('min_clk', ctypes.c_uint32),
@@ -696,7 +697,7 @@ struct_c__SA_amdsmi_clk_measure_t._fields_ = [
('reserved', ctypes.c_uint32 * 4),
]
amdsmi_clk_measure_t = struct_c__SA_amdsmi_clk_measure_t
amdsmi_clk_info_t = struct_c__SA_amdsmi_clk_info_t
class struct_c__SA_amdsmi_engine_usage_t(Structure):
pass
@@ -1697,12 +1698,12 @@ amdsmi_get_gpu_vbios_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(st
amdsmi_get_gpu_activity = _libraries['libamd_smi.so'].amdsmi_get_gpu_activity
amdsmi_get_gpu_activity.restype = amdsmi_status_t
amdsmi_get_gpu_activity.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_c__SA_amdsmi_engine_usage_t)]
amdsmi_get_power_measure = _libraries['libamd_smi.so'].amdsmi_get_power_measure
amdsmi_get_power_measure.restype = amdsmi_status_t
amdsmi_get_power_measure.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_c__SA_amdsmi_power_measure_t)]
amdsmi_get_clock_measure = _libraries['libamd_smi.so'].amdsmi_get_clock_measure
amdsmi_get_clock_measure.restype = amdsmi_status_t
amdsmi_get_clock_measure.argtypes = [amdsmi_processor_handle, amdsmi_clk_type_t, ctypes.POINTER(struct_c__SA_amdsmi_clk_measure_t)]
amdsmi_get_power_info = _libraries['libamd_smi.so'].amdsmi_get_power_info
amdsmi_get_power_info.restype = amdsmi_status_t
amdsmi_get_power_info.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_c__SA_amdsmi_power_info_t)]
amdsmi_get_clock_info = _libraries['libamd_smi.so'].amdsmi_get_clock_info
amdsmi_get_clock_info.restype = amdsmi_status_t
amdsmi_get_clock_info.argtypes = [amdsmi_processor_handle, amdsmi_clk_type_t, ctypes.POINTER(struct_c__SA_amdsmi_clk_info_t)]
amdsmi_get_gpu_vram_usage = _libraries['libamd_smi.so'].amdsmi_get_gpu_vram_usage
amdsmi_get_gpu_vram_usage.restype = amdsmi_status_t
amdsmi_get_gpu_vram_usage.argtypes = [amdsmi_processor_handle, ctypes.POINTER(struct_c__SA_amdsmi_vram_info_t)]
@@ -1843,7 +1844,7 @@ __all__ = \
'TEMPERATURE_TYPE_VRAM', 'TEMPERATURE_TYPE__MAX', 'UNKNOWN',
'amd_metrics_table_header_t', 'amdsmi_asic_info_t',
'amdsmi_bdf_t', 'amdsmi_bit_field_t', 'amdsmi_board_info_t',
'amdsmi_clk_measure_t', 'amdsmi_clk_type_t',
'amdsmi_clk_info_t', 'amdsmi_clk_type_t',
'amdsmi_clk_type_t__enumvalues',
'amdsmi_close_supported_func_iterator',
'amdsmi_container_types_t',
@@ -1864,7 +1865,7 @@ __all__ = \
'amdsmi_fw_block_t', 'amdsmi_fw_block_t__enumvalues',
'amdsmi_fw_info_t', 'amdsmi_get_busy_percent',
'amdsmi_get_caps_info', 'amdsmi_get_clk_freq',
'amdsmi_get_clock_measure', 'amdsmi_get_energy_count',
'amdsmi_get_clock_info', 'amdsmi_get_energy_count',
'amdsmi_get_func_iter_value', 'amdsmi_get_fw_info',
'amdsmi_get_gpu_activity', 'amdsmi_get_gpu_asic_info',
'amdsmi_get_gpu_available_counters',
@@ -1898,7 +1899,7 @@ __all__ = \
'amdsmi_get_gpu_vram_usage', 'amdsmi_get_gpu_vram_vendor',
'amdsmi_get_minmax_bandwidth', 'amdsmi_get_pcie_link_caps',
'amdsmi_get_pcie_link_status', 'amdsmi_get_power_ave',
'amdsmi_get_power_cap_info', 'amdsmi_get_power_measure',
'amdsmi_get_power_cap_info', 'amdsmi_get_power_info',
'amdsmi_get_processor_handle_from_bdf',
'amdsmi_get_processor_handles', 'amdsmi_get_processor_type',
'amdsmi_get_socket_handles', 'amdsmi_get_socket_info',
@@ -1922,7 +1923,7 @@ __all__ = \
'amdsmi_open_supported_func_iterator',
'amdsmi_open_supported_variant_iterator',
'amdsmi_pcie_bandwidth_t', 'amdsmi_pcie_info_t',
'amdsmi_power_cap_info_t', 'amdsmi_power_measure_t',
'amdsmi_power_cap_info_t', 'amdsmi_power_info_t',
'amdsmi_power_profile_preset_masks_t',
'amdsmi_power_profile_preset_masks_t__enumvalues',
'amdsmi_power_profile_status_t', 'amdsmi_proc_info_t',
@@ -1977,7 +1978,7 @@ __all__ = \
'struct_c__SA_amd_metrics_table_header_t',
'struct_c__SA_amdsmi_asic_info_t',
'struct_c__SA_amdsmi_board_info_t',
'struct_c__SA_amdsmi_clk_measure_t',
'struct_c__SA_amdsmi_clk_info_t',
'struct_c__SA_amdsmi_counter_value_t',
'struct_c__SA_amdsmi_engine_usage_t',
'struct_c__SA_amdsmi_error_count_t',
@@ -1997,7 +1998,7 @@ __all__ = \
'struct_c__SA_amdsmi_pcie_bandwidth_t',
'struct_c__SA_amdsmi_pcie_info_t',
'struct_c__SA_amdsmi_power_cap_info_t',
'struct_c__SA_amdsmi_power_measure_t',
'struct_c__SA_amdsmi_power_info_t',
'struct_c__SA_amdsmi_power_profile_status_t',
'struct_c__SA_amdsmi_proc_info_t',
'struct_c__SA_amdsmi_proc_info_t_0',
+3 -3
View File
@@ -1492,7 +1492,7 @@ amdsmi_get_gpu_activity(amdsmi_processor_handle processor_handle, amdsmi_engine_
}
amdsmi_status_t
amdsmi_get_clock_measure(amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_measure_t *info) {
amdsmi_get_clock_info(amdsmi_processor_handle processor_handle, amdsmi_clk_type_t clk_type, amdsmi_clk_info_t *info) {
AMDSMI_CHECK_INIT();
if (info == nullptr) {
@@ -1698,7 +1698,7 @@ amdsmi_get_gpu_process_info(amdsmi_processor_handle processor_handle, amdsmi_pro
}
amdsmi_status_t
amdsmi_get_power_measure(amdsmi_processor_handle processor_handle, amdsmi_power_measure_t *info) {
amdsmi_get_power_info(amdsmi_processor_handle processor_handle, amdsmi_power_info_t *info) {
AMDSMI_CHECK_INIT();
if (info == nullptr) {
@@ -1732,7 +1732,7 @@ amdsmi_get_power_measure(amdsmi_processor_handle processor_handle, amdsmi_power_
}
info->power_limit = power_limit;
info->voltage_gfx = voltage_read;
info->gfx_voltage = voltage_read;
info->average_socket_power = metrics.average_socket_power;
info->energy_accumulator = metrics.energy_accumulator;