The software was validated on:
- Ubuntu 18.04 (64-bit) with default GCC 7.5.0
- Ubuntu 20.04 (64-bit) with default GCC 9.3.0
- Red Hat Enterprise Linux 8.2 (64-bit) with default GCC 8.5.0
NOTE: To build on CentOS 7 (64-bit), refer to Building OpenVINO on CentOS 7 Guide
- CMake 3.13 or higher
- GCC 7.5 or higher to build OpenVINO Runtime
- Python 3.8 - 3.11 for OpenVINO Runtime Python API
- (Optional) Install Intel® Graphics Compute Runtime for OpenCL™ Driver package to enable inference on Intel integrated GPUs.
-
Clone OpenVINO repository and init submodules:
git clone https://github.com/openvinotoolkit/openvino.git cd openvino git submodule update --init --recursive
(Optional) For users in China, clone submodules via gitee mirrors
chmod +x scripts/submodule_update_with_gitee.sh ./scripts/submodule_update_with_gitee.sh
-
Install build dependencies using the
install_build_dependencies.sh
script in the project root folder.sudo ./install_build_dependencies.sh
-
Create a build folder:
mkdir build && cd build
NOTE: It is recommended to disable the oneAPI environment before compiling OpenVINO from source on Linux, as it may cause build failures.
- OpenVINO Runtime uses a CMake-based build system. In the created
build
directory, runcmake
to fetch project dependencies and create Unix makefiles, then runmake
to build the project:The process may take some time to finish. If you are using a system with limited resources, it is recommended to specify a lower number of parallel jobs to avoid overloading your system. This can help maintain system responsiveness and stability during the build process. Usecmake -DCMAKE_BUILD_TYPE=Release .. cmake --build . --parallel
nproc
to find the number of available processing units. For example, to use 8 parallel jobs, run the following command:cmake --build . --parallel 8
You can use the following additional build options:
-
For IA32 operation systems, use ia32.linux.toolchain.cmake CMake toolchain file:
cmake -DCMAKE_TOOLCHAIN_FILE=<openvino_repo>/cmake/toolchains/ia32.linux.toolchain.cmake ..
-
OpenVINO offers several CMake options that can be used to build a custom OpenVINO runtime, which can speed up compilation. These options allow you to skip compilation of other plugins and frontends by disabling/enabling them. You can find a list of available options here
-
To build the OpenVINO Runtime Python API:
- Enable the
-DENABLE_PYTHON=ON
option in the CMake step above (Step 4). To specify an exact Python version, use the following options (requires cmake 3.16 and higher):-DPython3_EXECUTABLE=/usr/bin/python3.8
- To build a wheel package (.whl), enable the
-DENABLE_WHEEL=ON
option in the CMake step above (Step 4), and install requirements:pip install -r <openvino source tree>/src/bindings/python/wheel/requirements-dev.txt
- After the build process finishes, export the newly built Python libraries to the user environment variables:
or install the wheel with pip:
export PYTHONPATH=<openvino_repo>/bin/intel64/Release/python:<openvino_repo>/tools/ovc:$PYTHONPATH export LD_LIBRARY_PATH=<openvino_repo>/bin/intel64/Release:$LD_LIBRARY_PATH export PATH=<openvino_repo>/tools/ovc/openvino/tools/ovc:$PATH
pip install <openvino_repo>/build/wheel/openvino-2022.2.0-000-cp37-cp37-manylinux_2_35_x86_64.whl
- Enable the