MCPcopy Create free account
hub / github.com/dask/dask / test_hlg_expr_sequence_nested_keys

Function test_hlg_expr_sequence_nested_keys

dask/tests/test_hlgexpr.py:137–176  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

135
136
137def test_hlg_expr_sequence_nested_keys():
138 xlayer = {"xlayer": MaterializedLayer({"x": DataNode("x", 1)})}
139 xdeps = {"xlayer": set()}
140 ylayer = {"ylayer": MaterializedLayer({"y": Task("y", func, TaskRef("x"))})}
141 ylayer.update(xlayer)
142 ydeps = {"ylayer": {"xlayer"}}
143 ydeps.update(xdeps)
144 hlgy = HighLevelGraph(ylayer, dependencies=ydeps)
145 zlayer = {"zlayer": MaterializedLayer({"z": Task("z", func, TaskRef("x"))})}
146 zlayer.update(xlayer)
147 zdeps = {"zlayer": {"xlayer"}}
148
149 zdeps.update(xdeps)
150 hlgz = HighLevelGraph(zlayer, dependencies=zdeps)
151 hlgexpry = HLGExpr(
152 hlgy,
153 low_level_optimizer=optimizer,
154 output_keys=[["y"], ["x"]],
155 )
156 hlgexprz = HLGExpr(
157 hlgz,
158 low_level_optimizer=optimizer,
159 output_keys=[["z"]],
160 )
161 expr = _ExprSequence(hlgexprz, hlgexpry)
162 expected = [[["z"]], [["y"], ["x"]]]
163 assert expr.__dask_keys__() == expected
164 assert expr.optimize().__dask_keys__() == expected
165
166 # Now with a different grouping / optimizer pass. These are handled
167 # separately internalyl and we want to make sure the sequence is putting it
168 # back together properly
169 hlgexprz = HLGExpr(
170 hlgz,
171 low_level_optimizer=optimizer2,
172 output_keys=[["z"]],
173 )
174 expr = _ExprSequence(hlgexprz, hlgexpry)
175 assert expr.__dask_keys__() == expected
176 assert expr.optimize().__dask_keys__() == expected
177
178
179def optimizer_with_annotations(dsk, keys):

Callers

nothing calls this directly

Calls 10

MaterializedLayerClass · 0.90
DataNodeClass · 0.90
TaskClass · 0.90
TaskRefClass · 0.90
HighLevelGraphClass · 0.90
HLGExprClass · 0.90
_ExprSequenceClass · 0.90
setClass · 0.85
__dask_keys__Method · 0.45
optimizeMethod · 0.45

Tested by

no test coverage detected