Skip to content

feat(sc): overlap NeMo-Gym spinup with deferred vLLM load - #3499

Open
yuki-97 wants to merge 7 commits into
mainfrom
yukih/sc-parallel-init
Open

feat(sc): overlap NeMo-Gym spinup with deferred vLLM load#3499
yuki-97 wants to merge 7 commits into
mainfrom
yukih/sc-parallel-init

Conversation

@yuki-97

@yuki-97 yuki-97 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Parallel NeMo-Gym init on the SC path, mirroring grpo.py: reserve vLLM URLs up-front (via defer_model_load=True) so NeMo-Gym spins up in parallel with the vLLM weight load and trainer build.
  • Extract SetupTimingMetrics dataclass + print_setup_timing_summary into nemo_rl.algorithms.metric_utils, shared by SC and grpo.
  • SC now emits worker_setup_time_s and drops parallel_wall_time_s / parallel_init_enabled (grpo-only). Everything else matches grpo.py.
  • Update grpo-llama3.1-8b-instruct-2n8g-async-1off-single-controller-streaming2's threshold since that value was tested by non-streaming instead of streaming 2 by mistake in feat(sc): setup + entrypoint #3266. w/ the fix in fix: fix single controller grad_norm #3282, mean(data["train/grad_norm"], 2, 0) is 0.07307618069979879; w/o the fix, it's 0.04454974799106518, so update to > 0.06.

Test plan

  • uv run pytest -q tests/unit/single_controller/
  • SC nightlies:
    • grpo-llama3.1-8b-instruct-2n8g-async-1off-single-controller-streaming2
    • grpo-qwen2.5-math-1.5b-instruct-1n8g-megatron-single-controller-sync
  • tests/functional/grpo_async_gym_single_controller.sh

yuki-97 added 3 commits August 4, 2026 22:39
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@yuki-97 yuki-97 added the CI:Lfast Runs a fast test suite and re-use nightly `main` container (but sync dependencies to PRs version) label Aug 5, 2026
@yuki-97

yuki-97 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test aa6b9ee

@yuki-97

yuki-97 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 4800540

yuki-97 added 2 commits August 5, 2026 07:06
…nit-time key

Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
@yuki-97
yuki-97 force-pushed the yukih/sc-parallel-init branch from 4800540 to 87d655f Compare August 5, 2026 14:40
@yuki-97

yuki-97 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 87d655f

yuki-97 added 2 commits August 5, 2026 09:56
Signed-off-by: Yuki Huang <yukih@nvidia.com>
Signed-off-by: Yuki Huang <yukih@nvidia.com>
@yuki-97
yuki-97 marked this pull request as ready for review August 5, 2026 17:02
@yuki-97
yuki-97 requested review from a team as code owners August 5, 2026 17:02
@yuki-97

yuki-97 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test a50365b

@yuki-97
yuki-97 requested review from ananthsub and terrykong August 5, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI:Lfast Runs a fast test suite and re-use nightly `main` container (but sync dependencies to PRs version)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant