Skip to content

Commit e24e473

Browse files
build: install cudnn-frontend from feat/1.29.0-megatron in CI dev image
Add a CUDNN_FRONTEND_GIT_REF build arg to docker/Dockerfile.ci.dev, pinned to NVIDIA/cudnn-frontend branch feat/1.29.0-megatron. The ref is installed over the locked PyPI wheel after uv sync. Skipped when the arg is empty or IMAGE_TYPE=lts. Docker-only: pyproject.toml and uv.lock are unchanged. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Signed-off-by: Zhiyu Li <zhiyul@nvidia.com>
1 parent d715782 commit e24e473

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

‎docker/Dockerfile.ci.dev‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ COPY megatron/core/package_info.py /workspace/megatron/core/
9595
ARG IMAGE_TYPE=dev
9696
ENV IMAGE_TYPE=${IMAGE_TYPE}
9797
ENV NVTE_BUILD_NUM_PHILOX_ROUNDS=3
98+
# cuDNN Frontend is replaced after the sync below with this ref of NVIDIA/cudnn-frontend
99+
# (feat/1.29.0-megatron). Docker-only: outside pyproject.toml and uv.lock. Set empty to keep the
100+
# locked PyPI wheel. Skipped for the LTS image.
101+
ARG CUDNN_FRONTEND_GIT_REF=8924d4b41fd678ba1b98cd7f98bb78b222637573
98102
# Preserve Ampere support unless a caller selects narrower TE build targets.
99103
ARG NVTE_CUDA_ARCHS="80;90;100"
100104
# TE compiles each source's GPU targets one after another by default (nvcc --threads 1), so
@@ -183,6 +187,10 @@ RUN --mount=type=cache,id=uv-${TARGETARCH}-${NVTE_CUDA_ARCHS},target=/root/.cach
183187
rm -rf "${MAMBA_BUILD_DIR}"
184188
trap - EXIT
185189

190+
if [ -n "$CUDNN_FRONTEND_GIT_REF" ] && [ "$IMAGE_TYPE" != "lts" ]; then
191+
uv pip install --no-deps --reinstall \
192+
"nvidia-cudnn-frontend @ git+https://github.com/NVIDIA/cudnn-frontend.git@${CUDNN_FRONTEND_GIT_REF}"
193+
fi
186194
EOF
187195

188196
# Reuse the wheel without copying a second archive into the final image.

0 commit comments

Comments
 (0)