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
A rank-local estimator, materializer, or memory-pricing error could leave another rank waiting in the next collective. Exchange each pure planning phase's success before proceeding, so peers fail promptly and the originating rank keeps its original exception and chain. Legal unavailable estimates still take the existing fallback path; empty and unequal local groups use the same collective sequence.
Fixes#906. Runtime changes stay within art.trainer_rank; public APIs, planner arithmetic, checkpoint ordering, and art.megatron are unchanged. This does not adopt #900. Memory-estimation work remains open in #848 and #870.
Validation: 153 distinct focused repository tests passed, including a two-process CPU/Gloo regression covering six failure/empty/unequal/unavailable cases and eight exception-chain controls. Changed-file Ruff, formatting, type checks, and diff checks pass. The exact patch also composes without conflict on main e9c68ccc, with identical changed-file blobs. Hosted CI is pending.
The simple scheduler path adds four status reductions; repeated width/layout checks can add more. Native NCCL and latency are not qualified. Checkpoint-loading errors, later CUDA-counter failures, and communicator failures remain outside this narrow fix. The original failed reproduction and its evidence are preserved in #906.
Consolidated review record (automated agent review traffic removed 2026-09-17)
Change. Exchanges each planning phase's success between ranks in art.trainer_rank so a rank-local estimator, materializer, or memory-pricing error fails peers promptly rather than stranding them in the next collective; the originating rank keeps its original exception and chain. Fixes #906.
Review. McCarthy and Minsky reviewed head 5ea4548; both returned CLEAR on source correctness within scope, no changes requested. Minsky ran the new tests (44 passed, including the two-process Gloo case) plus 175 backend-stage tests with and without Megatron, and confirmed the new tests fail on the base runtime; McCarthy hash-verified the retained 153-case evidence and ran 42 control-flow checks. Both reproduced the composition onto main; CI was still running when the reviews posted.
Deferred / follow-ups.
The four added WORLD MIN status reductions are unqualified under native NCCL; McCarthy left that performance judgment to Brad.
Checkpoint-loading, CUDA-counter, and communicator failures remain out of scope.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A rank-local estimator, materializer, or memory-pricing error could leave another rank waiting in the next collective. Exchange each pure planning phase's success before proceeding, so peers fail promptly and the originating rank keeps its original exception and chain. Legal unavailable estimates still take the existing fallback path; empty and unequal local groups use the same collective sequence.
Fixes #906. Runtime changes stay within
art.trainer_rank; public APIs, planner arithmetic, checkpoint ordering, andart.megatronare unchanged. This does not adopt #900. Memory-estimation work remains open in #848 and #870.Validation: 153 distinct focused repository tests passed, including a two-process CPU/Gloo regression covering six failure/empty/unequal/unavailable cases and eight exception-chain controls. Changed-file Ruff, formatting, type checks, and diff checks pass. The exact patch also composes without conflict on main
e9c68ccc, with identical changed-file blobs. Hosted CI is pending.The simple scheduler path adds four status reductions; repeated width/layout checks can add more. Native NCCL and latency are not qualified. Checkpoint-loading errors, later CUDA-counter failures, and communicator failures remain outside this narrow fix. The original failed reproduction and its evidence are preserved in #906.