[Bugfix] Support CuTe DSL 4.8.0 block-scale API (#59480)

Signed-off-by: hjjq <50634613+hjjq@users.noreply.github.com> Co-authored-by: Codex <noreply@openai.com> Co-authored-by: Shang Wang <samshang.wang@mail.utoronto.ca>

Hanjie Qiu committed Sep 30, 2026 at 22:30 UTC bc505fc823b29739554e40c348d12b4f032f8369
1 file changed +6 -1
vllm/cute_utils/_tcgen05.py
+6 -1
@@ -148,6 +148,11 @@ def mma_mxfp8(
148 loc=None,
149 ip=None,
150 ) -> None:
151 + # CuTe DSL 4.8 renamed the block-scale enum and keyword.
152 + if hasattr(nvvm, "Tcgen05MMABlockScale"):
153 + scale_kwargs = {"block_scale": nvvm.Tcgen05MMABlockScale.DEFAULT}
154 + else:
155 + scale_kwargs = {"scale_vec_size": nvvm.Tcgen05MMAScaleVecSize.X1}
156 with cute.arch.elect_one():
157 nvvm.tcgen05_mma_block_scale(
158 nvvm.Tcgen05MMAKind.MXF8F6F4,
@@ -159,9 +164,9 @@ def mma_mxfp8(
164 Boolean(enable_input_d).ir_value(loc=loc, ip=ip),
165 _make_tmem_llvm_ptr(sfa_tmem, loc=loc, ip=ip),
166 _make_tmem_llvm_ptr(sfb_tmem, loc=loc, ip=ip),
162 - scale_vec_size=nvvm.Tcgen05MMAScaleVecSize.X1,
167 loc=loc,
168 ip=ip,
169 + **scale_kwargs,
170 )
171
172