wlauto.instrumentation.energy_model package¶
Module contents¶
-
class
wlauto.instrumentation.energy_model.
CapPowerState
(cap, power)¶ Bases:
tuple
-
cap
¶ Alias for field number 0
-
power
¶ Alias for field number 1
-
-
class
wlauto.instrumentation.energy_model.
EnergyModelInstrument
(device, **kwargs)[source]¶ Bases:
wlauto.core.instrumentation.Instrument
-
aliases
= AC([])¶
-
artifacts
= AC([])¶
-
core_modules
= []¶
-
desicription
= '\n Generates a power mode for the device based on specified workload.\n\n This instrument will execute the workload specified by the agenda (currently, only ``sysbench`` is\n supported) and will use the resulting performance and power measurments to generate a power mode for\n the device.\n\n This instrument requires certain features to be present in the kernel:\n\n 1. cgroups and cpusets must be enabled.\n 2. cpufreq and userspace governor must be enabled.\n 3. cpuidle must be enabled.\n\n '¶
-
finalize
(*args, **kwargs)¶
-
initialize
(*args, **kwargs)¶
-
kind
= 'instrument'¶
-
name
= 'energy_model'¶
-
parameters
= AC(["Param({'kind': <type 'list'>, 'mandatory': None, 'name': 'modules', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <class 'wlauto.utils.types.caseless_string'>, 'mandatory': None, 'name': 'device_name', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <class 'wlauto.utils.types.caseless_string'>, 'mandatory': None, 'name': 'big_core', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <class 'wlauto.utils.types.caseless_string'>, 'mandatory': True, 'name': 'performance_metric', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function list_or_caseless_string>, 'mandatory': None, 'name': 'power_metric', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function list_or_caseless_string>, 'mandatory': None, 'name': 'energy_metric', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'float'>, 'mandatory': None, 'name': 'power_scaling_factor', 'constraint': None, 'default': 1.0, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function list_of_ints>, 'mandatory': None, 'name': 'big_frequencies', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function list_of_ints>, 'mandatory': None, 'name': 'little_frequencies', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'str'>, 'mandatory': None, 'name': 'idle_workload', 'constraint': None, 'default': 'idle', 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <type 'dict'>, 'mandatory': None, 'name': 'idle_workload_params', 'constraint': None, 'default': {}, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'first_cluster_idle_state', 'constraint': None, 'default': -1, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function boolean>, 'mandatory': None, 'name': 'no_hotplug', 'constraint': None, 'default': False, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'num_of_freqs_to_thermal_adjust', 'constraint': None, 'default': 0, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function opp_table>, 'mandatory': None, 'name': 'big_opps', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function opp_table>, 'mandatory': None, 'name': 'little_opps', 'constraint': None, 'default': None, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'big_leakage', 'constraint': None, 'default': 120, 'allowed_values': None, 'global_alias': None, 'override': False})", "Param({'kind': <function integer>, 'mandatory': None, 'name': 'little_leakage', 'constraint': None, 'default': 60, 'allowed_values': None, 'global_alias': None, 'override': False})"])¶
-
validate
(*args, **kwargs)¶
-
-
class
wlauto.instrumentation.energy_model.
IdlePowerState
(power)¶ Bases:
tuple
-
power
¶ Alias for field number 0
-
-
wlauto.instrumentation.energy_model.
build_energy_model
(freq_power_table, cpus_power, idle_power, first_cluster_idle_state)[source]¶
-
wlauto.instrumentation.energy_model.
generate_em_c_file
(em, big_core, little_core, em_template_file, outfile)[source]¶