From dcdfe66bfacf60633b7e18c9c7661a386b88fbad Mon Sep 17 00:00:00 2001 From: Jiangyun Zhu Date: Tue, 2 Jun 2026 15:52:30 +0800 Subject: [PATCH] [Perf] use triton moe backend on hopper by default (#44220) Signed-off-by: zjy0516 --- vllm/model_executor/layers/fused_moe/oracle/unquantized.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vllm/model_executor/layers/fused_moe/oracle/unquantized.py b/vllm/model_executor/layers/fused_moe/oracle/unquantized.py index 4a9b190335..8e4012d3ec 100644 --- a/vllm/model_executor/layers/fused_moe/oracle/unquantized.py +++ b/vllm/model_executor/layers/fused_moe/oracle/unquantized.py @@ -68,6 +68,12 @@ def _get_priority_backends(moe_config: FusedMoEConfig) -> list[UnquantizedMoeBac UnquantizedMoeBackend.BATCHED_TRITON, ] + # On Hopper (SM90), the FlashInfer unquantized MoE kernels are slower + # than Triton, so prefer Triton by default. + if current_platform.is_device_capability_family(90): + _move_to_back(_AVAILABLE_BACKENDS, UnquantizedMoeBackend.FLASHINFER_TRTLLM) + _move_to_back(_AVAILABLE_BACKENDS, UnquantizedMoeBackend.FLASHINFER_CUTLASS) + # HACK: Qwen3.5 has crash with FLASHINFER_CUTLASS BF16 if DEP. # Updating the oracle querying logic is out of the scope of this # PR. Need to fix the kernel or update structure in follow up.