0.13.0
What's Changed
- Introduce
finalize_dag
method inPlan
that caches DAG optimization by @tomwhite in #340 - Add VirtualInMemoryArray that keeps small arrays in memory by @tomwhite in #336
- Fix Modal test following #336 by @tomwhite in #341
- Change the DAG to have separate nodes for operations and arrays by @tomwhite in #337
- Allow more control over optimizations applied by @tomwhite in #342
- Handle the case where an array is created by calling
map_blocks
with no input arrays by @tomwhite in #343 - Add a test for visualizing the quad means computation by @tomwhite in #345
- Show nbytes for each array and total on visualization by @tomwhite in #344
- Fuse multiple inputs by @tomwhite in #346
- Upgrade to sphinx-notes/pages v3 by @tomwhite in #347
- Minor improvements to DAG visualization by @tomwhite in #348
- Remove deprecated code by @tomwhite in #349
- Add generated doc for primitive and core ops to design page by @tomwhite in #351
- Support arbitrary block index functions in blockwise by @tomwhite in #350
- Refactor pipeline to reduce coupling between runtime and primitive layers by @tomwhite in #352
- Implement
stack
usinggeneral_blockwise
by @tomwhite in #353 - Implement
reshape_chunks
usinggeneral_blockwise
by @tomwhite in #354 - More control over operation fusion by @tomwhite in #355
- Minor memory fixes by @tomwhite in #358
- Use Dask's 'broadcast trick' to save memory for single-valued arrays by @tomwhite in #359
- Add a
show_hidden
option tovisualize
by @tomwhite in #360 - Reinstate slow tests by @tomwhite in #361
- Add
function_nargs
toBlockwiseSpec
by @tomwhite in #363 - Add missing api doc by @tomwhite in #364
- Implement
partial_reduce
andtree_reduce
using generalized blockwise by @tomwhite in #365 - Quad means validation test by @tomwhite in #367
- Take
allowed_mem
into account when fusing primitive operations by @tomwhite in #366 - Fuse operations with different numbers of tasks by @tomwhite in #368
- Show number of tasks prominently on graph visualization by @tomwhite in #371
- Introduce event objects for all callback methods by @tomwhite in #373
- Minor Modal improvements by @tomwhite in #375
- Run tests using JAX as the backend array API (on CPU) by @tomwhite in #374
- Introduce
max_total_num_input_blocks
as a heuristic to control fusion by @tomwhite in #376 - Rename
array_name
toname
in runtime following #337 by @tomwhite in #377 - Enable backup tasks by default for all executors that support them by @tomwhite in #378
- Remove unused
array_names
parameter in executors by @tomwhite in #380 - Introduce
compute_id
for each computation by @tomwhite in #382 - Add a Rich progress bar by @tomwhite in #383
- Change timeline visualization default format to SVG by @tomwhite in #384
- Preserve laziness in
fuse_multiple
to avoid materializing array blocks in_partial_reduce
by @tomwhite in #386 - Fix Modal unit tests following change in #382 by @tomwhite in #387
- Add debug log statements to optimizer to see why nodes are fused by @tomwhite in #388
- Allow optional path in
from_zarr
andto_zarr
by @tomwhite in #391 - Remove CUBED_MODAL_FORCE_BUILD env var … by @tomwhite in #393
- Add introductory slides to docs by @tomwhite in #394
- Use donfig to control default spec by @tomwhite in #392
- small changes to coiled/aws examples by @rsignell in #369
- Skip vecdot test due to zero-size array failures by @tomwhite in #399
- Show both operation ID and name in visualization by @tomwhite in #396
- Add support for
minimum_workers
in Coiled by @tomwhite in #398 - Create a single set of example scripts that can run on any executor by @tomwhite in #395
New Contributors
Full Changelog: 0.12.0...0.13.0