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