Commit 05798a8
authored
Fix zonal dask memory guards and stats filtering (#1112)
* Add sweep-performance design spec
Parallel subagent triage + ralph-loop workflow for auditing all
xrspatial modules for performance bottlenecks, OOM risk under
30TB dask workloads, and backend-specific anti-patterns.
* Add sweep-performance implementation plan
7 tasks covering command scaffold, module scoring, parallel subagent
dispatch, report merging, ralph-loop generation, and smoke tests.
* Add sweep-performance slash command
* Fix zonal dask memory guards and stats filtering (#1110)
- Improve _regions_dask memory guard: use shape*itemsize instead of
.nbytes to avoid triggering graph inspection on large arrays, and
provide actionable error message explaining the limitation.
- Add missing memory guard to _regions_dask_cupy using GPU free memory.
- Replace iterrows() zone filtering in _stats_dask_numpy with boolean
.isin() indexing to avoid per-row materialization.
* Add tests for zonal memory guard and stats filtering (#1110)
- test_regions_dask_memory_guard: verifies MemoryError is raised before
.compute() when available memory is insufficient
- test_stats_dask_zone_filter: verifies zone_ids filtering works
correctly with the new .isin() approach1 parent 0ad1feb commit 05798a8
5 files changed
Lines changed: 1664 additions & 10 deletions
File tree
- .claude/commands
- docs/superpowers
- plans
- specs
- xrspatial
- tests
0 commit comments