HighLevelGraph с (локальным / многопроцессорным) распределением - PullRequest
0 голосов
/ 30 апреля 2019

Как использовать dask.highlevelgraph.HighLevelGraph в локальной распределенной настройке.

Последовательные вычисления, например

result = dask.get(some_high_level_graph, [some_targets])

работает.


import dask
from dask.highlevelgraph import HighLevelGraph as CG

# from dask import distributed as ddist

def inc(i):
    return i + 1

def add(a, b):
    return a + b

def mult(a, b):
    return a * b

wf = CG(
    layers = {
        1: {
            'inc': (inc, 1),
            'add': (add, 1, 'inc'),
        },
        2: {
            'mult': (mult, 3, 3)
        }
    },
    dependencies=[1, 2]
)

targets = ['add', 'mult']
r = dask.get(wf, targets)
print(r)

targets = ['mult']
r = dask.get(wf, targets)
print(r)

Практически я хочу вычислить 'add' и 'mult' параллельно.

1 Ответ

0 голосов
/ 02 мая 2019

Я смог решить проблему сам. Просто используйте:

result = client.get(graph, targets)
...