@@ -178,6 +178,23 @@ RUN --mount=type=bind,from=deepgemm-downloader,source=/git/DeepGEMM,target=/work
178178 . /opt/arch_flags.sh && \
179179 /opt/build.sh
180180
181+ FROM builder-base AS deepep-builder
182+ ARG DEEPEP_COMMIT='73b6ea4'
183+ ARG NVSHMEM_VER='3.3.24'
184+ # DeepEP requires SM 9.0+ (Hopper/Blackwell). Use vLLM's install script
185+ # and filter out pre-SM90 arches so Blackwell (10.0) is also supported.
186+ RUN --mount=type=bind,from=vllm-downloader,source=/git/vllm/tools/ep_kernels,target=/tmp/ep_kernels \
187+ pip install --no-cache-dir uv && \
188+ . /opt/arch_flags.sh && \
189+ export NVCC_WRAPPER_FILTER_CODES="sm_80;sm_89;compute_80;compute_89;${NVCC_WRAPPER_FILTER_CODES}" && \
190+ WORKSPACE=/tmp/deepep_build MODE=wheel \
191+ DEEPEP_COMMIT_HASH="${DEEPEP_COMMIT}" \
192+ NVSHMEM_VER="${NVSHMEM_VER}" \
193+ bash /tmp/ep_kernels/install_python_libraries.sh && \
194+ cp /tmp/deepep_build/dist/*.whl /wheels/ && \
195+ mkdir -p /nvshmem_libs && \
196+ cp /tmp/deepep_build/nvshmem/lib/libnvshmem*.so* /nvshmem_libs/
197+
181198FROM builder-base AS nixl-builder
182199RUN apt-get -qq update && \
183200 apt-get -q install --no-install-recommends --no-upgrade -y \
@@ -235,6 +252,12 @@ RUN --mount=type=bind,from=lmcache-builder,source=/wheels,target=/tmp/wheels \
235252RUN --mount=type=bind,from=deepgemm-builder,source=/wheels,target=/tmp/wheels \
236253 python3 -m pip install --no-cache-dir /tmp/wheels/*.whl -c /tmp/constraints.txt
237254
255+ RUN --mount=type=bind,from=deepep-builder,source=/wheels,target=/tmp/wheels \
256+ python3 -m pip install --no-cache-dir /tmp/wheels/*.whl -c /tmp/constraints.txt
257+
258+ COPY --link --from=deepep-builder /nvshmem_libs/ /usr/local/lib/
259+ RUN ldconfig
260+
238261COPY --link --from=nixl-builder /opt/nixl /opt/nixl
239262COPY --link --from=nixl-builder /usr/lib/python3/dist-packages/nixl.pth /usr/lib/python3/dist-packages/nixl.pth
240263
0 commit comments