From 8d44091326619559f4e53e8d220e78848b856301 Mon Sep 17 00:00:00 2001 From: Baizhou Zhang Date: Sat, 15 Aug 2026 02:08:28 -0700 Subject: [PATCH] Update sgl-deep-ep release workflow for DeepEP v2 (#34914) --- .github/workflows/release-whl-deepep.yml | 6 +++--- docker/sgl-deep-ep.Dockerfile | 27 +++++++++++++++--------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release-whl-deepep.yml b/.github/workflows/release-whl-deepep.yml index fe58ba94e..2a23e36d7 100644 --- a/.github/workflows/release-whl-deepep.yml +++ b/.github/workflows/release-whl-deepep.yml @@ -42,7 +42,7 @@ jobs: include: - arch: x86_64 runner: x64-kernel-build-node - source-branch: sgl-deepep-x86 + source-branch: sgl-deepep-cu12-x86 - arch: aarch64 runner: arm-kernel-build-node source-branch: sgl-deepep-cu12-arm @@ -107,10 +107,10 @@ jobs: include: - arch: x86_64 runner: x64-kernel-build-node - source-branch: sgl-deepep-x86 + source-branch: sgl-deepep - arch: aarch64 runner: arm-kernel-build-node - source-branch: sgl-deepep-arm + source-branch: sgl-deepep runs-on: ${{ matrix.runner }} steps: - name: Clean workspace diff --git a/docker/sgl-deep-ep.Dockerfile b/docker/sgl-deep-ep.Dockerfile index fd21a36d0..a3743073b 100644 --- a/docker/sgl-deep-ep.Dockerfile +++ b/docker/sgl-deep-ep.Dockerfile @@ -7,18 +7,16 @@ ARG ARCHITECTURE=x86_64 ARG CUDA_TAG=cu130 ARG CUDA_VERSION=13.0 ARG GDRCOPY_VERSION=2.5.1 +ARG NCCL_VERSION=2.30.7 ARG PYTHON_TAG=cp312-cp312 ARG TORCH_VERSION=2.13.0 ENV CUDA_HOME=/usr/local/cuda -ENV GDRCOPY_HOME=/usr/local ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:/usr/local/cuda/lib64:${LD_LIBRARY_PATH} ENV PATH=/opt/python/${PYTHON_TAG}/bin:${PATH} ENV PYTHON_BIN=/opt/python/${PYTHON_TAG}/bin/python # These mirror the build and RDMA dependencies used by ci_install_deepep.sh. -# The image builds only GDRCopy's user-space library: the host owns gdrdrv and -# passes /dev/gdrdrv through at runtime. RUN yum install -y --nogpgcheck --enablerepo=powertools \ cmake \ curl \ @@ -51,13 +49,18 @@ RUN set -eux; \ ln -sf "${cuda_stub}" /usr/lib64/libcuda.so; \ ln -sf "${cuda_stub}" "/usr/lib/${ARCHITECTURE}-linux-gnu/libcuda.so" -RUN git clone --depth 1 --branch "v${GDRCOPY_VERSION}" \ - https://github.com/NVIDIA/gdrcopy.git /opt/gdrcopy \ - && make -C /opt/gdrcopy CUDA="${CUDA_HOME}" prefix=/usr/local lib_install \ - && printf '%s\n' /usr/local/lib > /etc/ld.so.conf.d/gdrcopy.conf \ - && ldconfig \ - && test -f /usr/local/include/gdrapi.h \ - && ldconfig -p | grep -q libgdrapi +# DeepEP v2 uses NCCL Gin on CUDA 13. Keep GDRCopy only for the CUDA 12 +# legacy NVSHMEM/IBGDA build. +RUN set -eux; \ + if [ "${CUDA_TAG}" = cu129 ]; then \ + git clone --depth 1 --branch "v${GDRCOPY_VERSION}" \ + https://github.com/NVIDIA/gdrcopy.git /opt/gdrcopy; \ + make -C /opt/gdrcopy CUDA="${CUDA_HOME}" prefix=/usr/local lib_install; \ + printf '%s\n' /usr/local/lib > /etc/ld.so.conf.d/gdrcopy.conf; \ + ldconfig; \ + test -f /usr/local/include/gdrapi.h; \ + ldconfig -p | grep -q libgdrapi; \ + fi RUN --mount=type=cache,id=sgl-deep-ep-pip-${CUDA_TAG}-${PYTHON_TAG}-${ARCHITECTURE},target=/root/.cache/pip \ set -eux; \ @@ -66,6 +69,10 @@ RUN --mount=type=cache,id=sgl-deep-ep-pip-${CUDA_TAG}-${PYTHON_TAG}-${ARCHITECTU "${PYTHON_BIN}" -m pip install --force-reinstall \ "torch==${TORCH_VERSION}" \ --index-url "https://download.pytorch.org/whl/${CUDA_TAG}"; \ + if [ "${CUDA_TAG}" = cu130 ]; then \ + "${PYTHON_BIN}" -m pip install --force-reinstall --no-deps \ + "nvidia-nccl-cu13==${NCCL_VERSION}"; \ + fi; \ "${PYTHON_BIN}" -m pip install \ "auditwheel>=6.0" \ build \