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
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
### NIXL SETUP ###
# 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/commit.txt /opt/nixl/commit.txt
RUN if [ "$ARCH" = "arm64" ]; then \
cd /opt/nixl && \
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/ && \
ninja && \
ninja install; \
...
...
@@ -163,8 +164,10 @@ ENV PATH="${VIRTUAL_ENV}/bin:${PATH}"
# Install NIXL Python module
# TODO: Move gds_path selection based on arch into NIXL build
# TEMP: disable gds backend for arm64
RUN if [ "$ARCH" = "arm64" ]; then \
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"; \
else \
cd /opt/nixl && uv build . --out-dir /workspace/wheels/nixl; \
...
...
@@ -177,9 +180,29 @@ RUN uv pip install /workspace/wheels/nixl/*.whl
# Install vllm - keep this early in Dockerfile to avoid
# rebuilds from unrelated source code changes
ARG VLLM_REF="059d4cd"
ARG MAX_JOBS=16
ENV MAX_JOBS=$MAX_JOBS
ENV CUDA_HOME=/usr/local/cuda
RUN --mount=type=bind,source=./container/deps/,target=/tmp/deps \
--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 && \
mkdir /opt/vllm && \
cd /opt/vllm && \
...
...
@@ -192,7 +215,8 @@ RUN --mount=type=bind,source=./container/deps/,target=/tmp/deps \
cd ep_kernels_workspace && \
git clone --recursive https://github.com/deepseek-ai/DeepGEMM.git && \
cd DeepGEMM && \
python setup.py install
python setup.py install; \
fi
# Common dependencies
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"
if
[[
"
$PLATFORM
"
==
*
"linux/arm64"
*
]]
;
then
ARCH
=
"arm64"
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
# 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