Breakend / experiment-impact-tracker

MIT License
266 stars 31 forks source link

Unexpected top level domain for RAPL package. Not yet supported. #12

Closed leondz closed 4 years ago

leondz commented 4 years ago

A "hello world" example throws an exception:

leon@blade:/tmp$ cat eit-test.py
#!/usr/bin/env python3
import time
from experiment_impact_tracker.compute_tracker import ImpactTracker
tracker = ImpactTracker('logdir')
tracker.launch_impact_monitor()
time.sleep(20)
leon@blade:/tmp$ python3 eit-test.py
loading region bounding boxes for computing carbon emissions region, this may take a moment...
 454/454... rate=667.16 Hz, eta=0:00:00, total=0:00:00, wall=11:24 CETT
Done!
experiment_impact_tracker.compute_tracker.ImpactTracker - WARNING - Gathering system info for reproducibility...
experiment_impact_tracker.compute_tracker.ImpactTracker - WARNING - Done initial setup and information gathering...
experiment_impact_tracker.compute_tracker.ImpactTracker - WARNING - Starting process to monitor power
experiment_impact_tracker.compute_tracker.ImpactTracker - WARNING - Datapoint timestamp took 5.817413330078125e-05 seconds
experiment_impact_tracker.compute_tracker.ImpactTracker - ERROR - Encountered exception within power monitor thread!
experiment_impact_tracker.compute_tracker.ImpactTracker - ERROR -   File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/compute_tracker.py", line 105, in launch_power_monitor
    _sample_and_log_power(log_dir, initial_info, logger=logger)
  File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/compute_tracker.py", line 69, in _sample_and_log_power
    results = header["routing"]["function"](process_ids, logger=logger, region=initial_info['region']['id'], log_dir=log_dir)
  File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/cpu/intel.py", line 134, in get_rapl_power
    "Unexpected top level domain for RAPL package. Not yet supported.")

Process Process-1:
Traceback (most recent call last):
  File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
    self.run()
  File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
    self._target(*self._args, **self._kwargs)
  File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/utils.py", line 68, in process_func
    raise e
  File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/utils.py", line 62, in process_func
    ret = func(q, *args, **kwargs)
  File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/compute_tracker.py", line 105, in launch_power_monitor
    _sample_and_log_power(log_dir, initial_info, logger=logger)
  File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/compute_tracker.py", line 69, in _sample_and_log_power
    results = header["routing"]["function"](process_ids, logger=logger, region=initial_info['region']['id'], log_dir=log_dir)
  File "/home/leon/.local/lib/python3.7/site-packages/experiment_impact_tracker/cpu/intel.py", line 134, in get_rapl_power
    "Unexpected top level domain for RAPL package. Not yet supported.")
NotImplementedError: Unexpected top level domain for RAPL package. Not yet supported.

Running on an i7-6700HQ with Ubuntu 18.04.04 LTS under Python 3.7.5 and experiment-impact-tracker 0.1.8 in Copenhagen.

Breakend commented 4 years ago

This is difficult to debug as I don't have this chip. Could you let me know what you find under the /sys/class/powercap/intel-rapl directory?

leondz commented 4 years ago

Sure:

leon@blade:~$ ll /sys/class/powercap/intel-rapl/
total 0
drwxr-xr-x 5 root root    0 Jun 11 09:31 ./
drwxr-xr-x 3 root root    0 Jun 11 09:17 ../
-rw-r--r-- 1 root root 4096 Jun 11 09:17 enabled
drwxr-xr-x 6 root root    0 Jun 11 09:17 intel-rapl:0/
drwxr-xr-x 3 root root    0 Jun 11 09:17 intel-rapl:1/
drwxr-xr-x 2 root root    0 Jun 11 09:17 power/
lrwxrwxrwx 1 root root    0 Jun 11 09:17 subsystem -> ../../../../class/powercap/
-rw-r--r-- 1 root root 4096 Jun 11 09:17 uevent
Breakend commented 4 years ago

Hmm, that's strange, it seems like you have all the needed files. Does #17 fix your issue?

leondz commented 4 years ago

Yes. The first domain reported is PSys which e-i-t didn't support.