pyJoules icon indicating copy to clipboard operation
pyJoules copied to clipboard

Unable to use pyJoules on Windows Subsystem for Linux?

Open kshivvy opened this issue 3 years ago • 1 comments

@altor @rouvoy @chakib-belgaid @danglotb

I have the following code snippet running on Ubuntu 20.04 on Windows Subsystem for Linux (WSL).

from pyJoules.energy_meter import measure_energy

@measure_energy
def foo():
    print("HERE")

foo()

I get the following stack trace error:

WARNING:root:pynvml not found you can't use NVIDIA devices
HERE
Traceback (most recent call last):
  File "test.py", line 7, in <module>
    foo()
  File "/home/kshivvy/venv/lib/python3.8/site-packages/pyJoules/energy_meter.py", line 298, in wrapper_measure
    handler.process(energy_meter.get_trace())
  File "/home/kshivvy/venv/lib/python3.8/site-packages/pyJoules/energy_meter.py", line 160, in get_trace
    return self._generate_trace()
  File "/home/kshivvy/venv/lib/python3.8/site-packages/pyJoules/energy_meter.py", line 169, in _generate_trace
    domains = self._get_domain_list()
  File "/home/kshivvy/venv/lib/python3.8/site-packages/pyJoules/energy_meter.py", line 166, in _get_domain_list
    return reduce(operator.add, [device.get_configured_domains() for device in self.devices])
TypeError: reduce() of empty sequence with no initial value

Doe pyJoules support WSL? Would I need to do a full Linux partition on my laptop or buy a machine with Linux preinstalled? Or is there an alternative way to profile energy used by specific lines of code?

Thanks, Keshav

kshivvy avatar Feb 24 '21 18:02 kshivvy