22
33from kernel_tuner .observers .observer import BenchmarkObserver
44
5- # check if power_sensor is installed
5+ # check if powersensor is installed
66try :
7- import power_sensor
7+ import powersensor
88except ImportError :
9- power_sensor = None
9+ powersensor = None
1010
1111
1212class PowerSensorObserver (BenchmarkObserver ):
1313 """Observer that an external PowerSensor2 device to accurately measure power
1414
15- Requires PowerSensor2 hardware and power_sensor Python bindings.
15+ Requires PowerSensor2 hardware and powersensor Python bindings.
1616
1717 :param observables: A list of string, containing any of "ps_energy" or "ps_power".
1818 To measure energy in Joules or power consumption in Watt.
@@ -25,8 +25,8 @@ class PowerSensorObserver(BenchmarkObserver):
2525 """
2626
2727 def __init__ (self , observables = None , device = None ):
28- if not power_sensor :
29- raise ImportError ("could not import power_sensor " )
28+ if not powersensor :
29+ raise ImportError ("could not import powersensor " )
3030
3131 supported = ["ps_energy" , "ps_power" ]
3232 for obs in observables :
@@ -35,18 +35,18 @@ def __init__(self, observables=None, device=None):
3535 self .observables = observables or ["ps_energy" ]
3636
3737 device = device or "/dev/ttyACM0"
38- self .ps = power_sensor .PowerSensor (device )
38+ self .ps = powersensor .PowerSensor (device )
3939
4040 self .begin_state = None
41- self .results = {"ps_energy" : [], "ps_power" : [] }
41+ self .results = {key : [] for key in self . observables }
4242
4343 def after_start (self ):
4444 self .begin_state = self .ps .read ()
4545
4646 def after_finish (self ):
4747 end_state = self .ps .read ()
4848 if "ps_energy" in self .observables :
49- ps_measured_e = power_sensor .Joules (
49+ ps_measured_e = powersensor .Joules (
5050 self .begin_state , end_state , - 1
5151 ) # Joules
5252 self .results ["ps_energy" ].append (ps_measured_e )
@@ -58,5 +58,5 @@ def after_finish(self):
5858
5959 def get_results (self ):
6060 averages = {key : np .average (values ) for key , values in self .results .items ()}
61- self .results = {"ps_energy" : [], "ps_power" : [] }
61+ self .results = {key : [] for key in self . observables }
6262 return averages
0 commit comments