You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cuts GPU time roughly 3x, makes tile skipping exact rather than sampled, and
removes the merge OOM by construction rather than by tuning.
Performance
- per-axis overlap: a scalar halo on a [16,1024,1024] tile read 5.3x the
voxels it kept, nearly all wasted z; [4,30,30] brings that to ~1.7x
- tiles_per_job batches tiles into one SLURM job, so CUDA init and the
Cellpose weight load are paid once per batch, not once per tile
- six full passes over the label volume become two: per-tile counts replace
the global-uniqueness rewrite, the sequential renumber folds into the
merge's LUT, and the merge writes into the label group and relabels in place
- pyramid levels stream one source chunk per task instead of rechunking
upward through dask, which is what OOM-killed the merge
- chunks holding no labels are skipped in the scan and the relabel, so
background costs neither I/O nor disk
- the boundary scan runs in parallel; multi-config runs run concurrently
Correctness
- tile skipping used a centred window covering 6.25% of a tile, so objects in
the outer ring were never segmented; an exact max-pooled occupancy map
replaces it
- worker counts and memory budgets read the SLURM/cgroup allocation instead
of the node's totals
- cupy OOM is retried like torch's; NVML reads the granted GPU, not index 0
- an in-place merge refuses to run twice, which would re-offset global ids
- NGFF metadata now matches the zarr version being written (0.5 on v3)
- config mistakes fail in prepare, not in the first GPU job
BREAKING CHANGE: stage_tile returns the number of labels it wrote rather than
the tile index. The workflow's markers move from seg/<tile>.done to
seg/<batch>.done and carry per-tile label counts as JSON. Stores are written
with NGFF 0.5 metadata on zarr v3; both layouts are still read.
0 commit comments