Merge pull request #3685 from cenit/dev/cenit/opencv_fix

use newer Ubuntu for CI, minor fixes for darknet library (export missing defines and includes, hide unnecessary public symbols)
pull/2830/head^2
Alexey 6 years ago committed by GitHub
commit 6467dc576a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      .gitignore
  2. 805
      .travis.yml
  3. 132
      CMakeLists.txt
  4. 2
      README.md
  5. 7
      cmake/Modules/FindCUDNN.cmake
  6. 12
      cmake/Modules/FindPThreads_windows.cmake
  7. 21
      src/gemm.c

3
.gitignore vendored

@ -52,3 +52,6 @@ src/version.h
lib/
share/
include/darknet/
uselib
uselib_track
darknet

@ -9,14 +9,14 @@ matrix:
- os: osx
compiler: gcc
name: macOS - native gcc (llvm backend)
name: macOS - gcc (llvm backend)
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: osx
compiler: gcc
name: macOS - native gcc (llvm backend) - opencv@2
name: macOS - gcc (llvm backend) - opencv@2
env:
- OpenCV_DIR="/usr/local/opt/opencv@2/"
- additional_defines="-DOpenCV_DIR=${OpenCV_DIR}"
@ -24,7 +24,7 @@ matrix:
- os: osx
compiler: gcc
name: macOS - native gcc (llvm backend) - opencv@3
name: macOS - gcc (llvm backend) - opencv@3
env:
- OpenCV_DIR="/usr/local/opt/opencv@3/"
- additional_defines="-DOpenCV_DIR=${OpenCV_DIR}"
@ -32,28 +32,28 @@ matrix:
- os: osx
compiler: gcc
name: macOS - native gcc (llvm backend) - opencv(latest)
name: macOS - gcc (llvm backend) - opencv(latest)
env:
- additional_defines=""
- MATRIX_EVAL="brew install opencv"
- os: osx
compiler: clang
name: macOS - native clang
name: macOS - clang
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: osx
compiler: clang
name: macOS - native clang - C++ mode
name: macOS - clang - C++ mode
env:
- additional_defines="-DBUILD_AS_CPP:BOOL=TRUE"
- MATRIX_EVAL=""
- os: osx
compiler: clang
name: macOS - native clang - opencv@2
name: macOS - clang - opencv@2
env:
- OpenCV_DIR="/usr/local/opt/opencv@2/"
- additional_defines="-DOpenCV_DIR=${OpenCV_DIR}"
@ -61,7 +61,7 @@ matrix:
- os: osx
compiler: clang
name: macOS - native clang - opencv@3
name: macOS - clang - opencv@3
env:
- OpenCV_DIR="/usr/local/opt/opencv@3/"
- additional_defines="-DOpenCV_DIR=${OpenCV_DIR}"
@ -69,13 +69,13 @@ matrix:
- os: osx
compiler: clang
name: macOS - native clang - opencv(latest)
name: macOS - clang - opencv(latest)
env:
- additional_defines=""
- MATRIX_EVAL="brew install opencv"
- os: osx
name: macOS - vcpkg
name: macOS - clang - vcpkg
osx_image: xcode10.1
env:
- additional_defines=""
@ -85,598 +85,68 @@ matrix:
- os: linux
compiler: clang
name: ubuntu 14.04 - native clang
addons:
apt:
update: true
dist: bionic
name: ubuntu 18.04 - clang
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.6
addons:
apt:
update: true
packages:
- clang-3.6
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.6 && export CXX=clang++-3.6"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.8
addons:
apt:
update: true
sources:
- llvm-toolchain-precise-3.8
packages:
- clang-3.8
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.8 && export CXX=clang++-3.8"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.9
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-3.9
packages:
- clang-3.9
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.9 && export CXX=clang++-3.9"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@4.0
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-4.0
packages:
- clang-4.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-4.0 && export CXX=clang++-4.0"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@5.0
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-5.0
packages:
- clang-5.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-5.0 && export CXX=clang++-5.0"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@6.0
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
packages:
- clang-6.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-6.0 && export CXX=clang++-6.0"
- os: linux
compiler: gcc
name: ubuntu 14.04 - native gcc
addons:
apt:
update: true
dist: bionic
name: ubuntu 18.04 - gcc
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: linux
compiler: gcc
name: ubuntu 14.04 - native gcc - C++ mode
addons:
apt:
update: true
dist: bionic
name: ubuntu 18.04 - g++
env:
- additional_defines="-DBUILD_AS_CPP:BOOL=TRUE"
- MATRIX_EVAL=""
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@4.9
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.9
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-4.9 && export CXX=g++-4.9"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@5.0
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-5
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-5 && export CXX=g++-5"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@6.0
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-6 && export CXX=g++-6"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@7.0
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-7 && export CXX=g++-7"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@8.0
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-8 && export CXX=g++-8"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@8.0 - vcpkg
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
dist: bionic
name: ubuntu 18.04 - gcc - vcpkg
env:
- additional_defines=""
- USE_VCPKG=true
- VCPKG_DEFINES="-DCMAKE_TOOLCHAIN_FILE=$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake"
- MATRIX_EVAL="export CC=gcc-8 && export CXX=g++-8"
- os: linux
compiler: clang
name: ubuntu 14.04 - native clang - opencv@2
addons:
apt:
update: true
packages:
- libopencv-dev
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.6 - opencv@2
addons:
apt:
update: true
packages:
- libopencv-dev
- clang-3.6
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.6 && export CXX=clang++-3.6"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.8 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-precise-3.8
packages:
- libopencv-dev
- clang-3.8
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.8 && export CXX=clang++-3.8"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.9 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-3.9
packages:
- libopencv-dev
- clang-3.9
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.9 && export CXX=clang++-3.9"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@4.0 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-4.0
packages:
- libopencv-dev
- clang-4.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-4.0 && export CXX=clang++-4.0"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@5.0 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-5.0
packages:
- libopencv-dev
- clang-5.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-5.0 && export CXX=clang++-5.0"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@6.0 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- clang-6.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-6.0 && export CXX=clang++-6.0"
- os: linux
compiler: gcc
name: ubuntu 14.04 - native gcc - opencv@2
addons:
apt:
update: true
packages:
- libopencv-dev
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@4.9 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-4.9
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-4.9 && export CXX=g++-4.9"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@5.0 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-5
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-5 && export CXX=g++-5"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@6.0 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
- libopencv-dev
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-6 && export CXX=g++-6"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@7.0 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-7
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-7 && export CXX=g++-7"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@8.0 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-8
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-8 && export CXX=g++-8"
- os: linux
compiler: clang
name: ubuntu 14.04 - native clang - opencv@3
dist: bionic
name: ubuntu 18.04 - clang - opencv@3
addons:
apt:
update: true
sources:
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.6 - opencv@3
addons:
apt:
update: true
sources:
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- clang-3.6
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.6 && export CXX=clang++-3.6"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.8 - opencv@3
addons:
apt:
update: true
sources:
- llvm-toolchain-precise-3.8
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- clang-3.8
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.8 && export CXX=clang++-3.8"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.9 - opencv@3
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-3.9
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- clang-3.9
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-3.9 && export CXX=clang++-3.9"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@4.0 - opencv@3
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-4.0
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- clang-4.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-4.0 && export CXX=clang++-4.0"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@5.0 - opencv@3
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-5.0
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- clang-5.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-5.0 && export CXX=clang++-5.0"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@6.0 - opencv@3
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- clang-6.0
env:
- additional_defines=""
- MATRIX_EVAL="export CC=clang-6.0 && export CXX=clang++-6.0"
- os: linux
compiler: gcc
name: ubuntu 14.04 - native gcc - opencv@3
dist: bionic
name: ubuntu 18.04 - gcc - opencv@3
addons:
apt:
update: true
sources:
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
env:
- additional_defines=""
- MATRIX_EVAL=""
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@4.9 - opencv@3
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- g++-4.9
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-4.9 && export CXX=g++-4.9"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@5.0 - opencv@3
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- g++-5
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-5 && export CXX=g++-5"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@6.0 - opencv@3
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- g++-6
- libopencv-dev
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-6 && export CXX=g++-6"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@7.0 - opencv@3
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- g++-7
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-7 && export CXX=g++-7"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@8.0 - opencv@3
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:timsc/opencv-3.4'
packages:
- libopencv-dev
- g++-8
env:
- additional_defines=""
- MATRIX_EVAL="export CC=gcc-8 && export CXX=g++-8"
- os: linux
compiler: clang
name: ubuntu 14.04 - native clang - CUDA 10 - opencv@2
dist: bionic
name: ubuntu 18.04 - clang - CUDA 10 - opencv@3
addons:
apt:
update: true
@ -690,122 +160,10 @@ matrix:
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.6 - CUDA 10 - opencv@2
addons:
apt:
update: true
packages:
- libopencv-dev
- clang-3.6
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=clang-3.6 && export CXX=clang++-3.6 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.8 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-precise-3.8
packages:
- libopencv-dev
- clang-3.8
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=clang-3.8 && export CXX=clang++-3.8 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@3.9 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-3.9
packages:
- libopencv-dev
- clang-3.9
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=clang-3.9 && export CXX=clang++-3.9 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@4.0 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-4.0
packages:
- libopencv-dev
- clang-4.0
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=clang-4.0 && export CXX=clang++-4.0 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@5.0 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-5.0
packages:
- libopencv-dev
- clang-5.0
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=clang-5.0 && export CXX=clang++-5.0 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: clang
name: ubuntu 14.04 - clang@6.0 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- llvm-toolchain-trusty-6.0
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- clang-6.0
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=clang-6.0 && export CXX=clang++-6.0 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: gcc
name: ubuntu 14.04 - native gcc - CUDA 10 - opencv@2
dist: bionic
name: ubuntu 18.04 - gcc - CUDA 10 - opencv@3
addons:
apt:
update: true
@ -821,109 +179,8 @@ matrix:
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@4.9 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-4.9
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=gcc-4.9 && export CXX=g++-4.9 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@5.0 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-5
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=gcc-5 && export CXX=g++-5 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@6.0 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-6
- libopencv-dev
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=gcc-6 && export CXX=g++-6 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@7.0 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-7
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=gcc-7 && export CXX=g++-7 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@8.0 - CUDA 10 - opencv@2
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- libopencv-dev
- g++-8
env:
- additional_defines=""
- CUDACXX=/usr/local/cuda-10.0/bin/nvcc
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=gcc-8 && export CXX=g++-8 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- os: linux
compiler: gcc
name: ubuntu 14.04 - gcc@8.0 - CUDA 10 - vcpkg
addons:
apt:
update: true
sources:
- ubuntu-toolchain-r-test
packages:
- g++-8
dist: bionic
name: ubuntu 18.04 - gcc - CUDA 10 - vcpkg
env:
- additional_defines=""
- USE_VCPKG=true
@ -932,12 +189,12 @@ matrix:
- CUDA_PATH=/usr/local/cuda-10.0
- CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0
- LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/local/cuda-10.0/lib64/stubs:${LD_LIBRARY_PATH}"
- MATRIX_EVAL="export CC=gcc-8 && export CXX=g++-8 && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
- MATRIX_EVAL="wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/7fa2af80.pub && sudo dpkg -i cuda-repo-ubuntu1404_10.0.130-1_amd64.deb && wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo dpkg -i nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb && sudo apt-get -y update && sudo apt-get install -y --no-install-recommends cuda-compiler-10-0 cuda-libraries-dev-10-0 cuda-driver-dev-10-0 cuda-cudart-dev-10-0 cuda-cublas-dev-10-0 cuda-curand-dev-10-0 && sudo apt-get install -y --no-install-recommends libcudnn7-dev && sudo ln -s /usr/local/cuda-10.0/lib64/stubs/libcuda.so /usr/local/cuda-10.0/lib64/stubs/libcuda.so.1"
# allow_failures:
# - name: macOS - vcpkg
# - name: ubuntu 14.04 - gcc@8.0 - vcpkg
# - name: ubuntu 14.04 - gcc@8.0 - CUDA 10 - vcpkg
# - name: ubuntu 18.04 - gcc - vcpkg
# - name: ubuntu 18.04 - gcc - CUDA 10 - vcpkg
before_install:
- travis_retry eval "${MATRIX_EVAL}"

