[II] Optimize DeepSeek V4 sparse metadata kernels - #434
Conversation
…l throughput (vllm-project#52084) Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com> (cherry picked from commit 836aac9)
…stants (vllm-project#51967) Signed-off-by: chaunceyjiang <chaunceyjiang@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit 83f591d)
|
Warning Review limit reached
Next review available in: 26 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
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 |
559e4f2
into
local-inference-lab:dev/infernal-invocation
Behavior
DeepSeek V4 sparse-attention metadata kernels specialize fixed strides, top-k width, and block size as Triton compile-time constants. The kernel that combines compressed top-k entries with the sliding-window region launches 256 workers per request instead of 128.
Output layout, integer arithmetic, and public interfaces are unchanged.
Technical reason
The global-index kernel receives fixed geometry for each compiled serving shape. Treating that geometry as runtime scalars prevents Triton from folding address calculations and loop bounds. The top-k/SWA kernel distributes long prefill rows across too few worker programs at 128 workers.
The implementation ports vLLM upstream PRs #51967 and #52084 to
dev/infernal-invocation.Compatibility
Validation
SM120 A/B/A measurements used GPU 6 on an RTX PRO 6000 Blackwell Server Edition direct-attach host. Both variants ran in the same Infernal Invocation image with deterministic inputs, 100 warmup iterations, and 300 measured iterations. The comparator was
dev/infernal-invocation@6dc2f516688f.All output and length checksums matched across the A/B/A runs.
pytest -q tests/models/deepseek_v4/test_cache_utils.py: 3 passed on SM120.git diff --check: passed.