Skip to content

Bump FlashInfer to 0.6.15.post1 - #31927

Merged
Fridge003 merged 5 commits into
mainfrom
mmangkad/flashinfer-0.6.15-post1
Jul 22, 2026
Merged

Fridge003 merged 5 commits into
mainfrom
mmangkad/flashinfer-0.6.15-post1

Conversation

@mmangkad

@mmangkad mmangkad commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • bump flashinfer_python, flashinfer-cubin, and the optional JIT cache from 0.6.14 to 0.6.15.post1
  • reland the FlashInfer 0.6.15 API compatibility and regression cleanup from Bump FlashInfer to 0.6.15 and revert regressions #31502
  • restore the GLM-5.2 NVFP4 performance threshold after removing the obsolete correction-bias workaround

Why

The original 0.6.15 bump was reverted in #31625 after host-side regressions reduced long-context serving throughput. FlashInfer 0.6.15.post1 includes both follow-up fixes needed to recover performance:

  • Autotuner mem leak follow up 2 flashinfer-ai/flashinfer#3970 memoizes MLA decode TuningConfig objects for equivalent inputs. This prevents fresh, unequal initializer closures from growing a single _find_nearest_profile hash-collision chain, which made per-call host overhead O(n) and total overhead O(n²) in long-running MLA decode workloads. It also improves persisted autotuner-cache validation and healing.
  • fix(fused_moe): avoid repeated runner setup in host dispatch flashinfer-ai/flashinfer#4045 caches constructor-derived fused-MoE runners per host thread and validates only the selected tactic pair. This removes roughly 0.4 ms of warmed host-dispatch overhead per invocation while leaving tactic selection and dispatched CUDA kernels unchanged; its end-to-end GB300 test recovered the approximately 6% gap observed against the compatibility baseline.

This release therefore addresses the issues that led to the revert while retaining the 0.6.15 compatibility changes.

Validation

  • repository pre-commit hooks (TOML, AST, isort, Ruff, codespell, registered-test validation)
  • Python syntax compilation for all modified Python modules
  • python/pyproject.toml TOML parsing
  • PEP 440 ordering check for 0.6.15.post1 > 0.6.15
  • Docker, Python dependency, and runtime FlashInfer pin consistency check
  • git diff --check

GPU model E2E tests were not run locally.


CI States

Latest PR Test (Base): ❌ Run #29940919826
Latest PR Test (Extra): ❌ Run #29940919610

@github-actions github-actions Bot added dependencies Pull requests that update a dependency file deepseek blackwell SM100/SM120 labels Jul 21, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the FlashInfer dependency to version 0.6.15.post1 across the Dockerfile, pyproject.toml, and version assertions. It adapts the CuteDSL MoE runner to use the FlashInfer ActivationType enum, removes a workaround for correction_bias_dtype in DeepSeek-V2, and increases the speed threshold in a GLM-5.2 test. Feedback is provided to use a dictionary mapping instead of multiple conditional statements when resolving activation types to improve code maintainability.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread python/sglang/srt/layers/moe/moe_runner/flashinfer_cutedsl.py
@mmangkad

Copy link
Copy Markdown
Collaborator Author

/rerun-test test/registered/models_e2e/test_dsa_glm52_nvfp4_tp_mtp.py

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Results for /rerun-test test/registered/models_e2e/test_dsa_glm52_nvfp4_tp_mtp.py:

🚀 4-gpu-b200 (1 test): ✅ View workflow run

cd test/ && python3 registered/models_e2e/test_dsa_glm52_nvfp4_tp_mtp.py

flashinfer's trtllm_batch_decode_with_kv_cache_mla instantiates a fresh
runner per call, so its internal counter-buffer cache never survives
across decode steps and it torch.zeros() a new one every call by
default. Own a persistent buffer in TRTLLMMLABackend and
DeepseekSparseAttnBackend and pass it via multi_ctas_kv_counter_buffer=
instead.

DSA's trtllm sparse-indexer path flattens every token in a prefill/
extend/verify chunk into its own decode-shaped batch entry, so its
batch dimension can exceed max_running_requests; grow the buffer on
demand there instead of assuming a fixed bound.

Cherry-picked from #31607 (squashed from 0042fd9, 121c901,
a84b529, ed135a8).
@b8zhong

b8zhong commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

/rerun-test test/registered/models_e2e/test_dsa_glm52_nvfp4_tp_mtp.py

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Results for /rerun-test test/registered/models_e2e/test_dsa_glm52_nvfp4_tp_mtp.py:

🚀 4-gpu-b200 (1 test): ✅ View workflow run

cd test/ && python3 registered/models_e2e/test_dsa_glm52_nvfp4_tp_mtp.py

Comment thread python/sglang/srt/layers/attention/dsa_backend.py
@Fridge003 Fridge003 added the release-highlight Candidate PR for release note highlight label Jul 22, 2026
@b8zhong
b8zhong marked this pull request as ready for review July 22, 2026 13:11
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@b8zhong

b8zhong commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Seem main is broken

@Fridge003
Fridge003 merged commit 0c29c8f into main Jul 22, 2026
185 of 257 checks passed
@Fridge003
Fridge003 deleted the mmangkad/flashinfer-0.6.15-post1 branch July 22, 2026 21:22
llc-kc pushed a commit to llc-kc/sglang that referenced this pull request Jul 27, 2026
Co-authored-by: Brayden Zhong <b8zhong@uwaterloo.ca>
Zhylkaaa pushed a commit to Zhylkaaa/sglang that referenced this pull request Jul 29, 2026
Co-authored-by: Brayden Zhong <b8zhong@uwaterloo.ca>
jinzhenfan pushed a commit to jinzhenfan/sglang that referenced this pull request Jul 29, 2026
Co-authored-by: Brayden Zhong <b8zhong@uwaterloo.ca>
@elvischenv elvischenv mentioned this pull request Jul 31, 2026
5 tasks
jakki-amd pushed a commit to jakki-amd/sglang that referenced this pull request Sep 9, 2026
Co-authored-by: Brayden Zhong <b8zhong@uwaterloo.ca>
Atituiset pushed a commit to Atituiset/sglang that referenced this pull request Sep 10, 2026
Co-authored-by: Brayden Zhong <b8zhong@uwaterloo.ca>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

blackwell SM100/SM120 bypass-fastfail deepseek dependencies Pull requests that update a dependency file release-highlight Candidate PR for release note highlight run-ci

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants