11# syntax=docker/dockerfile:1-labs
2- ARG BASE_IMAGE=nvidia/cuda:12.6.3 -devel-ubuntu24.04
2+ ARG BASE_IMAGE=nvcr.io/ nvidia/cuda-dl-base:24.11-cuda12.6 -devel-ubuntu24.04
33ARG GIT_USER_NAME="JAX Toolbox"
4455ARG CLANG_VERSION=18
66ARG JAX_TOOLBOX_REF
77
8- ###############################################################################
9- ## Obtain GCP's NCCL TCPx plugin
10- ###############################################################################
11-
12- FROM us-docker.pkg.dev/gce-ai-infra/gpudirect-tcpx/nccl-plugin-gpudirecttcpx:v3.1.10 AS tcpx-installer-amd64
13-
14- # make a stub arm64 container because GCP does not provide an arm64 version of the plugin
15- FROM ubuntu AS tcpx-installer-arm64
16- RUN <<"OUTEREOF" bash -ex
17- mkdir -p /scripts /var/lib/tcpx/lib64
18- echo '#!/bin/bash' > /scripts/container_entry.sh
19- chmod +x /scripts/container_entry.sh
20- OUTEREOF
21-
22- FROM tcpx-installer-${TARGETARCH} AS tcpx-installer
23- RUN /scripts/container_entry.sh install
24-
258###############################################################################
269## Build base image
2710###############################################################################
@@ -153,50 +136,18 @@ ENV PIP_BREAK_SYSTEM_PACKAGES=1
153136RUN pip install --upgrade --ignore-installed --no-cache-dir -e /opt/pip pip-tools && rm -rf ~/.cache/*
154137
155138###############################################################################
156- ## Install TCPx
157- ###############################################################################
158-
159- ENV TCPX_LIBRARY_PATH=/usr/local/tcpx/lib64
160- COPY --from=tcpx-installer /var/lib/tcpx/lib64 ${TCPX_LIBRARY_PATH}
161-
162- ###############################################################################
163- ## Install the latest versions of Nsight Systems and Nsight Compute
164- ###############################################################################
165-
166- ADD install-nsight.sh /usr/local/bin
167- RUN install-nsight.sh
168-
169- ###############################################################################
170- ## Install cuDNN
139+ ## Symlink for cuDNN
171140###############################################################################
172141
173- ADD install -cudnn.sh /usr/local/bin
174- RUN install -cudnn.sh
142+ ADD symlnk -cudnn.sh /usr/local/bin
143+ RUN symlnk -cudnn.sh
175144
176145###############################################################################
177- ## Install NCCL
146+ ## Symlink for NCCL
178147###############################################################################
179148
180- ADD install-nccl.sh /usr/local/bin
181- RUN install-nccl.sh
182-
183- ###############################################################################
184- ## RoCE and InfiniteBand support
185- ###############################################################################
186-
187- ADD install-ofed.sh /usr/local/bin
188- RUN install-ofed.sh
189-
190- ##############################################################################
191- ## Amazon EFA support (need to run it inside container separately)
192- ##############################################################################
193-
194- ADD --chmod=777 \
195- install-efa.sh \
196- test-aws-efa.sh \
197- /usr/local/bin/
198- ENV LD_LIBRARY_PATH=/opt/amazon/efa/lib:${LD_LIBRARY_PATH}
199- ENV PATH=/opt/amazon/efa/bin:${PATH}
149+ ADD symlnk-nccl.sh /usr/local/bin
150+ RUN symlnk-nccl.sh
200151
201152##############################################################################
202153## NCCL sanity check utility
@@ -207,18 +158,6 @@ ADD nccl-sanity-check.cu /opt
207158RUN install-nccl-sanity-check.sh
208159ADD jax-nccl-test parallel-launch /usr/local/bin/
209160
210- ###############################################################################
211- ## Add the systemcheck to the entrypoint.
212- ###############################################################################
213-
214- COPY check-shm.sh /opt/nvidia/entrypoint.d/
215-
216- ###############################################################################
217- ## Add the GCP - TCPX check to the entrypoint.
218- ###############################################################################
219-
220- # TODO(chaserileyroberts): Reenable once fully tested on GCP.
221- # COPY gcp-autoconfig.sh /opt/nvidia/entrypoint.d/
222161
223162###############################################################################
224163## Install the nsys-jax JAX/XLA-aware profiling scripts, patch Nsight Systems
0 commit comments