This plugin tracks the power consumption of a Power 9-system.
SCOREP_METRIC_PLUGINS=ibmpowernv_plugin
SCOREP_METRIC_IBMPOWERNV_PLUGIN
(required)*
(for all) OR comma-separated list of metrics to collect. See here for available metrics.SCOREP_METRIC_IBMPOWERNV_PLUGIN_INTERVAL
(optional, default: 10ms, case sensitive) Interval of testing. The value is a duration string which will be parsed, e.g.100ms
.SCOREP_METRIC_IBMPOWERNV_PLUGIN_SOCKETS
(optional, default: 2) Number of sockets to create sensors for. Must be at least 1.
SCOREP_METRIC_PLUGINS=ibmpowernv_sync_plugin
SCOREP_METRIC_IBMPOWERNV_SYNC_PLUGIN
(required)*
adds all metrics. (any other value is forbidden)SCOREP_METRIC_IBMPOWERNV_PLUGIN_INTERVAL
(optional, default: 10ms, case sensitive) minimal intervall beteween two measurments. If the distance between two events is shorter, the same value might be reported. The value is a duration string which will be parsed, e.g.100ms
.SCOREP_METRIC_IBMPOWERNV_PLUGIN_SOCKETS
(optional, default: 2) Number of sockets to create sensors for. Must be at least 1.
For testing grab a sample occ inband sensors file and set the environment variable SCOREP_METRIC_IBMPOWERNV_PLUGIN_OCC_FILENAME
to its location.
Provided your built libibmpowernv_plugin.so
is in the current directory and you have lo2s installed, use this to generate a sample test trace:
LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH SCOREP_METRIC_PLUGINS=ibmpowernv_plugin SCOREP_METRIC_IBMPOWERNV_PLUGIN='*' SCOREP_METRIC_IBMPOWERNV_PLUGIN_OCC_FILENAME=./occ_inband_sensors_20210301T090454Z SCOREP_METRIC_IBMPOWERNV_PLUGIN_INTERVAL="0.1s" lo2s -v -- sleep 1
(expected: occ_power_system
always reads 471 W, occ_power_system_acc
always 5415690.465 J)
Copied structure of the source from the meminfo Score-P plugin.
Copied and adjusted code to read the sensors from Variorum, which in turn is originally from here.
Used function for time parsing from metricq.