@ -3,13 +3,23 @@ cmake_minimum_required(VERSION 3.8)
set(Darknet_MAJOR_VERSION 0)
set(Darknet_MINOR_VERSION 2)
set(Darknet_PATCH_VERSION 5)
set(Darknet_VERSION ${Darknet_MAJOR_VERSION}.${Darknet_MINOR_VERSION}.${Darknet_PATCH_VERSION})
set(CMAKE_VERBOSE_MAKEFILE "FALSE" CACHE BOOL "Create verbose makefile")
set(BUILD_SHARED_LIBS "TRUE" CACHE BOOL "Create dark as a shared library")
set(BUILD_AS_CPP "FALSE" CACHE BOOL "Build Darknet using C++ compiler also for C files")
if(DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(Darknet_TWEAK_VERSION 1)
set(Darknet_VERSION ${Darknet_MAJOR_VERSION}.${Darknet_MINOR_VERSION}.${Darknet_PATCH_VERSION}.${Darknet_TWEAK_VERSION})
option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF)
option(CUDA_VERBOSE_BUILD "Create verbose CUDA build" OFF)
option(BUILD_SHARED_LIBS "Create dark as a shared library" ON)
option(BUILD_AS_CPP "Build Darknet using C++ compiler also for C files" OFF)
option(BUILD_USELIB_TRACK "Build uselib_track" ON)
option(MANUALLY_EXPORT_TRACK_OPTFLOW "Manually export the TRACK_OPTFLOW=1 define" OFF)
option(ENABLE_OPENCV "Enable OpenCV integration" ON)
option(ENABLE_CUDA "Enable CUDA support" ON)
option(ENABLE_CUDNN "Enable CUDNN" ON)
option(ENABLE_CUDNN_HALF "Enable CUDNN Half precision" ON)
option(ENABLE_ZED_CAMERA "Enable ZED Camera support" ON)
option(ENABLE_VCPKG_INTEGRATION "Enable VCPKG integration" ON)
if(ENABLE_VCPKG_INTEGRATION AND DEFINED ENV{VCPKG_ROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
message(STATUS "VCPKG found: $ENV{VCPKG_ROOT}")
message(STATUS "Using VCPKG integration")
@ -38,11 +48,6 @@ set(INSTALL_LIB_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Path where lib
set(INSTALL_INCLUDE_DIR "include/darknet" CACHE PATH "Path where headers will be installed")
set(INSTALL_CMAKE_DIR "share/darknet" CACHE PATH "Path where cmake configs will be installed")
set(ENABLE_OPENCV "TRUE" CACHE BOOL "Enable OpenCV integration")
set(ENABLE_CUDA "TRUE" CACHE BOOL "Enable CUDA support")
set(ENABLE_CUDNN "FALSE" CACHE BOOL "Enable CUDNN")
set(ENABLE_CUDNN_HALF "FALSE" CACHE BOOL "Enable CUDNN Half precision")
if(${CMAKE_VERSION} VERSION_LESS "3.9.0")
message(WARNING "To build with CUDA support you need CMake 3.9.0+")
set(ENABLE_CUDA "FALSE" CACHE BOOL "Enable CUDA support" FORCE)
@ -60,9 +65,9 @@ else()
else()
cuda_select_nvcc_arch_flags(CUDA_ARCH_FLAGS ${CUDA_ARCHITECTURES})
message(STATUS "Building with CUDA flags: " "${CUDA_ARCH_FLAGS}")
if ("arch=compute_75,code=sm_75" IN_LIST CUDA_ARCH_FLAGS)
set(ENABLE_CUDNN_HALF "TRUE" CACHE BOOL "Enable CUDNN Half precision" FORCE)
message(STATUS "Your setup supports half precision!")
if (NOT "arch=compute_75,code=sm_75" IN_LIST CUDA_ARCH_FLAGS)
set(ENABLE_CUDNN_HALF "FALSE" CACHE BOOL "Enable CUDNN Half precision" FORCE)
message(STATUS "Your setup does not supports half precision (it requires CC >= 7.5)")
endif()
endif()
else()
@ -70,6 +75,12 @@ else()
endif()
endif()
if (WIN32 AND ENABLE_CUDA AND CMAKE_MAKE_PROGRAM MATCHES "ninja")
option(SELECT_OPENCV_MODULES "Use only few selected OpenCV modules to circumvent 8192 char limit when using Ninja on Windows" ON)
else()
option(SELECT_OPENCV_MODULES "Use only few selected OpenCV modules to circumvent 8192 char limit when using Ninja on Windows" OFF)
endif()
if(USE_INTEGRATED_LIBS)
set(PThreads_windows_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/pthreads CACHE PATH "Path where pthreads for windows can be located")
endif()
@ -84,27 +95,34 @@ endif()
if(ENABLE_OPENCV)
find_package(OpenCV)
if(OpenCV_FOUND)
if(TARGET opencv_world)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_world")
else()
if(TARGET opencv_video)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_video")
endif()
if(TARGET opencv_videoio)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_videoio")
endif()
if(TARGET opencv_highgui)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_highgui")
endif()
if(TARGET opencv_imgproc)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_imgproc")
endif()
if(TARGET opencv_imgcodecs)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_imgcodecs")
endif()
if(TARGET opencv_core)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_core")
if(SELECT_OPENCV_MODULES)
if(TARGET opencv_world)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_world")
else()
if(TARGET opencv_core)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_core")
endif()
if(TARGET opencv_highgui)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_highgui")
endif()
if(TARGET opencv_imgproc)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_imgproc")
endif()
if(TARGET opencv_video)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_video")
endif()
if(TARGET opencv_videoio)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_videoio")
endif()
if(TARGET opencv_imgcodecs)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_imgcodecs")
endif()
if(TARGET opencv_text)
list(APPEND OpenCV_LINKED_COMPONENTS "opencv_text")
endif()
endif()
else()
list(APPEND OpenCV_LINKED_COMPONENTS ${OpenCV_LIBS})
endif()
endif()
endif()
@ -144,10 +162,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffp-contract=fast -mavx -mavx2 -msse3 -msse4.1 -msse4.2 -msse4a")
endif()
set(SKIP_USELIB_TRACK "FALSE" CACHE BOOL "Skip building uselib_track" FORCE)
if(OpenCV_FOUND)
if(ENABLE_CUDA AND NOT OpenCV_CUDA_VERSION)
set(SKIP_USELIB_TRACK "TRUE" CACHE BOOL "Skip building uselib_track" FORCE)
set(BUILD_USELIB_TRACK "FALSE" CACHE BOOL "Build uselib_track" FORCE)
message(STATUS " -> darknet is fine for now, but uselib_track has been disabled!")
message(STATUS " -> Please rebuild OpenCV from sources with CUDA support to enable it")
elseif(ENABLE_CUDA AND OpenCV_CUDA_VERSION)
@ -162,8 +179,8 @@ endif()
if(ENABLE_CUDA)
find_package(CUDNN)
if(CUDNN_FOUND)
set(ENABLE_CUDNN "TRUE" CACHE BOOL "Enable CUDNN" FORCE)
if(NOT CUDNN_FOUND)
set(ENABLE_CUDNN "FALSE" CACHE BOOL "Enable CUDNN" FORCE)
endif()
endif()
@ -194,7 +211,6 @@ if(ENABLE_CUDA)
message(STATUS "CMAKE_CUDA_FLAGS: ${CMAKE_CUDA_FLAGS}")
endif()
set(ENABLE_ZED_CAMERA "TRUE" CACHE BOOL "Enable ZED Camera support")
if(ENABLE_CUDA)
if(ENABLE_ZED_CAMERA)
find_package(ZED 2 QUIET)
@ -280,7 +296,7 @@ if(BUILD_AS_CPP)
set_target_properties(dark PROPERTIES LINKER_LANGUAGE CXX)
endif()
if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRACK)
if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND BUILD_USELIB_TRACK)
add_executable(uselib_track ${CMAKE_CURRENT_LIST_DIR}/src/yolo_console_dll.cpp)
endif()
@ -303,6 +319,10 @@ target_compile_definitions(darknet PRIVATE -DUSE_CMAKE_LIBS)
target_compile_definitions(dark PRIVATE -DUSE_CMAKE_LIBS)
target_compile_definitions(uselib PRIVATE -DUSE_CMAKE_LIBS)
if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND BUILD_USELIB_TRACK AND NOT MANUALLY_EXPORT_TRACK_OPTFLOW)
target_compile_definitions(dark PUBLIC TRACK_OPTFLOW=1)
endif()
if(CUDNN_FOUND)
target_link_libraries(darknet PRIVATE CuDNN::CuDNN)
target_link_libraries(dark PRIVATE CuDNN::CuDNN)
@ -317,47 +337,51 @@ endif()
if(OpenCV_FOUND)
target_link_libraries(darknet PRIVATE ${OpenCV_LINKED_COMPONENTS})
target_link_libraries(uselib PRIVATE ${OpenCV_LINKED_COMPONENTS})
target_link_libraries(dark PRIVATE ${OpenCV_LINKED_COMPONENTS})
target_link_libraries(dark PUBLIC ${OpenCV_LINKED_COMPONENTS})
target_include_directories(dark PUBLIC ${OpenCV_INCLUDE_DIRS})
target_compile_definitions(darknet PRIVATE -DOPENCV)
target_compile_definitions(dark PUBLIC -DOPENCV)
endif()
if(OPENMP_FOUND)
target_link_libraries(darknet PUBLIC OpenMP::OpenMP_CXX)
target_link_libraries(darknet PUBLIC OpenMP::OpenMP_C)
target_link_libraries(darknet PRIVATE OpenMP::OpenMP_CXX)
target_link_libraries(darknet PRIVATE OpenMP::OpenMP_C)
target_link_libraries(dark PUBLIC OpenMP::OpenMP_CXX)
target_link_libraries(dark PUBLIC OpenMP::OpenMP_C)
endif()
if(CMAKE_COMPILER_IS_GNUCC)
target_link_libraries(darknet PRIVATE m)
target_link_libraries(dark PRIVATE m)
target_link_libraries(dark PUBLIC m)
endif()
if(MSVC)
target_link_libraries(darknet PRIVATE PThreads_windows::PThreads_windows)
target_link_libraries(darknet PRIVATE wsock32 ws2_32)
target_link_libraries(dark PRIVATE PThreads_windows::PThreads_windows)
target_link_libraries(dark PRIVATE wsock32 ws2_32)
target_link_libraries(dark PUBLIC PThreads_windows::PThreads_windows)
target_link_libraries(dark PUBLIC wsock32 ws2_32)
target_link_libraries(uselib PRIVATE PThreads_windows::PThreads_windows)
target_compile_definitions(darknet PRIVATE -D_CRT_RAND_S -DNOMINMAX -D_USE_MATH_DEFINES)
target_compile_definitions(dark PRIVATE -D_CRT_RAND_S -DNOMINMAX -D_USE_MATH_DEFINES)
target_compile_definitions(dark PUBLIC -D_CRT_SECURE_NO_WARNINGS)
target_compile_definitions(uselib PRIVATE -D_CRT_RAND_S -DNOMINMAX -D_USE_MATH_DEFINES)
endif()
target_link_libraries(darknet PUBLIC Threads::Threads)
target_link_libraries(darknet PRIVATE Threads::Threads)
target_link_libraries(dark PUBLIC Threads::Threads)
target_link_libraries(uselib PRIVATE Threads::Threads)
if(ENABLE_ZED_CAMERA)
target_link_libraries(darknet PRIVATE ${ZED_LIBRARIES})
target_link_libraries(dark PRIVATE ${ZED_LIBRARIES})
target_link_libraries(dark PUBLIC ${ZED_LIBRARIES})
target_link_libraries(uselib PRIVATE ${ZED_LIBRARIES})
target_compile_definitions(darknet PRIVATE -DZED_STEREO)
target_compile_definitions(uselib PRIVATE -DZED_STEREO)
target_compile_definitions(dark PRIVATE -DZED_STEREO)
target_compile_definitions(dark PUBLIC -DZED_STEREO)
endif()
if(ENABLE_CUDA)
target_include_directories(darknet PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
target_include_directories(darknet PRIVATE ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
target_include_directories(dark PUBLIC ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
target_link_libraries(darknet PRIVATE curand cublas cuda)
target_link_libraries(dark PRIVATE curand cublas cuda)
@ -372,7 +396,7 @@ if(USE_INTEGRATED_LIBS)
endif()
target_link_libraries(uselib PRIVATE dark)
if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRACK)
if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND BUILD_USELIB_TRACK)
target_link_libraries(uselib_track PRIVATE dark)
target_compile_definitions(uselib_track PRIVATE TRACK_OPTFLOW=1)
target_compile_definitions(uselib_track PRIVATE -DUSE_CMAKE_LIBS)
@ -386,8 +410,10 @@ if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRA
target_compile_definitions(uselib_track PRIVATE -DZED_STEREO)
endif()
if(MSVC)
target_link_libraries(uselib_track PRIVATE PThreads_windows::PThreads_windows)
target_compile_definitions(uselib_track PRIVATE -D_CRT_RAND_S -DNOMINMAX -D_USE_MATH_DEFINES)
endif()
target_link_libraries(uselib_track PRIVATE Threads::Threads)
endif()
#set_target_properties(dark PROPERTIES PUBLIC_HEADER "${exported_headers};${CMAKE_CURRENT_LIST_DIR}/include/yolo_v2_class.hpp")
@ -405,7 +431,7 @@ install(TARGETS dark EXPORT DarknetTargets
install(TARGETS uselib darknet
DESTINATION "${INSTALL_BIN_DIR}"
)
if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND NOT SKIP_USELIB_TRACK)
if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER "3.0" AND BUILD_USELIB_TRACK)
install(TARGETS uselib_track
DESTINATION "${INSTALL_BIN_DIR}"
)

