[TRTLLM-14609][chore] Remove legacy MoE path in DenseGEMMFusedMoE - #16865
Conversation
ConfigurableMoE has been the default MoE path for months (ENABLE_CONFIGURABLE_MOE defaults to 1) and drives compute through backend.run_moe while the wrapper owns communication and chunk scheduling. The backend-level legacy MoE forward path is dead code on that path. Remove it; run_moe and the live ConfigurableMoE contract (quantize_input, get_workspaces, supports_moe_output_in_alltoall_workspace, forward_fake, etc.) are unchanged. Signed-off-by: xxi <xxi@nvidia.com>
|
/bot run |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
WalkthroughThe DenseGEMMFusedMoE implementation removes the unused ChangesDenseGEMM Fused MoE cleanup
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
PR_Github #61760 [ run ] triggered by Bot. Commit: |
|
PR_Github #61760 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #61820 [ run ] triggered by Bot. Commit: |
|
PR_Github #61820 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #62194 [ run ] triggered by Bot. Commit: |
|
PR_Github #62194 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #62264 [ run ] triggered by Bot. Commit: |
|
PR_Github #62264 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #62314 [ run ] triggered by Bot. Commit: |
|
PR_Github #62314 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #62342 [ run ] triggered by Bot. Commit: |
|
PR_Github #62342 [ run ] completed with state |
Description
For the sake of MoE code health, this PR removes the legacy (pre-
ConfigurableMoE) forward path fromDenseGEMMFusedMoE.ConfigurableMoEhas been the default MoE path for months (ENABLE_CONFIGURABLE_MOEdefaults to"1"), so the backend-internal forward pipeline is no longer reachable in the default flow.What is removed (
tensorrt_llm/_torch/modules/fused_moe/fused_moe_densegemm.py)forward_chunk()forward_impl()Net effect: 75 deletions in a single file.
What is deliberately preserved
ConfigurableMoE/MoEScheduleris untouched:run_moe()andsupports_moe_output_in_alltoall_workspace().Test Coverage
Verified on OCI GB200 (1 node, 4 GPUs) with the container pinned by
jenkins/current_image_tags.properties, runningtests/unittest/_torch/modules/moe/test_moe_module.pyfiltered to this backend:test_configurable_moe_single_gputest_configurable_moe_multi_gputest_configurable_moe_multi_gpu_eplb5 passed, 0 failed.
Note on multi-GPU coverage. All 8 collected multi-GPU cases for
DENSEGEMM(parallel=DTP/TTPxcomm=NVLINK_ONE_SIDED/TWO_SIDEDxquant=NVFP4) are skipped by the existing skip logic intests/unittest/_torch/modules/moe/moe_test_utils.py. That file is not touched by this PR, so these cases skip identically on unmodifiedmain— the skips are pre-existing and not caused by this change. The two removed methods are not referenced byConfigurableMoEorMoEScheduler, so the residual risk is low, but reviewers should be aware that multi-GPU coverage for this backend comes from the unchanged shared scheduler path rather than from backend-specific cases.PR Checklist
[JIRA/NVBUG][type] descriptionDev Engineer Review
forward_chunk()andforward_impl()methods, along with the obsoleteallgatherimport, fromDenseGEMMFusedMoE.ConfigurableMoEinterface remains unchanged, includingrun_moe()andsupports_moe_output_in_alltoall_workspace().QA Engineer Review
No test changes.