@@ -15,10 +15,11 @@ ENV DEBIAN_FRONTEND=noninteractive
1515
1616# Install python
1717RUN apt-get update && \
18- apt-get install -y -q gpg apt-utils curl wget libnuma-dev cmake git \
18+ apt-get install -y -q gpg apt-utils curl libnuma-dev cmake git \
1919 dh-autoreconf python3-venv python3-dev python3-pip
2020
2121# nodesource: nvdashboard requires nodejs>=10
22+ SHELL /bin/bash -o pipefail
2223RUN curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | gpg --yes --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
2324RUN arch="$(uname -m)" && \
2425 case "$arch" in \
@@ -27,9 +28,9 @@ RUN arch="$(uname -m)" && \
2728 *) echo "Unsupported architecture: $arch" >&2; exit 1 ;; \
2829 esac && \
2930 echo "deb [trusted=yes, signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/${nvplat} /" | tee /etc/apt/sources.list.d/nvhpc.list
30- RUN apt-key update * && apt-get update -y
31+ RUN apt-key update -- * && apt-get update -y
3132
32- # Install nvhpc. `nvhpc` is the alias for the latest avaialble version
33+ # Install nvhpc. `nvhpc` is the alias for the latest available version
3334ARG ver=nvhpc
3435# We use the standard apt-get for the default latest nvhpc. For earlier version, apt has a bug that it will always
3536# install the latest nvhpc-x-y no matter which version nvhpc-x-z is requested which would double (extra 10Gb) the size of the image.
@@ -43,10 +44,12 @@ RUN arch="$(uname -m)" && \
4344 if [ "$ver" = "nvhpc" ]; then \
4445 apt-get install -y -q --allow-unauthenticated ${ver}; \
4546 else \
46- export year=$(echo $ver | cut -d "-" -f 2) && \
47- export minor=$(echo $ver | cut -d "-" -f 3) && \
48- wget -O nvhpc.deb "https://developer.download.nvidia.com/hpc-sdk/ubuntu/${nvplat}/nvhpc_${year}.${minor}_${nvplat}.deb" \
49- || wget -O nvhpc.deb "https://developer.download.nvidia.com/hpc-sdk/ubuntu/${nvplat}/nvhpc_${year}.${minor}-0_${nvplat}.deb" && \
47+ year=$(echo $ver | cut -d "-" -f 2) && \
48+ export year && \
49+ minor=$(echo $ver | cut -d "-" -f 3) && \
50+ export minor && \
51+ curl -O nvhpc.deb -L "https://developer.download.nvidia.com/hpc-sdk/ubuntu/${nvplat}/nvhpc_${year}.${minor}_${nvplat}.deb" \
52+ || curl -O nvhpc.deb -L "https://developer.download.nvidia.com/hpc-sdk/ubuntu/${nvplat}/nvhpc_${year}.${minor}-0_${nvplat}.deb" && \
5053 apt-get install --allow-unauthenticated -y -q ./nvhpc.deb; \
5154 fi;
5255
@@ -89,6 +92,7 @@ ENV UCX_TLS=cuda,cuda_copy,cuda_ipc,sm,shm,self
8992#ENV UCX_TLS=cuda,cuda_copy,cuda_ipc,sm,shm,self,rc_x,gdr_copy
9093
9194# Make simlink for path setup since ENV doesn't accept shell commands.
95+ SHELL /bin/bash -o pipefail
9296RUN arch="$(uname -m)" && \
9397 case "$arch" in \
9498 x86_64) linux=Linux_x86_64 ;; \
@@ -157,7 +161,7 @@ CMD ["/bin/bash"]
157161FROM sdk-base AS nvc
158162
159163# Make devito env vars file and extras
160- ADD docker/nvdashboard.json /app/nvdashboard.json
164+ COPY docker/nvdashboard.json /app/nvdashboard.json
161165
162166# mpi4py
163167ENV MPI4PY_FLAGS='source $HPCSDK_HOME/comm_libs/hpcx/latest/hpcx-init.sh && hpcx_load && CC=nvc CFLAGS="-noswitcherror -tp=px"'
0 commit comments