@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 76144adf76
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

ci: Add CUDA + arm64 release builds (#21201)

Signed-off-by: Eli Uriegas <eliuriegas@meta.com>

Eli Uriegas committed Aug 15, 2025 at 16:16 UTC 76144adf765af39a0702a542b1b99bf3a2ad4e8f
2 files changed +18 -15
.buildkite/release-pipeline.yaml
+16
@@ -1,4 +1,20 @@
1 steps:
2 + # aarch64 + CUDA builds
3 + - label: "Build arm64 wheel - CUDA 12.8"
4 + id: build-wheel-arm64-cuda-12-8
5 + agents:
6 + queue: arm64_cpu_queue_postmerge
7 + commands:
8 + # #NOTE: torch_cuda_arch_list is derived from upstream PyTorch build files here:
9 + # https://github.com/pytorch/pytorch/blob/main/.ci/aarch64_linux/aarch64_ci_build.sh#L7
10 + - "DOCKER_BUILDKIT=1 docker build --build-arg max_jobs=16 --build-arg USE_SCCACHE=1 --build-arg GIT_REPO_CHECK=1 --build-arg CUDA_VERSION=12.8.1 --build-arg torch_cuda_arch_list='8.7 9.0 10.0+PTX' --tag vllm-ci:build-image --target build --progress plain -f docker/Dockerfile ."
11 + - "mkdir artifacts"
12 + - "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'"
13 + - "bash .buildkite/scripts/upload-wheels.sh"
14 + env:
15 + DOCKER_BUILDKIT: "1"
16 +
17 + # x86 + CUDA builds
18 - label: "Build wheel - CUDA 12.8"
19 id: build-wheel-cuda-12-8
20 agents:
docker/Dockerfile
+2 -15
@@ -139,21 +139,6 @@ RUN ldconfig /usr/local/cuda-$(echo $CUDA_VERSION | cut -d. -f1,2)/compat/
139 WORKDIR /workspace
140
141 # install build and runtime dependencies
142 -
143 -# arm64 (GH200) build follows the practice of "use existing pytorch" build,
144 -# we need to install torch and torchvision from the nightly builds first,
145 -# pytorch will not appear as a vLLM dependency in all of the following steps
146 -# after this step
147 -RUN --mount=type=cache,target=/root/.cache/uv \
148 - if [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
149 - uv pip install --system \
150 - --index-url ${PYTORCH_CUDA_NIGHTLY_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') \
151 - "torch==2.8.0.dev20250318+cu128" "torchvision==0.22.0.dev20250319"; \
152 - uv pip install --system \
153 - --index-url ${PYTORCH_CUDA_NIGHTLY_INDEX_BASE_URL}/cu$(echo $CUDA_VERSION | cut -d. -f1,2 | tr -d '.') \
154 - --pre pytorch_triton==3.3.0+gitab727c40; \
155 - fi
156 -
142 COPY requirements/common.txt requirements/common.txt
143 COPY requirements/cuda.txt requirements/cuda.txt
144 RUN --mount=type=cache,target=/root/.cache/uv \
@@ -234,6 +219,8 @@ RUN --mount=type=cache,target=/root/.cache/uv \
219 && sccache --show-stats; \
220 fi
221
222 +ARG vllm_target_device="cuda"
223 +ENV VLLM_TARGET_DEVICE=${vllm_target_device}
224 ENV CCACHE_DIR=/root/.cache/ccache
225 RUN --mount=type=cache,target=/root/.cache/ccache \
226 --mount=type=cache,target=/root/.cache/uv \