Skip to content

fuse_root(): update dependencies correctly#6508

Merged
mrocklin merged 4 commits intodask:masterfrom
madsbk:fuse_root_dependencies_fix
Aug 13, 2020
Merged

fuse_root(): update dependencies correctly#6508
mrocklin merged 4 commits intodask:masterfrom
madsbk:fuse_root_dependencies_fix

Conversation

@madsbk
Copy link
Contributor

@madsbk madsbk commented Aug 13, 2020

This PR makes fuse_roots() remove deleted layers in dependencies. Also added HighLevelGraph.validate() that raises ValueError if the graph is in an invalid state.

  • Tests added / passed
  • Passes black dask / flake8 dask

@madsbk madsbk changed the title Fuse_root(): update dependencies correctly fuse_root(): update dependencies correctly Aug 13, 2020
@mrocklin
Copy link
Member

This looks good to me. Merging. I'm going to follow up with another PR that adds this to the general test suite and exposes some errors.

@mrocklin mrocklin merged commit 0bc1daa into dask:master Aug 13, 2020
mrocklin added a commit to mrocklin/dask that referenced this pull request Aug 13, 2020
@madsbk madsbk deleted the fuse_root_dependencies_fix branch August 18, 2020 06:32
mrocklin pushed a commit that referenced this pull request Sep 8, 2020
Follows on from #6508

* Added core.keys_in_tasks()
* HLG: added more thorough validation check
* lingalg: layer dependencies are now sets
* linalg.lstsq(): fixed dependencies
* linalg.sfqr(): fixed dependencies
* linalg.tsqr(): removed dependency when all slices are known
* linalg.tsqr(): name_q2bs are name_q2cs are not layers
* added help function compute_layer_dependencies()
* elemwise(): fixed dependencies
* Delayed: fixed __dask_layers__() of HLGs
* _loc_list(): empty dependencies on empty index
* reformat: black
* keys_in_tasks(): fixed doc example
* optimize_blockwise(): fixed dependencies
* tril() and triu(): fixed dependencies when empty result
* added a doctest: +SKIP
mrocklin pushed a commit that referenced this pull request Sep 23, 2020
Follows on from #6508

* Implemented culling of high level graphs
* Skip layers nobody depend on
* Added class Layer(Mapping)
* Implemented a default Layer.cull()
* Added core.keys_in_tasks()
* Layer.get_external_dependencies() to use keys_in_tasks()
* Blockwise to implement the Layer protocol
* optimize_blockwise(): fixed dependencies
* ParquetSubgraph(): implemented Layer
* Implemented HLG.keyset()
* Layer.cull(): now returns a new Layer and key dependencies
kumarprabhu1988 pushed a commit to kumarprabhu1988/dask that referenced this pull request Oct 29, 2020
kumarprabhu1988 pushed a commit to kumarprabhu1988/dask that referenced this pull request Oct 29, 2020
Follows on from dask#6508

* Added core.keys_in_tasks()
* HLG: added more thorough validation check
* lingalg: layer dependencies are now sets
* linalg.lstsq(): fixed dependencies
* linalg.sfqr(): fixed dependencies
* linalg.tsqr(): removed dependency when all slices are known
* linalg.tsqr(): name_q2bs are name_q2cs are not layers
* added help function compute_layer_dependencies()
* elemwise(): fixed dependencies
* Delayed: fixed __dask_layers__() of HLGs
* _loc_list(): empty dependencies on empty index
* reformat: black
* keys_in_tasks(): fixed doc example
* optimize_blockwise(): fixed dependencies
* tril() and triu(): fixed dependencies when empty result
* added a doctest: +SKIP
kumarprabhu1988 pushed a commit to kumarprabhu1988/dask that referenced this pull request Oct 29, 2020
Follows on from dask#6508

* Implemented culling of high level graphs
* Skip layers nobody depend on
* Added class Layer(Mapping)
* Implemented a default Layer.cull()
* Added core.keys_in_tasks()
* Layer.get_external_dependencies() to use keys_in_tasks()
* Blockwise to implement the Layer protocol
* optimize_blockwise(): fixed dependencies
* ParquetSubgraph(): implemented Layer
* Implemented HLG.keyset()
* Layer.cull(): now returns a new Layer and key dependencies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants