@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 1b1c01de39
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 4, 17:30 UTC

[MoE] Move xpu moe to fused_moe/experts/ (#40568)

Signed-off-by: Jackmin801 <ongjackm@gmail.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Kunshang Ji <kunshang.ji@intel.com>

Jackmin801 committed Apr 23, 2026 at 10:38 UTC 1b1c01de39425f5ccce2ffc45f0ce3eb9fc2ce2c
6 files changed +11 -9
.github/mergify.yml
+1 -1
@@ -262,7 +262,7 @@ pull_request_rules:
262 - files~=^docker/Dockerfile.xpu
263 - files~=^\\.buildkite/intel_jobs/
264 - files=\.buildkite/ci_config_intel.yaml
265 - - files=vllm/model_executor/layers/fused_moe/xpu_fused_moe.py
265 + - files=vllm/model_executor/layers/fused_moe/experts/xpu_moe.py
266 - files=vllm/model_executor/kernels/linear/mixed_precision/xpu.py
267 - files=vllm/model_executor/kernels/linear/mxfp8/xpu.py
268 - files=vllm/model_executor/kernels/linear/scaled_mm/xpu.py
vllm/model_executor/layers/fused_moe/__init__.py
+6 -4
@@ -85,6 +85,11 @@ if HAS_TRITON:
85 from vllm.model_executor.layers.fused_moe.experts.deep_gemm_moe import (
86 DeepGemmExperts,
87 )
88 + from vllm.model_executor.layers.fused_moe.experts.xpu_moe import (
89 + XPUExperts,
90 + XPUExpertsFp8,
91 + XPUExpertsMXFp4,
92 + )
93 from vllm.model_executor.layers.fused_moe.fused_batched_moe import (
94 BatchedTritonExperts,
95 )
@@ -106,10 +111,6 @@ if HAS_TRITON:
111 from vllm.model_executor.layers.fused_moe.triton_deep_gemm_moe import (
112 TritonOrDeepGemmExperts,
113 )
109 - from vllm.model_executor.layers.fused_moe.xpu_fused_moe import (
110 - XPUExperts,
111 - XPUExpertsFp8,
112 - )
114
115 __all__ += [
116 "AiterExperts",
@@ -129,6 +130,7 @@ if HAS_TRITON:
130 "TritonOrDeepGemmExperts",
131 "XPUExperts",
132 "XPUExpertsFp8",
133 + "XPUExpertsMXFp4",
134 ]
135 else:
136 # Some model classes directly use the custom ops. Add placeholders
vllm/model_executor/layers/fused_moe/experts/xpu_moe.py renamed
vllm/model_executor/layers/fused_moe/oracle/fp8.py
+2 -2
@@ -180,7 +180,7 @@ def backend_to_kernel_cls(
180 return [CutlassBatchedExpertsFp8]
181
182 elif backend == Fp8MoeBackend.XPU:
183 - from vllm.model_executor.layers.fused_moe.xpu_fused_moe import (
183 + from vllm.model_executor.layers.fused_moe.experts.xpu_moe import (
184 XPUExpertsFp8,
185 )
186
@@ -470,7 +470,7 @@ def convert_to_fp8_moe_kernel_format(
470 is_trtllm=(fp8_backend == Fp8MoeBackend.FLASHINFER_TRTLLM),
471 )
472 elif fp8_backend == Fp8MoeBackend.XPU:
473 - from vllm.model_executor.layers.fused_moe.xpu_fused_moe import (
473 + from vllm.model_executor.layers.fused_moe.experts.xpu_moe import (
474 prepare_fp8_moe_layer_for_xpu,
475 )
476
vllm/model_executor/layers/fused_moe/oracle/mxfp4.py
+1 -1
@@ -141,7 +141,7 @@ def backend_to_kernel_cls(
141 return [AiterExperts]
142
143 elif backend == Mxfp4MoeBackend.XPU:
144 - from vllm.model_executor.layers.fused_moe.xpu_fused_moe import XPUExpertsMXFp4
144 + from vllm.model_executor.layers.fused_moe.experts.xpu_moe import XPUExpertsMXFp4
145
146 return [XPUExpertsMXFp4]
147
vllm/model_executor/layers/fused_moe/oracle/unquantized.py
+1 -1
@@ -121,7 +121,7 @@ def backend_to_kernel_cls(
121 return BatchedTritonExperts
122
123 elif backend == UnquantizedMoeBackend.XPU:
124 - from vllm.model_executor.layers.fused_moe.xpu_fused_moe import XPUExperts
124 + from vllm.model_executor.layers.fused_moe.experts.xpu_moe import XPUExperts
125
126 return XPUExperts
127