[GG] EXL3: consolidate mixed execution, MXFP8 overlay, and shared rotations - #225
[GG] EXL3: consolidate mixed execution, MXFP8 overlay, and shared rotations#225voipmonitor wants to merge 8 commits into
Conversation
📝 WalkthroughWalkthroughThe PR adds rank-sliced EXL3 support for shared H-side rotation tensors. It validates metadata, normalizes tensor names, stores shared rotations once per projection, supports broadcast pointer tables, and preserves shared rows during fused-MoE preparation. ChangesShared-H rank-sliced EXL3
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Exl3Config
participant WeightNormalizer
participant Exl3MoELayer
participant FusedMoEPreparation
Exl3Config->>WeightNormalizer: validate layout and normalize shared-H names
WeightNormalizer->>Exl3MoELayer: provide canonical shared rotation parameters
Exl3MoELayer->>FusedMoEPreparation: pass broadcast-aware rotation rows
FusedMoEPreparation-->>Exl3MoELayer: retain shared rows and expert pointers
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Assisted-by: OpenAI Codex Signed-off-by: Michel Belleau <michel.belleau@malaiwah.com>
Co-authored-by: OpenAI Codex <noreply@openai.com>
7c1fc7a to
02c854e
Compare
|
Superseded by the direct-GG, self-contained integration in #228. The successor retains this EXL3 runtime and adds the qualified prefill policy plus persistent online K6 caching required by r20. |
Summary
Consolidate the three EXL3 changes that touched the same loader and planning code into one reviewable GG PR:
shared_h_v1artifact layout from the original [GG] EXL3: consolidate mixed execution, MXFP8 overlay, and shared rotations #225.Keeping one PR avoids merge-order conflicts and makes the combined memory, dispatch, and quantization contracts testable together.
Runtime contracts
Mixed K3/K4 execution
VLLM_EXL3_PREFILL_CAPACITYoptionally bounds persistent prefill scratch.Online MXFP8 overlay
Exl3LinearMethod/Exl3MoEMethod.Shared-H artifacts
rotation_layoutremains legacyper_expert_v1.shared_h_v1requires the exactshared_h_tensor_schemametadata.[1,H]row and broadcast by stride/pointer contract without expansion.For GLM-5.2, the shared-H layout removes 672.36 MiB/GPU of duplicated persistent rotations across 75 MoE layers.
Validation
47 passed:tests/quantization/test_exl3.pyandtests/quantization/test_exl3_prefill_plan.pyshared_h_v1+ serial prefill.py_compile, andgit diff --checkpass.The shared-H loader is explicit and backward compatible. A complete newly encoded shared-H checkpoint still requires its own KLD and E2E release validation.
Supersedes #222 and #223.