1
- FROM nvidia/cuda:11.3.0-cudnn8-devel-ubuntu18 .04
1
+ FROM nvidia/cuda:11.3.0-cudnn8-devel-ubuntu20 .04
2
2
3
3
# TensorFlow version is tightly coupled to CUDA and cuDNN so it should be selected carefully
4
4
ARG CUDA=11.3
5
- ARG LIBNVINFER=7.2 .3-1
6
- ARG LIBNVINFER_MAJOR_VERSION=7
5
+ ARG LIBNVINFER=8.0 .3-1
6
+ ARG LIBNVINFER_MAJOR_VERSION=8
7
7
ARG CUDNN=8.0.5.39-1
8
- ENV NCCL=2.8.4
9
- ENV NCCL_VERSION=2.8.4 -1+cuda11.3
8
+ ENV NCCL=2.9.9
9
+ ENV NCCL_VERSION=2.9.9 -1+cuda11.3
10
10
ENV CUDNN_VERSION 8.0.5.43
11
11
ENV MLNX_OFED_VERSION=5.1-2.3.7.1
12
12
ENV MKL_VERSION=2021.2
@@ -33,6 +33,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
33
33
# Set default shell to /bin/bash
34
34
SHELL ["/bin/bash", "-cu"]
35
35
36
+ WORKDIR /tmp
36
37
RUN rm -fr /var/lib/apt/lists/* && \
37
38
apt-get update -y && \
38
39
apt-get install -y --no-install-recommends software-properties-common wget && \
@@ -43,6 +44,10 @@ RUN rm -fr /var/lib/apt/lists/* && \
43
44
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB && \
44
45
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB && \
45
46
wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list && \
47
+ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin && \
48
+ mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 && \
49
+ apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub && \
50
+ add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" && \
46
51
apt-get update -y && \
47
52
apt-get install -y --allow-downgrades --allow-change-held-packages --no-install-recommends \
48
53
bashtop \
@@ -55,7 +60,11 @@ RUN rm -fr /var/lib/apt/lists/* && \
55
60
g++ \
56
61
gfortran \
57
62
htop \
58
- intel-mkl intel-ipp intel-tbb intel-daal intel-mpi \
63
+ intel-mkl-2020.4-912 \
64
+ intel-ipp-2020.3-912 \
65
+ intel-tbb-2020.3-912 \
66
+ intel-daal-2020.3-912 \
67
+ intel-mpi-2019.9-912 \
59
68
iputils-ping \
60
69
libasound2-dev \
61
70
libavcodec-dev \
@@ -75,6 +84,8 @@ RUN rm -fr /var/lib/apt/lists/* && \
75
84
libxml2-dev \
76
85
libxrender-dev \
77
86
libxslt1-dev \
87
+ libnccl2=2.9.9-1+cuda11.3 \
88
+ libnccl-dev=2.9.9-1+cuda11.3 \
78
89
make \
79
90
mime-support \
80
91
net-tools \
@@ -114,21 +125,12 @@ RUN rm -fr /var/lib/apt/lists/* && \
114
125
echo "/opt/intel/ipp/lib/intel64" >> /etc/ls.so.conf && \
115
126
echo "/opt/intel/lib/intel64" >> /etc/ls.so.conf && \
116
127
echo "/opt/intel/mkl/lib/intel64" >> /etc/ls.so.conf && \
117
- find /usr/local/cuda-${CUDA}/lib64/ -type f -name 'lib*_static.a' -not -name 'libcudart_static.a' -delete
118
-
119
- WORKDIR /tmp
120
- RUN curl -fsSL https://developer.download.nvidia.com/compute/redist/nccl/v2.8/nccl_2.8.4-1+cuda11.3_x86_64.txz -O && \
121
- tar --no-same-owner --keep-old-files --lzma -xvf nccl_${NCCL}-1+cuda11.3_x86_64.txz -C /usr/local/cuda/lib64/ --strip-components=2 --wildcards '*/lib/libnccl.so.*' && \
122
- tar --no-same-owner --keep-old-files --lzma -xvf nccl_${NCCL}-1+cuda11.3_x86_64.txz -C /usr/lib/pkgconfig/ --strip-components=3 --wildcards '*/lib/pkgconfig/*' && \
123
- rm nccl_${NCCL}-1+cuda11.3_x86_64.txz && \
124
- ldconfig
125
-
126
- RUN ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 && \
128
+ find /usr/local/cuda-${CUDA}/lib64/ -type f -name 'lib*_static.a' -not -name 'libcudart_static.a' -delete && \
129
+ ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 && \
127
130
echo "/usr/local/cuda/lib64/stubs" > /etc/ld.so.conf.d/z-cuda-stubs.conf && \
128
- ldconfig
129
131
130
132
# Install CUDA-11.3 + cuDNN 8.0.5
131
- RUN ln -s /usr/local/cuda-11.3 /usr/local/cuda && \
133
+ ln -s /usr/local/cuda-11.3 /usr/local/cuda && \
132
134
ln -s /usr/lib/x86_64-linux-gnu/libcudnn.so.8.0.5 /usr/local/cuda/lib64/libcudnn.so && \
133
135
ldconfig
134
136
@@ -140,7 +142,7 @@ RUN apt-get update && \
140
142
apt-get install -y --no-install-recommends \
141
143
libnvinfer${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}+cuda${CUDA} \
142
144
libnvinfer-dev=${LIBNVINFER}+cuda${CUDA} \
143
- libnvinfer-plugin7 \
145
+ libnvinfer-plugin8 \
144
146
libnvinfer-plugin-dev=${LIBNVINFER}+cuda${CUDA} \
145
147
&& \
146
148
apt-get clean && \
0 commit comments