Conversation
BBuf
marked this pull request as ready for review
August 23, 2026 13:25
BBuf
requested review from
Alisehen,
AniZpZ,
DarkSharpness,
Edwardf0t1,
FlamingoPg,
HaiShaw,
HydraQYH,
OrangeRedeng,
b8zhong,
celve,
ch-wan,
mmangkad and
yuan-luo
as code owners
August 23, 2026 13:25
Collaborator
Author
|
/tag-and-rerun-ci extra |
BBuf
force-pushed
the
agent/qwen38-nvfp4-skinny-gemm
branch
from
August 23, 2026 13:36
fe71f76 to
25685b1
Compare
BBuf
marked this pull request as draft
August 23, 2026 15:12
BBuf
marked this pull request as ready for review
August 23, 2026 16:52
Collaborator
Author
|
/rerun-failed-ci |
BBuf
marked this pull request as draft
August 25, 2026 06:57
5 tasks
Collaborator
Author
|
Closing this draft in favor of the stronger KDA-Pilot implementation from BBuf/KDA-Pilot#195. I will re-port that optimized SM120 NVFP4 GEMM into a dedicated python/sglang/kernels/kda_kernels package with explicit Humanize2 / Kernel Design Agents provenance, then revalidate DSpark end-to-end throughput and acceptance length on RTX PRO 6000 before opening the replacement PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Qwen3.8-27B NVFP4 decode on high-SM-count SM120 GPUs spends a significant amount of time in FlashInfer's general block-scaled GEMM. Its decode and DSpark verification shapes have only 1-16 rows, so the general kernel pays unnecessary tile padding and scheduling overhead.
Modifications
SGLANG_ENABLE_QWEN38_FP4_SKINNY_GEMM(off by default), with strict shape, dtype, stride, device, SM-count, and architecture guards.Accuracy Tests
Tested on an NVIDIA RTX PRO 6000 Blackwell Server Edition:
The FlashInfer comparison covers all three shapes at M=1, 9, and 16.
DSpark E2E validation used three fixed seeds. The accept lengths are unchanged after applying the safe down-projection routing:
Speed Tests and Profiling
RTX PRO 6000 kernel microbenchmarks against
flashinfer.mm_fp4(backend="auto"):Down M=9/16 numbers show the raw kernel result; those two paths are disabled by the safe default because of the acceptance sensitivity described above.
Qwen3.8-27B end-to-end output throughput:
Checklist
CI States
Latest PR Test (Base): ❌ Run #32962658503
Latest PR Test (Extra): ❌ Run #32962658497
Latest PR Test (AMD ROCm 7.2): ❌ Run #32962658549