Skip to content

fix: harden distributed execution and expand run-mode coverage - #27

Merged
zengarden merged 10 commits into
mainfrom
zane/dev
Aug 14, 2026
Merged

fix: harden distributed execution and expand run-mode coverage#27
zengarden merged 10 commits into
mainfrom
zane/dev

Conversation

@zengarden

Copy link
Copy Markdown
Member

Summary

  • Harden Ray, Redis, CPU/DDP, and accelerator lifecycle and rank handling.
  • Fix validation sampling, training resume, GPU checks, and rank-zero dataset download.
  • Expand distributed execution tests and document running modes with refreshed demos.

Force CPU accelerator device selection, define a shared accelerator
protocol, and make Ray worker CPU/GPU resources explicit. Fix automatic
Ray worker sizing to honor both CPU and GPU capacity, and add
checkpoint, scheduler, and resource regression tests.
Protect externally managed Redis processes and clean up only owned
resources.
Persist sampler, scaler, and RNG state for reliable training resume.
Partition distributed samples without padding, derive Ray local ranks
from node topology, and make accelerator cleanup explicit and
idempotent.
…validation, and rank-zero dataset download

Ray placement groups now honor a configurable ray_placement_timeout_s
(default 120s) and are removed on timeout or error so workers do not
scatter into a leaking group. Resource validation now checks GPU
capacity in addition to CPU before placement, raising a clearer
InsufficientCPUError that names the shortfall (e.g. needed GPU=2.0,
available GPU=1.0). The MNIST example is downloaded by rank 0 only, with
a barrier before other ranks load from local disk, eliminating
duplicated and racing downloads across workers.
Reassign Ray worker ranks from the actual node topology so ranks remain
contiguous within each node. Print topology using the final distributed
ranks and add regression coverage and documentation.
Replace echo-built demo script with direct TinyExp CLI commands and
regenerate README GIF assets.
Move mode and launcher defaults before ray_cfg so the dataclass
configuration is constructed correctly.
@zengarden
zengarden merged commit 8c39235 into main Aug 14, 2026
7 checks passed
@zengarden
zengarden deleted the zane/dev branch August 30, 2026 03: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