From ff579c97675b6c1656be32d7745ce995cd19e960 Mon Sep 17 00:00:00 2001 From: biondizzle Date: Mon, 11 May 2026 07:49:11 +0000 Subject: [PATCH] fix: use NVFP4 SymmBuffer (2x SF size for group_size=16) The NVFP4 mega_moe kernel needs a larger symmetric buffer because group_size=16 produces 2x more scale factor entries than MXFP4's 32. Switch from deep_gemm.get_symm_buffer_for_mega_moe to deep_gemm.mega.nvfp4.get_symm_buffer_for_nvfp4_mega_moe. --- patches/deepseek_v4.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/patches/deepseek_v4.py b/patches/deepseek_v4.py index 2a601c6..394d6e4 100644 --- a/patches/deepseek_v4.py +++ b/patches/deepseek_v4.py @@ -761,7 +761,7 @@ class DeepseekV4MegaMoEExperts(nn.Module): return w_packed, scale_exp def get_symm_buffer(self): - import vllm.third_party.deep_gemm as deep_gemm + from deep_gemm.mega import nvfp4 as nvfp4_mega group = get_ep_group().device_group device = torch.accelerator.current_device_index() @@ -776,7 +776,8 @@ class DeepseekV4MegaMoEExperts(nn.Module): ) symm_buffer = self._symm_buffer_cache.get(key) if symm_buffer is None: - symm_buffer = deep_gemm.get_symm_buffer_for_mega_moe( + # NVFP4 SymmBuffer: 2x SF size due to group_size=16 (vs MXFP4's 32) + symm_buffer = nvfp4_mega.get_symm_buffer_for_nvfp4_mega_moe( group, self.num_experts, self.max_num_tokens,