Skip to content

chore: nightly sync main into dev (12_05_2026) - #4767

Closed
svcnvidia-nemo-ci wants to merge 19 commits into
devfrom
main2dev/12_05_2026
Closed

chore: nightly sync main into dev (12_05_2026)#4767
svcnvidia-nemo-ci wants to merge 19 commits into
devfrom
main2dev/12_05_2026

Conversation

@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor

Summary

Nightly main → dev sync bringing 17 commits from main into dev.

Python-only line-change stats: Python lines: +3923 / -496 across 58 files

Files Taken Wholesale

These files were kept from one side because no surgical reconciliation was needed.

  • From dev: pyproject.toml, uv.lock, docker/Dockerfile.ci.dev — preserved per
    the merge policy (dev has fast-hadamard-transform, dev-pinned TE rev, omegaconf
    dependencies). No new git sources in main vs. dev's [tool.uv.sources] needed
    porting.
  • From dev: .github/CODEOWNERS — intentionally divergent from main; never
    modified.
  • From dev: megatron/training/training.py, initialize.py, utils.py,
    datasets/data_samplers.py, core/optimizer/layer_wise_optimizer.py — no recent
    main commits touched these files. Dev's evolution (e.g. args.hybrid_context_parallel
    args.dynamic_context_parallel rename in c3dbea746) is preserved.

Surgical Conflict Resolutions

git merge origin/main -X theirs --no-edit left these "Frankenstein" hybrids that
required manual reconciliation:

  1. megatron/core/extensions/transformer_engine.py — restored dev's
    TEFusedDenseMLP class (Dense+Grouped GEMM fusion on SM100+, ~184 lines)
    that -X theirs dropped when accepting main's TEFusedMLP.as_mlp_submodule
    addition. Both additions now coexist.

  2. megatron/core/models/gpt/gpt_layer_specs.py — three repairs:

    • Restored HyperConnectionTransformerLayer import (used at L362, L489, L791).
    • Restored dense_grouped_gemm: bool = False parameter on
      get_mlp_module_spec_for_backend (callers in get_gpt_layer_with_transformer_engine_spec
      pass it on L243).
    • Restored the dense_grouped_gemm branch using main's new .as_mlp_submodule
      classmethod pattern (not_none(TEFusedDenseMLP).as_mlp_submodule).
  3. megatron/core/models/gpt/experimental_attention_variant_module_specs.py
    restored HyperConnectionTransformerLayer import (used at L304).

  4. megatron/core/transformer/moe/moe_layer.py — restored
    input_ids: Optional[torch.Tensor] = None parameter on MoELayer.forward;
    the body references input_ids at L702 (self.route(... input_ids)).

  5. megatron/core/transformer/transformer_layer.py — four repairs:

    • Restored mlp_hyper_connection field on TransformerLayerSubmodules
      (used by HyperConnectionTransformerLayer at L1531-L1604, L1749, L1872).
    • Re-added **moe_kwargs to tensor_parallel.checkpoint(functools.partial(apply_module(self.mlp)...)).
    • Re-added **moe_kwargs to direct apply_module(self.mlp)(...) call.
    • Restored input_ids=input_ids on MoETransformerLayer's router_outputs call.
  6. tests/unit_tests/transformer/moe/test_routers.py — restored imports of
    TopKRouter and get_default_pg_collection (used at L621-L681, L620+L657
    respectively). Without these the suite fails with
    NameError: name 'TopKRouter' is not defined (the failure that closed the
    prior bot run).

  7. tests/unit_tests/transformer/moe/test_token_dispatcher.py — restored
    MoETokenDispatcher import (used at L37 for _NestedAttrTestDispatcher).

Files Kept from Main (Conflict Resolution Verified)

  • megatron/training/config/container.py — main's lazy-import of omegaconf
    (PR Guard omegaconf imports #4685 "Guard omegaconf imports") was the correct resolution; dev's
    unconditional from omegaconf import OmegaConf was the regression main fixed.
  • pretrain_vlm.py — kept main's import set (mpu not used in file;
    get_submodules used at L186).

Files Deleted in Dev (Not Restored)

  • tests/test_utils/recipes/h100/bert.yaml, tests/test_utils/recipes/h100/t5.yaml
    — both intentionally deleted on dev (commit 40d30942d: "fix: remove files
    that dev intentionally deleted"). Nothing in the merged tree references them.
  • .github/workflows/multi-approval-bot.yml — intentionally deleted on dev
    (PR ci: Remove multi-approval action from dev branch #3576). Dev's version respected.

Formatting

  • black --config pyproject.toml clean on all 58 changed Python files
  • isort clean (applied to examples/multimodal/radio/radio_g.py)

Test plan

  • Unit tests pass
  • Integration tests pass (or are skipped per maintainer policy)
  • Internal GitLab functional tests pass

🤖 Generated with Claude Code

nschank and others added 18 commits May 10, 2026 20:59
Co-authored-by: Antoni-Joan Solergibert <asolergibert@nvidia.com>
…ename seq_len (#4094)" (#4718)

Signed-off-by: oliver könig <okoenig@nvidia.com>
…al tests` (#4730)

Signed-off-by: oliver könig <okoenig@nvidia.com>
Signed-off-by: oliver könig <okoenig@nvidia.com>
Signed-off-by: oliver könig <okoenig@nvidia.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: oliver könig <okoenig@nvidia.com>
Signed-off-by: Shivanjan Chakravorty <shivanjanc@nvidia.com>
Co-authored-by: Cory Ye <44509866+cspades@users.noreply.github.com>
Signed-off-by: Maanu Grover <maanug@nvidia.com>
Signed-off-by: oliver könig <okoenig@nvidia.com>
Co-authored-by: oliver könig <okoenig@nvidia.com>
Signed-off-by: Shivanjan Chakravorty <shivanjanc@nvidia.com>
Signed-off-by: Ajay Balasa <abalasa@nvidia.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Maanu Grover <maanug@nvidia.com>
Signed-off-by: Chen Cui <chcui@nvidia.com>
Co-authored-by: Tuomas Rintamaki <trintamaki@nvidia.com>
Co-authored-by: Tyler Poon <tylerpoon@gmail.com>
Co-authored-by: Collin McCarthy <cmccarthy@nvidia.com>
Co-authored-by: Matthieu Le <matthieul@nvidia.com>
Co-authored-by: Piotr Zelasko <pzelasko@nvidia.com>
Co-authored-by: Ehsan Hosseini Asl <ehosseiniasl@nvidia.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@copy-pr-bot

copy-pr-bot Bot commented May 12, 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.

@svcnvidia-nemo-ci svcnvidia-nemo-ci added Run functional tests Run MBridge tests Attach this for testing this PR against MBridge main labels May 12, 2026
@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor Author

/ok to test 4e241c8

@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor Author

/ok to test b408019

@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor Author

/ok to test fb8317b

@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor Author

Superseded by today's nightly sync.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Run functional tests Run MBridge tests Attach this for testing this PR against MBridge main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants