inference-xpu-pytorch 25.03, inference-xpu-pytorch 25.03
This document provides the release notes for inference-xpu-pytorch 25.03.
Main features and bug fixes
Main features
Upgraded the PPU SDK in the base image to v1.4.3-hotfix.
Upgraded vLLM to v0.7.3 to improve the inference performance for DeepSeek-V3/R1.
Upgraded SGLang to v0.4.3.
Upgraded ACCL-P to v1.4.3-8 and EIC to 1.3.7.1-v2503, which includes the features and bug fixes from these versions.
Bug fixes
None.
Image contents
inference-xpu-pytorch | inference-xpu-pytorch | |
Image tag | 25.03-v1.4.3-hotfix-vllm0.7.3-torch2.5-cu123-20250331 | 25.03-v1.4.3-hotfix-sglang0.4.3-torch2.5-cu123-20250331 |
Application scenarios | Large language model inference | Large language model inference |
Framework | pytorch | pytorch |
Requirements | PPU SDK V1.4.3-hotfix | PPU SDK V1.4.3-hotfix |
System components |
|
|
Image assets
We recommend using a VPC to accelerate image pulls and reduce pull times.
Public images
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.03-v1.4.3-hotfix-vllm0.7.3-torch2.5-cu123-20250331
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.03-v1.4.3-hotfix-sglang0.4.3-torch2.5-cu123-20250331
VPC images
acs-registry-vpc.{region-id}.cr.aliyuncs.com/egslingjun/{image:tag}
{region-id}is the ID of the region where your Container Service for Kubernetes (ACK) cluster is located, such ascn-beijingorcn-wulanchabu.{image:tag}is the actual image name and tag.
Quick start
The following example shows how to pull the inference-xpu-pytorch image using Docker and test the inference service with the Qwen2.5-7B-Instruct model.
To use the inference-xpu-pytorch image in Container Service for Kubernetes (ACK), you can select it from the artifact center page when you create a workload in the Console, or specify the image reference in a YAML file.
For instructions on using XPU large model inference images in an ACK environment, see Guide to using LLM large model inference images in ACK clusters.
For instructions on deploying the DeepSeek inference service in an ACK environment, see Quickly deploy DeepSeek V3/R1 inference service on PPU in ACK.
Pull the inference image.
docker pull egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:[tag]Download the open-source model in ModelScope format.
pip install modelscope cd /mnt modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir ./Qwen2.5-7B-InstructRun the following command to start and enter the container.
docker run -d -t --network=host --privileged --init --ipc=host \ --ulimit memlock=-1 --ulimit stack=67108864 \ -v /mnt/:/mnt/ \ egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:[tag]Run an inference test to verify the conversational inference feature of vLLM.
Start the server.
python3 -m vllm.entrypoints.openai.api_server \ --model /mnt/Qwen2.5-7B-Instruct \ --trust-remote-code --disable-custom-all-reduce \ --tensor-parallel-size 1Run a test on the client.
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "/mnt/Qwen2.5-7B-Instruct", "messages": [ {"role": "system", "content": "You are a friendly AI assistant."}, {"role": "user", "content": "Tell me about deep learning."} ]}'The following output is returned:

For more information about using vLLM, see the vLLM documentation.
Known issues
DeepSeek issues
When testing the DeepSeek model, the
--max-model-lensetting must be < 80k. Otherwise, an Out of Memory (OOM) error may occur during runtime.SGLang does not support running INT8 quantized models.
vllm 0.7.3 requires you to set the
--max-num-batched-tokensparameter to avoid the framework's default limit of 2048. For more information, see the open-source community issue [Usage]:Input prompt (2501 tokens) is too long and exceeds limit of 2048 #13370.
Performance issues
You can use the Autotune tool to improve the performance of Mixture-of-Experts (MoE) models. vLLM can launch a hardware-specific fused_moe kernel through a configuration file to boost performance.
Quantization issues
vLLM uses the Marlin Kernel by default to accelerate quantized inference for GPTQ, AWQ, W8A8, and WOQ. You can explicitly specify a quantization method to use vLLM's original quantized inference kernels, such as Marlin, W8A8, awq, or gptq. For example, you can specify
gptq_acextorawq_acextto perform quantized inference. However,acextcurrently does not support quantization withact_order=Trueor GPTQ-Int8 quantized weights. This will be optimized in the next version.vLLM uses vllm-flash-attn, xformers, or flashinfer as its attention backend. By default, the performance of the vllm-flash-attn backend is not yet on par with the native GPU version. This will be addressed in a future release.
The A8W8 quantization in vLLM is implemented through integration with the
acextlibrary. Its performance needs further optimization.Currently, FP8 quantization is very slow and has not been adapted or optimized for PPU. The support timeline is to be determined.
Stability issues
When you use vLLM for multi-card inference, an error related to
mp_distributed_executormay occur. To avoid this issue, useVLLM_WORKER_MULTIPROC_METHOD=spawn. For more information, see the following GitHub issue: [Bug]: When tensor_parallel_size>1, RuntimeError: Cannot re-initialize CUDA in forked subprocess. #6152.After multi-card inference with vLLM is complete, a known community issue may cause a process to exit randomly. For more details, see the open-source community issue [Bug]: When using tp for inference, an error occurs: Worker VllmWorkerProcess pid 3283517 died, exit code: -15. #6145.