|
@@ -62,28 +62,42 @@ RUN --mount=type=cache,id=uv-cache,target=/root/.cache/uv \
|
|
|
|
|
|
|
|
# The fork's r12 composition: base branch + sequential merge of the open
|
|
# The fork's r12 composition: base branch + sequential merge of the open
|
|
|
# PR heads (ascending). The PR head pseudo-refs are GitHub's stable refs.
|
|
# PR heads (ascending). The PR head pseudo-refs are GitHub's stable refs.
|
|
|
-FROM torch-base AS vllm-builder
|
|
|
|
|
|
|
+FROM torch-base AS deepgemm-builder
|
|
|
|
|
+ARG DEEPGEMM_REPO DEEPGEMM_REF DEEPGEMM_BRANCH
|
|
|
|
|
+RUN set -eux; \
|
|
|
|
|
+ git config --global protocol.version 0; \
|
|
|
|
|
+ git clone --branch ${DEEPGEMM_BRANCH} ${DEEPGEMM_REPO} /deps/deepgemm; \
|
|
|
|
|
+ cd /deps/deepgemm; \
|
|
|
|
|
+ git checkout ${DEEPGEMM_REF}; \
|
|
|
|
|
+ git submodule update --init --depth 1 -- third-party/cutlass third-party/fmt
|
|
|
|
|
+
|
|
|
|
|
+FROM deepgemm-builder AS vllm-builder
|
|
|
ARG VLLM_REPO
|
|
ARG VLLM_REPO
|
|
|
ARG VLLM_BASE_REF
|
|
ARG VLLM_BASE_REF
|
|
|
-ARG VLLM_PRS
|
|
|
|
|
|
|
+ARG VLLM_PR_HEADS
|
|
|
ARG SOURCE_DATE_EPOCH
|
|
ARG SOURCE_DATE_EPOCH
|
|
|
ARG BUILD_JOBS
|
|
ARG BUILD_JOBS
|
|
|
-ENV TORCH_CUDA_ARCH_LIST=12.1a
|
|
|
|
|
|
|
+ENV TORCH_CUDA_ARCH_LIST=12.1a GIT_PROTOCOL=0 DEEPGEMM_SRC_DIR=/deps/deepgemm
|
|
|
RUN set -eux; \
|
|
RUN set -eux; \
|
|
|
git config --global user.email build@sm121.lan; \
|
|
git config --global user.email build@sm121.lan; \
|
|
|
git config --global user.name sm121-builder; \
|
|
git config --global user.name sm121-builder; \
|
|
|
|
|
+ git config --global protocol.version 0; \
|
|
|
git clone --recursive ${VLLM_REPO} /workspace/vllm; \
|
|
git clone --recursive ${VLLM_REPO} /workspace/vllm; \
|
|
|
cd /workspace/vllm; \
|
|
cd /workspace/vllm; \
|
|
|
git checkout ${VLLM_BASE_REF}; \
|
|
git checkout ${VLLM_BASE_REF}; \
|
|
|
- for pr in ${VLLM_PRS}; do \
|
|
|
|
|
- git fetch origin "refs/pull/$pr/head:prs/$pr"; \
|
|
|
|
|
- git merge --no-ff -m "PR $pr" "prs/$pr"; \
|
|
|
|
|
|
|
+ # PR head commits fetched by SHA (refs/pull/N/head vanishes when a PR
|
|
|
|
|
+ # closes — 550 closed unmerged; raw-SHA fetches stay available).
|
|
|
|
|
+ for pair in ${VLLM_PR_HEADS}; do \
|
|
|
|
|
+ pr="${pair%%:*}"; sha="${pair#*:}"; \
|
|
|
|
|
+ git fetch origin "${sha}:refs/prs/${pr}"; \
|
|
|
|
|
+ git merge --no-ff -m "PR ${pr}" "refs/prs/${pr}"; \
|
|
|
done; \
|
|
done; \
|
|
|
git rev-parse HEAD
|
|
git rev-parse HEAD
|
|
|
WORKDIR /workspace/vllm
|
|
WORKDIR /workspace/vllm
|
|
|
RUN --mount=type=cache,id=uv-cache,target=/root/.cache/uv \
|
|
RUN --mount=type=cache,id=uv-cache,target=/root/.cache/uv \
|
|
|
--mount=type=cache,id=ccache,target=/root/.ccache \
|
|
--mount=type=cache,id=ccache,target=/root/.ccache \
|
|
|
- _j="${BUILD_JOBS:-$(nproc)}" \
|
|
|
|
|
|
|
+ uv pip install setuptools-rust setuptools-scm \
|
|
|
|
|
+ && _j="${BUILD_JOBS:-$(nproc)}" \
|
|
|
&& export MAX_JOBS="${_j}" CMAKE_BUILD_PARALLEL_LEVEL="${_j}" \
|
|
&& export MAX_JOBS="${_j}" CMAKE_BUILD_PARALLEL_LEVEL="${_j}" \
|
|
|
&& python3 use_existing_torch.py \
|
|
&& python3 use_existing_torch.py \
|
|
|
&& uv build --no-build-isolation --wheel . --out-dir=/wheels -v
|
|
&& uv build --no-build-isolation --wheel . --out-dir=/wheels -v
|
|
@@ -96,6 +110,7 @@ ARG SOURCE_DATE_EPOCH
|
|
|
RUN set -eux; \
|
|
RUN set -eux; \
|
|
|
git config --global user.email build@sm121.lan; \
|
|
git config --global user.email build@sm121.lan; \
|
|
|
git config --global user.name sm121-builder; \
|
|
git config --global user.name sm121-builder; \
|
|
|
|
|
+ git config --global protocol.version 0; \
|
|
|
git clone ${B12X_REPO} /workspace/b12x; \
|
|
git clone ${B12X_REPO} /workspace/b12x; \
|
|
|
cd /workspace/b12x; \
|
|
cd /workspace/b12x; \
|
|
|
git checkout ${B12X_BASE_REF}; \
|
|
git checkout ${B12X_BASE_REF}; \
|