From 5d498491566083a76ed71c926bccbe66fb7f2207 Mon Sep 17 00:00:00 2001 From: biondizzle Date: Tue, 19 May 2026 01:15:24 +0000 Subject: [PATCH] Fix: torch.zeros doesn't support Float4_e2m1fn_x2 dtype Allocate as uint8 then view as float4_e2m1fn_x2 for padding buffer. --- vllm/kernels/linear/nvfp4/cutedsl.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vllm/kernels/linear/nvfp4/cutedsl.py b/vllm/kernels/linear/nvfp4/cutedsl.py index 4c7ae95e..c8368918 100644 --- a/vllm/kernels/linear/nvfp4/cutedsl.py +++ b/vllm/kernels/linear/nvfp4/cutedsl.py @@ -58,7 +58,8 @@ def _cutedsl_nvfp4_linear( padded_rows = cutedsl_ceil_div(num_tokens, 128) * 128 if num_tokens < padded_rows: x_fp4_padded = torch.zeros(padded_rows, x_fp4.shape[1], - dtype=x_fp4.dtype, device=x.device) + dtype=torch.uint8, device=x.device + ).view(torch.float4_e2m1fn_x2) x_fp4_padded[:num_tokens] = x_fp4 else: x_fp4_padded = x_fp4