Skip to content

[MAIN][NVFP4] Support NVFP4 MOE with Proper Padding - #1985

Merged
yanring merged 12 commits into
NVIDIA:mainfrom
zhongbozhu:zhongbo/support_nvfp4_group_linear
Nov 18, 2025
Merged

[MAIN][NVFP4] Support NVFP4 MOE with Proper Padding #1985
yanring merged 12 commits into
NVIDIA:mainfrom
zhongbozhu:zhongbo/support_nvfp4_group_linear

Conversation

@zhongbozhu

@zhongbozhu zhongbozhu commented Oct 27, 2025

Copy link
Copy Markdown
Contributor

What does this PR do ?

Contributing NVFP4 MOE utils available in dev branch back to main as it has been validated with E2E training: b01ad5b

[Already merged] TE dependency already available in TE main branch: NVIDIA/TransformerEngine#2215

TE PR for fused FP4 Grouped kernels want 64 aligned size in M, so also need to update accordingly in Mcore: NVIDIA/TransformerEngine#2351

⚠️ For major changes (either in lines of code or in its impact), please make sure to first share discuss a design-doc with the team.

Contribution process

flowchart LR
    A[Pre-checks] --> B[PR Tests]
    subgraph Code Review/Approval
        C1[Expert Review] --> C2[Final Review]
    end
    B --> C1
    C2 --> D[Merge]
Loading

Pre-checks

  • I want this PR in a versioned release and have added the appropriate Milestone (e.g., Core 0.8)
  • I have added relevant unit tests
  • I have added relevant functional tests
  • I have added proper typing to my code Typing guidelines
  • I have added relevant documentation
  • I have run the autoformatter.sh on my PR

Code review

The following process is enforced via the CODEOWNERS file for changes into megatron/core. For changes outside of megatron/core, it is up to the PR author whether or not to tag the Final Reviewer team.

For MRs into `main` branch

(Step 1): Add PR label Expert Review

(Step 2): Collect the expert reviewers reviews

  1. Attach the Expert Review label when your PR is ready for review.
  2. GitHub auto-assigns expert reviewers based on your changes. They will get notified and pick up your PR soon.

⚠️ Only proceed to the next step once all reviewers have approved, merge-conflict are resolved and the CI is passing.
Final Review might get declined if these requirements are not fulfilled.

(Step 3): Final Review

  1. Add Final Review label
  2. GitHub auto-assigns final reviewers based on your changes. They will get notified and pick up your PR soon.

(Optional Step 4): Cherry-pick into release branch

If this PR also needs to be merged into core_r* release branches, after this PR has been merged, select Cherry-pick to open a new PR into the release branch.

For MRs into `dev` branch The proposed review process for `dev` branch is under active discussion.

MRs are mergable after one approval by either eharper@nvidia.com or zijiey@nvidia.com.

Merging your PR

Any member of core-adlr and core-nemo will be able to merge your PR.

@zhongbozhu
zhongbozhu requested review from a team as code owners October 27, 2025 18:26
@copy-pr-bot

copy-pr-bot Bot commented Oct 27, 2025

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.

@yaox12 yaox12 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@deepakn94 deepakn94 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@deepakn94

Copy link
Copy Markdown
Contributor

CUDA graph support will come in a separate MR?

@zhongbozhu

Copy link
Copy Markdown
Contributor Author

CUDA graph support will come in a separate MR?

We cannot really capture the cuda graph for moe layers.

Regarding more fine grained moe captures, main branch currently don't have many of them, while there is a PR that is trying to get those features into dev first: #1917

@zhongbozhu

zhongbozhu commented Oct 29, 2025

Copy link
Copy Markdown
Contributor Author

@yaox12 @yanring Currently the dev branch lacks the fix of the activation recompute, will send a standalone PR to dev about it.

#2036

@deepakn94

Copy link
Copy Markdown
Contributor

CUDA graph support will come in a separate MR?

We cannot really capture the cuda graph for moe layers.

Regarding more fine grained moe captures, main branch currently don't have many of them, while there is a PR that is trying to get those features into dev first: #1917

Yup, I meant everything apart from the MoE layers.

@zhongbozhu
zhongbozhu force-pushed the zhongbo/support_nvfp4_group_linear branch from 7828d09 to 0390b9a Compare November 7, 2025 20:19
@zhongbozhu

Copy link
Copy Markdown
Contributor Author

Rebased to latest main

@zhongbozhu

Copy link
Copy Markdown
Contributor Author

This PR also bumps up align size of FP4 to 64 from 32 based on TE PR: NVIDIA/TransformerEngine#2351

@yaox12 yaox12 added Expert Review [deprecated] Apply this label to indicate that your PR is ready for expert review. Final Review PR is in the "final review" stage and removed Expert Review [deprecated] Apply this label to indicate that your PR is ready for expert review. labels Nov 12, 2025
@yanring
yanring enabled auto-merge November 13, 2025 08:11
@jaredcasper jaredcasper added this to the Core 0.16 milestone Nov 13, 2025
zhongbozhu and others added 7 commits November 13, 2025 10:33
Signed-off-by: Zhongbo Zhu <zhongboz@nvidia.com>
Signed-off-by: Zhongbo Zhu <zhongboz@nvidia.com>
Signed-off-by: Zhongbo Zhu <zhongboz@nvidia.com>
…or MOE

Co-authored-by: Zhongbo Zhu <zhongboz@nvidia.com>
Signed-off-by: Zhongbo Zhu <zhongboz@nvidia.com>
Signed-off-by: Zhongbo Zhu <zhongboz@nvidia.com>
Signed-off-by: Xiaowei Ren <xren@nvidia.com>
@yaox12

yaox12 commented Nov 18, 2025

Copy link
Copy Markdown
Member

/ok to test 08141bb

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

Labels

Final Review PR is in the "final review" stage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants