@@ -23,74 +23,82 @@ ENV DEBIAN_FRONTEND=noninteractive \
23
23
# Set default shell to /bin/bash
24
24
SHELL ["/bin/bash", "-cu"]
25
25
26
- RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub && \
27
- apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
28
- RUN \
29
- apt-get update -y && \
30
- apt-get install -y --no-install-recommends software-properties-common && \
26
+ RUN apt-key adv --fetch-keys \
27
+ https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub && \
28
+ apt-key adv --fetch-keys \
29
+ https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
30
+ RUN apt-get update -y && \
31
+ apt-get install -y --no-install-recommends \
32
+ software-properties-common && \
31
33
add-apt-repository -y "deb http://security.ubuntu.com/ubuntu xenial-security main" && \
32
34
apt-get update -y && \
33
- apt-get install -y --allow-downgrades --allow-change-held-packages --no-install-recommends \
35
+ apt-get install -y --allow-downgrades \
36
+ --allow-change-held-packages \
37
+ --no-install-recommends \
34
38
build-essential \
35
- ca-certificates \
39
+ ca-certificates \
36
40
gcc g++ make \
37
- gfortran \
38
- dkms \
41
+ gfortran \
42
+ dkms \
39
43
git \
40
44
curl \
41
45
vim \
42
- yasm \
46
+ yasm \
43
47
wget zip unzip \
44
48
software-properties-common \
45
- openssh-client openssh-server \
49
+ openssh-client openssh-server \
46
50
libssl-dev \
47
51
libmpdec2 \
48
- pdsh curl net-tools \
49
- iputils-ping \
52
+ pdsh \
53
+ curl \
54
+ net-tools \
55
+ iputils-ping \
50
56
libcurl3-dev \
51
57
libfreetype6-dev \
52
58
libhdf5-serial-dev \
53
59
libzmq3-dev \
54
60
libjpeg-dev \
55
61
libpng-dev \
56
- libsm6 \
57
- libxext6 \
58
- libxrender-dev \
59
- libcairo2-dev libgirepository1.0-dev pkg-config gir1.2-gtk-3.0 \
62
+ libsm6 \
63
+ libxext6 \
64
+ libxrender-dev \
65
+ libcairo2-dev libgirepository1.0-dev pkg-config gir1.2-gtk-3.0 \
60
66
libgeos-dev libgeos++-dev \
61
67
pkg-config \
62
68
zlib1g-dev \
63
- mime-support \
64
- proj-bin libproj-dev libgeos-dev libgeos++-dev graphviz \
69
+ mime-support \
70
+ proj-bin libproj-dev libgeos-dev libgeos++-dev graphviz \
65
71
python${PYTHON_VERSION} \
66
72
python${PYTHON_VERSION}-dev \
67
- libxml2-dev \
68
- libxslt1-dev \
69
- libasound2-dev \
70
- libnuma-dev \
71
- libjasper-dev \
73
+ libxml2-dev \
74
+ libxslt1-dev \
75
+ libasound2-dev \
76
+ libnuma-dev \
77
+ libjasper-dev \
72
78
libtiff-dev \
73
- libavcodec-dev \
79
+ libavcodec-dev \
74
80
libavformat-dev \
75
- libswscale-dev \
76
- libxine2-dev \
77
- libv4l-dev \
78
- libboost-dev \
79
- libboost-system-dev \
80
- libboost-filesystem-dev \
81
- xvfb \
82
- fonts-nanum \
83
- fonts-nanum-coding \
84
- fonts-nanum-extra \
81
+ libswscale-dev \
82
+ libxine2-dev \
83
+ libv4l-dev \
84
+ libboost-dev \
85
+ libboost-system-dev \
86
+ libboost-filesystem-dev \
87
+ xvfb \
88
+ fonts-nanum \
89
+ fonts-nanum-coding \
90
+ fonts-nanum-extra \
85
91
&& \
86
92
find /usr/local/cuda-${CUDA}/lib64/ -type f -name 'lib*_static.a' -not -name 'libcudart_static.a' -delete
87
93
88
94
89
- RUN apt update && apt install curl xz-utils -y --no-install-recommends && NCCL_DOWNLOAD_SUM=34000cbe6a0118bfd4ad898ebc5f59bf5d532bbf2453793891fa3f1621e25653 && \
95
+ RUN apt update && apt install curl xz-utils -y --no-install-recommends && \
96
+ NCCL_DOWNLOAD_SUM=34000cbe6a0118bfd4ad898ebc5f59bf5d532bbf2453793891fa3f1621e25653 && \
90
97
curl -fsSL https://developer.download.nvidia.com/compute/redist/nccl/v2.7/nccl_2.7.8-1+cuda10.2_x86_64.txz -O && \
91
- # echo "$NCCL_DOWNLOAD_SUM nccl_2.7.8-1+cuda10.2_x86_64.txz" | sha256sum -c - && \
92
- tar --no-same-owner --keep-old-files --lzma -xvf nccl_2.7.8-1+cuda10.2_x86_64.txz -C /usr/local/cuda/lib64/ --strip-components=2 --wildcards '*/lib/libnccl.so.*' && \
93
- tar --no-same-owner --keep-old-files --lzma -xvf nccl_2.7.8-1+cuda10.2_x86_64.txz -C /usr/lib/pkgconfig/ --strip-components=3 --wildcards '*/lib/pkgconfig/*' && \
98
+ tar --no-same-owner --keep-old-files --lzma -xvf nccl_2.7.8-1+cuda10.2_x86_64.txz \
99
+ -C /usr/local/cuda/lib64/ --strip-components=2 --wildcards '*/lib/libnccl.so.*' && \
100
+ tar --no-same-owner --keep-old-files --lzma -xvf nccl_2.7.8-1+cuda10.2_x86_64.txz \
101
+ -C /usr/lib/pkgconfig/ --strip-components=3 --wildcards '*/lib/pkgconfig/*' && \
94
102
rm nccl_2.7.8-1+cuda10.2_x86_64.txz && \
95
103
ldconfig && rm -rf /var/lib/apt/lists/*
96
104
@@ -107,39 +115,41 @@ RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
107
115
apt-get update -y && \
108
116
apt-get install -y nodejs
109
117
110
- #RUN apt-get update && \
111
- # apt-get install -y --no-install-recommends libnvinfer${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}+cuda${CUDA} \
112
- # libnvinfer-dev=${LIBNVINFER}+cuda${CUDA} \
113
- # libnvinfer-plugin-dev=${LIBNVINFER}+cuda${CUDA} \
114
- # libnvinfer-plugin${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}+cuda${CUDA} \
115
- # && apt-get clean \
116
- # && rm -rf /var/lib/apt/lists/*
118
+ RUN apt-get update && \
119
+ apt-get install -y --no-install-recommends libnvinfer${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}+cuda${CUDA} \
120
+ libnvinfer-dev=${LIBNVINFER}+cuda${CUDA} \
121
+ libnvinfer-plugin-dev=${LIBNVINFER}+cuda${CUDA} \
122
+ libnvinfer-plugin${LIBNVINFER_MAJOR_VERSION}=${LIBNVINFER}+cuda${CUDA} \
123
+ && \
124
+ apt-get clean && \
125
+ rm -rf /var/lib/apt/lists/*
117
126
118
127
# Add OpenCL ICD files for LightGBM
119
128
RUN mkdir -p /etc/OpenCL/vendors && \
120
129
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
121
130
122
131
# OFED
123
- #ENV STAGE_DIR=/tmp
124
- #RUN mkdir -p ${STAGE_DIR}
125
- #ENV MLNX_OFED_VERSION=4.6-1.0.1.1
126
- #RUN cd ${STAGE_DIR} && \
127
- # wget -q -O - http://www.mellanox.com/downloads/ofed/MLNX_OFED-${MLNX_OFED_VERSION}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-ubuntu18.04-x86_64.tgz | tar xzf -
128
- #RUN cd ${STAGE_DIR}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-ubuntu18.04-x86_64 && \
129
- # ./mlnxofedinstall --user-space-only --without-fw-update --all -q && \
130
- # cd ${STAGE_DIR} && \
131
- # rm -rf ${STAGE_DIR}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-ubuntu18.04-x86_64*
132
+ ENV STAGE_DIR=/tmp
133
+ RUN mkdir -p ${STAGE_DIR}
134
+ ENV MLNX_OFED_VERSION=4.6-1.0.1.1
135
+ RUN cd ${STAGE_DIR} && \
136
+ wget -q -O - http://www.mellanox.com/downloads/ofed/MLNX_OFED-${MLNX_OFED_VERSION}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-ubuntu18.04-x86_64.tgz \
137
+ | tar xzf -
138
+ RUN cd ${STAGE_DIR}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-ubuntu18.04-x86_64 && \
139
+ ./mlnxofedinstall --user-space-only --without-fw-update --all -q && \
140
+ cd ${STAGE_DIR} && \
141
+ rm -rf ${STAGE_DIR}/MLNX_OFED_LINUX-${MLNX_OFED_VERSION}-ubuntu18.04-x86_64*
132
142
133
143
# nvidia-peer
134
- # RUN mkdir -p ${STAGE_DIR} && \
135
- # git clone https://github.com/Mellanox/nv_peer_memory.git ${STAGE_DIR}/nv_peer_memory && \
136
- # cd ${STAGE_DIR}/nv_peer_memory && \
137
- # ./build_module.sh && \
138
- # cd ${STAGE_DIR} && \
139
- # tar xzf ${STAGE_DIR}/nvidia-peer-memory_1.1.orig.tar.gz && \
140
- # cd ${STAGE_DIR}/nvidia-peer-memory-1.1 && \
141
- # dpkg-buildpackage -us -uc && \
142
- # dpkg -i ${STAGE_DIR}/nvidia-peer-memory_1.1-0_all.deb
144
+ RUN mkdir -p ${STAGE_DIR} && \
145
+ git clone https://github.com/Mellanox/nv_peer_memory.git ${STAGE_DIR}/nv_peer_memory && \
146
+ cd ${STAGE_DIR}/nv_peer_memory && \
147
+ ./build_module.sh && \
148
+ cd ${STAGE_DIR} && \
149
+ tar xzf ${STAGE_DIR}/nvidia-peer-memory_1.1.orig.tar.gz && \
150
+ cd ${STAGE_DIR}/nvidia-peer-memory-1.1 && \
151
+ dpkg-buildpackage -us -uc && \
152
+ dpkg -i ${STAGE_DIR}/nvidia-peer-memory_1.1-0_all.deb
143
153
144
154
RUN if [[ "${PYTHON_VERSION}" == "3.6" ]]; then \
145
155
apt-get install -y python${PYTHON_VERSION}-distutils python-apt ; \
@@ -168,18 +178,17 @@ RUN git clone -q --branch=master https://github.com/xianyi/OpenBLAS.git && \
168
178
cd OpenBLAS && \
169
179
make DYNAMIC_ARCH=1 NO_AFFINITY=1 NUM_THREADS=48 FC=gfortran && \
170
180
make install
171
- RUN \
172
- # git clone --recursive --brnch https://github.com/bodono/scs-python.git && \
173
- # cd /tmp/scs-python && \
181
+ RUN git clone --recursive --brnch https://github.com/bodono/scs-python.git && \
182
+ cd /tmp/scs-python && \
174
183
python -m pip install scs
175
184
176
185
RUN python3 -m pip install pip --no-cache-dir \
177
- Cartopy==0.18.0 \
186
+ Cartopy==0.18.0 \
178
187
notebook==6.0.3
179
188
180
189
WORKDIR /tmp
181
- COPY ./requirements.22.11 .txt /tmp
182
- RUN python3 -m pip install --no-cache-dir --upgrade -r requirements.22.11 .txt && \
190
+ COPY ./requirements.22.12 .txt /tmp
191
+ RUN python3 -m pip install --no-cache-dir --upgrade -r requirements.22.12 .txt && \
183
192
python3 -m pip install --no-cache-dir tensorflow_model_analysis && \
184
193
python3 -m pip uninstall -y tensorboard tensorboard-plugin-wit tensorflow tensorflow-gpu \
185
194
tensorflow-estimator tensorflow-addons tensorflow-datasets \
@@ -192,7 +201,7 @@ RUN python3 -m pip install --no-cache-dir --upgrade -r requirements.22.11.txt &&
192
201
RUN apt-get update && \
193
202
apt-get install -y \
194
203
openjdk-8-jdk \
195
- automake \
204
+ automake \
196
205
&& \
197
206
cd /tmp && \
198
207
curl -LO https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz && \
@@ -221,9 +230,9 @@ RUN echo "Install mecab-ko-dic" && \
221
230
# OpenCV
222
231
RUN ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h && \
223
232
apt-get install -y \
224
- libgstreamer1.0-dev \
225
- libgstreamer-plugins-base1.0-dev \
226
- libgtk-3-dev \
233
+ libgstreamer1.0-dev \
234
+ libgstreamer-plugins-base1.0-dev \
235
+ libgtk-3-dev \
227
236
libtbb-dev \
228
237
libatlas-base-dev \
229
238
libdc1394-22-dev \
@@ -255,7 +264,7 @@ RUN wget https://github.com/Kitware/CMake/releases/download/v3.18.1/cmake-3.18.1
255
264
rm /tmp/cmake-install.sh
256
265
257
266
WORKDIR /tmp
258
- ENV OPENCV_VERSION="4.4 .0"
267
+ ENV OPENCV_VERSION="4.5 .0"
259
268
RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
260
269
wget -O opencv-contrib.zip https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \
261
270
unzip ${OPENCV_VERSION}.zip && \
@@ -280,7 +289,7 @@ RUN wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
280
289
-D WITH_V4L=ON \
281
290
-D BUILD_TESTS=OFF \
282
291
-D BUILD_PERF_TESTS=OFF \
283
- -D OPENCV_EXTRA_MODULES_PATH="../../opencv_contrib-4.4 .0/modules" \
292
+ -D OPENCV_EXTRA_MODULES_PATH="../../opencv_contrib-4.5 .0/modules" \
284
293
-D CMAKE_BUILD_TYPE=RELEASE \
285
294
-D CMAKE_INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)") \
286
295
-D PYTHON_EXECUTABLE=$(which python3) \
@@ -369,28 +378,27 @@ RUN jupyter nbextensions_configurator enable && \
369
378
jupyter contrib nbextension install && \
370
379
jupyter serverextension enable --py jupyterlab --sys-prefix && \
371
380
jupyter labextension install @jupyter-widgets/jupyterlab-manager && \
372
- # jupyter labextension install jupyterlab-nvdashboard && \
373
381
git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding && \
374
382
jupyter nbextension enable /home/work/.jupyter/nbextension/vim_binding/vim_binding
375
383
376
- # RUN jupyter nbextensions_configurator enable && \
377
- # jupyter contrib nbextension install && \
378
- # jupyter nbextension enable --py --sys-prefix widgetsnbextension && \
379
- # jupyter serverextension enable --py jupyterlab --sys-prefix && \
380
- # jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager && \
381
- # git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding && \
382
- # jupyter nbextension enable /home/work/.jupyter/nbextension/vim_binding/vim_binding && \
383
- # jupyter labextension install --no-build @lckr/jupyterlab_variableinspector && \
384
- # jupyter labextension install --no-build @krassowski/jupyterlab-lsp && \
385
- # jupyter serverextension enable --py jupyter_lsp && \
386
- # jupyter labextension install --no-build @jupyterlab/toc && \
387
- # jupyter labextension install @jupyterlab/hdf5
388
- # jupyter nbextension enable execute_time/ExecuteTime && \
389
- # jupyter nbextension enable toc2/main && \
390
- # jupyter labextension install @pyviz/jupyterlab_pyviz && \
391
- # jupyter labextension install @bokeh/jupyter_bokeh && \
392
- # jupyter labextension install --no-build jupyterlab-nvdashboard && \
393
- # jupyter lab build
384
+ RUN jupyter nbextensions_configurator enable && \
385
+ jupyter contrib nbextension install && \
386
+ jupyter nbextension enable --py --sys-prefix widgetsnbextension && \
387
+ jupyter serverextension enable --py jupyterlab --sys-prefix && \
388
+ jupyter labextension install --no-build @jupyter-widgets/jupyterlab-manager && \
389
+ git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding && \
390
+ jupyter nbextension enable /home/work/.jupyter/nbextension/vim_binding/vim_binding && \
391
+ jupyter labextension install --no-build @lckr/jupyterlab_variableinspector && \
392
+ jupyter labextension install --no-build @krassowski/jupyterlab-lsp && \
393
+ jupyter serverextension enable --py jupyter_lsp && \
394
+ jupyter labextension install --no-build @jupyterlab/toc && \
395
+ jupyter labextension install @jupyterlab/hdf5
396
+ jupyter nbextension enable execute_time/ExecuteTime && \
397
+ jupyter nbextension enable toc2/main && \
398
+ jupyter labextension install @pyviz/jupyterlab_pyviz && \
399
+ jupyter labextension install @bokeh/jupyter_bokeh && \
400
+ jupyter labextension install --no-build jupyterlab-nvdashboard && \
401
+ jupyter lab build
394
402
395
403
RUN apt autoclean && \
396
404
rm -rf /var/lib/apt/lists/* && \
0 commit comments