[XPU] upgrade to PyTorch 2.14 (#56013)
Signed-off-by: Yan Ma <yan.ma@intel.com> Signed-off-by: Kunshang Ji <kunshang.ji@intel.com> Co-authored-by: Kunshang Ji <kunshang.ji@intel.com>
Yan Ma committed
Sep 23, 2026 at 17:18 UTC
e34489a54348717c84891e313b5066854b967225
6 files changed
+66
-28
.buildkite/intel_jobs/test-intel.yaml
+1
-1
@@ -106,7 +106,7 @@ steps:
106
pytest -v -s v1/test_serial_utils.py &&
107
pytest -v -s v1/e2e/general/test_correctness_sliding_window.py &&
108
pytest -v -s v1/spec_decode --ignore=v1/spec_decode/test_max_len.py --ignore=v1/spec_decode/test_speculators_eagle3.py --ignore=v1/spec_decode/test_acceptance_length.py --ignore=v1/spec_decode/test_speculators_correctness.py --deselect=tests/v1/spec_decode/test_mtp.py::test_glm_mtp_defers_lm_head &&
109
- pytest -v -s v1/kv_connector/unit --ignore=v1/kv_connector/unit/test_lmcache_integration.py --ignore=v1/kv_connector/unit/test_hf3fs_client.py --ignore=v1/kv_connector/unit/test_hf3fs_connector.py --ignore=v1/kv_connector/unit/test_hf3fs_metadata_server.py --ignore=v1/kv_connector/unit/test_offloading_connector.py --deselect "v1/kv_connector/unit/test_nixl_connector.py::test_abort_timeout_on_prefiller[ray]"'
109
+ pytest -v -s v1/kv_connector/unit --ignore=v1/kv_connector/unit/test_lmcache_integration.py --ignore=v1/kv_connector/unit/test_hf3fs_client.py --ignore=v1/kv_connector/unit/test_hf3fs_connector.py --ignore=v1/kv_connector/unit/test_hf3fs_metadata_server.py --ignore=v1/kv_connector/unit/test_offloading_connector.py --deselect "v1/kv_connector/unit/test_nixl_connector.py::test_abort_timeout_on_prefiller[ray]" --ignore=v1/kv_connector/unit/test_nixl_connector_hma.py'
110
parallelism: 2
111
- label: "XPU server test"
112
key: xpu-server-test
docker/Dockerfile.xpu
+18
@@ -87,11 +87,14 @@ RUN mkdir neo && \
87
88
# Install XPU-Manager payloads without registering conflicting libze package
89
# dependencies in dpkg.
90
+# Note that ocl-icd-opencl-dev is required by DLE upgrade but xpu-smi, should
91
+# can be removed in future.
92
RUN apt-get update -y && \
93
apt-get install -y --no-install-recommends software-properties-common && \
94
add-apt-repository -y ppa:kobuk-team/intel-graphics && \
95
apt-get update -y && \
96
apt-get install -y --no-install-recommends libhwloc15 libpciaccess0 libigsc1 intel-metrics-library && \
97
+ apt-get install -y ocl-icd-opencl-dev && \
98
mkdir xpu-m && \
99
cd xpu-m && \
100
wget https://github.com/intel/xpumanager/releases/download/v2.1.0/xpu-smi_2.1.0+26.33.6468cec-1.24.04_amd64.deb && \
@@ -264,4 +267,19 @@ RUN --mount=type=cache,target=/root/.cache/uv \
267
RUN --mount=type=cache,target=/root/.cache/uv \
268
uv pip install -e tests/vllm_test_utils
269
270
+# Replace 2026.1.2 DLE packages to 2026.1.3
271
+RUN --mount=type=cache,target=/root/.cache/uv \
272
+ --mount=type=bind,source=.git,target=.git \
273
+ uv pip install \
274
+ "intel-cmplr-lib-rt==2026.1.1" \
275
+ "intel-cmplr-lib-ur==2026.1.1" \
276
+ "intel-cmplr-lic-rt==2026.1.1" \
277
+ "intel-sycl-rt==2026.1.1" \
278
+ "oneccl-devel==2022.1.2; platform_system == 'Linux' and platform_machine == 'x86_64'" \
279
+ "oneccl==2022.1.2; platform_system == 'Linux' and platform_machine == 'x86_64'" \
280
+ "dpcpp-cpp-rt==2026.1.1" \
281
+ "intel-opencl-rt==2026.1.1" \
282
+ "intel-openmp==2026.1.1" \
283
+ "intel-pti==1.1.0"
284
+
285
ENTRYPOINT ["vllm", "serve"]
docs/getting_started/installation/gpu.xpu.inc.md
+16
@@ -32,6 +32,22 @@ To install the wheel built from the latest main branch:
32
uv pip install vllm --extra-index-url https://wheels.vllm.ai/nightly/xpu --extra-index-url https://download.pytorch.org/whl/xpu --index-strategy unsafe-best-match
33
```
34
35
+Note that after upgrading to PyTorch 2.14, xpu graph support requires specific oneAPI packages.
36
+
37
+```bash
38
+uv pip install \
39
+ "intel-cmplr-lib-rt==2026.1.1" \
40
+ "intel-cmplr-lib-ur==2026.1.1" \
41
+ "intel-cmplr-lic-rt==2026.1.1" \
42
+ "intel-sycl-rt==2026.1.1" \
43
+ "oneccl-devel==2022.1.2; platform_system == 'Linux' and platform_machine == 'x86_64'" \
44
+ "oneccl==2022.1.2; platform_system == 'Linux' and platform_machine == 'x86_64'" \
45
+ "dpcpp-cpp-rt==2026.1.1" \
46
+ "intel-opencl-rt==2026.1.1" \
47
+ "intel-openmp==2026.1.1" \
48
+ "intel-pti==1.1.0"
49
+```
50
+
51
#### Install specific revisions
52
53
If you want to access the wheels for previous commits (e.g. to bisect the behavior change, performance regression), you can specify the commit hash in the URL:
requirements/test/xpu.txt
+24
-24
@@ -175,7 +175,7 @@ docopt==0.6.2
175
# via num2words
176
docstring-parser==0.18.0
177
# via anthropic
178
-dpcpp-cpp-rt==2026.0.0
178
+dpcpp-cpp-rt==2026.1.0
179
# via
180
# onemkl-sycl-blas
181
# onemkl-sycl-dft
@@ -328,27 +328,27 @@ idna==3.18
328
# yarl
329
ijson==3.5.1
330
# via -r requirements/test/../common.txt
331
-impi-rt==2021.18.0
331
+impi-rt==2021.18.1
332
# via
333
# oneccl
334
# torch
335
iniconfig==2.3.0
336
# via pytest
337
-intel-cmplr-lib-rt==2026.0.0
337
+intel-cmplr-lib-rt==2026.1.0
338
# via
339
# intel-sycl-rt
340
# torch
341
-intel-cmplr-lib-ur==2026.0.0
341
+intel-cmplr-lib-ur==2026.1.0
342
# via
343
# intel-openmp
344
# intel-sycl-rt
345
# torch
346
-intel-cmplr-lic-rt==2026.0.0
346
+intel-cmplr-lic-rt==2026.1.0
347
# via
348
# intel-opencl-rt
349
# intel-sycl-rt
350
# torch
351
-intel-opencl-rt==2026.0.0
351
+intel-opencl-rt==2026.1.0
352
# via
353
# dpcpp-cpp-rt
354
# onemkl-sycl-blas
@@ -357,14 +357,14 @@ intel-opencl-rt==2026.0.0
357
# onemkl-sycl-rng
358
# onemkl-sycl-sparse
359
# torch
360
-intel-openmp==2026.0.0
360
+intel-openmp==2026.1.0
361
# via
362
# dpcpp-cpp-rt
363
# mkl
364
# torch
365
-intel-pti==0.17.0
365
+intel-pti==1.0.1
366
# via torch
367
-intel-sycl-rt==2026.0.0
367
+intel-sycl-rt==2026.1.0
368
# via
369
# dpcpp-cpp-rt
370
# oneccl
@@ -463,7 +463,7 @@ mistral-common==1.11.7
463
# -c requirements/common.txt
464
# -r requirements/test/../common.txt
465
# -r requirements/test/xpu.in
466
-mkl==2026.0.0
466
+mkl==2026.1.0
467
# via
468
# onemkl-sycl-blas
469
# onemkl-sycl-dft
@@ -547,28 +547,28 @@ numpy==2.2.6
547
# torchvision
548
# transformers
549
# xgrammar
550
-oneccl==2022.0.0
550
+oneccl==2022.1.1
551
# via
552
# oneccl-devel
553
# torch
554
-oneccl-devel==2022.0.0
554
+oneccl-devel==2022.1.1
555
# via torch
556
-onemkl-license==2026.0.0
556
+onemkl-license==2026.1.0
557
# via
558
# mkl
559
# torch
560
-onemkl-sycl-blas==2026.0.0
560
+onemkl-sycl-blas==2026.1.0
561
# via
562
# onemkl-sycl-lapack
563
# onemkl-sycl-sparse
564
# torch
565
-onemkl-sycl-dft==2026.0.0
565
+onemkl-sycl-dft==2026.1.0
566
# via torch
567
-onemkl-sycl-lapack==2026.0.0
567
+onemkl-sycl-lapack==2026.1.0
568
# via torch
569
-onemkl-sycl-rng==2026.0.0
569
+onemkl-sycl-rng==2026.1.0
570
# via torch
571
-onemkl-sycl-sparse==2026.0.0
571
+onemkl-sycl-sparse==2026.1.0
572
# via torch
573
open-clip-torch==2.32.0
574
# via -r requirements/test/xpu.in
@@ -836,7 +836,7 @@ pyyaml==6.0.3
836
# timm
837
# transformers
838
# uvicorn
839
-pyzes==0.1.1
839
+pyzes==0.1.2
840
# via torch
841
pyzmq==27.1.0
842
# via
@@ -1007,7 +1007,7 @@ tabledata==1.3.5
1007
# via pytablewriter
1008
tabulate==0.10.0
1009
# via sacrebleu
1010
-tbb==2023.0.0
1010
+tbb==2023.1.0
1011
# via
1012
# intel-opencl-rt
1013
# mkl
@@ -1049,7 +1049,7 @@ tokenizers==0.23.1
1049
# cohere
1050
# sentence-transformers
1051
# transformers
1052
-torch==2.13.0+xpu
1052
+torch==2.14.0+xpu
1053
# via
1054
# -c requirements/xpu.txt
1055
# accelerate
@@ -1062,7 +1062,7 @@ torch==2.13.0+xpu
1062
# timm
1063
# torchvision
1064
# xgrammar
1065
-torchvision==0.28.0+xpu
1065
+torchvision==0.29.0+xpu
1066
# via
1067
# open-clip-torch
1068
# timm
@@ -1090,11 +1090,11 @@ transformers==5.17.0
1090
# mteb
1091
# sentence-transformers
1092
# xgrammar
1093
-triton==3.7.2+xpu
1093
+triton==3.8.0+xpu
1094
# via
1095
# -c requirements/xpu.txt
1096
# xgrammar
1097
-triton-xpu==3.7.2
1097
+triton-xpu==3.8.0
1098
# via
1099
# torch
1100
# triton
requirements/xpu.txt
+3
-3
@@ -1,7 +1,7 @@
1
# Common dependencies
2
-r common.txt
3
--extra-index-url=https://wheels.vllm.ai/xpu/
4
-triton==3.7.2+xpu
4
+triton==3.8.0+xpu
5
6
ray>=2.9
7
cmake>=3.26.1
@@ -14,10 +14,10 @@ jinja2>=3.1.6
14
datasets # for benchmark scripts
15
numba == 0.65.0 # Required for N-gram speculative decoding
16
--extra-index-url=https://download.pytorch.org/whl/xpu
17
-torch==2.13.0
17
+torch==2.14.0
18
torchaudio
19
torchvision
20
torchcodec >= 0.14 # Required for the torchcodec video decoding backend
21
22
auto_round_lib==0.15.0
23
-vllm_xpu_kernels==0.1.14.1
23
+vllm_xpu_kernels==0.1.15.4
vllm/lora/ops/triton_ops/fused_moe_lora_op.py
+4
@@ -420,6 +420,10 @@ def _run_fused_moe_lora_one_shot(
420
npid = min(npid_occ, max_npid_by_budget)
421
npid = max(1, min(npid, max(1, N_per_slice // 128)))
422
423
+ # see issue: https://github.com/intel/intel-xpu-backend-for-triton/issues/8121
424
+ if current_platform.is_xpu():
425
+ npid = 1
426
+
427
# Robust defaults across the prefill regime (H100/H200/B200, bf16/fp16).
428
# NPID > 1 is the small-M / under-saturated path -- more warps help
429
# amortise the inner-N expand loop. ns=3 instead of 4: GB200 ncu showed