inference-xpu-pytorch 25.04, inference-xpu-pytorch 25.04
These release notes describe the 25.04 release of inference-xpu-pytorch.
Key features and bug fixes
New features
The base image is upgraded to PPU SDK v1.5.0.
The vLLM image is upgraded to CUDA 12.6 and PyTorch 2.6.0.
SGLang is upgraded to v0.4.4.post3.
ACCL-P is upgraded to v1.5.0-9 and EIC is upgraded to 1.3.7.1-v2504.
Bug fixes
None.
Image contents
inference-xpu-pytorch | inference-xpu-pytorch | |
Image tag | 25.04-v1.5.0-vllm0.7.3-torch2.6-cu126-20250417 | 25.04-v1.5.0-sglang0.4.4.post3-torch2.5-cu123-20250418 |
Application scenario | LLM inference | LLM inference |
Framework | pytorch | pytorch |
Requirements | PPU SDK v1.5.0 | PPU SDK v1.5.0 |
System components |
|
|
Image references
We recommend using a VPC to accelerate image pulls and reduce pull times.
Public image
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.04-v1.5.0-vllm0.7.3-torch2.6-cu126-20250417
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.04-v1.5.0-sglang0.4.4.post3-torch2.5-cu123-20250418
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
When testing the DeepSeek model, the
--max-model-lensetting must be < 80k. Otherwise, you may encounter an out-of-memory (OOM) error at runtime.Due to a known community issue, SGLang does not support GPTQ-quantized models.
Performance issues
For mixture-of-experts (MoE) models, using the Autotune tool can improve performance. vLLM can improve performance by using hardware-specific fused_moe kernel configuration files.
Quantization issues
By default, the LLM uses the Marlin Kernel to accelerate inference for models quantized with GPTQ, AWQ, W8A8, or WOQ. Alternatively, you can use vLLM's original quantization inference kernels by explicitly setting the
quantizationparameter. For example, you can specify values such asmarlin,w8a8,awq,gptq,gptq_acext, orawq_acext. However, theacextkernels currently do not support quantization withact_order=Trueor GPTQ-Int8 quantized weights. This will be optimized in a future version.vLLM FP8 quantization depends on the SM89/90 architecture and has not been adapted or optimized for PPUs. A support plan for PPUs is not yet available.
VLLM dense A8W8 quantization integrates with the acext library, and performance requires further optimization. MoE W8A8 quantization is not currently supported and is planned for the next release.
You can load DPSK FP8 weights and perform W8A16 quantization inference. The performance is comparable to BF16.
vLLM uses vllm-flash-attn as the default attention backend. Its performance on PPU does not yet match that of the GPU version. This will be improved in a future release.
Stability issues
When performing multi-card inference with VLLM, an error related to
mp_distributed_executormay occur. To avoid this issue, useVLLM_WORKER_MULTIPROC_METHOD=spawn. For more information, see the related issue in the open-source community: [Bug]: When tensor_parallel_size>1, RuntimeError: Cannot re-initialize CUDA in forked subprocess. #6152.A known community issue may cause a process to exit randomly after vLLM multi-card inference completes. For 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.