Skip to content

Commit 5e07a57

Browse files
committed
nvcc flags
1 parent 50bbe32 commit 5e07a57

File tree

1 file changed

+14
-195
lines changed

1 file changed

+14
-195
lines changed

ffmpeg/Dockerfile

Lines changed: 14 additions & 195 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ ENV MKL_BUILD=279
1313
ENV NUMPY_VERSION 1.19.4
1414
ENV SCIPY_VERSION 1.5.4
1515
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+
1624
# Python 3.8 is supported by Ubuntu Bionic out of the box
1725
ARG python=3.6
1826
ENV PYTHON_VERSION=${python}
@@ -101,8 +109,6 @@ RUN rm -fr /var/lib/apt/lists/* && \
101109
libportmidi-dev \
102110
libpq-dev \
103111
libproj-dev \
104-
# libprotoc \
105-
# libprotobuf \
106112
libprotobuf-dev \
107113
libsdl-dev \
108114
libsdl-image1.2-dev \
@@ -148,18 +154,15 @@ RUN rm -fr /var/lib/apt/lists/* && \
148154
python${PYTHON_VERSION} \
149155
python${PYTHON_VERSION}-dev \
150156
python3-gdal \
151-
# python3-vtk7 \
152157
qt5-default \
153158
qtbase5-dev \
154159
rsync \
155160
software-properties-common \
156-
# tcl-vtk7 \
157161
tesseract-ocr \
158162
tesseract-ocr-jpn \
159163
texinfo \
160164
v4l-utils \
161165
vim \
162-
# vtk7 \
163166
wget zip unzip \
164167
x264 \
165168
xvfb \
@@ -260,138 +263,6 @@ RUN python3 -m pip install --no-cache-dir \
260263
nvidia-pyindex==1.0.5 \
261264
matplotlib==3.3.3
262265

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-
395266
# Instaling NASM
396267
WORKDIR /usr/local/ffmpeg_sources
397268
RUN set -xe && \
@@ -526,9 +397,7 @@ RUN set -xe && \
526397
make -j$(nproc) && \
527398
make install
528399

529-
<<<<<<< HEAD
530400
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
532401

533402
# OpenCV
534403
WORKDIR /tmp
@@ -569,7 +438,7 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
569438
-D BUILD_opencv_java=OFF \
570439
-D BUILD_opencv_ml=ON \
571440
-D BUILD_opencv_objdetect=ON \
572-
# -D BUILD_opencv_photo=ON \
441+
-D BUILD_opencv_photo=ON \
573442
-D BUILD_opencv_python2=OFF \
574443
-D BUILD_opencv_python3=ON \
575444
-D BUILD_opencv_stitching=ON \
@@ -580,14 +449,13 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
580449
-D BUILD_opencv_videostab=ON \
581450
-D CMAKE_BUILD_TYPE=RELEASE \
582451
-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 \
584453
-D CUDA_ARCH_PTX=7.5 \
585454
-D CUDA_BIN_PATH=/usr/local/cuda \
586455
-D CUDA_CUDA_LIBRARY=/usr/lib/x86_64-linux-gnu/stubs/libcuda.so \
587456
-D CUDA_FAST_MATH=ON \
588457
-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" \
591459
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.1 \
592460
-D CUDNN_INCLUDE_DIR=/usr/local/cuda/include \
593461
-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 && \
608476
-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')))") \
609477
-D PYTHON_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \
610478
-D WITH_1394=OFF \
611-
# -D WITH_1394=ON \
612479
-D WITH_CUBLAS=ON \
613480
-D WITH_CUDA=ON \
614481
-D WITH_CUDNN=ON \
615482
-D WITH_CUFFT=ON \
616483
-D WITH_EIGEN=ON \
617484
-D WITH_FFMPEG=ON \
618-
# -D WITH_GDAL=OFF \
619485
-D WITH_GDAL=ON \
620486
-D WITH_GIGEAPI=ON \
621487
-D WITH_GPHOTO2=ON \
@@ -643,7 +509,6 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
643509
-D WITH_PTHREADS_PF=OFF \
644510
-D WITH_PVAPI=ON \
645511
-D WITH_QT=OFF \
646-
# -D WITH_QT=ON \
647512
-D WITH_TBB=ON \
648513
-D WITH_TIFF=ON \
649514
-D WITH_UNICAP=OFF \
@@ -653,59 +518,13 @@ RUN cd /tmp/opencv-${OPENCV_VERSION}/cmake_binary && \
653518
-D WITH_XIMEA=OFF \
654519
-D WITH_XINE=OFF \
655520
-D WITH_ZLIB=ON \
656-
-G Ninja \
521+
# -G Ninja \
657522
-D CMAKE_INSTALL_PREFIX=/usr/local \
658523
.. 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
667526

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
705527

706-
# clean up
707-
WORKDIR /
708-
>>>>>>> 12c533965e707a0a9b16f3e1666046d3dc4ab880
709528
RUN set -xe && \
710529
apt update -y && \
711530
apt install sudo && \

0 commit comments

Comments
 (0)