@@ -13,6 +13,14 @@ ENV MKL_BUILD=279
13
13
ENV NUMPY_VERSION 1.19.4
14
14
ENV SCIPY_VERSION 1.5.4
15
15
ENV OPENMPI 4.0.5
16
+ ENV NVIDIA_VISIBLE_DEVICES all
17
+ ENV NVIDIA_DRIVER_CAPABILITIES video,compute,utility
18
+
19
+ ARG NASM_VER="2.15.05"
20
+ ARG YASM_VER="1.3.0"
21
+ ARG LAME_VER="3.100"
22
+ ARG FFMPEG_VER="4.3.2"
23
+
16
24
# Python 3.8 is supported by Ubuntu Bionic out of the box
17
25
ARG python=3.6
18
26
ENV PYTHON_VERSION=${python}
@@ -101,8 +109,6 @@ RUN rm -fr /var/lib/apt/lists/* && \
101
109
libportmidi-dev \
102
110
libpq-dev \
103
111
libproj-dev \
104
- # libprotoc \
105
- # libprotobuf \
106
112
libprotobuf-dev \
107
113
libsdl-dev \
108
114
libsdl-image1.2-dev \
@@ -148,18 +154,15 @@ RUN rm -fr /var/lib/apt/lists/* && \
148
154
python${PYTHON_VERSION} \
149
155
python${PYTHON_VERSION}-dev \
150
156
python3-gdal \
151
- # python3-vtk7 \
152
157
qt5-default \
153
158
qtbase5-dev \
154
159
rsync \
155
160
software-properties-common \
156
- # tcl-vtk7 \
157
161
tesseract-ocr \
158
162
tesseract-ocr-jpn \
159
163
texinfo \
160
164
v4l-utils \
161
165
vim \
162
- # vtk7 \
163
166
wget zip unzip \
164
167
x264 \
165
168
xvfb \
@@ -260,138 +263,6 @@ RUN python3 -m pip install --no-cache-dir \
260
263
nvidia-pyindex==1.0.5 \
261
264
matplotlib==3.3.3
262
265
263
- ENV DEBIAN_FRONTEND noninteractive
264
- ENV NVIDIA_VISIBLE_DEVICES all
265
- ENV NVIDIA_DRIVER_CAPABILITIES video,compute,utility
266
-
267
- ARG NASM_VER="2.15.05"
268
- ARG YASM_VER="1.3.0"
269
- ARG LAME_VER="3.100"
270
- ARG FFMPEG_VER="4.3.2"
271
- ARG python=3.8
272
- ENV PYTHON_VERSION=${python}
273
-
274
- ENV DEBIAN_FRONTEND=noninteractive \
275
- MPLBACKEND=Svg \
276
- PYTHONUNBUFFERED=1 \
277
- LIBRARY_PATH=/usr/local/cuda/lib64/stubs \
278
- _CUDA_COMPAT_PATH="/usr/local/cuda/compat" \
279
- LD_LIBRARY_PATH="/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/compat/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64" \
280
- PATH="/usr/local/mpi/bin:/usr/local/ucx:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/bin/cmake/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/tensorrt/bin:" \
281
- LANG=C.UTF-8
282
-
283
- # Set default shell to /bin/bash
284
- SHELL ["/bin/bash" , "-cu" ]
285
-
286
-
287
- RUN set -xe && \
288
- apt-get update -y && \
289
- apt-get install -y --no-install-recommends software-properties-common wget && \
290
- add-apt-repository -y ppa:deadsnakes/ppa && \
291
- apt-get update -y && \
292
- apt-get install -y --no-install-recommends \
293
- ca-certificates \
294
- curl \
295
- dkms \
296
- fonts-nanum \
297
- fonts-nanum-coding \
298
- fonts-nanum-extra \
299
- g++ \
300
- gfortran \
301
- htop \
302
- iputils-ping \
303
- libasound2-dev \
304
- libavcodec-dev \
305
- libboost-dev \
306
- libboost-filesystem-dev \
307
- libboost-system-dev \
308
- libcairo2-dev libgirepository1.0-dev pkg-config gir1.2-gtk-3.0 \
309
- libgdal-dev python3-gdal \
310
- libnuma-dev \
311
- libopenblas-dev liblapack-dev \
312
- libsm6 \
313
- libswscale-dev \
314
- libv4l-dev \
315
- libxext6 \
316
- libxine2-dev \
317
- libxml2-dev \
318
- libxrender-dev \
319
- libxslt1-dev \
320
- make \
321
- mime-support \
322
- net-tools \
323
- openssh-server \
324
- pdsh \
325
- proj-bin libproj-dev libgeos-dev libgeos++-dev graphviz \
326
- subversion \
327
- unzip \
328
- xvfb \
329
- xz-utils \
330
- yasm \
331
- zip \
332
- openssh-client \
333
- build-essential \
334
- gcc \
335
- git \
336
- libavformat-dev \
337
- libcurl3-dev \
338
- libfreetype6-dev \
339
- libgeos-dev libgeos++-dev \
340
- libhdf5-serial-dev \
341
- libjpeg-dev \
342
- libmpdec2 \
343
- libpng-dev \
344
- libsdl-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev \
345
- libsmpeg-dev libportmidi-dev libavformat-dev libswscale-dev \
346
- libssl-dev \
347
- libtiff-dev \
348
- libzmq3-dev \
349
- pkg-config \
350
- python${PYTHON_VERSION} \
351
- python${PYTHON_VERSION}-dev \
352
- vim \
353
- wget \
354
- zlib1g-dev \
355
- wget build-essential automake autoconf git libtool libvorbis-dev \
356
- libass-dev libfreetype6-dev libsdl2-dev libva-dev libvdpau-dev \
357
- libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev \
358
- mercurial libnuma-dev texinfo zlib1g-dev \
359
- qtbase5-dev && \
360
- <<<<<<< HEAD
361
- mkdir -p /usr/local/ffmpeg_sources
362
- =======
363
- mkdir -p /usr/local/ffmpeg_sources && \
364
- ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h && \
365
- mkdir -p /etc/OpenCL/vendors && \
366
- echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icdn && \
367
- apt-get clean && \
368
- rm -rf /var/lib/apt/lists/
369
-
370
- WORKDIR /tmp
371
- RUN curl -fsSL https://developer.download.nvidia.com/compute/redist/nccl/v2.8/nccl_2.8.4-1+cuda11.1_x86_64.txz -O && \
372
- tar --no-same-owner --keep-old-files --lzma -xvf nccl_2.8.4-1+cuda11.1_x86_64.txz -C /usr/local/cuda/lib64/ --strip-components=2 --wildcards '*/lib/libnccl.so.*' && \
373
- tar --no-same-owner --keep-old-files --lzma -xvf nccl_2.8.4-1+cuda11.1_x86_64.txz -C /usr/lib/pkgconfig/ --strip-components=3 --wildcards '*/lib/pkgconfig/*' && \
374
- rm nccl_2.8.4-1+cuda11.1_x86_64.txz && \
375
- ldconfig
376
-
377
- RUN ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 && \
378
- echo "/usr/local/cuda/lib64/stubs" > /etc/ld.so.conf.d/z-cuda-stubs.conf && \
379
- ldconfig
380
-
381
- RUN wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0-Linux-x86_64.sh \
382
- -q -O /tmp/cmake-install.sh && \
383
- chmod u+x /tmp/cmake-install.sh && \
384
- mkdir /usr/bin/cmake && \
385
- /tmp/cmake-install.sh --skip-license --prefix=/usr/bin/cmake && \
386
- rm /tmp/cmake-install.sh
387
-
388
- RUN rm /usr/bin/python3 && \
389
- ln -s /usr/bin/python3.8 /usr/bin/python3 && \
390
- update-alternatives --install /usr/bin/python python /usr/bin/python3 1 && \
391
- update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
392
-
393
- >>>>>>> 12c533965e707a0a9b16f3e1666046d3dc4ab880
394
-
395
266
# Instaling NASM
396
267
WORKDIR /usr/local/ffmpeg_sources
397
268
RUN set -xe && \
@@ -526,9 +397,7 @@ RUN set -xe && \
526
397
make -j$(nproc) && \
527
398
make install
528
399
529
- <<<<<<< HEAD
530
400
RUN ln -s /usr/include/x86_64-linux-gnu/cudnn_v7.h /usr/local/cuda/include/cudnn.h
531
- # ln -s /usr/lib/x86_64-linux-gnu/libcudnn.so.7 /usr/local/cuda/lib
532
401
533
402
# OpenCV
534
403
WORKDIR /tmp
@@ -569,7 +438,7 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
569
438
-D BUILD_opencv_java=OFF \
570
439
-D BUILD_opencv_ml=ON \
571
440
-D BUILD_opencv_objdetect=ON \
572
- # -D BUILD_opencv_photo=ON \
441
+ -D BUILD_opencv_photo=ON \
573
442
-D BUILD_opencv_python2=OFF \
574
443
-D BUILD_opencv_python3=ON \
575
444
-D BUILD_opencv_stitching=ON \
@@ -580,14 +449,13 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
580
449
-D BUILD_opencv_videostab=ON \
581
450
-D CMAKE_BUILD_TYPE=RELEASE \
582
451
-D CMAKE_INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)" ) \
583
- -D CUDA_ARCH_BIN=7.5 \
452
+ # -D CUDA_ARCH_BIN=7.5 \
584
453
-D CUDA_ARCH_PTX=7.5 \
585
454
-D CUDA_BIN_PATH=/usr/local/cuda \
586
455
-D CUDA_CUDA_LIBRARY=/usr/lib/x86_64-linux-gnu/stubs/libcuda.so \
587
456
-D CUDA_FAST_MATH=ON \
588
457
-D CUDA_HOST_COMPILER=/usr/bin/gcc-6 \
589
- -D CUDA_NVCC_FLAGS=--expt-relaxed-constexpr \
590
- # -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
458
+ -D CUDA_NVCC_FLAGS="-D_FORCE_INLINES --expt-relaxed-constexpr" \
591
459
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.1 \
592
460
-D CUDNN_INCLUDE_DIR=/usr/local/cuda/include \
593
461
-D CUDNN_LIBRARY=/usr/lib/x86_64-linux-gnu/libcudnn.so.7.6.5 \
@@ -608,14 +476,12 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
608
476
-D PYTHON_LIBRARY=$(python3 -c "from distutils.sysconfig import get_config_var;from os.path import dirname,join ; print(join(dirname(get_config_var('LIBPC')),get_config_var('LDLIBRARY')))" ) \
609
477
-D PYTHON_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" ) \
610
478
-D WITH_1394=OFF \
611
- # -D WITH_1394=ON \
612
479
-D WITH_CUBLAS=ON \
613
480
-D WITH_CUDA=ON \
614
481
-D WITH_CUDNN=ON \
615
482
-D WITH_CUFFT=ON \
616
483
-D WITH_EIGEN=ON \
617
484
-D WITH_FFMPEG=ON \
618
- # -D WITH_GDAL=OFF \
619
485
-D WITH_GDAL=ON \
620
486
-D WITH_GIGEAPI=ON \
621
487
-D WITH_GPHOTO2=ON \
@@ -643,7 +509,6 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
643
509
-D WITH_PTHREADS_PF=OFF \
644
510
-D WITH_PVAPI=ON \
645
511
-D WITH_QT=OFF \
646
- # -D WITH_QT=ON \
647
512
-D WITH_TBB=ON \
648
513
-D WITH_TIFF=ON \
649
514
-D WITH_UNICAP=OFF \
@@ -653,59 +518,13 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
653
518
-D WITH_XIMEA=OFF \
654
519
-D WITH_XINE=OFF \
655
520
-D WITH_ZLIB=ON \
656
- -G Ninja \
521
+ # -G Ninja \
657
522
-D CMAKE_INSTALL_PREFIX=/usr/local \
658
523
.. 2>&1 | tee cmake_messages.txt
659
- RUN cd /tmp/opencv-4.5.2/cmake_binary && ninja
660
- # make -j$(nproc) && \
661
- # make install
662
-
663
-
664
- WORKDIR /usr/local
665
- =======
666
- # OpenCV
524
+ # RUN cd /tmp/opencv-4.5.2/cmake_binary && ninja
525
+ RUN make -j$(nproc) && make install
667
526
668
- WORKDIR /tmp
669
- ENV OPENCV_VERSION="4.5.2"
670
- RUN wget https://github.com/opencv/opencv/archive/refs/tags/${OPENCV_VERSION}.zip && \
671
- wget -O opencv-contrib.zip https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip && \
672
- unzip ${OPENCV_VERSION}.zip && \
673
- unzip opencv-contrib.zip && \
674
- mkdir opencv-${OPENCV_VERSION}/cmake_binary && \
675
- cd opencv-${OPENCV_VERSION}/cmake_binary && \
676
- cmake \
677
- -DCMAKE_BUILD_TYPE=RELEASE \
678
- -D BUILD_TIFF=ON \
679
- -D BUILD_opencv_java=OFF \
680
- -D WITH_CUDA=ON \
681
- -D CUDA_NVCC_FLAGS=--expt-relaxed-constexpr \
682
- -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-11.1 \
683
- -D ENABLE_FAST_MATH=1 \
684
- -D CUDA_FAST_MATH=1 \
685
- -D WITH_CUBLAS=1 \
686
- -D WITH_OPENGL=ON \
687
- -D WITH_OPENCL=ON \
688
- -D WITH_IPP=ON \
689
- -D WITH_TBB=ON \
690
- -D WITH_EIGEN=ON \
691
- -D WITH_V4L=ON \
692
- -D WITH_FFMPEG=ON \
693
- -D WITH_GSTREAMER=ON \
694
- -D BUILD_TESTS=OFF \
695
- -D BUILD_PERF_TESTS=OFF \
696
- -D OPENCV_EXTRA_MODULES_PATH="../../opencv_contrib-4.5.2/modules" \
697
- -D CMAKE_BUILD_TYPE=RELEASE \
698
- -D CMAKE_INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)" ) \
699
- -D PYTHON_EXECUTABLE=$(which python3) \
700
- -D PYTHON_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())" ) \
701
- -D PYTHON_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" ) \
702
- .. 2>&1 | tee cmake_messages.txt && \
703
- make -j$(nproc) && \
704
- make install
705
527
706
- # clean up
707
- WORKDIR /
708
- >>>>>>> 12c533965e707a0a9b16f3e1666046d3dc4ab880
709
528
RUN set -xe && \
710
529
apt update -y && \
711
530
apt install sudo && \
0 commit comments