forked from vllm-project/vllm
-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into softcap_fix
- Loading branch information
Showing
3 changed files
with
134 additions
and
231 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
ARG BASE_IMAGE=rocm/dev-ubuntu-22.04:6.2.4-complete | ||
FROM ${BASE_IMAGE} AS base | ||
|
||
ENV PATH=/opt/rocm/llvm/bin:$PATH | ||
ENV ROCM_PATH=/opt/rocm | ||
ENV LD_LIBRARY_PATH=/opt/rocm/lib:/usr/local/lib: | ||
ARG PYTORCH_ROCM_ARCH=gfx90a;gfx942 | ||
ENV PYTORCH_ROCM_ARCH=${PYTORCH_ROCM_ARCH} | ||
|
||
ARG PYTHON_VERSION=3.12 | ||
|
||
RUN mkdir -p /app | ||
WORKDIR /app | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
# Install Python and other dependencies | ||
RUN apt-get update -y \ | ||
&& apt-get install -y software-properties-common git curl sudo vim less \ | ||
&& add-apt-repository ppa:deadsnakes/ppa \ | ||
&& apt-get update -y \ | ||
&& apt-get install -y python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv \ | ||
python${PYTHON_VERSION}-lib2to3 python-is-python3 \ | ||
&& update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${PYTHON_VERSION} 1 \ | ||
&& update-alternatives --set python3 /usr/bin/python${PYTHON_VERSION} \ | ||
&& ln -sf /usr/bin/python${PYTHON_VERSION}-config /usr/bin/python3-config \ | ||
&& curl -sS https://bootstrap.pypa.io/get-pip.py | python${PYTHON_VERSION} \ | ||
&& python3 --version && python3 -m pip --version | ||
|
||
RUN pip install -U packaging cmake ninja wheel setuptools Cython | ||
|
||
FROM base AS build_hipblaslt | ||
ARG HIPBLASLT_BRANCH="507a649" | ||
# Unset the following on ROCm6.3+ | ||
ARG LEGACY_HIPBLASLT_OPTION="--legacy_hipblas_direct" | ||
RUN git clone https://github.com/ROCm/hipBLASLt | ||
RUN cd hipBLASLt \ | ||
&& git checkout ${HIPBLASLT_BRANCH} \ | ||
&& ./install.sh -d --architecture ${PYTORCH_ROCM_ARCH} ${LEGACY_HIPBLASLT_OPTION} \ | ||
&& cd build/release \ | ||
&& make package | ||
RUN mkdir -p /app/install && cp /app/hipBLASLt/build/release/*.deb /app/install | ||
|
||
FROM base AS build_rccl | ||
ARG RCCL_BRANCH="dfe4a3e" | ||
ARG RCCL_REPO="https://github.com/ROCm/rccl" | ||
RUN git clone ${RCCL_REPO} | ||
RUN cd rccl \ | ||
&& git checkout ${RCCL_BRANCH} \ | ||
&& ./install.sh -p --amdgpu_targets ${PYTORCH_ROCM_ARCH} | ||
RUN mkdir -p /app/install && cp /app/rccl/build/release/*.deb /app/install | ||
|
||
FROM base AS build_triton | ||
ARG TRITON_BRANCH="release/3.1.x" | ||
ARG TRITON_REPO="https://github.com/triton-lang/triton.git" | ||
RUN git clone ${TRITON_REPO} | ||
RUN cd triton \ | ||
&& git checkout ${TRITON_BRANCH} \ | ||
&& cd python \ | ||
&& python3 setup.py bdist_wheel --dist-dir=dist | ||
RUN mkdir -p /app/install && cp /app/triton/python/dist/*.whl /app/install | ||
|
||
FROM base AS build_amdsmi | ||
RUN cd /opt/rocm/share/amd_smi \ | ||
&& pip wheel . --wheel-dir=dist | ||
RUN mkdir -p /app/install && cp /opt/rocm/share/amd_smi/dist/*.whl /app/install | ||
|
||
FROM base AS build_pytorch | ||
ARG PYTORCH_BRANCH="8bc4033" | ||
ARG PYTORCH_VISION_BRANCH="v0.19.1" | ||
ARG PYTORCH_REPO="https://github.com/pytorch/pytorch.git" | ||
ARG PYTORCH_VISION_REPO="https://github.com/pytorch/vision.git" | ||
ARG FA_BRANCH="c555642" | ||
ARG FA_REPO="https://github.com/ROCm/flash-attention.git" | ||
RUN git clone ${PYTORCH_REPO} pytorch | ||
RUN cd pytorch && git checkout ${PYTORCH_BRANCH} && \ | ||
pip install -r requirements.txt && git submodule update --init --recursive \ | ||
&& python3 tools/amd_build/build_amd.py \ | ||
&& CMAKE_PREFIX_PATH=$(python3 -c 'import sys; print(sys.prefix)') python3 setup.py bdist_wheel --dist-dir=dist \ | ||
&& pip install dist/*.whl | ||
RUN git clone ${PYTORCH_VISION_REPO} vision | ||
RUN cd vision && git checkout ${PYTORCH_VISION_BRANCH} \ | ||
&& python3 setup.py bdist_wheel --dist-dir=dist \ | ||
&& pip install dist/*.whl | ||
RUN git clone ${FA_REPO} | ||
RUN cd flash-attention \ | ||
&& git checkout ${FA_BRANCH} \ | ||
&& git submodule update --init \ | ||
&& MAX_JOBS=64 GPU_ARCHS=${PYTORCH_ROCM_ARCH} python3 setup.py bdist_wheel --dist-dir=dist | ||
RUN mkdir -p /app/install && cp /app/pytorch/dist/*.whl /app/install \ | ||
&& cp /app/vision/dist/*.whl /app/install \ | ||
&& cp /app/flash-attention/dist/*.whl /app/install | ||
|
||
FROM base AS final | ||
RUN --mount=type=bind,from=build_hipblaslt,src=/app/install/,target=/install \ | ||
dpkg -i /install/*deb \ | ||
&& sed -i 's/, hipblaslt-dev \(.*\), hipcub-dev/, hipcub-dev/g' /var/lib/dpkg/status \ | ||
&& sed -i 's/, hipblaslt \(.*\), hipfft/, hipfft/g' /var/lib/dpkg/status | ||
RUN --mount=type=bind,from=build_rccl,src=/app/install/,target=/install \ | ||
dpkg -i /install/*deb \ | ||
&& sed -i 's/, rccl-dev \(.*\), rocalution/, rocalution/g' /var/lib/dpkg/status \ | ||
&& sed -i 's/, rccl \(.*\), rocalution/, rocalution/g' /var/lib/dpkg/status | ||
RUN --mount=type=bind,from=build_triton,src=/app/install/,target=/install \ | ||
pip install /install/*.whl | ||
RUN --mount=type=bind,from=build_amdsmi,src=/app/install/,target=/install \ | ||
pip install /install/*.whl | ||
RUN --mount=type=bind,from=build_pytorch,src=/app/install/,target=/install \ | ||
pip install /install/*.whl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.