Parla.py
Parla.py copied to clipboard
Parla components import order errors
Some import orders cause errors, for example:
from parla import Parla
from parla.cpu import *
from parla.tasks import *
Works, but the following does not:
from parla import Parla
from parla.tasks import *
from parla.cpu import *
Traceback (most recent call last):
File "./bin/run_2d.py", line 8, in <module>
from barneshut.implementations import SimpleBarnesHut, ProcessPoolBarnesHut, AsyncBarnesHut, ParlaBarnesHut
File "/home/hfingler/parla/barnes-hut/2d-barnes-hut-python/barneshut/implementations/__init__.py", line 4, in <module>
from .barneshut.parla import ParlaBarnesHut
File "/home/hfingler/parla/barnes-hut/2d-barnes-hut-python/barneshut/implementations/barneshut/parla.py", line 5, in <module>
from parla.tasks import *
File "/home/hfingler/parla/.bh/lib/python3.7/site-packages/parla/tasks.py", line 22, in <module>
from parla import task_runtime, array
File "/home/hfingler/parla/.bh/lib/python3.7/site-packages/parla/array.py", line 10, in <module>
from parla.tasks import get_current_devices
ImportError: cannot import name 'get_current_devices' from 'parla.tasks' (/home/hfingler/parla/.bh/lib/python3.7/site-packages/parla/tasks.py)