Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OpenDAS
dynamo
Commits
2b29a0aa
"vscode:/vscode.git/clone" did not exist on "008bb1e61102fba253a9ff5f92768abb6520fc99"
Unverified
Commit
2b29a0aa
authored
Jul 17, 2025
by
zaristei
Committed by
GitHub
Jul 17, 2025
Browse files
fix: Working Arm Build Dockerfile for Vllm_v1 (#1844)
parent
2430d897
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
14 deletions
+40
-14
container/Dockerfile.vllm
container/Dockerfile.vllm
+38
-14
container/build.sh
container/build.sh
+2
-0
No files found.
container/Dockerfile.vllm
View file @
2b29a0aa
...
@@ -119,12 +119,13 @@ WORKDIR /workspace
...
@@ -119,12 +119,13 @@ WORKDIR /workspace
### NIXL SETUP ###
### NIXL SETUP ###
# Copy nixl source, and use commit hash as cache hint
# Copy nixl source, and use commit hash as cache hint
# TEMP: disable gds backend for arm64
COPY --from=nixl_base /opt/nixl /opt/nixl
COPY --from=nixl_base /opt/nixl /opt/nixl
COPY --from=nixl_base /opt/nixl/commit.txt /opt/nixl/commit.txt
COPY --from=nixl_base /opt/nixl/commit.txt /opt/nixl/commit.txt
RUN if [ "$ARCH" = "arm64" ]; then \
RUN if [ "$ARCH" = "arm64" ]; then \
cd /opt/nixl && \
cd /opt/nixl && \
mkdir build && \
mkdir build && \
meson setup build/ --buildtype=release --prefix=/usr/local/nixl -Dgds_path=/usr/local/cuda/targets/sbsa-linux && \
meson setup build/ --buildtype=release --prefix=/usr/local/nixl
-Ddisable_gds_backend=true
-Dgds_path=/usr/local/cuda/targets/sbsa-linux && \
cd build/ && \
cd build/ && \
ninja && \
ninja && \
ninja install; \
ninja install; \
...
@@ -163,8 +164,10 @@ ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
...
@@ -163,8 +164,10 @@ ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
# Install NIXL Python module
# Install NIXL Python module
# TODO: Move gds_path selection based on arch into NIXL build
# TODO: Move gds_path selection based on arch into NIXL build
# TEMP: disable gds backend for arm64
RUN if [ "$ARCH" = "arm64" ]; then \
RUN if [ "$ARCH" = "arm64" ]; then \
cd /opt/nixl && uv build . --out-dir /workspace/wheels/nixl \
cd /opt/nixl && uv build . --out-dir /workspace/wheels/nixl \
--config-settings=setup-args="-Ddisable_gds_backend=true" \
--config-settings=setup-args="-Dgds_path=/usr/local/cuda/targets/sbsa-linux"; \
--config-settings=setup-args="-Dgds_path=/usr/local/cuda/targets/sbsa-linux"; \
else \
else \
cd /opt/nixl && uv build . --out-dir /workspace/wheels/nixl; \
cd /opt/nixl && uv build . --out-dir /workspace/wheels/nixl; \
...
@@ -177,9 +180,29 @@ RUN uv pip install /workspace/wheels/nixl/*.whl
...
@@ -177,9 +180,29 @@ RUN uv pip install /workspace/wheels/nixl/*.whl
# Install vllm - keep this early in Dockerfile to avoid
# Install vllm - keep this early in Dockerfile to avoid
# rebuilds from unrelated source code changes
# rebuilds from unrelated source code changes
ARG VLLM_REF="059d4cd"
ARG VLLM_REF="059d4cd"
ARG MAX_JOBS=16
ENV MAX_JOBS=$MAX_JOBS
ENV CUDA_HOME=/usr/local/cuda
ENV CUDA_HOME=/usr/local/cuda
RUN --mount=type=bind,source=./container/deps/,target=/tmp/deps \
RUN --mount=type=bind,source=./container/deps/,target=/tmp/deps \
--mount=type=cache,target=/root/.cache/uv \
--mount=type=cache,target=/root/.cache/uv \
if [ "$ARCH" = "arm64" ]; then \
uv pip install pip cuda-python && \
mkdir /opt/vllm && \
cd /opt/vllm && \
git clone https://github.com/vllm-project/vllm.git && \
cd vllm && \
git checkout $VLLM_REF && \
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128 && \
python use_existing_torch.py && \
uv pip install -r requirements/build.txt && \
MAX_JOBS=${MAX_JOBS} uv pip install --no-build-isolation -e . -v && \
cd tools/ep_kernels && \
bash install_python_libraries.sh && \
cd ep_kernels_workspace && \
git clone --recursive https://github.com/deepseek-ai/DeepGEMM.git && \
cd DeepGEMM && \
python setup.py install; \
else \
uv pip install pip cuda-python && \
uv pip install pip cuda-python && \
mkdir /opt/vllm && \
mkdir /opt/vllm && \
cd /opt/vllm && \
cd /opt/vllm && \
...
@@ -192,7 +215,8 @@ RUN --mount=type=bind,source=./container/deps/,target=/tmp/deps \
...
@@ -192,7 +215,8 @@ RUN --mount=type=bind,source=./container/deps/,target=/tmp/deps \
cd ep_kernels_workspace && \
cd ep_kernels_workspace && \
git clone --recursive https://github.com/deepseek-ai/DeepGEMM.git && \
git clone --recursive https://github.com/deepseek-ai/DeepGEMM.git && \
cd DeepGEMM && \
cd DeepGEMM && \
python setup.py install
python setup.py install; \
fi
# Common dependencies
# Common dependencies
RUN --mount=type=bind,source=./container/deps/requirements.txt,target=/tmp/requirements.txt \
RUN --mount=type=bind,source=./container/deps/requirements.txt,target=/tmp/requirements.txt \
...
...
container/build.sh
View file @
2b29a0aa
...
@@ -389,6 +389,8 @@ ARCH="amd64"
...
@@ -389,6 +389,8 @@ ARCH="amd64"
if
[[
"
$PLATFORM
"
==
*
"linux/arm64"
*
]]
;
then
if
[[
"
$PLATFORM
"
==
*
"linux/arm64"
*
]]
;
then
ARCH
=
"arm64"
ARCH
=
"arm64"
BUILD_ARGS+
=
" --build-arg ARCH=arm64 --build-arg ARCH_ALT=aarch64 "
BUILD_ARGS+
=
" --build-arg ARCH=arm64 --build-arg ARCH_ALT=aarch64 "
# TEMP: Pin to nixl 0.3.1 for arm build, since 0.4.0 fails
NIXL_COMMIT
=
3503658e71143b56f9d5b1b440d84a94b9c41af8
fi
fi
# Update DOCKERFILE if framework is VLLM
# Update DOCKERFILE if framework is VLLM
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment