@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 6181e80fe0
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 1, 18:45 UTC

[XPU] add xpu branch in compressed_tensors_moe_w4a4_mxfp4 (#44540)

Signed-off-by: Zhu, Zufang <zufang.zhu@intel.com> Signed-off-by: Kunshang Ji <jikunshang95@gmail.com> Co-authored-by: Kunshang Ji <jikunshang95@gmail.com>

zofia committed Jun 7, 2026 at 12:27 UTC 6181e80fe0c619c0f4fa256e0a37920c2e36f523
2 files changed +12 -1
.buildkite/intel_jobs/test-intel.yaml
+2 -1
@@ -41,7 +41,8 @@ steps:
41 python3 examples/basic/offline_inference/generate.py --model ibm-research/PowerMoE-3b --block-size 64 --enforce-eager -tp 2 &&
42 python3 examples/basic/offline_inference/generate.py --model ibm-research/PowerMoE-3b --block-size 64 --enforce-eager -tp 2 --enable-expert-parallel &&
43 python3 examples/basic/offline_inference/generate.py --model superjob/Qwen3-4B-Instruct-2507-GPTQ-Int4 --max-model-len 8192 &&
44 - VLLM_XPU_FUSED_MOE_USE_REF=1 python3 examples/basic/offline_inference/generate.py --model Qwen/Qwen3-30B-A3B-Instruct-2507-FP8 --enforce-eager -tp 2
44 + VLLM_XPU_FUSED_MOE_USE_REF=1 python3 examples/basic/offline_inference/generate.py --model Qwen/Qwen3-30B-A3B-Instruct-2507-FP8 --enforce-eager -tp 2 --max-model-len 8192 &&
45 + python3 examples/basic/offline_inference/generate.py --model INCModel/Qwen3-30B-A3B-Instruct-2507-MXFP4-LLMC --enforce-eager -tp 2 --max-model-len 8192
46 '
47 - label: "XPU V1 test"
48 depends_on:
vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors_moe/compressed_tensors_moe_w4a4_mxfp4.py
+10
@@ -21,6 +21,9 @@ from vllm.model_executor.layers.fused_moe.experts.cutlass_moe import (
21 from vllm.model_executor.layers.fused_moe.experts.marlin_moe import (
22 MarlinExperts,
23 )
24 +from vllm.model_executor.layers.fused_moe.experts.xpu_moe import (
25 + XPUExpertsMXFp4,
26 +)
27 from vllm.model_executor.layers.fused_moe.oracle.mxfp4 import (
28 Mxfp4MoeBackend,
29 make_mxfp4_moe_kernel,
@@ -33,6 +36,7 @@ from vllm.model_executor.layers.quantization.utils.marlin_utils_fp4 import (
36 prepare_moe_fp4_layer_for_marlin,
37 )
38 from vllm.model_executor.utils import set_weight_attrs
39 +from vllm.platforms import current_platform
40
41 logger = init_logger(__name__)
42
@@ -48,6 +52,10 @@ class CompressedTensorsW4A4Mxfp4MoEMethod(CompressedTensorsMoEMethod):
52 if self.use_cutlass_mxfp4:
53 logger.info_once("Using CutlassExpertsMxfp4 for MXFP4 MoE")
54 self.experts_cls = CutlassExpertsMxfp4
55 + elif current_platform.is_xpu():
56 + self.mxfp4_backend = Mxfp4MoeBackend.XPU
57 + self.experts_cls = XPUExpertsMXFp4
58 + logger.info_once("Using XPUExpertsMXFp4 for MXFP4 MoE on XPU platform")
59 else:
60 logger.info_once("Using MarlinExperts for MXFP4 MoE")
61 self.experts_cls = MarlinExperts
@@ -179,6 +187,8 @@ class CompressedTensorsW4A4Mxfp4MoEMethod(CompressedTensorsMoEMethod):
187 layer.w2_weight_scale = torch.nn.Parameter(
188 torch.stack(swizzled_w2), requires_grad=False
189 )
190 + elif current_platform.is_xpu():
191 + pass
192 else:
193 logger.warning_once(
194 "Your GPU does not have native support for FP4 computation "