[TRTLLM-15177][chore] Consolidate trtllm-gen SiTu activation slot handling - #17414
Conversation
|
/bot run |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
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 skipped from review as they are similar to previous changes (1)
WalkthroughTRTLLM-Gen fused MoE now stores SiTu activation parameters in shared SwiGLU tensors. Validation, initialization, and GEMM1 execution use this storage. Documentation and integration test waivers were updated. ChangesSiTu parameter storage
Estimated code review effort: 2 (Simple) | ~10 minutes Mergeability Score: ⚪ Minimal · up to This PR consolidates SiTu and SwiGLU activation-slot storage without changing enum values or intended behavior, and the supplied validation covers both paths; no actionable merge-blocking risk remains beyond normal checks and review. Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
|
PR_Github #64616 [ run ] triggered by Bot. Commit: |
|
PR_Github #64616 [ run ] completed with state
|
|
/bot run |
|
PR_Github #64651 [ run ] triggered by Bot. Commit: |
|
PR_Github #64651 [ run ] completed with state
|
|
/bot run |
e4e12fa to
be08d33
Compare
|
PR_Github #64674 [ run ] triggered by Bot. Commit: |
|
PR_Github #64674 [ run ] completed with state
|
|
/bot run |
|
PR_Github #64683 [ run ] triggered by Bot. Commit: |
|
PR_Github #64683 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #64700 [ run ] triggered by Bot. Commit: |
|
PR_Github #64700 [ run ] completed with state
|
|
/bot run --disable-fail-fast --stage-list "DGX_B200-PyTorch-8, GH200-PackageSanityCheck-PY312-UB2404" |
|
PR_Github #64733 [ run ] triggered by Bot. Commit: |
|
PR_Github #64733 [ run ] completed with state
|
|
/bot run |
|
PR_Github #65990 [ run ] triggered by Bot. Commit: |
36c8df0 to
c45b584
Compare
…ut on RTXPro6000D-PyTorch-1, tracking bug pending) Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
|
/bot run --disable-fail-fast |
|
PR_Github #66019 [ run ] triggered by Bot. Commit: |
|
PR_Github #65990 [ run ] completed with state |
These three tests flake on main CI independent of any change, failing across hundreds of unrelated MRs and many distinct users, with flake-typical signatures (hang/timeout, terminate-unexpectedly, assertion). Under fail-fast each flaky red gates the whole pipeline. Waive with tracking bugs: - kv_cache/test_kv_cache_v2_scheduler.py::TestKVCacheV2Llama::test_chunked_prefill_eviction_block_reuse (nvbugs/6607481) - unittest/_torch/modules/tests_lora_modules/test_qwen3_sanity.py::TestQwen3LoRA::test_qwen3_fp8_lora (nvbugs/6607487) - unittest/_torch/modeling/test_gemma4_e2e_dummy.py::test_e2e_text_31b_dummy (nvbugs/6607482) Signed-off-by: Brian Nguyen <brnguyen@nvidia.com>
|
/bot run --stage-list "DGX_B200-PyTorch-1,DGX_B200-PyTorch-6,DGX_B200-PyTorch-9" |
|
PR_Github #66068 [ run ] triggered by Bot. Commit: |
|
PR_Github #66019 [ run ] completed with state |
|
PR_Github #66068 [ run ] completed with state |
|
/bot run |
|
PR_Github #66107 [ run ] triggered by Bot. Commit: |
|
PR_Github #66107 [ run ] completed with state
|
|
/bot run |
|
PR_Github #66174 [ run ] triggered by Bot. Commit: |
|
PR_Github #66174 [ run ] completed with state
|
|
/bot run |
1 similar comment
|
/bot run |
|
PR_Github #66250 [ run ] triggered by Bot. Commit: |
|
/bot skip --comment "Only failure is TestLlama3_1_8BInstruct::test_tp_pp_symmetric[MMLU-tp2pp1] on DGX_H100-4_GPUs-PyTorch-Others-2 — a disaggregated-serving timeout (server hang), not an accuracy failure. This PR only touches trtllm-gen fused MoE SiTu activation-slot handling; Llama-3.1-8B is a dense model that never runs that path, and the utils.py change is confined to the trtllm-gen-local ActType_TrtllmGen enum (shared ActivationType untouched). Known main-side flake: 1.2-2.4% over 110+ distinct MRs, hitting moraxu/Tabrizian/lori-ren on the same stage. All other stages passing." |
|
PR_Github #66283 [ skip ] triggered by Bot. Commit: |
|
PR_Github #66250 [ run ] completed with state |
|
PR_Github #66283 [ skip ] completed with state |
Summary
Consolidate the trtllm-gen SiTu activation slot handling, a review follow-up from #17269 tracked in TRTLLM-15177 (item 1.2).
Included
situ_alpha/situ_betaparameters and reuse theswiglu_alpha/swiglu_betastorage. SiTu and SwiGLU are mutually exclusive and feed the samegemm1_alpha/gemm1_betaop slots, so the slot now has a single backing parameter and the interim_gemm1_activation_paramsaccessor is gone.swiglu_alpha is not Nonegate for behavior neutrality:create_moe.pyvalidates the constructor kwargs (stillNonefor SiTu; the storage is populated later increate_weights);_get_quant_methodconsultsswiglu_alphaonly on the nvfp4 branch (SiTu requires W4A8_MXFP4_MXFP8) and runs before the storage is populated;_check_configs's swiglu gate admitsw4a8_mxfp4_mxfp8and its SiTu branch validates the merged storage; the NVFP4 post-loadswiglu_betarescale is not in SiTu's MXFP4 quant-method ancestry;_validate_backend_local_activationruns from__init__and still rejects constructor-provided SwiGLU parameters for SiTu._torch/utils.py, the deliberate decision to keepSiTuin the trtllm-gen-localActType_TrtllmGenrather than adding it to the sharedActivationType. The shared enum mirrors the cutlass enum incommon.hand drives cutlass kernels; SiTu exists only in the trtllm-gen batched-GEMM kernels, so adding it to the shared enum would force a cutlass member no kernel implements.Validation
Run on a Blackwell (SM100-class) node:
tests/unittest/_torch/modules/moe/test_kimi_k3_situ_moe.py— full suite pass, including fused-vs-reference SiTu parity and MoE-TP shard-loader / TP8 sharded-forward parity.tests/unittest/_torch/modules/moe/test_moe_backend.py -k trtllm— pass; covers the trtllm-gen SwiGLU leg including gptoss-style per-expertswiglu_alpha/swiglu_beta/swiglu_limiton W4A8_MXFP4_MXFP8, proving the merge did not regress the SwiGLU path.tests/unittest/_torch/modules/moe/test_moe_module.py -k "trtllm and not multi_gpu"— pass (single-GPU ConfigurableMoE coverage). The DEP multi-GPU comm parametrizations are not runnable in this single-node harness (they need pre-spawned MPI ranks) and are covered by CI.tests/unittest/_torch/modules/kimi_kda/andtests/unittest/_torch/modeling/test_kimi_kda_{fused_,}verify_parity.py— pass.No enum values changed, so the Python/cutlass and Python/
KernelRunner.hmappings are untouched.Related: TRTLLM-15177
Dev Engineer Review
swiglu_alphaandswiglu_betafor validation, weight creation, meta-device reinitialization, and MoE execution._gemm1_activation_paramswere removed.ActType_TrtllmGenenum.QA Engineer Review
tests/integration/test_lists/waives.txtadds two test-list entries.test-db/orqa/files were modified.Note: temporary CI-flake waives
The last commit adds three
tests/integration/test_lists/waives.txtentries for DGX_B200 main-side flakes that gated this PR's CI — unrelated to the trtllm-gen SiTu change (each fails across hundreds of unrelated MRs and many users):kv_cache/test_kv_cache_v2_scheduler.py::TestKVCacheV2Llama::test_chunked_prefill_eviction_block_reuse→ https://nvbugs/6607481unittest/_torch/modules/tests_lora_modules/test_qwen3_sanity.py::TestQwen3LoRA::test_qwen3_fp8_lora→ https://nvbugs/6607487unittest/_torch/modeling/test_gemma4_e2e_dummy.py::test_e2e_text_31b_dummy→ https://nvbugs/6607482These same waives are being landed on
mainindependently in #17663. Once that merges, this branch rebases onto the waivedmainand these entries drop out — they're here only to get this PR green in the meantime.