From ccaf5ffaa3e1fb2a081b2c9e403ac0e4dfc142c8 Mon Sep 17 00:00:00 2001 From: Chaojun Zhang Date: Thu, 23 Apr 2026 10:07:45 +0800 Subject: [PATCH] [XPU] disable fusion pattern support on XPU platform (#39789) Signed-off-by: Chaojun Zhang Co-authored-by: Kunshang Ji --- vllm/platforms/xpu.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/vllm/platforms/xpu.py b/vllm/platforms/xpu.py index d52ba23243f..bd9006f3f8f 100644 --- a/vllm/platforms/xpu.py +++ b/vllm/platforms/xpu.py @@ -213,6 +213,26 @@ class XPUPlatform(Platform): "falling back to PIECEWISE graph mode on XPU platform." ) + # Disable fusion passes not yet supported on XPU. + pass_config = compilation_config.pass_config + fusion_passes_to_disable = { + "enable_sp": "Sequence parallelism", + "fuse_gemm_comms": "Async TP", + "fuse_allreduce_rms": "AllReduce + RMSNorm fusion", + "fuse_norm_quant": "RMSNorm + quant fusion", + "fuse_act_quant": "Activation + quant fusion", + "fuse_attn_quant": "Attention + quant fusion", + "fuse_act_padding": "Activation + padding fusion", + "fuse_rope_kvcache": "RoPE + KV cache fusion", + } + for flag, feature_name in fusion_passes_to_disable.items(): + if getattr(pass_config, flag): + logger.warning( + "Feature %r is not yet supported on XPU and will be disabled.", + feature_name, + ) + setattr(pass_config, flag, False) + # check and update parallel config parallel_config = vllm_config.parallel_config # Only override worker_cls if it's still the default "auto"