Repository navigation
[None][chore] Refresh PrimTS vendor source onto FlashInfer main - #20155
Conversation
Move to the dated canonical branch trtllm-prims-ts-dev-20261012 at ae312f7cc1723b06fda5168105ade0f328ee47d8. Merged FlashInfer PRs NVIDIA#4829, NVIDIA#4872, NVIDIA#5002, and NVIDIA#5144 cover the downstream series; NVIDIA#5478 supersedes the standalone CUTLASS DSL 4.8 fix. No downstream source commits remain to replay. Regenerate the TRT-LLM compatibility patch and bind the paged context adapter to separate K/V dtype arguments. Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
|
/bot run |
|
PR_Github #77260 [ run ] triggered by Bot. Commit: |
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
|
/bot run |
|
PR_Github #77264 [ run ] triggered by Bot. Commit: |
|
/bot run --disable-fail-fast |
|
PR_Github #77260 [ run ] completed with state |
|
PR_Github #77266 [ run ] triggered by Bot. Commit: |
|
@PerkzZheng, could you help to review this PR as trt-llm-torch-attention-devs? Thanks~ Assignment explanation
Affinity and workload are snapshots at selection, not live counters. Existing reservations on this PR are counted once. |
|
PR_Github #77264 [ run ] completed with state |
|
PR_Github #77266 [ run ] completed with state
|
|
Automatically added "ci: full pre-merge approved" because this PR has satisfied the required GitHub review approvals. Unresolved review conversations and other required checks remain independent merge requirements. |
|
@yihwang-nv, thanks for picking up this PR! I’ve handed off the trt-llm-torch-attention-devs review from @PerkzZheng to you. The 13 attention-review points now belong to @yihwang-nv; @PerkzZheng’s attention reservation has been released. Existing points on this PR are counted once. @PerkzZheng, no further attention review is requested from you. Thanks~ |
Signed-off-by: Yuxian Qiu <142763828+yuxianq@users.noreply.github.com>
|
/bot run --disable-fail-fast |
|
PR_Github #77397 [ run ] triggered by Bot. Commit: |
heyuhhh
left a comment
There was a problem hiding this comment.
LGTM~ SOL attention V sum -> mean is expected
|
PR_Github #77397 [ run ] completed with state |
Re-pin flashinfer-prims-ts to yunruis/flashinfer@549977ef (branch yunruis/prims-ts-sparse-mla-group-major-out): FlashInfer main at ae312f7cc (the revision NVIDIA#20155 vendored) plus flashinfer-ai/flashinfer#5434 (native two-source sparse MLA with fused inverse-RoPE + E4M3 output, rebased head 735e1f4f3) and flashinfer-ai/flashinfer#6345 (group-major fused output and the 2CTA schedule for short lists). This brings BatchSparseMLADecodePagedTSWrapper into TensorRT-LLM with the output layout TRT-LLM's DeepSeek-V4 epilogue consumes. The compatibility patch keeps upstream's shims and additionally drops the one-shot MLA trace template (absent from the pinned flashinfer-python 0.6.18) and makes the sparse plan's kernel imports relative so the vendored package does not import flashinfer.attention.prims_ts. AI-assisted. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: yunruis <205571022+yunruis@users.noreply.github.com>
Re-pin flashinfer-prims-ts to yunruis/flashinfer@549977ef (branch yunruis/prims-ts-sparse-mla-group-major-out): FlashInfer main at ae312f7cc (the revision NVIDIA#20155 vendored) plus flashinfer-ai/flashinfer#5434 (native two-source sparse MLA with fused inverse-RoPE + E4M3 output, rebased head 735e1f4f3) and flashinfer-ai/flashinfer#6345 (group-major fused output and the 2CTA schedule for short lists). This brings BatchSparseMLADecodePagedTSWrapper into TensorRT-LLM with the output layout TRT-LLM's DeepSeek-V4 epilogue consumes. The compatibility patch keeps upstream's shims and additionally drops the one-shot MLA trace template (absent from the pinned flashinfer-python 0.6.18) and makes the sparse plan's kernel imports relative so the vendored package does not import flashinfer.attention.prims_ts. AI-assisted. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: yunruis <205571022+yunruis@users.noreply.github.com>
Re-pin flashinfer-prims-ts to yunruis/flashinfer@549977ef (branch yunruis/prims-ts-sparse-mla-group-major-out): FlashInfer main at ae312f7cc (the revision NVIDIA#20155 vendored) plus flashinfer-ai/flashinfer#5434 (native two-source sparse MLA with fused inverse-RoPE + E4M3 output, rebased head 735e1f4f3) and flashinfer-ai/flashinfer#6345 (group-major fused output and the 2CTA schedule for short lists). This brings BatchSparseMLADecodePagedTSWrapper into TensorRT-LLM with the output layout TRT-LLM's DeepSeek-V4 epilogue consumes. The compatibility patch keeps upstream's shims and additionally drops the one-shot MLA trace template (absent from the pinned flashinfer-python 0.6.18) and makes the sparse plan's kernel imports relative so the vendored package does not import flashinfer.attention.prims_ts. AI-assisted. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: yunruis <205571022+yunruis@users.noreply.github.com>
Re-pin flashinfer-prims-ts to yunruis/flashinfer@549977ef (branch yunruis/prims-ts-sparse-mla-group-major-out): FlashInfer main at ae312f7cc (the revision NVIDIA#20155 vendored) plus flashinfer-ai/flashinfer#5434 (native two-source sparse MLA with fused inverse-RoPE + E4M3 output, rebased head 735e1f4f3) and flashinfer-ai/flashinfer#6345 (group-major fused output and the 2CTA schedule for short lists). This brings BatchSparseMLADecodePagedTSWrapper into TensorRT-LLM with the output layout TRT-LLM's DeepSeek-V4 epilogue consumes. The compatibility patch keeps upstream's shims and additionally drops the one-shot MLA trace template (absent from the pinned flashinfer-python 0.6.18) and makes the sparse plan's kernel imports relative so the vendored package does not import flashinfer.attention.prims_ts. AI-assisted. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: yunruis <205571022+yunruis@users.noreply.github.com>
Dev Engineer Review
PrimsTSFmhanow passes separatek_dtypeandv_dtypevalues from the K and V caches. This aligns the call with the updated planner API and avoids assuming both caches share a dtype.QA Engineer Review
tests/unittest/_torch/attention/test_prims_ts_fmha.py. The test uses an autospeccedBatchPrefillPagedTSWrappermock and checks separate K/V dtype arguments. The stated GPU integration coverage still needs validation on supported hardware.test_prims_ts_fmha; that unit test is not an integration-list entry. Listing status for the named GPU integration tests is not established.Per-File QA Perspective
3rdparty/vendor_patches/flashinfer-prims-ts.patch: Verify behavior after decorator and import changes, especially block-sparse and decode dispatch. MLA one-shot trace dispatch remains.3rdparty/vendor_sources.lock.yaml: The vendor branch, commit, patch digest, and tree digest change. Verify that the locked source reproduces the expected vendor tree.tensorrt_llm/_torch/attention/backends/fmha/prims_ts.py: The context planner now receives distinct K and V cache dtypes. Verify planning when the cache dtypes differ.tests/unittest/_torch/attention/test_prims_ts_fmha.py: The unit test checks the updated planner arguments with an autospecced wrapper. It is not listed in the integration test lists.Description
Refresh the
flashinfer-prims-tsvendor onto current FlashInfer main, using a newdated canonical branch rather than rewriting the branch referenced by existing
TRT-LLM releases and contributor PRs.
yuxianq/flashinfertrtllm-prims-ts-devtrtllm-prims-ts-dev-202610126e0d64e79f2a87eeb539e2f40ea12d009679a8f5ae312f7cc1723b06fda5168105ade0f328ee47d8ae312f7cc1723b06fda5168105ade0f328ee47d8The consumer branch starts from TRT-LLM main at
efeda445748b08bf32c057034089acf4577112f1. The old canonical branch is unchanged.The new canonical branch is exactly the audited upstream main commit: no
downstream source commits remain to replay.
Downstream-series audit
The 34 downstream commits since
1c142d58d7cb8b394e43517fc18ec7c970b5f5bdare covered by the following merged upstream work. All listed squash commits
are ancestors of the new pin.
b0d190d4f. The follow-up's lock-selected Python edits match the recorded upstream range exactly. The initial-series adaptations include trace/import and naming changes subsequently reverted in that same series.@propertyline at a diff boundary; the final property is preserved.bad2bdb15fix. The FMHA and MLA task overrides use version-aware context forwarding, so the 4.8-only patch is not reapplied.This is an upstream source refresh, not a lock-only promotion. It imports the
current selected Python source, including newer context/decode implementations;
it must run normal CI and must not use
/bot skip.TRT-LLM integration
flashinfer/attention/prims_ts/**/*.py; no FlashInfer tests, benchmarks, external CUDA/JIT sources, or dependency versions are vendored.flashinfer_apidecorator and resolves external FlashInfer helper imports absolutely. It drops unavailable block-sparse traces and incompatible CSR/plan-owned decode trace schemas, but retains compatible MLA one-shot tracing. Only five files require adaptations; the other 87 selected files are exact upstream copies. Original source licenses are preserved, with no license-only patch entries or duplicate copyright lines.k_dtypeandv_dtype; strengthen its existing test with an autospecced wrapper so future signature mismatches fail._tensor_aliasing.pybecause it was removed upstream. Its previous bytes remain recoverable from Git.Maintainer cutover completed — 2026-10-13
6e0d64e79f2a87eeb539e2f40ea12d009679a8f5.fca08032f752cecde2fdb99d1538940b4d23fc7aat 07:59 UTC.yuxianq/flashinfer:trtllm-prims-ts-dev-20261012atae312f7cc1723b06fda5168105ade0f328ee47d8, matching the new remote branch tip.--migrate-canonical-branch-from trtllm-prims-ts-devmigration in the same existing operator workdir. Preserved the source cache, logs, operator/repository configuration, and historical cutoff; no manual SQLite edits.--daemon --publishwith the new canonical branch, preserving the 120-second interval and INFO logging. Its first publishing poll completed at 08:23:33 UTC: 19 processed, 5 author-blocked, 0 operational errors.needs_attentionreflects contributor rebase/metadata work, not a failed daemon. No promotion was created for historical or unrelated updates.Test Coverage
git diff --check, and applicable pre-commit checks.test_prims_ts_fmha.pyvalidates the new K/V dtype arguments and uses the actual wrapper signature viacreate_autospec.2.14.0a0+b2c75dd062.nv26.09: the stale contextkv_dtypeargument and the SOL proxy mismatch (96.8% of elements; maximum absolute error 9.375).test_prims_ts_fmha.py,test_prims_ts_attention_backend.py(Qwen/DeepSeek, eager and CUDA graph), andsparse/test_prims_ts_block_sparse.pysuites on supported hardware.PR Checklist
Please review the following before submitting your PR:
Description explains the source audit, compatibility changes, and post-merge migration.
Followed TRT-LLM coding guidelines and DCO sign-off requirements.
Relevant tests and unvalidated GPU coverage are identified above.
No new model architecture, user-facing configuration, dependency pin, or ownership changes.
This refresh merged on 2026-10-13; the post-merge canonical-branch cutover is complete as recorded above.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
To see a list of available CI bot commands, please comment
/bot help.