2016-09-07 23:02:36 +08:00
|
|
|
#ifndef OPENCV_CVCONFIG_H_INCLUDED
|
|
|
|
#define OPENCV_CVCONFIG_H_INCLUDED
|
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* OpenCV compiled as static or dynamic libs */
|
|
|
|
#cmakedefine BUILD_SHARED_LIBS
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2016-09-07 23:02:36 +08:00
|
|
|
/* OpenCV intrinsics optimized code */
|
|
|
|
#cmakedefine CV_ENABLE_INTRINSICS
|
|
|
|
|
|
|
|
/* OpenCV additional optimized code */
|
|
|
|
#cmakedefine CV_DISABLE_OPTIMIZATION
|
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* Compile for 'real' NVIDIA GPU architectures */
|
|
|
|
#define CUDA_ARCH_BIN "${OPENCV_CUDA_ARCH_BIN}"
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* Create PTX or BIN for 1.0 compute capability */
|
|
|
|
#cmakedefine CUDA_ARCH_BIN_OR_PTX_10
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* NVIDIA GPU features are used */
|
|
|
|
#define CUDA_ARCH_FEATURES "${OPENCV_CUDA_ARCH_FEATURES}"
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* Compile for 'virtual' NVIDIA PTX architectures */
|
|
|
|
#define CUDA_ARCH_PTX "${OPENCV_CUDA_ARCH_PTX}"
|
|
|
|
|
|
|
|
/* AMD's Basic Linear Algebra Subprograms Library*/
|
|
|
|
#cmakedefine HAVE_CLAMDBLAS
|
|
|
|
|
|
|
|
/* AMD's OpenCL Fast Fourier Transform Library*/
|
|
|
|
#cmakedefine HAVE_CLAMDFFT
|
|
|
|
|
2013-08-06 17:56:49 +08:00
|
|
|
/* Clp support */
|
|
|
|
#cmakedefine HAVE_CLP
|
|
|
|
|
2013-07-10 22:20:34 +08:00
|
|
|
/* Cocoa API */
|
|
|
|
#cmakedefine HAVE_COCOA
|
|
|
|
|
2019-06-02 19:47:15 +08:00
|
|
|
/* NVIDIA CUDA Runtime API*/
|
|
|
|
#cmakedefine HAVE_CUDA
|
|
|
|
|
2018-04-13 19:33:19 +08:00
|
|
|
/* NVIDIA CUDA Basic Linear Algebra Subprograms (BLAS) API*/
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_CUBLAS
|
|
|
|
|
2019-06-02 19:47:15 +08:00
|
|
|
/* NVIDIA CUDA Deep Neural Network (cuDNN) API*/
|
|
|
|
#cmakedefine HAVE_CUDNN
|
2013-07-11 20:01:46 +08:00
|
|
|
|
2018-04-13 19:33:19 +08:00
|
|
|
/* NVIDIA CUDA Fast Fourier Transform (FFT) API*/
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_CUFFT
|
|
|
|
|
2013-11-28 21:42:40 +08:00
|
|
|
/* DirectX */
|
|
|
|
#cmakedefine HAVE_DIRECTX
|
2015-07-31 01:03:03 +08:00
|
|
|
#cmakedefine HAVE_DIRECTX_NV12
|
2013-11-28 21:42:40 +08:00
|
|
|
#cmakedefine HAVE_D3D11
|
|
|
|
#cmakedefine HAVE_D3D10
|
|
|
|
#cmakedefine HAVE_D3D9
|
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* Eigen Matrix & Linear Algebra Library */
|
|
|
|
#cmakedefine HAVE_EIGEN
|
2012-04-14 05:50:59 +08:00
|
|
|
|
2014-07-02 07:29:11 +08:00
|
|
|
/* Geospatial Data Abstraction Library */
|
|
|
|
#cmakedefine HAVE_GDAL
|
|
|
|
|
2010-05-12 01:44:00 +08:00
|
|
|
/* GTK+ 2.0 Thread support */
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_GTHREAD
|
2013-03-27 23:03:51 +08:00
|
|
|
|
2010-05-12 01:44:00 +08:00
|
|
|
/* GTK+ 2.x toolkit */
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_GTK
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2017-06-21 19:33:47 +08:00
|
|
|
/* Halide support */
|
|
|
|
#cmakedefine HAVE_HALIDE
|
|
|
|
|
Merge pull request #12703 from wzw-intel:vkcom
* dnn: Add a Vulkan based backend
This commit adds a new backend "DNN_BACKEND_VKCOM" and a
new target "DNN_TARGET_VULKAN". VKCOM means vulkan based
computation library.
This backend uses Vulkan API and SPIR-V shaders to do
the inference computation for layers. The layer types
that implemented in DNN_BACKEND_VKCOM include:
Conv, Concat, ReLU, LRN, PriorBox, Softmax, MaxPooling,
AvePooling, Permute
This is just a beginning work for Vulkan in OpenCV DNN,
more layer types will be supported and performance
tuning is on the way.
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
* dnn/vulkan: Add FindVulkan.cmake to detect Vulkan SDK
In order to build dnn with Vulkan support, need installing
Vulkan SDK and setting environment variable "VULKAN_SDK" and
add "-DWITH_VULKAN=ON" to cmake command.
You can download Vulkan SDK from:
https://vulkan.lunarg.com/sdk/home#linux
For how to install, see
https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html
https://vulkan.lunarg.com/doc/sdk/latest/windows/getting_started.html
https://vulkan.lunarg.com/doc/sdk/latest/mac/getting_started.html
respectively for linux, windows and mac.
To run the vulkan backend, also need installing mesa driver.
On Ubuntu, use this command 'sudo apt-get install mesa-vulkan-drivers'
To test, use command '$BUILD_DIR/bin/opencv_test_dnn --gtest_filter=*VkCom*'
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
* dnn/Vulkan: dynamically load Vulkan runtime
No compile-time dependency on Vulkan library.
If Vulkan runtime is unavailable, fallback to CPU path.
Use environment "OPENCL_VULKAN_RUNTIME" to specify path to your
own vulkan runtime library.
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
* dnn/Vulkan: Add a python script to compile GLSL shaders to SPIR-V shaders
The SPIR-V shaders are in format of text-based 32-bit hexadecimal
numbers, and inserted into .cpp files as unsigned int32 array.
* dnn/Vulkan: Put Vulkan headers into 3rdparty directory and some other fixes
Vulkan header files are copied from
https://github.com/KhronosGroup/Vulkan-Docs/tree/master/include/vulkan
to 3rdparty/include
Fix the Copyright declaration issue.
Refine OpenCVDetectVulkan.cmake
* dnn/Vulkan: Add vulkan backend tests into existing ones.
Also fixed some test failures.
- Don't use bool variable as uniform for shader
- Fix dispathed group number beyond max issue
- Bypass "group > 1" convolution. This should be support in future.
* dnn/Vulkan: Fix multiple initialization in one thread.
2018-10-29 22:51:26 +08:00
|
|
|
/* Vulkan support */
|
|
|
|
#cmakedefine HAVE_VULKAN
|
|
|
|
|
2010-05-12 01:44:00 +08:00
|
|
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
2013-08-06 17:56:49 +08:00
|
|
|
#cmakedefine HAVE_INTTYPES_H 1
|
2013-07-11 20:01:46 +08:00
|
|
|
|
|
|
|
/* Intel Integrated Performance Primitives */
|
|
|
|
#cmakedefine HAVE_IPP
|
2017-08-17 19:57:58 +08:00
|
|
|
#cmakedefine HAVE_IPP_ICV
|
2017-04-13 20:50:23 +08:00
|
|
|
#cmakedefine HAVE_IPP_IW
|
2018-10-24 20:02:53 +08:00
|
|
|
#cmakedefine HAVE_IPP_IW_LL
|
2010-05-12 01:44:00 +08:00
|
|
|
|
|
|
|
/* JPEG-2000 codec */
|
2020-03-27 15:18:58 +08:00
|
|
|
#cmakedefine HAVE_OPENJPEG
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_JASPER
|
2010-05-12 01:44:00 +08:00
|
|
|
|
|
|
|
/* IJG JPEG codec */
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_JPEG
|
2010-05-12 01:44:00 +08:00
|
|
|
|
|
|
|
/* libpng/png.h needs to be included */
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_LIBPNG_PNG_H
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2015-04-20 20:27:57 +08:00
|
|
|
/* GDCM DICOM codec */
|
|
|
|
#cmakedefine HAVE_GDCM
|
|
|
|
|
2018-04-13 19:33:19 +08:00
|
|
|
/* NVIDIA Video Decoding API*/
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_NVCUVID
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2018-04-13 19:33:19 +08:00
|
|
|
/* NVIDIA Video Encoding API*/
|
2016-02-01 19:59:11 +08:00
|
|
|
#cmakedefine HAVE_NVCUVENC
|
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* OpenCL Support */
|
|
|
|
#cmakedefine HAVE_OPENCL
|
2013-10-11 23:30:47 +08:00
|
|
|
#cmakedefine HAVE_OPENCL_STATIC
|
2015-01-02 08:33:40 +08:00
|
|
|
#cmakedefine HAVE_OPENCL_SVM
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2019-03-24 23:34:09 +08:00
|
|
|
/* NVIDIA OpenCL D3D Extensions support */
|
|
|
|
#cmakedefine HAVE_OPENCL_D3D11_NV
|
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* OpenEXR codec */
|
|
|
|
#cmakedefine HAVE_OPENEXR
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* OpenGL support*/
|
|
|
|
#cmakedefine HAVE_OPENGL
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* PNG codec */
|
|
|
|
#cmakedefine HAVE_PNG
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2015-06-11 21:53:07 +08:00
|
|
|
/* Posix threads (pthreads) */
|
2017-08-14 15:59:38 +08:00
|
|
|
#cmakedefine HAVE_PTHREAD
|
2015-06-11 21:53:07 +08:00
|
|
|
|
|
|
|
/* parallel_for with pthreads */
|
|
|
|
#cmakedefine HAVE_PTHREADS_PF
|
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* Qt support */
|
|
|
|
#cmakedefine HAVE_QT
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* Qt OpenGL support */
|
|
|
|
#cmakedefine HAVE_QT_OPENGL
|
2010-05-12 01:44:00 +08:00
|
|
|
|
|
|
|
/* Intel Threading Building Blocks */
|
2013-07-11 20:01:46 +08:00
|
|
|
#cmakedefine HAVE_TBB
|
2011-10-19 17:53:22 +08:00
|
|
|
|
2018-08-31 21:23:26 +08:00
|
|
|
/* Ste||ar Group High Performance ParallelX */
|
|
|
|
#cmakedefine HAVE_HPX
|
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* TIFF codec */
|
|
|
|
#cmakedefine HAVE_TIFF
|
2011-01-18 20:01:28 +08:00
|
|
|
|
2013-07-11 20:01:46 +08:00
|
|
|
/* Win32 UI */
|
|
|
|
#cmakedefine HAVE_WIN32UI
|
2013-04-03 09:01:20 +08:00
|
|
|
|
2014-02-13 19:59:30 +08:00
|
|
|
/* Define if your processor stores words with the most significant byte
|
2013-07-11 20:01:46 +08:00
|
|
|
first (like Motorola and SPARC, unlike Intel and VAX). */
|
|
|
|
#cmakedefine WORDS_BIGENDIAN
|
2015-05-21 06:41:39 +08:00
|
|
|
|
2015-08-31 07:33:15 +08:00
|
|
|
/* VA library (libva) */
|
|
|
|
#cmakedefine HAVE_VA
|
|
|
|
|
|
|
|
/* Intel VA-API/OpenCL */
|
|
|
|
#cmakedefine HAVE_VA_INTEL
|
2016-06-03 15:38:30 +08:00
|
|
|
|
|
|
|
/* Lapack */
|
|
|
|
#cmakedefine HAVE_LAPACK
|
2016-07-18 22:45:16 +08:00
|
|
|
|
2016-08-15 22:12:45 +08:00
|
|
|
/* Library was compiled with functions instrumentation */
|
|
|
|
#cmakedefine ENABLE_INSTRUMENTATION
|
2016-09-28 20:27:11 +08:00
|
|
|
|
|
|
|
/* OpenVX */
|
|
|
|
#cmakedefine HAVE_OPENVX
|
2016-09-07 23:02:36 +08:00
|
|
|
|
2017-05-25 23:59:01 +08:00
|
|
|
/* OpenCV trace utilities */
|
|
|
|
#cmakedefine OPENCV_TRACE
|
|
|
|
|
2018-08-18 00:01:02 +08:00
|
|
|
/* Library QR-code decoding */
|
|
|
|
#cmakedefine HAVE_QUIRC
|
2016-09-07 23:02:36 +08:00
|
|
|
|
|
|
|
#endif // OPENCV_CVCONFIG_H_INCLUDED
|