Add notes about CPU optimizations build options

Alexander Alekhin 2017-11-01 19:34:55 +03:00
parent 0a26d80c34
commit 616957e484

@ -8,9 +8,11 @@ OpenCV goal is to provide effective processors support, including separate optim
Some OpenCV functions contains multiple code paths specialized for different processors features / instruction sets.
Selection of executed code path is based on auto-detection of available processor features.
### CMake options
**Note**: Build options described here don't control behavior of CPU-based optimizations from Intel® Integrated Performance Primitives (Intel® IPP, https://software.intel.com/en-us/intel-ipp).
These options are available since OpenCV <next release>.
### Customizing CMake options
These options are available since OpenCV 3.3 (released in Aug 2017).
Build options allow to specify **minimal** and **dispatched** optimization features sets:
@ -18,6 +20,8 @@ Build options allow to specify **minimal** and **dispatched** optimization featu
* **Dispatched** optimizations are additional code paths compiled into executable. They will be executed on supported processors only.
By default, OpenCV on x86_64 uses SSE3 as basic instruction set and enables dispatched optimizations for SSE4.2, AVX, AVX2 instruction sets. This configuration provides the best effort on wide range of users platforms.
OpenCV uses these CMake variables to control supported optimization features:
* `CPU_BASELINE` - **minimal** set of required optimizations (if they are supported by C++ compiler)