@ -1,4 +1,4 @@
# Yolo-v3 and Yolo-v2 for Windows and Linux
# Yolo-v3 and Yolo-v2 for Windows and Linux
### (neural network for object detection) - Tensor Cores can be used on [Linux](https://github.com/AlexeyAB/darknet#how-to-compile-on-linux) and [Windows](https://github.com/AlexeyAB/darknet#how-to-compile-on-windows-using-vcpkg)
More details: http://pjreddie.com/darknet/yolo/

@ -70,10 +70,11 @@ mark_as_advanced(CUDNN_LIBRARY CUDNN_INCLUDE_DIR)
# Release libraries), we will set appropriate target properties for these.
# 2. However, for most systems, we will only register the import location and
# include directory.
# Look for dlls, for Release and Debug libraries.
if(WIN32)
string( REPLACE ".lib" ".dll" CUDNN_LIBRARY_DLL "${CUDNN_LIBRARY}" )
set(CUDNN_DLL_DIR ${CUDNN_INCLUDE_DIR})
list(TRANSFORM CUDNN_DLL_DIR APPEND "/../bin")
message(STATUS "CUDNN_DLL_DIR: ${CUDNN_DLL_DIR}")
find_file(CUDNN_LIBRARY_DLL NAMES cudnn64_7.dll PATHS ${CUDNN_DLL_DIR})
endif()
if( CUDNN_FOUND AND NOT TARGET CuDNN::CuDNN )

