[NVIDIA] Enable fp8 flashinfer_trtllm_routed MoE for MiniMax-M2.5 (#20394)

This commit is contained in:
Trevor Morris
2026-04-01 23:02:06 -07:00
committed by GitHub
parent f25bf86065
commit d24ea24e18
3 changed files with 11 additions and 3 deletions
@@ -361,7 +361,7 @@ def fused_experts_none_to_flashinfer_trtllm_fp8(
symm_output = torch.empty(
hidden_states.shape[0],
hidden_states.shape[1],
dtype=torch.bfloat16,
dtype=hidden_states.dtype,
device=hidden_states.device,
)
@@ -441,9 +441,11 @@ def fused_experts_none_to_flashinfer_trtllm_fp8(
tune_max_num_tokens=next_power_of_2(a_q.shape[0]),
fp8_quantization_type=int(fp8_quantization_type),
)
# TODO: Once https://github.com/flashinfer-ai/flashinfer/issues/2703 is fixed, pass output to moe kernel and remove this copy.
symm_output.copy_(output)
output = symm_output
else:
assert TopKOutputChecker.format_is_bypassed(topk_output)
assert quant_info.w13_input_scale is not None
assert quant_info.output1_scales_scalar is not None
assert quant_info.output1_scales_gate_scalar is not None
+6 -2
View File
@@ -1369,7 +1369,10 @@ class Fp8MoEMethod(FusedMoEMethodBase):
self.process_weights_hip_scale_padding(layer)
# Align FP8 weights to FlashInfer per-tensor kernel layout if enabled
if get_moe_runner_backend().is_flashinfer_trtllm():
if (
get_moe_runner_backend().is_flashinfer_trtllm()
or get_moe_runner_backend().is_flashinfer_trtllm_routed()
):
from sglang.srt.layers.moe.moe_runner.flashinfer_trtllm import (
align_fp8_moe_weights_for_flashinfer_trtllm,
)
@@ -1619,7 +1622,8 @@ class Fp8MoEMethod(FusedMoEMethodBase):
local_num_experts=num_local_experts,
intermediate_size=layer.w2_weight.shape[2],
routing_method_type=int(
getattr(layer, "routing_method_type", RoutingMethodType.DeepSeekV3)
getattr(layer, "routing_method_type", None)
or RoutingMethodType.DeepSeekV3
),
block_quant=self.block_quant,
use_mxfp8=getattr(self.quant_config, "use_mxfp8", False),
@@ -2046,6 +2046,8 @@ class ModelRunner(ModelRunnerKVCacheMixin):
if backend_str not in [
"flashinfer_trtllm",
# TODO: Enable for flashinfer_trtllm_routed once https://github.com/flashinfer-ai/flashinfer/issues/2749 is fixed.
# "flashinfer_trtllm_routed",
"flashinfer_mxfp4",
# TODO: flashinfer_cutlass will cause some flashinfer compilation errors. To be fixed.
# "flashinfer_cutlass",