diff --git a/docker/Dockerfile.rocm b/docker/Dockerfile.rocm index 475ae8282..2744117af 100644 --- a/docker/Dockerfile.rocm +++ b/docker/Dockerfile.rocm @@ -85,6 +85,8 @@ ONBUILD COPY ./ vllm/ FROM base AS fetch_vllm_1 ARG VLLM_REPO="https://github.com/vllm-project/vllm.git" ARG VLLM_BRANCH="main" +ENV VLLM_REPO=${VLLM_REPO} +ENV VLLM_BRANCH=${VLLM_BRANCH} ONBUILD RUN git clone ${VLLM_REPO} \ && cd vllm \ && git fetch -v --prune -- origin ${VLLM_BRANCH} \ @@ -301,6 +303,10 @@ RUN --mount=type=bind,from=export_vllm,src=/,target=/install \ && pip uninstall -y vllm \ && uv pip install --system *.whl +# Install RIXL wheel +RUN --mount=type=bind,from=build_rixl,src=/app/install,target=/rixl_install \ + uv pip install --system /rixl_install/*.whl + WORKDIR /vllm-workspace ARG COMMON_WORKDIR COPY --from=build_vllm ${COMMON_WORKDIR}/vllm /vllm-workspace diff --git a/docker/Dockerfile.rocm_base b/docker/Dockerfile.rocm_base index 44eda4337..6f8c7222f 100644 --- a/docker/Dockerfile.rocm_base +++ b/docker/Dockerfile.rocm_base @@ -198,92 +198,6 @@ RUN cd mori \ RUN mkdir -p /app/install && cp /app/mori/dist/*.whl /app/install -### -### RIXL Build -### -FROM build_pytorch AS build_rixl -ARG RIXL_BRANCH -ARG RIXL_REPO -ARG ETCD_BRANCH -ARG ETCD_REPO -ARG UCX_BRANCH -ARG UCX_REPO - -ENV ROCM_PATH=/opt/rocm -ENV UCX_HOME=/usr/local/ucx -ENV RIXL_HOME=/usr/local/rixl -ENV RIXL_BENCH_HOME=/usr/local/rixl_bench - -# RIXL build system dependences and RDMA support -RUN apt-get -y update && apt-get -y install autoconf libtool pkg-config \ - libgrpc-dev \ - libgrpc++-dev \ - libprotobuf-dev \ - protobuf-compiler-grpc \ - libcpprest-dev \ - libaio-dev \ - librdmacm1 \ - librdmacm-dev \ - libibverbs1 \ - libibverbs-dev \ - ibverbs-utils \ - rdmacm-utils \ - ibverbs-providers - -RUN pip install meson auditwheel patchelf tomlkit - -WORKDIR /workspace - -RUN git clone ${ETCD_REPO} && \ - cd etcd-cpp-apiv3 && \ - git checkout ${ETCD_BRANCH} && \ - mkdir build && cd build && \ - cmake .. -DCMAKE_POLICY_VERSION_MINIMUM=3.5 && \ - make -j$(nproc) && \ - make install - -RUN cd /usr/local/src && \ - git clone ${UCX_REPO} && \ - cd ucx && \ - git checkout ${UCX_BRANCH} && \ - ./autogen.sh && \ - mkdir build && cd build && \ - ../configure \ - --prefix=/usr/local/ucx \ - --enable-shared \ - --disable-static \ - --disable-doxygen-doc \ - --enable-optimizations \ - --enable-devel-headers \ - --with-rocm=/opt/rocm \ - --with-verbs \ - --with-dm \ - --enable-mt && \ - make -j && \ - make -j install - -ENV PATH=/usr/local/ucx/bin:$PATH -ENV LD_LIBRARY_PATH=${UCX_HOME}/lib:${LD_LIBRARY_PATH} - -RUN git clone ${RIXL_REPO} /opt/rixl && \ - cd /opt/rixl && \ - git checkout ${RIXL_BRANCH} && \ - meson setup build --prefix=${RIXL_HOME} \ - -Ducx_path=${UCX_HOME} \ - -Drocm_path=${ROCM_PATH} && \ - cd build && \ - ninja && \ - ninja install - -# Generate RIXL wheel -RUN cd /opt/rixl && mkdir -p /app/install && \ - ./contrib/build-wheel.sh \ - --output-dir /app/install \ - --rocm-dir ${ROCM_PATH} \ - --ucx-plugins-dir ${UCX_HOME}/lib/ucx \ - --nixl-plugins-dir ${RIXL_HOME}/lib/x86_64-linux-gnu/plugins - - ### ### FlashAttention Build ### @@ -365,8 +279,6 @@ RUN --mount=type=bind,from=build_aiter,src=/app/install/,target=/install \ cp /install/*.whl /app/debs RUN --mount=type=bind,from=build_mori,src=/app/install/,target=/install \ cp /install/*.whl /app/debs -RUN --mount=type=bind,from=build_rixl,src=/app/install/,target=/install \ - cp /install/*.whl /app/debs FROM base AS final RUN --mount=type=bind,from=debs,src=/app/debs,target=/install \ @@ -385,12 +297,6 @@ ARG FA_BRANCH ARG FA_REPO ARG AITER_BRANCH ARG AITER_REPO -ARG RIXL_BRANCH -ARG RIXL_REPO -ARG ETCD_BRANCH -ARG ETCD_REPO -ARG UCX_BRANCH -ARG UCX_REPO ARG MORI_BRANCH ARG MORI_REPO RUN echo "BASE_IMAGE: ${BASE_IMAGE}" > /app/versions.txt \ @@ -406,11 +312,5 @@ RUN echo "BASE_IMAGE: ${BASE_IMAGE}" > /app/versions.txt \ && echo "FA_REPO: ${FA_REPO}" >> /app/versions.txt \ && echo "AITER_BRANCH: ${AITER_BRANCH}" >> /app/versions.txt \ && echo "AITER_REPO: ${AITER_REPO}" >> /app/versions.txt \ - && echo "RIXL_BRANCH: ${RIXL_BRANCH}" >> /app/versions.txt \ - && echo "RIXL_REPO: ${RIXL_REPO}" >> /app/versions.txt \ - && echo "ETCD_BRANCH: ${ETCD_BRANCH}" >> /app/versions.txt \ - && echo "ETCD_REPO: ${ETCD_REPO}" >> /app/versions.txt \ - && echo "UCX_BRANCH: ${UCX_BRANCH}" >> /app/versions.txt \ - && echo "UCX_REPO: ${UCX_REPO}" >> /app/versions.txt \ && echo "MORI_BRANCH: ${MORI_BRANCH}" >> /app/versions.txt \ && echo "MORI_REPO: ${MORI_REPO}" >> /app/versions.txt