Repository navigation
Conversation
…to-parser path - cpu_distributed_rl_integration_test: batches 0/1/2 dispatch at 0, first, first + stagger against real trainer/rollout worker processes, with the first train step held past the last deadline. - mlperf_submission_launcher_test: parse the rendered orchestrator command with run_deepswe_dist._parse_args and check the stagger values and overrides.
s-noghabi
requested review from
abheesht17,
hgao327,
jiangyangmu,
lc5211,
sizhit2,
tianshub and
wang2yn84
as code owners
October 13, 2026 04:18
Contributor
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
This was referenced Oct 14, 2026
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
Follow-up to #2845 (separate first-batch dispatch stagger). Tests only, no behavior change:
cpu_distributed_rl_integration_test.py: two new cases,test_initial_dispatch_stagger_end_to_end_*, check the start-up stagger on the real dispatch loop.mlperf_submission_launcher_test.py: two new tests parse the rendered orchestrator command withrun_deepswe_dist._parse_args, so the stagger values are checked from launcher env to parsed args.End-to-end dispatch on the real loop (
cpu_distributed_rl_integration_test.py::test_initial_dispatch_stagger_end_to_end_*):ClusterOrchestrator+StandardRLProgramagainst real trainer and rollout worker processes, with 3 start-up batches andmax_staleness=2. It records when each batch first clears the dispatch gate.first=2.0, stagger=0.5→ batches at 0 / 2.0 / 2.5 s.first=None, stagger=0.5→ 0 / 0.5 / 1.0 s. Each must land within 0.5 s after its due time, and training must finish all 3 steps.k × staggeroffset, the first case fails (batch 1 dispatched early, 0.70 s instead of ≥ 2.0 s).Flags, render to parser (
mlperf_submission_launcher_test.py):DRY_RUN=true), shell-splits the orchestrator command and parses everything after the entry point withrun_deepswe_dist._parse_args.initial_dispatch_stagger_s=75.0,initial_dispatch_first_stagger_s=175.0,max_staleness=2,rollout_priority_scheduling=True,sandbox_wait_initial=False.60/200arrive as such.INITIAL_DISPATCH_FIRST_STAGGER_S=0drops the flag, so it parses toNone(= stagger).run_deepswe_dist.pypasses both values straight intoStandardRLProgram(initial_dispatch_stagger_s=..., initial_dispatch_first_stagger_s=...). The launcher's orchestrator command is the only path that sets them.Note: in
mlperf_gbs1024_submission.shan emptyINITIAL_DISPATCH_FIRST_STAGGER_Sstill gives 175 (${VAR:-175}). Set it to0to fall back to the general stagger.Testing
On the TPU VM (
JAX_PLATFORMS=cpu), on top ofatwigg/mlperf@763367487:rl_program_test.py,grpo_recipe_wiring_test.py,mlperf_submission_launcher_test.py,cpu_distributed_rl_integration_test.py), before rebasing onto Simplify orchestrator exit cleanup via PID-1 wrapper gang JobSet teardown #2825: 234 pass, 11 fail. All 11 fail the same way without this change:PaddedBatchAssemblerTest::*(5);test_m2,test_m4_*andtest_m5(6):get_weightsraises'NoneType' object has no attribute 'model'in the trainer worker.