@ -39,6 +39,12 @@ endif()
find_package_handle_standard_args(PThreads_windows DEFAULT_MSG PThreads_windows_LIBRARY PThreads_windows_INCLUDE_DIR)
mark_as_advanced(PThreads_windows_INCLUDE_DIR PThreads_windows_LIBRARY)
set(PThreads_windows_DLL_DIR ${PThreads_windows_INCLUDE_DIR})
list(TRANSFORM PThreads_windows_DLL_DIR APPEND "/../bin")
message(STATUS "PThreads_windows_DLL_DIR: ${PThreads_windows_DLL_DIR}")
find_file(PThreads_windows_LIBRARY_RELEASE_DLL NAMES pthreadVC2.dll PATHS ${PThreads_windows_DLL_DIR})
find_file(PThreads_windows_LIBRARY_DEBUG_DLL NAMES pthreadVC2d.dll PATHS ${PThreads_windows_DLL_DIR})
# Register imported libraries:
# 1. If we can find a Windows .dll file (or if we can find both Debug and
@ -46,12 +52,6 @@ mark_as_advanced(PThreads_windows_INCLUDE_DIR PThreads_windows_LIBRARY)
# 2. However, for most systems, we will only register the import location and
# include directory.
# Look for dlls, for Release and Debug libraries.
if(WIN32)
string( REPLACE ".lib" ".dll" PThreads_windows_LIBRARY_RELEASE_DLL "${PThreads_windows_LIBRARY_RELEASE}" )
string( REPLACE ".lib" ".dll" PThreads_windows_LIBRARY_DEBUG_DLL "${PThreads_windows_LIBRARY_DEBUG}" )
endif()
if( PThreads_windows_FOUND AND NOT TARGET PThreads_windows::PThreads_windows )
if( EXISTS "${PThreads_windows_LIBRARY_RELEASE_DLL}" )
add_library( PThreads_windows::PThreads_windows SHARED IMPORTED )

@ -550,7 +550,26 @@ static inline float _castu32_f32(uint32_t a) {
}
static inline float _mm256_extract_float32(__m256 a, const int index) {
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), index));
switch(index) {
case 0:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 0));
case 1:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 1));
case 2:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 2));
case 3:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 3));
case 4:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 4));
case 5:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 5));
case 6:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 6));
case 7:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 7));
default:
return _castu32_f32(_mm256_extract_epi32(_mm256_castps_si256(a), 0));
}
}
void asm_cpuid(uint32_t* abcd, uint32_t eax)

Loading…
Cancel
Save