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