Skip to content

ci: move Megatron-Bridge to d352aced - #3824

Merged
terrykong merged 3 commits into
NVIDIA-NeMo:mainfrom
tdene:tde/bump_mbridge_20260819
Aug 27, 2026
Merged

ci: move Megatron-Bridge to d352aced#3824
terrykong merged 3 commits into
NVIDIA-NeMo:mainfrom
tdene:tde/bump_mbridge_20260819

Conversation

@tdene

@tdene tdene commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

What does this PR do ?

Add a one line overview of what this PR aims to accomplish.

Issues

List issues that this PR closes (syntax):

Usage

  • You can potentially add a usage example below
# Add a code snippet demonstrating how to use this

Before your PR is "Ready for review"

Pre checks:

  • Make sure you read and followed Contributor guidelines
  • Did you write any new necessary tests?
  • Did you run the unit tests and functional tests locally? Visit our Testing Guide for how to run tests
  • Did you add or update any necessary documentation? Visit our Document Development Guide for how to write, build and test the docs.

Additional Information

  • ...

@tdene
tdene requested review from a team as code owners August 25, 2026 16:21
@copy-pr-bot

copy-pr-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

Auto-sync is disabled for ready for review pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: e07ff41 (PR #3824 from tde/bump_mbridge_20260819)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

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

tdene commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test e07ff41

@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor

Superseded by a newer MBridge bump PR.

@tdene tdene reopened this Aug 25, 2026
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: e07ff41 (PR #3824 from tde/bump_mbridge_20260819)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor

Superseded by a newer MBridge bump PR.

@tdene tdene changed the title ci: bump Megatron-Bridge to d352aced ci: move Megatron-Bridge to d352aced Aug 25, 2026
@tdene tdene reopened this Aug 25, 2026
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: e07ff41 (PR #3824 from tde/bump_mbridge_20260819)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

@tdene
tdene requested review from a team as code owners August 26, 2026 15:50
tdene added 3 commits August 26, 2026 10:52
Signed-off-by: Teodor-Dumitru Ene <teodord.ene@gmail.com>
See NVIDIA-NeMo/Megatron-Bridge#5262

Signed-off-by: Teodor-Dumitru Ene <teodord.ene@gmail.com>
See NVIDIA/Megatron-LM#6476

Signed-off-by: Teodor-Dumitru Ene <teodord.ene@gmail.com>
@tdene

tdene commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 9cab81e

@tdene
tdene force-pushed the tde/bump_mbridge_20260819 branch from 291596c to 9cab81e Compare August 26, 2026 15:53
@github-actions

Copy link
Copy Markdown

✅ Submodule Fast-Forward Check Results

Check based on commit: 9cab81e (PR #3824 from tde/bump_mbridge_20260819)

✅ Submodules that are properly updated:

Megatron-Bridge: ✅ PR branch is ahead of main branch (fast-forward)

All submodule changes look good! ✨

@tdene tdene added CI:L1 Run doctests, unit tests, and functional tests and removed CI:Lfast Runs a fast test suite and re-use nightly `main` container (but sync dependencies to PRs version) labels Aug 26, 2026
@terrykong
terrykong merged commit a43d71b into NVIDIA-NeMo:main Aug 27, 2026
162 of 166 checks passed
asolergi-nv added a commit that referenced this pull request Aug 27, 2026
14 upstream commits; four of them produced seven conflicts. Each resolution below.

#3612 feat(sglang): megatron backend weight refit for sglang rollouts
  - weight_sync/factory.py: it rewrote the train_cluster/inference_cluster/
    refit_buffer_size_gb docstrings (SGLang owns its own process group, so it needs
    neither cluster handle). Took its wording and kept our refit_timeout_s entry, which
    it never saw. refit_timeout_s still reaches NcclReshardWeightSynchronizer and
    CollectiveWeightSynchronizer; the new SGLang synchronizer does not take it, which is
    correct -- our watchdog bounds a JOINT communicator and SGLang does not build one.
  - base_policy_worker.py: it added _refit_transport_state and
    connect_sglang_rollout_engines at the same insertion point as our
    stand_down_refit_watchdog. Disjoint additions; kept both.
  - pyrefly.toml: it swapped http_weight_synchronizer for sglang_weight_synchronizer.
    Corroborated by the merge deleting http_weight_synchronizer.py outright.

#3773 feat(sc): support PPO in single controller
  - single_controller_utils/setup.py: the SC path is no longer GRPO-only, so it renamed
    grpo_config to algo_cfg. Kept our nccl_reshard precondition guard and applied the
    rename to the val-period line inside it; grpo_config no longer appears anywhere.
  - L1_Functional_Tests_SingleController.sh: it added a ppo_async run_test and padded
    every non-fast entry to align with "run_test fast". Kept our annotation -- it says
    which of skip-vs-pass a green lane actually means, which its one-line version does
    not -- and adopted the alignment, including on our seven recovery entries, so the
    file does not end up half-converted.
  - pyrefly.toml: it re-sorted the list, moving vllm_remote_sparse_weight_synchronizer to
    its correct alphabetical slot. Our side had added membership.py AND held that entry in
    the old position, so taking our block verbatim would have duplicated it. Kept
    membership.py only; verified the result is sorted and has no duplicates.

#3545 fix(vllm): support native BF16 FlashInfer TRTLLM refit
  - vllm_backend.py: its _nrl_layerwise_reload_* class attributes landed where our
    model_update_group declaration is. Disjoint; kept both.
  - tests/unit/models/generation/test_vllm_backend.py: its layerwise-reload suite against
    our init_collective release tests plus the _RecordingGroup fixture. Disjoint; kept
    both. 53 tests collect.

#3768 feat: add MOPD to single-controller text path
  - Touched setup.py alongside #3773; no separate resolution needed.

Submodule: the merge advances Megatron-Bridge to d352aced (#3824). Verified the STAGED
pointer is upstream's and not our stale 8c46dc42 -- staging the local one is what breaks
the fast-forward check and `uv lock --check` together. Gym is untouched by the merge.

Verified after resolving: no conflict markers remain, all four lint hooks clean (the one
pyrefly error is the pre-existing unrelated transfer_queue import), and 841 unit tests pass
across single_controller, refit_watchdog, worker_refit_signatures and weight_sync -- up
from 725, because #3773 brings a large new SC suite that passes alongside ours.

Signed-off-by: asolergibert <asolergibert@nvidia.com>
asolergi-nv added a commit that referenced this pull request Aug 27, 2026
…o PR4

Brings PR3's sync with upstream/main down the stack. Three conflicts, all between PR4's
own additions and changes that arrived from main:

  pyrefly.toml
    #3773 re-sorted the list and moved generation/fleet_health.py to its correct
    alphabetical slot. PR4's block added engine_supervisor.py AND held fleet_health.py in
    the old position, so taking it verbatim would have duplicated the entry -- the same
    trap this file set on PR3 with vllm_remote_sparse_weight_synchronizer. Kept
    engine_supervisor.py only, placed where it sorts (after dynamo/, before fleet_health).
    Verified the whole nemo_rl list is sorted and duplicate-free.

  nemo_rl/algorithms/single_controller.py
    PR4's EngineSupervisor wiring against #3768's MOPD TQTeacherLogprobCoordinator, both
    landing in the same __init__ region. Disjoint, so both kept, with the coordinator
    first because it installs a post-write enricher on the buffer.

    Also removed a duplicate this merge would otherwise have introduced: main relocated
    the `_rollout_manager._tq_buffer = self._buffer` rebind next to the assignment it
    guards, so PR4's copy at the old site became redundant. Confirmed main carries it
    exactly once before deleting the second.

  tests/functional/L1_Functional_Tests_SingleController.sh
    PR4's RESTART_DEAD_SHARDS entry against the column alignment #3773 introduced. Kept
    the entry and applied the alignment to it and to every other unpadded line, so the
    file is not left half-converted.

Submodules: both pointers match upstream/main exactly (Megatron-Bridge d352aced from
#3824, Gym c3bac963), so the fast-forward check and `uv lock --check` both see a clean
state. The locally dirty submodule working trees were deliberately not staged.

Verified: no markers remain, all four lint hooks clean (the single pyrefly error is the
pre-existing unrelated transfer_queue import), 849 unit tests pass.

Signed-off-by: asolergibert <asolergibert@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI:L1 Run doctests, unit tests, and functional tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants