Skip to content

Commit

Permalink
Avoid materializing layers in Client.compute() (#4196)
Browse files Browse the repository at this point in the history
  • Loading branch information
madsbk authored Oct 30, 2020
1 parent 24007c2 commit d2e63c5
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion distributed/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2936,8 +2936,19 @@ def compute(
if not isinstance(priority, Number):
priority = {k: p for c, p in priority.items() for k in self._expand_key(c)}

if not isinstance(dsk, HighLevelGraph):
dsk = HighLevelGraph.from_collections(id(dsk), dsk, dependencies=())

# Let's append the finalize graph to dsk
finalize_name = tokenize(names)
layers = {finalize_name: dsk2}
layers.update(dsk.layers)
dependencies = {finalize_name: set(dsk.layers.keys())}
dependencies.update(dsk.dependencies)
dsk = HighLevelGraph(layers, dependencies)

futures_dict = self._graph_to_futures(
merge(dsk2, dsk),
dsk,
names,
restrictions,
loose_restrictions,
Expand Down

0 comments on commit d2e63c5

Please sign in to comment.