inference-xpu-pytorch 25.08
This topic provides the release notes for inference-xpu-pytorch 25.08.
Main features and bug fixes
Main features
The PPU SDK in the base image is upgraded to v1.6.0.
Added support for flashinfer 0.2.6.post1.
Bug fixes
Fixed an issue in the SGLang image of version 25.07 where the generate API returned incorrect inference results.
Fixed an issue in the vLLM image of version 25.07 where deploying the Qwen2.5-VL-32B-Instruct-AWQ model failed.
Contents
inference-xpu-pytorch | inference-xpu-pytorch | |
Image tag | 25.08-v1.6.0-vllm0.9.1-torch2.7-cu128-20250815 | 25.08-v1.6.0-sglang0.4.7-torch2.7-cu128-20250811 |
Use cases | large model inference | large model inference |
Framework | pytorch | pytorch |
Requirements | PPU SDK V1.6.0 | PPU SDK V1.6.0 |
System components |
|
|
Image assets
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.08-v1.6.0-vllm0.9.1-torch2.7-cu128-20250815
egslingjun-registry.cn-wulanchabu.cr.aliyuncs.com/egslingjun/inference-xpu-pytorch:25.08-v1.6.0-sglang0.4.7-torch2.7-cu128-20250811
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.
End-to-end performance benchmarks
This benchmark measured the maximum concurrency and throughput in vLLM online inference mode, while maintaining a Time to First Token (TTFT) under 3s and a Time Per Output Token (TPOT) under 100 ms.
vllm 0.9.1:
The single-node Output Token Throughput for the DeepSeek-R1-bf16 model, which degraded in version 25.07, has been restored in this release.
The single-node output token throughput for the DeepSeek-R1-W8A8 model is 197% of that of the bf16 model.

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.
Usage notes
Quantization support in SDK 1.6.0
DeepSeek R1 (671B):
vLLM 0.9.1: Supports per-token/per-channel a8w8 (int8), AWQ (w4a16), and GPTQ (w4a16, w8a16) quantization methods.
SGLang 0.4.7: Supports per-token/per-channel A8W8 (int8), AWQ (w4a16), and GPTQ (w4a16, w8a16) quantization methods. To run an A8W8 (int8) quantized model, you must add the
--quantization w8a8_int8option.
Qwen3:
vLLM 0.9.1: Supports per-token/per-channel a8w8 (int8), AWQ (w4a16), and GPTQ (w4a16, w8a16) quantization methods.
SGLang 0.4.7: Supports per-token/per-channel A8W8 (int8), AWQ (w4a16), and GPTQ (w4a16, w8a16) quantization methods. To run an A8W8 (int8) quantized model, you must add the
--quantization w8a8_int8option.
For optimal performance, we recommend using this image with driver version 1.5.1 or later. For configuration instructions, see Specify the GPU model and driver version for an ACS GPU pod and GPU driver versions.
The
NCCL_SOCKET_IFNAMEenvironment variable in this image must be set based on your use case:When a single pod requests 1, 2, 4, or 8 GPUs for an inference task, set
NCCL_SOCKET_IFNAME=eth0(this is the default in the inference image).When a single pod requests all 16 GPUs on a node for an inference task (allowing you to use the HPN network), set
NCCL_SOCKET_IFNAME=hpn0.
We recommend using this image with the PPU PIP service, which provides one-stop, credential-free access to PIP services within an ACS VPC without using other PIP sources. This image includes the required pip configuration, but you may need to make additional adjustments for your use case as described in the documentation.
Known issues
vLLM stability issues:
During multi-GPU inference, you may encounter an
mp_distributed_executorerror. To work around this issue, setVLLM_WORKER_MULTIPROC_METHOD=spawn. See the open source community.After multi-GPU inference completes, vLLM may randomly exit with an error. This is a known upstream issue. See the open source community for details.
vLLM quantization issues:
vLLM uses the Marlin kernel by default to accelerate GPTQ/AWQ quantized inference. You can explicitly specify
quantization gptq_acextorquantization awq_acextto useacextfor quantized inference instead. However,acextdoes not currently support quantization withact_order=Trueor GPTQ-Int8 weights.vLLM FP8 quantization requires an SM89/90 architecture, which PPU does not natively support. vLLM 0.9.1 provides an FP8 Marlin implementation (which performs W8A16 quantized inference) that allows FP8 models to run on architectures with SM versions lower than 89. While PPU can run FP8 models this way, it has not yet been adapted or optimized for this purpose.
vLLM-v0.9.1 estimates less available KV cache space than v0.8.5. This reduces concurrency and degrades performance in scenarios constrained by the KV cache, such as running DeepSeek-R1-bf16 on a single-node Zhenwu 810E.
Use the A8W8 quantization model on Zhenwu 810E to avoid this performance degradation.
By default, SGLang-v0.4.7 uses shared experts when running the DeepSeek-R1 / DeepSeek-V3 A8W8-INT8 model, while SGLang-v0.4.6.post1 does not. This causes SGLang-v0.4.7 to have lower performance than SGLang-v0.4.6.post1. To disable shared experts, use the
--disable-shared-experts-fusionoption. With this option, the performance of SGLang-v0.4.7 is comparable to that of SGLang-v0.4.6.post1.Setting the
--mem-fraction-staticoption to a large value for the SGLang-v0.4.7 image causes insufficient single-node GPU memory, resulting in adecode out of memoryerror. This is a known community issue.The following flashinfer modules have known precision issues that cause unit tests to fail.
PoD Attention.
Segment gemm.