diff --git a/vllm/nvfp4_cutedsl.py b/vllm/nvfp4_cutedsl.py index 3f90d2e0..aea180a5 100644 --- a/vllm/nvfp4_cutedsl.py +++ b/vllm/nvfp4_cutedsl.py @@ -126,8 +126,8 @@ class CuTeDSLMoERunner: # Build expert_offsets: cumulative count of tokens per expert # Count how many slots each expert gets expert_id_range = torch.arange(num_experts, device=device) - tokens_per_expert = (sorted_ids.unsqueeze(1) == expert_id_range.unsqueeze(0)).sum(dim=0) - expert_offsets = torch.zeros(num_experts + 1, dtype=torch.int64, device=device) + tokens_per_expert = (sorted_ids.unsqueeze(1) == expert_id_range.unsqueeze(0)).sum(dim=0).int() + expert_offsets = torch.zeros(num_experts + 1, dtype=torch.int32, device=device) expert_offsets[1:] = tokens_per_expert.cumsum(0) if expert_offsets[-1] == 0: return torch.zeros(num_tokens, hidden_size, dtype=torch.bfloat16, device=device)