-
Notifications
You must be signed in to change notification settings - Fork 2.4k
CMakeOptionsForCustomCompilation
Ilya Churaev edited this page Mar 3, 2021
·
29 revisions
This document contains CMake options, their description and default values, which can be used to build custom OpenVINO runtime using open-source version. In order to create custom runtime from prebuilt OpenVINO release package, please, refer to deployment manager documentation, if you want to create custom runtime from opensource repository, please, refer to Inference Engine Introduction in order to understand all dependencies.
- Disable / enable plugins build and other components
- Options affecting binary size
- Test capabilities
- Other options
-
ENABLE_MKL_DNN
enables CPU plugin compilation:-
ON
is default for x86 platforms,OFF
otherwise.
-
-
ENABLE_CLDNN
enables GPU plugin compilation:-
ON
is default for x86 platforms, not available otherwise.
-
-
ENABLE_GNA
enables GNA plugin compilation:-
ON
is default for x86 platforms, not available otherwise.
-
-
ENABLE_VPU
enables VPU (Myriad, HDDL) components build:-
ON
is default.
-
-
ENABLE_MYRIAD
enables MYRIAD plugin build:-
ON
is default.
-
-
NGRAPH_ONNX_IMPORT_ENABLE
enables ONNX importer plugin for Inference Engine:-
ON
is default.
-
-
ENABLE_SAMPLES
enables Inference Engine samples build:-
ON
is default.
-
-
ENABLE_PYTHON
enables Python API build:-
OFF
is default.
-
-
ENABLE_JAVA
enables Java API build:-
OFF
is default.
-
-
ENABLE_TESTS
enables tests compilation:-
OFF
is default.
-
-
NGRAPH_UNIT_TEST_ENABLE
enables ngraph unit tests:- The value is the same as for the option
ENABLE_TESTS
.
- The value is the same as for the option
-
ENABLE_DOCS
enables build of OpenVINO documentation:-
OFF
is default.
-
-
IE_EXTRA_MODULES
specifies path to add extra OpenVINO modules to the build.- See OpenVINO Contrib to add extra modules from.
-
USE_SYSTEM_PUGIXML
builds with system version of pugixml if it's available on the system.-
OFF
is default. - Inference Engine thirdparty pugixml is used by default.
-
-
NGRAPH_USE_PROTOBUF_LITE
compiles and links with protobuf lite:-
OFF
is default. - Affects ONNX importer component only.
-
-
NGRAPH_USE_SYSTEM_PROTOBUF
use protobuf installed on the system:-
OFF
is default. - Affects ONNX importer component only.
-
-
ENABLE_LTO
boolean option to enable Link Time Optimizations:-
OFF
is default, because it takes longer time to link binaries. -
ON
is enabled for OpenVINO release binaries - Available on Unix compilers only like GCC or CLANG.
- Gives 30% decrease in binary size together with other optimizations option using to build OpenVINO.
-
-
THREADING
points to OpenVINO threading interface:-
TBB
is a default option, enables build with Intel TBB andtbb::static_partitioner
. -
TBB_AUTO
enables build with Intel TBB. -
OMP
enables build with Intel OpenMP. -
SEQ
disable threading optimizations. Can be used in cases when TBB binaries are absent. -
Note: because TBB is a template library, it increase binary size because of multiple instantiations of
tbb::parallel_for
-
-
ENABLE_SSE42
enables SSE4.2 optimizations:-
ON
is default for x86 platforms, not available for other platforms. - Affects only Inference Engine common part and preprocessing plugin, does not affect mkldnn library
-
-
ENABLE_AVX2
enables AVX2 optimizations:-
ON
is default for x86 platforms, not available for other platforms. - Affects only Inference Engine common part and preprocessing plugin, does not affect mkldnn library
-
-
ENABLE_AVX512F
enables AVX512 optimizations:-
ON
is default for x86 platforms, not available for other platforms. - Affects only Inference Engine common part and preprocessing plugin, does not affect mkldnn library
-
-
ENABLE_PROFILING_ITT
enables profiling with Intel ITT and VTune. Default isOFF
, because it increases binary size. -
SELECTIVE_BUILD
enables Conditional compilation feature. Default isOFF
.
-
ENABLE_SANITIZER
builds with clang address sanitizer support:-
OFF
is default.
-
-
ENABLE_THREAD_SANITIZER
builds with clang thread-sanitizer support:-
OFF
is default.
-
-
COVERAGE
adds option to enable coverage. See dedicated guide how to measure test coverage:-
OFF
is default.
-
-
ENABLE_FUZZING
enables instrumentation of code for fuzzing:-
OFF
is default.
-
-
ENABLE_CPPLINT
enables code style check using cpplint static code checker:-
ON
is default.
-
-
ENABLE_CLANG_FORMAT
enables Clang format code style check:-
ON
is default. - Used only for ngraph component.
-
-
TREAT_WARNING_AS_ERROR
treats all warnings as error:-
OFF
is default.
-
-
ENABLE_FASTER_BUILD
enables precompiled headers and unity build using CMake:-
OFF
is default.
-
-
ENABLE_INTEGRITYCHECK
builds DLLs with /INTEGRITYCHECK flag:-
OFF
is default. - Available on MSVC compiler only.
-
© Copyright 2018-2024, OpenVINO team
- Home
- General resources
- How to build
-
Developer documentation
- Inference Engine architecture
- CPU plugin
- GPU plugin
- HETERO plugin architecture
- Snippets
- Sample for IE C++/C/Python API
- Proxy plugin (Concept)
- Tests