[TRTLLM-13767][chore] upgrade CUTLASS DSL to 4.6.1 - #17274
Conversation
…tlass-dsl version skew The visual_gen FlashAttn4 / parallel attention backends import flash_attn.cute (which pulls quack); both already guard that optional import but only catch (ImportError, OSError). A newer nvidia-cutlass-dsl (e.g. 4.6, required by the NVFP4 conv kernel) removes cute.core.ThrMma, which flash_attn.cute / quack reference at import time, raising AttributeError and hard-breaking `import tensorrt_llm` for every code path — including the VAE, which never uses these backends. Add AttributeError to the two guards so the optional cute-dsl backends degrade gracefully (re-imported lazily only when explicitly selected) instead of breaking the whole package import under a cutlass-dsl version mismatch. Signed-off-by: Taian Zhang <taianz@nvidia.com> (cherry picked from commit 87f0ef71a43549e69f8109d621e0fe9ad665da8b) Signed-off-by: Taian Zhang <taianz@nvidia.com>
Signed-off-by: Taian Zhang <taianz@nvidia.com>
Signed-off-by: Taian Zhang <taianz@nvidia.com>
Signed-off-by: Taian Zhang <taianz@nvidia.com>
|
/bot run |
|
PR_Github #63913 [ run ] triggered by Bot. Commit: |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughChangesCUDA backend compatibility
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
The The main question. Your own comments say the skew is " Can you state which it is? If FA4 needs a newer build to stay working on 4.6.1, that bump belongs in this PR; if Same question for Scope of validation. Smaller ones:
|
|
Following up on my own question — I pulled the wheel metadata, and it answers it. My FlashAttention-4 hypothesis was wrong; disregard that part.
But the same metadata shows a real side effect the PR doesn't mention.
So a one-line CUTLASS bump labelled Separately, My remaining asks are unchanged and both cheap: run the VisualGen attention-backend CI matrix your description still calls for (the PR isn't a draft), and confirm the in-tree CuTe DSL consumers outside VisualGen — MLA decode, the NVFP4 GEMM autotuner — are exercised somewhere on 4.6.1. |
Signed-off-by: Taian Zhang <taianz@nvidia.com>
|
Thanks for tracing the dependency metadata and the broader CuTe impact. I addressed this as one supported dependency/API set rather than extending the fallback: quack-kernels is now pinned to 0.6.2 alongside CUTLASS DSL 4.6.1; the in-tree VSA |
|
/bot run |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
requirements.txt (1)
77-79: 🗄️ Data Integrity & Integration | 🔵 Trivial | 💤 Low valueDocument the
quack-kernelscoupling.
quack-kernels==0.6.2declaresnvidia-cutlass-dsl==4.6.1, so the exact pin is required. Update the inline comment to document this coupling;flash-attn-4alone requires onlyquack-kernels>=0.4.0.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@requirements.txt` around lines 77 - 79, Update the inline comment on the quack-kernels==0.6.2 requirement to document that it declares and therefore requires nvidia-cutlass-dsl==4.6.1; distinguish this coupling from flash-attn-4, which only requires quack-kernels>=0.4.0.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@requirements.txt`:
- Around line 77-79: Update the inline comment on the quack-kernels==0.6.2
requirement to document that it declares and therefore requires
nvidia-cutlass-dsl==4.6.1; distinguish this coupling from flash-attn-4, which
only requires quack-kernels>=0.4.0.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 41364dc7-9c6e-4f65-bc76-b65fcbf8416d
📒 Files selected for processing (4)
requirements.txttensorrt_llm/_torch/visual_gen/cute_dsl_kernels/blackwell/video_sparse_attention/__init__.pytensorrt_llm/_torch/visual_gen/cute_dsl_kernels/blackwell/video_sparse_attention/block_sparse_attn_dsl_fwd.pytensorrt_llm/_torch/visual_gen/cute_dsl_kernels/blackwell/video_sparse_attention/interface.py
🚧 Files skipped from review as they are similar to previous changes (1)
- tensorrt_llm/_torch/visual_gen/cute_dsl_kernels/blackwell/video_sparse_attention/interface.py
|
PR_Github #63929 [ run ] triggered by Bot. Commit: |
|
PR_Github #63913 [ run ] completed with state
|
Signed-off-by: Taian Zhang <taianz@nvidia.com>
|
Updated the inline dependency note to make the exact quack-kernels 0.6.2 / CUTLASS DSL 4.6.1 coupling explicit. Commit: 323fc25. |
|
/bot run |
|
PR_Github #63934 [ run ] triggered by Bot. Commit: |
|
PR_Github #63929 [ run ] completed with state |
|
PR_Github #63934 [ run ] completed with state
|
|
Re-reviewed at The transitive coupling is declared: The import guard went the right direction rather than wider: Privatizing Still not approving as first reviewer — this moves two pinned dependencies and there are no approvals yet. The one ask left over from before is unchanged: the description still calls for the VisualGen attention-backend matrix, and it'd be good to confirm the non-VisualGen CuTe DSL consumers were exercised on 4.6.1, since |
|
/bot run |
|
PR_Github #64018 [ run ] triggered by Bot. Commit: |
|
PR_Github #64018 [ run ] completed with state
|
Summary
Upgrade the supported Blackwell CuTe DSL dependency set to
nvidia-cutlass-dsl[cu13]==4.6.1andquack-kernels==0.6.2. CUTLASS DSL 4.6.1 is required by the FP4 Conv3d integration in #17262, whose kernel uses the newerLaunchConfigshared-memory allocation API.Pinning quack alongside CUTLASS is intentional. Older quack releases satisfy the previous open lower bound but reference
cute.core.ThrMma, which CUTLASS DSL 4.6 removed. An existing environment could otherwise upgrade CUTLASS while retaining an incompatible quack wheel. The repository's VSA kernel used the same removed name, so this PR migrates it tocute.ThrMmaas part of the dependency upgrade.Scope
ThrMmaannotations to the CUTLASS DSL 4.6 API.Validation
Review focus
This dependency change affects CuTe consumers beyond FP4 Conv3d. CI and reviewer focus should include VisualGen FA4/parallel-combine/VSA, MiniMax M3 MSA, and representative non-VisualGen CuTe paths rather than treating an
AttributeErroras an optional-backend fallback.Dev Engineer Review
nvidia-cutlass-dsl[cu13]to4.6.1.quack-kernelsto0.6.2to match the supported CUTLASS DSL dependency set.cute.core.ThrMmatocute.ThrMma.VideoSparseAttentionForwardexport.QA Engineer Review
No test changes.