From 7ef3c6f78609eb6afd123d34ce345ed66bcb8df2 Mon Sep 17 00:00:00 2001 From: localai-org-maint-bot Date: Mon, 10 Aug 2026 09:44:52 +0200 Subject: [PATCH] fix(vllm): align Intel basekit runtime (#11437) * fix(vllm): align Intel basekit runtime The latest vLLM XPU requirements install oneAPI 2026 runtime packages. The 2025.3.0 base image ships an older libsycl/UR loader pair and fails while importing torch with an undefined urDeviceWaitExp symbol. Use the current repository-wide 2025.3.2 Intel basekit patch level, which carries the compatible loader. Assisted-by: Codex:gpt-5 [systematic-debugging] * fix(vllm): pin Intel source build to release Build the Intel XPU backend from vLLM 0.26.0 instead of the moving main branch, and use the Triton XPU version required by that release's torch 2.12 dependency. Assisted-by: Codex:gpt-5 [systematic-debugging] --------- Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com> --- .github/backend-matrix.yml | 2 +- backend/python/vllm/install.sh | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/backend-matrix.yml b/.github/backend-matrix.yml index a9a6c47fc..e7bada4b4 100644 --- a/.github/backend-matrix.yml +++ b/.github/backend-matrix.yml @@ -2584,7 +2584,7 @@ include: tag-latest: 'auto' tag-suffix: '-gpu-intel-vllm' runs-on: 'ubuntu-latest' - base-image: "intel/oneapi-basekit:2025.3.0-0-devel-ubuntu24.04" + base-image: "intel/oneapi-basekit:2025.3.2-0-devel-ubuntu24.04" skip-drivers: 'false' backend: "vllm" dockerfile: "./backend/Dockerfile.python" diff --git a/backend/python/vllm/install.sh b/backend/python/vllm/install.sh index ca9b98f6a..009ef5b02 100755 --- a/backend/python/vllm/install.sh +++ b/backend/python/vllm/install.sh @@ -168,7 +168,7 @@ if [ "$(uname -s)" = "Darwin" ]; then # Intel XPU has no upstream-published vllm wheels, so we always build vllm # from source against torch-xpu and replace the default triton with -# triton-xpu (matching torch 2.11). Mirrors the upstream procedure: +# triton-xpu. Mirrors the upstream procedure: # https://github.com/vllm-project/vllm/blob/main/docs/getting_started/installation/gpu.xpu.inc.md elif [ "x${BUILD_TYPE}" == "xintel" ]; then # Hide requirements-intel-after.txt so installRequirements doesn't @@ -194,18 +194,23 @@ elif [ "x${BUILD_TYPE}" == "xintel" ]; then _vllm_src=$(mktemp -d) trap 'rm -rf "${_vllm_src}"' EXIT - git clone --depth 1 https://github.com/vllm-project/vllm "${_vllm_src}/vllm" + # Keep the source build aligned with the version shipped by the other + # accelerator profiles. Building the moving main branch can silently pull + # a newer torch/XPU runtime than the selected oneAPI base image supports. + VLLM_VERSION="0.26.0" + git clone --depth 1 --branch "v${VLLM_VERSION}" \ + https://github.com/vllm-project/vllm "${_vllm_src}/vllm" pushd "${_vllm_src}/vllm" # Install vllm's own runtime deps (torch-xpu, vllm_xpu_kernels, # pydantic, fastapi, …) from upstream's requirements/xpu.txt — the # canonical source of truth. Avoids re-pinning everything ourselves. uv pip install ${EXTRA_PIP_INSTALL_FLAGS:-} -r requirements/xpu.txt # Stock triton (NVIDIA-only) may have come in transitively; replace - # with triton-xpu==3.7.0 which matches torch 2.11. + # with the version vLLM 0.26.0 specifies for torch 2.12. uv pip uninstall triton triton-xpu 2>/dev/null || true uv pip install ${EXTRA_PIP_INSTALL_FLAGS:-} \ --extra-index-url https://download.pytorch.org/whl/xpu \ - triton-xpu==3.7.0 + triton-xpu==3.7.1 export CMAKE_PREFIX_PATH="$(python -c 'import site; print(site.getsitepackages()[0])'):${CMAKE_PREFIX_PATH:-}" VLLM_TARGET_DEVICE=xpu uv pip install ${EXTRA_PIP_INSTALL_FLAGS:-} --no-deps . popd