Repository navigation
Conversation
…eases Two incompatibilities stop the CuTe kernels from compiling with the newest packages that requirements.txt allows (nvidia-cutlass-dsl>=4.4.1, quack-kernels>=0.2.10): - quack-kernels 0.6.5 removed quack.activation.sub_packed_f32x2 (it now uses cute.arch.sub_packed_f32x2 from CUTLASS DSL). ex2_emulation_2 still called it: AttributeError: module 'quack.activation' has no attribute 'sub_packed_f32x2'. - nvidia-cutlass-dsl >= 4.6.0 binds nvvm.fmax(a, b, *, c) with an inferred result type for every CUDA flavor, but fmax() chose the old nvvm.fmax(res, a, b) call whenever CUDA_VERSION is 12.9, which is what the default (cu12) install reports: TypeError: fmax() takes 2 positional arguments but 3 positional arguments ... were given. Use cute.arch.sub_packed_f32x2 when CUTLASS DSL provides it and fall back to the quack helper otherwise. Pick the nvvm.fmax calling convention from the binding's signature instead of the CUDA version (MiniMax-AI#15 made the same fmax change together with exact version pins). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Orien-Xu
marked this pull request as ready for review
October 24, 2026 00:47
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.
Hi, I'm Orien from Parasail. This fixes an issue we ran into while serving MiniMax-M3.1-Flash (#24).
Fixes #24.
quack-kernels 0.6.5, which
quack-kernels>=0.2.10allows, removedquack.activation.sub_packed_f32x2.ex2_emulation_2incute/src/common/utils.pystill callsit, so the CuTe kernels fail to compile with
AttributeError.Change
cute/src/common/utils.py: bindsub_packed_f32x2tocute.arch.sub_packed_f32x2when CUTLASSDSL has it (the function quack 0.6.5 itself switched to), otherwise import the old quack helper.
The two call sites in
ex2_emulation_2use the local name. The arguments (two FP32 pairs, defaultround-to-nearest-even) are unchanged. 10 lines changed, no other files.
Testing
fmha_sm100CuTe tests with(a) quack-kernels 0.6.4 + nvidia-cutlass-dsl 4.6.2 and (b) quack-kernels 0.6.5 +
nvidia-cutlass-dsl >= 4.7, and check the outputs are bit-identical to the current
mainunder (a).GPU validation (NVIDIA B200, driver 595.71.05, CUDA 13.3, torch 2.14.1+cu130, head e9a19fe, base main 80434d7)
One causal
sparse_atten_funccall (Sq=Skv=4096, Hkv=1, qhead_per_kv=16, topK=16, BF16; causal enablesex2_emulation_2). CuTe compile caches cleared before every run.Output bytes are identical to main in the one configuration where main works.
pytest test_sparse_atten.py(the 60 BF16test_sparse_attencases, lse_temperature_scale=None, check_empty=False), quack 0.6.4 + cutlass-dsl[cu13] 4.6.2: main 24 passed / 36 failed, this PR 24 passed / 36 failed, identical failing set. The 36 failures already happen on main: all qhead_per_kv in {1, 2, 4}, an NVVM backend compilation error for sm_100a with CUDA 13.3. The PR passes the same 24 cases under quack 0.6.5 + cutlass-dsl[cu13] 4.8.1, where main cannot run at all.