diff --git a/.buildkite/release-pipeline.yaml b/.buildkite/release-pipeline.yaml index cb269ef6e5..df9b80f7f9 100644 --- a/.buildkite/release-pipeline.yaml +++ b/.buildkite/release-pipeline.yaml @@ -7,6 +7,9 @@ env: CUDA_ARCH_AARCH64: "8.0 8.7 8.9 9.0 10.0 11.0 12.0+PTX" CUDA_ARCH_X86_CU129: "7.5 8.0 8.6 8.9 9.0 10.0 12.0" CUDA_ARCH_AARCH64_CU129: "8.0 8.7 8.9 9.0 10.0 12.0" + MOONCAKE_WHEEL_AARCH64_2_35: "https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_35_aarch64.whl" + MOONCAKE_WHEEL_AARCH64_2_39: "https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_39_aarch64.whl" + MOONCAKE_WHEEL_X86_64: "https://vllm-wheels.s3.amazonaws.com/mooncake/mooncake_transfer_engine-0.3.10.post2-0da9dfea3-cp312-cp312-manylinux_2_35_x86_64.whl" steps: - input: "Provide Release version here" @@ -136,6 +139,8 @@ steps: --build-arg CUDA_VERSION=13.0.2 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_X86}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_35}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.2-devel-ubuntu22.04 \ --target vllm-openai \ --progress plain \ @@ -162,6 +167,8 @@ steps: --build-arg CUDA_VERSION=13.0.2 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_AARCH64}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_35}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.2-devel-ubuntu22.04 \ --target vllm-openai \ --progress plain \ @@ -185,6 +192,8 @@ steps: --build-arg CUDA_VERSION=12.9.1 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_X86_CU129}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_35}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --target vllm-openai \ --progress plain \ -f docker/Dockerfile . @@ -210,6 +219,8 @@ steps: --build-arg CUDA_VERSION=12.9.1 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_AARCH64_CU129}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_35}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --target vllm-openai \ --progress plain \ -f docker/Dockerfile . @@ -234,6 +245,8 @@ steps: --build-arg GDRCOPY_OS_VERSION=Ubuntu24_04 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_X86}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_39}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.2-devel-ubuntu24.04 \ --target vllm-openai \ --progress plain \ @@ -261,6 +274,8 @@ steps: --build-arg GDRCOPY_OS_VERSION=Ubuntu24_04 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_AARCH64}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_39}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --build-arg BUILD_BASE_IMAGE=nvidia/cuda:13.0.2-devel-ubuntu24.04 \ --target vllm-openai \ --progress plain \ @@ -286,6 +301,8 @@ steps: --build-arg GDRCOPY_OS_VERSION=Ubuntu24_04 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_X86_CU129}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_39}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --target vllm-openai \ --progress plain \ -f docker/Dockerfile . @@ -312,6 +329,8 @@ steps: --build-arg GDRCOPY_OS_VERSION=Ubuntu24_04 \ --build-arg torch_cuda_arch_list="${CUDA_ARCH_AARCH64_CU129}" \ --build-arg INSTALL_KV_CONNECTORS=true \ + --build-arg MOONCAKE_WHEEL_AARCH64="${MOONCAKE_WHEEL_AARCH64_2_39}" \ + --build-arg MOONCAKE_WHEEL_X86_64="${MOONCAKE_WHEEL_X86_64}" \ --target vllm-openai \ --progress plain \ -f docker/Dockerfile . diff --git a/docker/Dockerfile b/docker/Dockerfile index 0ea5f9d12f..e3adcca6ed 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -858,6 +858,28 @@ RUN --mount=type=cache,target=/root/.cache/uv \ uv pip install --system --force-reinstall --no-deps nixl-cu${CUDA_MAJOR}; \ fi +# Optional override: install mooncake-transfer-engine from a URL instead of the +# PyPI release pulled in above. Use this for wheels built with non-default CMake +# flags (e.g. `STORE_USE_ETCD=ON` for master HA). The URL's manylinux glibc +# floor must be <= the FINAL_BASE_IMAGE's glibc. +ARG MOONCAKE_WHEEL_AARCH64 +ARG MOONCAKE_WHEEL_X86_64 +RUN if [ "$INSTALL_KV_CONNECTORS" = "true" ]; then \ + if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \ + WHEEL="${MOONCAKE_WHEEL_AARCH64}"; \ + else \ + WHEEL="${MOONCAKE_WHEEL_X86_64}"; \ + fi && \ + if [ -n "${WHEEL}" ]; then \ + uv pip install --system "${WHEEL}" && \ + CUDA_MAJOR="${CUDA_VERSION%%.*}" && \ + if [ ! -f /usr/local/cuda/lib64/libcudart.so ] && \ + [ -f "/usr/local/cuda/lib64/libcudart.so.${CUDA_MAJOR}" ]; then \ + ln -s "libcudart.so.${CUDA_MAJOR}" /usr/local/cuda/lib64/libcudart.so; \ + fi; \ + fi; \ + fi + ENV VLLM_USAGE_SOURCE production-docker-image ENV VLLM_BUILD_COMMIT=${VLLM_BUILD_COMMIT:-unknown} \ VLLM_BUILD_PIPELINE=${VLLM_BUILD_PIPELINE:-local} \