Skip to content

Allow blocks smaller than full shape along reprojected dimensions and fix calculation of co-addition footprint in broadcasted parallelization#613

Open
astrofrog wants to merge 11 commits into
astropy:mainfrom
astrofrog:blockwise-reproject
Open

Allow blocks smaller than full shape along reprojected dimensions and fix calculation of co-addition footprint in broadcasted parallelization#613
astrofrog wants to merge 11 commits into
astropy:mainfrom
astrofrog:blockwise-reproject

Conversation

@astrofrog

Copy link
Copy Markdown
Member

WIP

@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.18%. Comparing base (0d2af9c) to head (67f27d7).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #613      +/-   ##
==========================================
+ Coverage   90.05%   90.18%   +0.12%     
==========================================
  Files          51       51              
  Lines        2293     2312      +19     
==========================================
+ Hits         2065     2085      +20     
+ Misses        228      227       -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@astrofrog astrofrog changed the title Use da.blockwise for broadcasted parallelization Use da.blockwise for broadcasted parallelization which allows reprojected blocks smaller than full shape Jul 1, 2026
@astrofrog astrofrog force-pushed the blockwise-reproject branch from 5d5330d to e3ccdb8 Compare July 2, 2026 12:16
@astrofrog astrofrog changed the title Use da.blockwise for broadcasted parallelization which allows reprojected blocks smaller than full shape Allow blocks smaller than full shape along reprojected dimesnions in broadcasted parallelization Jul 2, 2026
@astrofrog astrofrog changed the title Allow blocks smaller than full shape along reprojected dimesnions in broadcasted parallelization Allow blocks smaller than full shape along reprojected dimensions and fix calculation of co-addition footprint in broadcasted parallelization Jul 2, 2026
@astrofrog astrofrog marked this pull request as ready for review July 2, 2026 12:37
@astrofrog

Copy link
Copy Markdown
Member Author

pre-commit.ci autofix

@astrofrog astrofrog force-pushed the blockwise-reproject branch from 6381d0c to 9293891 Compare July 2, 2026 22:32
astrofrog and others added 11 commits July 3, 2026 13:57
…mensions for non_reprojected_dims reprojection, tiling each plane so the coordinate transform memory stays bounded, and route dask array inputs through map_blocks so each block is reprojected from the input directly
…ingle_block function inside the dispatcher instead of two module-level helpers so the diff against main stays small and easy to review
…aps, since views keep the parent's unadjusted offset and were silently reprojected from the wrong file region, and pass views by reference instead
…ith one chunk per non-reprojected slice, each routed through a delayed task so blockwise fusion cannot recompute it per output tile, restoring per-slice streaming for dask inputs instead of materializing them to a temporary memmap and letting distributed schedulers ship each task only its own slice
…' and it is chunked below one slice along the reprojected dimensions, so streaming reprojection cores only compute the input chunks each output tile touches and never need to hold a whole slice, while slice-chunked inputs are still materialized exactly once per slice
…sions that are neither 1 nor the full extent instead of silently reinterpreting them as one slice per block
…_blocks call so edge blocks are reprojected at their true size instead of being computed at the full block size and truncated, which also avoids an irregular trailing chunk in dask results
…-in for a custom lazy array, since the dispatcher no longer needs it
…d document that it prevents dask from hashing the whole buffer to name the array, which for a memmap silently loads the entire file into memory
…sions in the sub-tiling comments, docstrings and error message, since the reprojected dimensions are not necessarily two-dimensional or celestial
@astrofrog astrofrog force-pushed the blockwise-reproject branch from dcc4fac to 67f27d7 Compare July 3, 2026 12:57
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.

1 participant