Skip to content

M4 leftover for TE cuda graph#3137

Open
shifangx wants to merge 4 commits intoNVIDIA:mainfrom
shifangx:shifang/cuda_graph_m4
Open

M4 leftover for TE cuda graph#3137
shifangx wants to merge 4 commits intoNVIDIA:mainfrom
shifangx:shifang/cuda_graph_m4

Conversation

@shifangx
Copy link
Contributor

@shifangx shifangx commented Jan 29, 2026

What does this PR do ?

fix this issue #3135
Global pg groups, such as _TENSOR_MODEL_PARALLEL_GROUP , in parallel_state.py will be deprecated after M4.
So we need pass pg_collection while init TECudaGraphHelper, and use pg group in pg_collection later.

⚠️ For major changes (either in lines of code or in its impact), please make sure to first share a design doc with the team. If you're unsure what's the best way to do so, contact the @mcore-oncall.

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

Feel free to message or comment the @mcore-oncall to help accelerate your merge into main. The less complex your PR is, the faster it will be approved and merged!

(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.

@shifangx shifangx requested review from a team as code owners January 29, 2026 07:37
@copy-pr-bot
Copy link

copy-pr-bot bot commented Jan 29, 2026

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.

@ko3n1g ko3n1g requested a review from a team January 29, 2026 07:38
@shifangx shifangx changed the title fix issue with ccuda graph and m4 fix issue with cuda graph and m4 Jan 29, 2026
@shifangx shifangx force-pushed the shifang/cuda_graph_m4 branch 3 times, most recently from bfce1c9 to 98d5fcf Compare January 29, 2026 13:47
@yaoyu-33 yaoyu-33 added the Expert Review [deprecated] Apply this label to indicate that your PR is ready for expert review. label Jan 29, 2026
self.dp_cp_group = self.pg_collection.dp_cp
self.pp_group = self.pg_collection.pp
from megatron.core.pipeline_parallel.p2p_communication import P2PCommunicator
self.p2p_communicator = P2PCommunicator(pp_group=self.pp_group, config=self.config)
Copy link
Contributor

Choose a reason for hiding this comment

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

what is this self.config? looks like p2p communicator needs ModelParallelConfig, not TransformerConfig

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The type of this config is megatron.bridge.models.qwen_vl.qwen3_vl_provider.Qwen3VLMoEModelProvider.

Copy link
Contributor

Choose a reason for hiding this comment

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

isnt this cuda graphs file agnostic to a particular model. I'm wondering how ould this be related to qwen3vlrprovider, also given this is megatron LM and not bridge

Copy link
Contributor Author

@shifangx shifangx Mar 19, 2026

Choose a reason for hiding this comment

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

This pr is not for particular model, it is for M4.
In order to support M4, we need use pg groups in pg_collection everywhere, including in this cuda_graph file.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah I get that. My question/confusion was what's the type of config we pass here to P2Pcommunicator. Is it TransformerConfig or ModelParallelConfig

@jiemingz jiemingz self-requested a review January 29, 2026 19:06
@shifangx shifangx force-pushed the shifang/cuda_graph_m4 branch 2 times, most recently from 14c15b0 to 844848b Compare January 30, 2026 13:30
@shifangx shifangx changed the title fix issue with cuda graph and m4 m4 leftover for cuda graph Feb 13, 2026
@shifangx shifangx force-pushed the shifang/cuda_graph_m4 branch from 5210c51 to 9e676af Compare February 13, 2026 14:07
@shifangx shifangx changed the title m4 leftover for cuda graph m4 leftover for TE cuda graph Feb 13, 2026
@shifangx shifangx force-pushed the shifang/cuda_graph_m4 branch 2 times, most recently from 3ba536f to d470fca Compare February 13, 2026 14:31
@shifangx shifangx changed the title m4 leftover for TE cuda graph M4 leftover for TE cuda graph Feb 13, 2026
@shifangx
Copy link
Contributor Author

shifangx commented Feb 14, 2026

cuda graph is very helpful for QWen3-VL training performance, and many customers want to try training QWen3-VL with both cuda graph and M4.
This pr is needed for this case.

Hi, @jiemingz, I have addressed reviewer's comments. Can you help to review my update?

If @jiemingz is out of office for Chinese New Year, is there any other expert can help to review this pr? @NVIDIA/core-adlr @NVIDIA/mcore-oncall

@shifangx
Copy link
Contributor Author

/ok to test 81d8781

@shifangx
Copy link
Contributor Author

/ok to test 9dc24c7

@shifangx shifangx force-pushed the shifang/cuda_graph_m4 branch from 9dc24c7 to cdc9ca2 Compare February 14, 2026 07:36
@shifangx
Copy link
Contributor Author

/ok to test 2c8b58e

@shifangx
Copy link
Contributor Author

/ok to test ad6d2d4

@shifangx
Copy link
Contributor Author

Hi, @yashaswikarnati , do you have any more comments?

@yaox12 yaox12 added 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 Feb 26, 2026
@svcnvidia-nemo-ci svcnvidia-nemo-ci added Approved All necessary approvals have been made and removed Final Review PR is in the "final review" stage labels Mar 19, 2026
@shifangx shifangx enabled auto-merge March 19, 2026 02:04
@shifangx
Copy link
Contributor Author

Hi, @NVIDIA/mcore-oncall , can you help to review this pr?

@shifangx
Copy link
Contributor Author

/ok to test b714709

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

Labels

Approved All necessary approvals have been made complexity: low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants