Skip to content

[Quant] Fuse all-reduce RMSNorm with packed FP8 - #51942

Draft
WoosukKwon wants to merge 1 commit into
vllm-project:mainfrom
WoosukKwon:agent/flashinfer-ar-rms-fp8
Draft

WoosukKwon wants to merge 1 commit into
vllm-project:mainfrom
WoosukKwon:agent/flashinfer-ar-rms-fp8

Conversation

@WoosukKwon

Copy link
Copy Markdown
Collaborator

Purpose

Expose FlashInfer's all-reduce + residual + RMSNorm + packed per-group FP8
epilogue to eager model paths.

The helper returns both the normalized BF16 tensor and a compatible
QuantizedActivation, allowing an upstream model integration to skip a
separate DeepGEMM quantization kernel. It falls back to the existing
all-reduce/RMSNorm path when the pattern, topology, scale format, or consumer
contract is unsupported.

This is an independent primitive extracted from #51936. It does not change a
specific model and does not depend on #51939 or #51941; the test uses the public
consumer contract directly.

Duplicate-work check

No issue number was provided. I searched open PRs for FlashInfer allreduce RMSNorm packed FP8 and allreduce RMSNorm FP8 quant. #42230 implements a
separate SymmetricMemory Triton collective, #45364 covers Llama RMSNorm-to-quant
without all-reduce, and #45770 fixes mixed norm-weight dtypes. None expose this
FlashInfer packed UE8M0 epilogue.

Tests

.venv/bin/python -m pytest \
  tests/kernels/core/test_fused_allreduce_gemma_rms_norm.py::test_fused_allreduce_rms_norm_group_fp8 -q
# 4 passed

git diff --cached --name-only -z | xargs -0 pre-commit run --files
# all applicable hooks passed, including ruff and mypy

AI assistance disclosure

This change was developed with OpenAI Codex assistance. This is a draft PR;
the human submitter must review every changed line and confirm they understand
and can defend the change before marking it ready.

Add the FlashInfer packed group-FP8 collective epilogue and return a reusable quantized activation to eager model paths.

Co-authored-by: OpenAI Codex <noreply@openai.com>

Signed-off-by: Woosuk Kwon <woosuk@inferact.ai>
@mergify

mergify Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @WoosukKwon.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase label Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status
Status: To triage

Development

Successfully merging this pull request may close these issues.

1 participant