@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 435be10db9
Fork 0

A high-throughput and memory-efficient inference and serving engine for LLMs

Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git

Synced Nov 14, 05:30 UTC

Fix AArch64 CPU Docker pipeline (#27331)

Signed-off-by: Ioana Ghiban <ioana.ghiban@arm.com>

ioana ghiban committed Oct 24, 2025 at 14:11 UTC 435be10db9f4f2b1e0f3a13c56a105310815b830
2 files changed +5 -90
.buildkite/release-pipeline.yaml
+1 -1
@@ -22,7 +22,7 @@ steps:
22 agents:
23 queue: arm64_cpu_queue_postmerge
24 commands:
25 - - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_BUILD_ACL=ON --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile.cpu ."
25 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg GIT_REPO_CHECK=1 --build-arg VLLM_BUILD_ACL=ON --tag vllm-ci:build-image --target vllm-build --progress plain -f docker/Dockerfile.cpu ."
26 - "mkdir artifacts"
27 - "docker run --rm -v $(pwd)/artifacts:/artifacts_host vllm-ci:build-image bash -c 'cp -r dist /artifacts_host && chmod -R a+rw /artifacts_host'"
28 - "bash .buildkite/scripts/upload-wheels.sh"
docker/Dockerfile.cpu
+4 -89
@@ -79,6 +79,9 @@ RUN echo 'ulimit -c 0' >> ~/.bashrc
79 ######################### BUILD IMAGE #########################
80 FROM base AS vllm-build
81
82 +ARG max_jobs=2
83 +ENV MAX_JOBS=${max_jobs}
84 +
85 ARG GIT_REPO_CHECK=0
86 # Support for building with non-AVX512 vLLM: docker build --build-arg VLLM_CPU_DISABLE_AVX512="true" ...
87 ARG VLLM_CPU_DISABLE_AVX512=0
@@ -104,95 +107,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
107 --mount=type=cache,target=/root/.cache/ccache \
108 --mount=type=cache,target=/workspace/vllm/.deps,sharing=locked \
109 --mount=type=bind,source=.git,target=.git \
107 - VLLM_TARGET_DEVICE=cpu python3 setup.py bdist_wheel
108 -
109 -#################### WHEEL BUILD IMAGE ####################
110 -FROM base AS build
111 -ARG TARGETPLATFORM
112 -
113 -ARG PIP_INDEX_URL UV_INDEX_URL
114 -ARG PIP_EXTRA_INDEX_URL UV_EXTRA_INDEX_URL
115 -
116 -# install build dependencies
117 -COPY requirements/build.txt requirements/build.txt
118 -
119 -# This timeout (in seconds) is necessary when installing some dependencies via uv since it's likely to time out
120 -# Reference: https://github.com/astral-sh/uv/pull/1694
121 -ENV UV_HTTP_TIMEOUT=500
122 -ENV UV_INDEX_STRATEGY="unsafe-best-match"
123 -# Use copy mode to avoid hardlink failures with Docker cache mounts
124 -ENV UV_LINK_MODE=copy
125 -
126 -RUN --mount=type=cache,target=/root/.cache/uv \
127 - uv pip install --python /opt/venv/bin/python3 -r requirements/build.txt
128 -
129 -COPY . .
130 -ARG GIT_REPO_CHECK=0
131 -RUN --mount=type=bind,source=.git,target=.git \
132 - if [ "$GIT_REPO_CHECK" != "0" ]; then bash tools/check_repo.sh ; fi
133 -
134 -# max jobs used by Ninja to build extensions
135 -ARG max_jobs=2
136 -ENV MAX_JOBS=${max_jobs}
137 -
138 -ARG USE_SCCACHE
139 -ARG SCCACHE_DOWNLOAD_URL=https://github.com/mozilla/sccache/releases/download/v0.8.1/sccache-v0.8.1-x86_64-unknown-linux-musl.tar.gz
140 -ARG SCCACHE_ENDPOINT
141 -ARG SCCACHE_BUCKET_NAME=vllm-build-sccache
142 -ARG SCCACHE_REGION_NAME=us-west-2
143 -ARG SCCACHE_S3_NO_CREDENTIALS=0
144 -
145 -# Flag to control whether to use pre-built vLLM wheels
146 -ARG VLLM_USE_PRECOMPILED=""
147 -
148 -# if USE_SCCACHE is set, use sccache to speed up compilation
149 -RUN --mount=type=cache,target=/root/.cache/uv \
150 - --mount=type=bind,source=.git,target=.git \
151 - if [ "$USE_SCCACHE" = "1" ]; then \
152 - echo "Installing sccache..." \
153 - && curl -L -o sccache.tar.gz ${SCCACHE_DOWNLOAD_URL} \
154 - && tar -xzf sccache.tar.gz \
155 - && sudo mv sccache-v0.8.1-x86_64-unknown-linux-musl/sccache /usr/bin/sccache \
156 - && rm -rf sccache.tar.gz sccache-v0.8.1-x86_64-unknown-linux-musl \
157 - && if [ ! -z ${SCCACHE_ENDPOINT} ] ; then export SCCACHE_ENDPOINT=${SCCACHE_ENDPOINT} ; fi \
158 - && export SCCACHE_BUCKET=${SCCACHE_BUCKET_NAME} \
159 - && export SCCACHE_REGION=${SCCACHE_REGION_NAME} \
160 - && export SCCACHE_S3_NO_CREDENTIALS=${SCCACHE_S3_NO_CREDENTIALS} \
161 - && export SCCACHE_IDLE_TIMEOUT=0 \
162 - && export CMAKE_BUILD_TYPE=Release \
163 - && export VLLM_USE_PRECOMPILED="${VLLM_USE_PRECOMPILED}" \
164 - && export VLLM_DOCKER_BUILD_CONTEXT=1 \
165 - && sccache --show-stats \
166 - && python3 setup.py bdist_wheel --dist-dir=dist --py-limited-api=cp38 \
167 - && sccache --show-stats; \
168 - fi
169 -
170 -ARG vllm_target_device="cpu"
171 -ENV VLLM_TARGET_DEVICE=${vllm_target_device}
172 -ENV CCACHE_DIR=/root/.cache/ccache
173 -RUN --mount=type=cache,target=/root/.cache/ccache \
174 - --mount=type=cache,target=/root/.cache/uv \
175 - --mount=type=bind,source=.git,target=.git \
176 - if [ "$USE_SCCACHE" != "1" ]; then \
177 - # Clean any existing CMake artifacts
178 - rm -rf .deps && \
179 - mkdir -p .deps && \
180 - export VLLM_USE_PRECOMPILED="${VLLM_USE_PRECOMPILED}" && \
181 - export VLLM_DOCKER_BUILD_CONTEXT=1 && \
182 - python3 setup.py bdist_wheel --dist-dir=dist --py-limited-api=cp38; \
183 - fi
184 -
185 -# Check the size of the wheel if RUN_WHEEL_CHECK is true
186 -COPY .buildkite/check-wheel-size.py check-wheel-size.py
187 -# sync the default value with .buildkite/check-wheel-size.py
188 -ARG VLLM_MAX_SIZE_MB=450
189 -ENV VLLM_MAX_SIZE_MB=$VLLM_MAX_SIZE_MB
190 -ARG RUN_WHEEL_CHECK=true
191 -RUN if [ "$RUN_WHEEL_CHECK" = "true" ]; then \
192 - python3 check-wheel-size.py dist; \
193 - else \
194 - echo "Skipping wheel size check."; \
195 - fi
110 + VLLM_TARGET_DEVICE=cpu python3 setup.py bdist_wheel --dist-dir=dist --py-limited-api=cp38
111
112 ######################### TEST DEPS #########################
113 FROM base AS vllm-test-deps