diff --git a/.ci/azure/android_arm64.yml b/.ci/azure/android_arm64.yml index 02c900b303f..763fa4c2a20 100644 --- a/.ci/azure/android_arm64.yml +++ b/.ci/azure/android_arm64.yml @@ -112,17 +112,17 @@ jobs: set -e sudo -E $(OPENVINO_REPO_DIR)/install_build_dependencies.sh # Move into contrib install_build_dependencies.sh - sudo apt --assume-yes install scons crossbuild-essential-arm64 libprotoc-dev protobuf-compiler default-jdk + sudo apt --assume-yes install scons crossbuild-essential-arm64 default-jdk # Speed up build wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip unzip ninja-linux.zip sudo cp -v ninja /usr/local/bin/ # Install Android SDK, NDK and TOOLS + sudo apt -y --no-install-recommends install unzip wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip unzip commandlinetools-linux-7583922_latest.zip yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$(ANDROID_TOOLS) --licenses ./cmdline-tools/bin/sdkmanager --sdk_root=$(ANDROID_TOOLS) --install "ndk-bundle" "platform-tools" "platforms;android-$(ANDROID_SDK_VERSION)" - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' - task: CMake@1 @@ -144,19 +144,18 @@ jobs: -DCMAKE_C_LINKER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - $(OPENVINO_REPO_DIR) - workingDirectory: $(BUILD_DIR) + -S $(OPENVINO_REPO_DIR) + -B $(BUILD_DIR) - script: ccache --zero-stats --max-size=50G --show-config displayName: 'Clean ccache stats' - - script: | - export CCACHE_DIR=$(CCACHE_DIR) - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=50G - ninja - workingDirectory: $(BUILD_DIR) + - script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) + env: + CCACHE_DIR: $(CCACHE_DIR) + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 50G displayName: 'Build Android ARM64' - script: ccache --show-stats diff --git a/.ci/azure/linux.yml b/.ci/azure/linux.yml index 7d10387e9f7..8b47410420f 100644 --- a/.ci/azure/linux.yml +++ b/.ci/azure/linux.yml @@ -169,12 +169,10 @@ jobs: python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_tf2.txt python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_dev.txt # Speed up build + sudo apt -y --no-install-recommends install unzip wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip unzip ninja-linux.zip sudo cp -v ninja /usr/local/bin/ - # Speed up tests - git clone https://github.com/google/gtest-parallel.git - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' - script: | @@ -215,6 +213,7 @@ jobs: -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_COMPILE_WARNING_AS_ERROR=ON + -DENABLE_INTEL_MYRIAD=OFF -DENABLE_PYTHON=ON -DBUILD_SHARED_LIBS=$(CMAKE_BUILD_SHARED_LIBS) -DENABLE_ONEDNN_FOR_GPU=$(CMAKE_BUILD_SHARED_LIBS) @@ -231,6 +230,7 @@ jobs: -DBUILD_nvidia_plugin=OFF -S $(REPO_DIR) -B $(BUILD_DIR) + displayName: 'Cmake OpenVINO' - script: ls -alR $(REPO_DIR)/temp/ displayName: 'List temp SDKs' @@ -238,12 +238,12 @@ jobs: - script: ccache --zero-stats --max-size=50G --show-config displayName: 'Clean ccache stats' - - script: | - export CCACHE_DIR=$(CCACHE_DIR) - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=50G - ninja -C $(BUILD_DIR) + - script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) + env: + CCACHE_DIR: $(CCACHE_DIR) + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 50G displayName: 'Build Lin' - script: ccache --show-stats @@ -256,10 +256,11 @@ jobs: inputs: cmakeArgs: > -GNinja - $(REPO_DIR)/tests/layer_tests - workingDirectory: $(BUILD_LAYER_TESTS_DIR) + -S $(REPO_DIR)/tests/layer_tests + -B $(BUILD_LAYER_TESTS_DIR) + displayName: 'Cmake Layer Tests' - - script: ninja -C $(BUILD_LAYER_TESTS_DIR) + - script: cmake --build $(BUILD_LAYER_TESTS_DIR) --parallel --config $(BUILD_TYPE) displayName: 'Build Layer Tests' - script: sudo apt-get remove libtbb2 -y @@ -285,49 +286,52 @@ jobs: # Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time - script: | - # because of static build libgna is needed for python binary - export LD_LIBRARY_PATH=$(REPO_DIR)/temp/gna_03.00.00.1910/linux/x64:$LD_LIBRARY_PATH python3 -m pytest -s $(INSTALL_TEST_DIR)/pyngraph $(PYTHON_STATIC_ARGS) \ --junitxml=$(INSTALL_TEST_DIR)/TEST-Pyngraph.xml \ --ignore=$(INSTALL_TEST_DIR)/pyngraph/tests/test_onnx/test_zoo_models.py \ --ignore=$(INSTALL_TEST_DIR)/pyngraph/tests/test_onnx/test_backend.py + env: + # because of static build libgna is needed for python binary + LD_LIBRARY_PATH: $(REPO_DIR)/temp/gna_03.00.00.1910/linux/x64 displayName: 'nGraph and IE Python Bindings Tests' # Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time - script: | - # because of static build libgna is needed for python binary and mock_py frontend library - export LD_LIBRARY_PATH=$(REPO_DIR)/temp/gna_03.00.00.1910/linux/x64:$(INSTALL_TEST_DIR):$LD_LIBRARY_PATH # For python imports to import pybind_mock_frontend export PYTHONPATH=$(INSTALL_TEST_DIR):$(INSTALL_DIR)/python/python3.8:$PYTHONPATH - # For frontend manager to load mock_py library - export OV_FRONTEND_PATH=$(INSTALL_TEST_DIR) python3 -m pytest -sv $(INSTALL_TEST_DIR)/pyopenvino $(PYTHON_STATIC_ARGS) \ --junitxml=$(INSTALL_TEST_DIR)/TEST-Pyngraph.xml \ --ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_utils/test_utils.py \ --ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_zoo_models.py \ --ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_backend.py + env: + # because of static build libgna is needed for python binary and mock_py frontend library + LD_LIBRARY_PATH: $(REPO_DIR)/temp/gna_03.00.00.1910/linux/x64:$(INSTALL_TEST_DIR) + # For frontend manager to load mock_py library + OV_FRONTEND_PATH: $(INSTALL_TEST_DIR) displayName: 'Python API 2.0 Tests' - script: | - # because of static build libgna is needed for python binary - export LD_LIBRARY_PATH=$(REPO_DIR)/temp/gna_03.00.00.1910/linux/x64:$LD_LIBRARY_PATH python3 -m pytest -s $(INSTALL_TEST_DIR)/mo/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-ModelOptimizer.xml + env: + # because of static build libgna is needed for python binary + LD_LIBRARY_PATH: $(REPO_DIR)/temp/gna_03.00.00.1910/linux/x64 displayName: 'Model Optimizer UT' - script: | sudo apt-get install libtbb-dev libpugixml-dev -y - cmake --build $(BUILD_DIR) --target package -j8 + cmake --build $(BUILD_DIR) --target package --parallel condition: eq(variables['CMAKE_CPACK_GENERATOR'], 'DEB') displayName: 'Build Debian packages' - script: | # install debian packages from previous release + sudo apt-get install --no-install-recommends gnupg wget -y wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB - sudo apt-get install --no-install-recommends gnupg -y echo "deb https://apt.repos.intel.com/openvino/2022 focal main" | sudo tee /etc/apt/sources.list.d/intel-openvino-2022.list sudo apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/intel-openvino-2022.list - # sudo apt-get install openvino -y + sudo apt-get install openvino -y || exit 1 # install our local one and make sure the conflicts are resolved sudo apt-get install --no-install-recommends dpkg-dev -y rm -r _CPack_Packages @@ -350,15 +354,15 @@ jobs: - script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR) -b $(BUILD_DIR)/cpp_samples displayName: 'Build cpp samples' - - script: | - export CC=clang - export CXX=clang++ - $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -b $(BUILD_DIR)/cpp_samples_clang + - script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -b $(BUILD_DIR)/cpp_samples_clang + env: + CC: clang + CXX: clang++ displayName: 'Build cpp samples - clang' - - script: | - export VERBOSE=1 - $(SAMPLES_INSTALL_DIR)/c/build_samples.sh -i $(INSTALL_DIR) -b $(BUILD_DIR)/c_samples + - script: $(SAMPLES_INSTALL_DIR)/c/build_samples.sh -i $(INSTALL_DIR) -b $(BUILD_DIR)/c_samples + env: + VERBOSE: 1 displayName: 'Build c samples' - script: rm -fr $(BUILD_DIR) @@ -397,7 +401,6 @@ jobs: - script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-Transformations.xml displayName: 'Transformations Tests' - # python3 $(WORK_DIR)/gtest-parallel/gtest_parallel.py $(INSTALL_TEST_DIR)/InferenceEngineUnitTests --workers=16 --dump_json_test_results=InferenceEngineUnitTests.json --gtest_filter=*smoke* -- --gtest_print_time=1 - script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/InferenceEngineUnitTests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineUnitTests.xml displayName: 'IE UT old' @@ -407,12 +410,6 @@ jobs: - script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_gna_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_gna_unit_tests.xml displayName: 'GNA UT' - - script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-vpuUnitTests.xml - displayName: 'VPU UT' - - - script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/XLinkTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-XLinkTests.xml - displayName: 'XLink Tests' - - script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml displayName: 'MULTI UT' @@ -424,41 +421,44 @@ jobs: condition: and(succeeded(), eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'OFF')) - script: | - export DATA_PATH=$(MODELS_PATH) - export MODELS_PATH=$(MODELS_PATH) $(RUN_PREFIX) $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'IE CAPITests' - script: | - export DATA_PATH=$(MODELS_PATH) - export MODELS_PATH=$(MODELS_PATH) $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'OV CAPITests' - task: CMake@1 inputs: cmakeArgs: > -GNinja - $(REPO_DIR)/tests/samples_tests - workingDirectory: $(BUILD_SAMPLES_TESTS_DIR) + -S $(REPO_DIR)/tests/samples_tests + -B $(BUILD_SAMPLES_TESTS_DIR) + displayName: 'CMake Samples Tests' - - script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake - workingDirectory: $(BUILD_SAMPLES_TESTS_DIR) + - script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_SAMPLES_TESTS_DIR)/cmake_install.cmake displayName: 'Install Samples Tests' - script: python3 -m pip install -r $(INSTALL_TEST_DIR)/smoke_tests/requirements.txt - workingDirectory: $(INSTALL_TEST_DIR) - displayName: 'Install dependencies for samples smoke tests' - script: | export PATH=$HOME/.local/bin:$PATH - export IE_APP_PATH=$(INSTALL_DIR)/samples_bin export LD_LIBRARY_PATH=$IE_APP_PATH:$LD_LIBRARY_PATH - export IE_APP_PYTHON_PATH=$(PYTHON_SAMPLES_INSTALL_DIR)/ - export SHARE=$(INSTALL_TEST_DIR)/smoke_tests/samples_smoke_tests_data/ - export WORKSPACE=$(INSTALL_DIR) - $(RUN_PREFIX) python3 -m pytest $(INSTALL_TEST_DIR)/smoke_tests/ --env_conf $(INSTALL_TEST_DIR)/smoke_tests/env_config.yml -s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml + $(RUN_PREFIX) python3 -m pytest $(INSTALL_TEST_DIR)/smoke_tests/ \ + --env_conf $(INSTALL_TEST_DIR)/smoke_tests/env_config.yml \ + -s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml + env: + IE_APP_PATH: $(INSTALL_DIR)/samples_bin + IE_APP_PYTHON_PATH: $(PYTHON_SAMPLES_INSTALL_DIR)/ + SHARE: $(INSTALL_TEST_DIR)/smoke_tests/samples_smoke_tests_data/ + WORKSPACE: $(INSTALL_DIR) displayName: 'Samples Smoke Tests' - script: | diff --git a/.ci/azure/linux_arm64.yml b/.ci/azure/linux_arm64.yml index 6d7618c94d0..783382c7e49 100644 --- a/.ci/azure/linux_arm64.yml +++ b/.ci/azure/linux_arm64.yml @@ -81,9 +81,7 @@ jobs: curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01" whoami uname -a - echo ls /usr/bin/python3.10 - rm -rf /usr/bin/python3 - sudo ln -s /usr/bin/python3.10 /usr/bin/python3 echo Python3 info ; which python3 ; python3 --version + echo Python3 info ; which python3 ; python3 --version echo Python info ; which python ; python --version echo Java info ; which java ; java -version echo gcc info ; which gcc ; gcc --version @@ -129,32 +127,32 @@ jobs: - script: | set -e sudo -E $(OPENVINO_REPO_DIR)/install_build_dependencies.sh - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=50G - export USE_CCACHE=1 - export OPENCV_CCACHE_DIR=$(OPENCV_CCACHE_DIR) - export ONETBB_CCACHE_DIR=$(ONETBB_CCACHE_DIR) - export PYTHON_ARM_VERSION=$(PYTHON_ARM_VERSION) - export NUM_PROC=$(NUM_PROC) - export BUILD_PYTHON=$(BUILD_PYTHON) - export WORK_DIR=$(WORK_DIR) - export INSTALL_PYTHON=$(INSTALL_PYTHON) - export BUILD_TYPE=$(BUILD_TYPE) - export OPENVINO_REPO_DIR=$(OPENVINO_REPO_DIR) - export BUILD_ONETBB=$(BUILD_ONETBB) - export INSTALL_ONETBB=$(INSTALL_ONETBB) - export INSTALL_OPENCV=$(INSTALL_OPENCV) - export PYTHON_EXEC=$(PYTHON_EXEC) - export ONETBB_REPO_DIR=$(ONETBB_REPO_DIR) - export OPENCV_REPO_DIR=$(OPENCV_REPO_DIR) - export BUILD_OPENCV=$(BUILD_OPENCV) - export INSTALL_OPENVINO=$(INSTALL_OPENVINO) $(OPENVINO_CONTRIB_REPO_DIR)/modules/arm_plugin/scripts/install_build_dependencies.sh python3 -m pip install --upgrade pip python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/requirements.txt python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt - workingDirectory: $(BUILD_OPENVINO) + env: + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 50G + USE_CCACHE: 1 + OPENCV_CCACHE_DIR: $(OPENCV_CCACHE_DIR) + ONETBB_CCACHE_DIR: $(ONETBB_CCACHE_DIR) + PYTHON_ARM_VERSION: $(PYTHON_ARM_VERSION) + NUM_PROC: $(NUM_PROC) + BUILD_PYTHON: $(BUILD_PYTHON) + WORK_DIR: $(WORK_DIR) + INSTALL_PYTHON: $(INSTALL_PYTHON) + BUILD_TYPE: $(BUILD_TYPE) + OPENVINO_REPO_DIR: $(OPENVINO_REPO_DIR) + BUILD_ONETBB: $(BUILD_ONETBB) + INSTALL_ONETBB: $(INSTALL_ONETBB) + INSTALL_OPENCV: $(INSTALL_OPENCV) + PYTHON_EXEC: $(PYTHON_EXEC) + ONETBB_REPO_DIR: $(ONETBB_REPO_DIR) + OPENCV_REPO_DIR: $(OPENCV_REPO_DIR) + BUILD_OPENCV: $(BUILD_OPENCV) + INSTALL_OPENVINO: $(INSTALL_OPENVINO) displayName: 'Install dependencies' - script: | @@ -165,7 +163,6 @@ jobs: source $(CROSSENV_DIR)/bin/activate build-pip3 install -U pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt cross-pip3 install -U pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt - workingDirectory: $(BUILD_OPENVINO) displayName: 'Create crossenv' - task: CMake@1 @@ -191,22 +188,19 @@ jobs: -DCMAKE_C_LINKER_LAUNCHER=ccache -DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC) -DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) - $(OPENVINO_REPO_DIR) - workingDirectory: $(BUILD_OPENVINO) + -S $(OPENVINO_REPO_DIR) + -B $(BUILD_OPENVINO) displayName: 'CMake OpenVINO ARM plugin' - - script: | - export CCACHE_DIR=$(OPENVINO_CCACHE_DIR) - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=50G - export USE_CCACHE=1 - ninja - workingDirectory: $(BUILD_OPENVINO) + - script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE) + env: + CCACHE_DIR: $(OPENVINO_CCACHE_DIR) + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 50G displayName: 'Build OpenVINO ARM plugin' - - script: ninja install - workingDirectory: $(BUILD_OPENVINO) + - script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE) --target install displayName: 'Install OpenVINO ARM plugin' - script: | @@ -223,18 +217,15 @@ jobs: deactivate displayName: 'CMake OpenVINO python binding' - - script: | - export CCACHE_DIR=$(OPENVINO_CCACHE_DIR) - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=50G - export USE_CCACHE=1 - ninja - workingDirectory: $(BUILD_OPENVINO_PYTHON) + - script: cmake --build $(BUILD_OPENVINO_PYTHON) --parallel --config $(BUILD_TYPE) + env: + CCACHE_DIR: $(OPENVINO_CCACHE_DIR) + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 50G displayName: 'Build OpenVINO python binding' - - script: ninja install - workingDirectory: $(BUILD_OPENVINO_PYTHON) + - script: cmake --build $(BUILD_OPENVINO_PYTHON) --parallel --target install displayName: 'Install OpenVINO python binding' - task: PublishBuildArtifacts@1 diff --git a/.ci/azure/linux_conditional_compilation.yml b/.ci/azure/linux_conditional_compilation.yml index d697db710ac..d0d6edd8d82 100644 --- a/.ci/azure/linux_conditional_compilation.yml +++ b/.ci/azure/linux_conditional_compilation.yml @@ -92,10 +92,10 @@ jobs: set -e sudo -E $(REPO_DIR)/install_build_dependencies.sh # Speed up build + sudo apt -y --no-install-recommends install unzip wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip unzip ninja-linux.zip sudo cp -v ninja /usr/local/bin/ - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' - checkout: testdata @@ -108,6 +108,7 @@ jobs: inputs: cmakeArgs: > -GNinja + -DENABLE_CPPLINT=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) @@ -115,6 +116,7 @@ jobs: -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT -DENABLE_INTEL_GPU=OFF + -DENABLE_INTEL_GNA=OFF -DENABLE_MULTI=OFF -DENABLE_AUTO=OFF -DENABLE_AUTO_BATCH=OFF @@ -124,24 +126,23 @@ jobs: -DENABLE_OV_ONNX_FRONTEND=OFF -DENABLE_OV_PADDLE_FRONTEND=OFF -DENABLE_OV_TF_FRONTEND=OFF - $(REPO_DIR) - workingDirectory: $(BUILD_DIR) + -S $(REPO_DIR) + -B $(BUILD_DIR) + displayName: 'Cmake CC COLLECT' - script: | - ninja - cmake --build . --target sea_itt_lib - workingDirectory: $(BUILD_DIR) - displayName: 'Build LinCC COLLECT' + cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) + cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) --target sea_itt_lib + displayName: 'Build CC COLLECT' - script: ls -alR $(REPO_DIR)/bin/ displayName: 'List bin files' - script: | - python3 thirdparty/itt_collector/runtool/sea_runtool.py \ + python3 $(REPO_DIR)/thirdparty/itt_collector/runtool/sea_runtool.py \ --bindir $(REPO_DIR)/bin/intel64/Release -o $(BUILD_DIR)/itt_stat ! \ $(REPO_DIR)/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \ -m $(MODELS_PATH)/models/test_model/test_model_fp32.xml -d CPU - workingDirectory: $(REPO_DIR) displayName: 'Code usage analysis' - task: CMake@1 @@ -150,11 +151,12 @@ jobs: -GNinja -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=$(BUILD_DIR)/*.csv - $(REPO_DIR) - workingDirectory: $(BUILD_DIR) + -S $(REPO_DIR) + -B $(BUILD_DIR) + displayName: 'CMake CC ON' - - script: cmake --build $(BUILD_DIR) - displayName: 'Build LinCC ON' + - script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) + displayName: 'Build CC ON' - script: ls -alR $(REPO_DIR)/bin/ displayName: 'List bin files ON' @@ -162,5 +164,4 @@ jobs: - script: | $(REPO_DIR)/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \ -m $(MODELS_PATH)/models/test_model/test_model_fp32.xml -d CPU - workingDirectory: $(REPO_DIR) displayName: 'Use OpenVINO after CC' diff --git a/.ci/azure/linux_coverity.yml b/.ci/azure/linux_coverity.yml index 4eb3f8594ef..7a346d90800 100644 --- a/.ci/azure/linux_coverity.yml +++ b/.ci/azure/linux_coverity.yml @@ -93,10 +93,10 @@ jobs: # Move jdk into contrib sudo apt --assume-yes install openjdk-11-jdk # Speed up build + sudo apt -y --no-install-recommends install unzip wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip unzip ninja-linux.zip sudo cp -v ninja /usr/local/bin/ - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' - task: CMake@1 @@ -104,16 +104,19 @@ jobs: # Coverity has too many PARSE_ERROR errors with ENABLE_FASTER_BUILD=ON. Disabling FASTER_BUILD. cmakeArgs: > -GNinja + -DENABLE_CPPLINT=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DENABLE_FASTER_BUILD=OFF -DENABLE_STRICT_DEPENDENCIES=OFF -DBUILD_nvidia_plugin=OFF + -DENABLE_INTEL_MYRIAD=OFF -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - $(REPO_DIR) - workingDirectory: $(BUILD_DIR) + -S $(REPO_DIR) + -B $(BUILD_DIR) + displayName: "Cmake configure" - script: ls -alR $(REPO_DIR)/temp/ displayName: 'List temp SDKs' @@ -130,12 +133,13 @@ jobs: displayName: 'Install coverity tool' - script: | - export CCACHE_DIR=$(CCACHE_DIR) - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=50G - $(WORK_DIR)/cov-analysis*/bin/cov-build --dir $(BUILD_DIR)/cov-int ninja - workingDirectory: $(BUILD_DIR) + $(WORK_DIR)/cov-analysis*/bin/cov-build --dir $(BUILD_DIR)/cov-int \ + cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) + env: + CCACHE_DIR: $(CCACHE_DIR) + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 50G displayName: 'Build Lin with Coverity' - script: ccache --show-stats diff --git a/.ci/azure/linux_cuda.yml b/.ci/azure/linux_cuda.yml index 89e2340d1f6..6cb85321cdf 100644 --- a/.ci/azure/linux_cuda.yml +++ b/.ci/azure/linux_cuda.yml @@ -116,36 +116,32 @@ jobs: sudo apt --assume-yes install unzip wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip unzip ninja-linux.zip - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' - - script: > - sudo docker pull openvino.azurecr.io/openvino_ci/cuda-ubuntu2004:2022.1 && - sudo docker run --volume $(REPO_DIR)/../:/root/repos --volume $(WORK_DIR):/root/w - openvino.azurecr.io/openvino_ci/cuda-ubuntu2004:2022.1 - bash -c " - sudo -E /root/repos/openvino/install_build_dependencies.sh && - python3 -m pip install -r /root/repos/openvino/src/bindings/python/requirements.txt && - cd /root/w/build && - cmake -GNinja - -DCMAKE_VERBOSE_MAKEFILE=ON - -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) - -DOPENVINO_EXTRA_MODULES=/root/repos/openvino_contrib/modules - -DENABLE_INTEL_CPU=OFF - -DENABLE_INTEL_GPU=OFF - -DENABLE_INTEL_GNA=OFF - -DENABLE_INTEL_MYRIAD_COMMON=OFF - -DENABLE_OV_TF_FRONTEND=OFF - -DENABLE_OV_PADDLE_FRONTEND=OFF - -DENABLE_OV_ONNX_FRONTEND=OFF - -DBUILD_arm_plugin=OFF - -DBUILD_java_api=OFF - -DENABLE_PYTHON=OFF - -DENABLE_NVIDIA=ON - -DENABLE_TESTS=ON - /root/repos/openvino && - /root/w/ninja -v CudaFuncTests CudaUnitTests" - workingDirectory: $(WORK_DIR) + - script: | + sudo docker pull openvino.azurecr.io/openvino_ci/cuda-ubuntu2004:2022.1 + sudo docker run --volume $(REPO_DIR)/../:/root/repos --volume $(WORK_DIR):/root/w \ + openvino.azurecr.io/openvino_ci/cuda-ubuntu2004:2022.1 \ + bash -c " + sudo -E /root/repos/openvino/install_build_dependencies.sh && + python3 -m pip install -r /root/repos/openvino/src/bindings/python/requirements.txt && + cmake -GNinja \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DDENABLE_CPPLINT=OFF \ + -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \ + -DOPENVINO_EXTRA_MODULES=/root/repos/openvino_contrib/modules/nvidia_plugin \ + -DENABLE_INTEL_CPU=OFF \ + -DENABLE_INTEL_GPU=OFF \ + -DENABLE_INTEL_GNA=OFF \ + -DENABLE_INTEL_MYRIAD_COMMON=OFF \ + -DENABLE_OV_TF_FRONTEND=OFF \ + -DENABLE_OV_PADDLE_FRONTEND=OFF \ + -DENABLE_OV_ONNX_FRONTEND=OFF \ + -DENABLE_PYTHON=OFF \ + -DENABLE_TESTS=ON \ + -S /root/repos/openvino \ + -B /root/w/build && + cmake --build /root/w/build --parallel --config Release --verbose -- CudaFuncTests CudaUnitTests" displayName: 'Docker build Lin' - script: ls -alR $(OPENVINO_REPO_DIR)/bin/ diff --git a/.ci/azure/linux_debian.yml b/.ci/azure/linux_debian.yml index 5581c6b7512..0a9add67e2d 100644 --- a/.ci/azure/linux_debian.yml +++ b/.ci/azure/linux_debian.yml @@ -28,12 +28,6 @@ pr: resources: repositories: - - repository: openvino_contrib - type: github - endpoint: openvinotoolkit - name: openvinotoolkit/openvino_contrib - ref: master - - repository: testdata type: github endpoint: openvinotoolkit @@ -54,7 +48,6 @@ jobs: VSTS_HTTP_TIMEOUT: 200 BUILD_TYPE: Release REPO_DIR: $(Build.Repository.LocalPath) - OPENVINO_CONTRIB_REPO_DIR: $(REPO_DIR)/../openvino_contrib MODELS_PATH: $(REPO_DIR)/../testdata WORK_DIR: $(Pipeline.Workspace)/_w BUILD_DIR: $(WORK_DIR)/build @@ -78,7 +71,6 @@ jobs: uname -a echo Python3 info ; which python3 ; python3 --version echo Python info ; which python ; python --version - echo Java info ; which java ; java -version echo gcc info ; which gcc ; gcc --version echo cmake info ; which cmake ; cmake --version lsb_release @@ -112,18 +104,11 @@ jobs: submodules: 'true' path: openvino - - checkout: openvino_contrib - clean: 'true' - fetchDepth: '1' - submodules: 'true' - path: openvino_contrib - - script: | set -e sudo -E $(REPO_DIR)/install_build_dependencies.sh - # Move jdk into contrib # 'clang' compiler is to check that samples can be built using it - sudo apt --assume-yes install openjdk-11-jdk clang + sudo apt --assume-yes install clang sudo apt --assume-yes install --no-install-recommends libopencv-imgproc-dev libopencv-imgcodecs-dev # For opencv-python: python3-setuptools and pip upgrade python3 -m pip install --upgrade pip @@ -145,12 +130,12 @@ jobs: python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_tf2.txt python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_dev.txt # Speed up build + sudo apt -y --no-install-recommends install unzip wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip unzip ninja-linux.zip sudo cp -v ninja /usr/local/bin/ # Speed up tests git clone https://github.com/google/gtest-parallel.git - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' # Should be after 'Install dependencies' because Git lfs is not installed @@ -165,24 +150,24 @@ jobs: # CMake must get Python 3.x version by default cmakeArgs: > -GNinja - -DCMAKE_VERBOSE_MAKEFILE=ON + -DENABLE_CPPLINT=OFF -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_PYTHON=ON - -DENABLE_OPENCV=OFF + -DENABLE_INTEL_MYRIAD=OFF + -DENABLE_INTEL_GNA=OFF -DPYTHON_EXECUTABLE=/usr/bin/python3.8 -DENABLE_TESTS=ON -DENABLE_FASTER_BUILD=ON -DENABLE_STRICT_DEPENDENCIES=OFF - -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_LINKER_LAUNCHER=ccache -DCMAKE_C_LINKER_LAUNCHER=ccache -DCPACK_GENERATOR=DEB - -DBUILD_nvidia_plugin=OFF -S $(REPO_DIR) -B $(BUILD_DIR) + displayName: 'CMake OpenVINO' - script: ls -alR $(REPO_DIR)/temp/ displayName: 'List temp SDKs' @@ -190,12 +175,12 @@ jobs: - script: ccache --zero-stats --max-size=50G --show-config displayName: 'Clean ccache stats' - - script: | - export CCACHE_DIR=$(CCACHE_DIR) - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=50G - ninja -C $(BUILD_DIR) + - script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) + env: + CCACHE_DIR: $(CCACHE_DIR) + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 50G displayName: 'Build Lin' - script: ccache --show-stats @@ -210,10 +195,12 @@ jobs: -GNinja -S $(REPO_DIR)/tests/layer_tests -B $(BUILD_LAYER_TESTS_DIR) + displayName: 'CMake Layer Tests' - - script: ninja -C $(BUILD_LAYER_TESTS_DIR) + - script: cmake --build $(BUILD_LAYER_TESTS_DIR) --parallel --config $(BUILD_TYPE) displayName: 'Build Layer Tests' + # to check that wheel packages tested later, contain all all the dependencies like TBB or pugixml - script: sudo apt-get remove libtbb2 libpugixml1v5 -y displayName: 'Remove debian dependencies' @@ -223,9 +210,6 @@ jobs: - script: cmake -DCOMPONENT=python_samples -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake displayName: 'Install Python Samples' - - script: cmake -DCOMPONENT=gna -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake - displayName: 'Install GNA plugin' - - script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_LAYER_TESTS_DIR)/cmake_install.cmake displayName: 'Install Layer Tests' @@ -270,16 +254,18 @@ jobs: - script: | sudo apt-get install libtbb-dev libpugixml-dev -y - cmake --build $(BUILD_DIR) --target package -j8 + cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) --target package --parallel displayName: 'Build Debian packages' - script: | # install debian packages from previous release + sudo apt-get -y update + sudo apt-get install --no-install-recommends gnupg wget -y wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB - sudo apt-get install --no-install-recommends gnupg -y echo "deb https://apt.repos.intel.com/openvino/2022 focal main" | sudo tee /etc/apt/sources.list.d/intel-openvino-2022.list sudo apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/intel-openvino-2022.list + # TODO: sudo apt-get install openvino -y || exit 1 sudo apt-get install openvino -y # install our local one and make sure the conflicts are resolved sudo apt-get install --no-install-recommends dpkg-dev -y @@ -300,33 +286,37 @@ jobs: - script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR) displayName: 'Build cpp samples' - - script: | - export CC=clang - export CXX=clang++ - $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR) + - script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR) + env: + CC: clang + CXX: clang++ displayName: 'Build cpp samples - clang' - script: $(SAMPLES_INSTALL_DIR)/c/build_samples.sh -i $(INSTALL_DIR) displayName: 'Build c samples' - script: | - export LD_LIBRARY_PATH=$(INSTALL_TEST_DIR):$LD_LIBRARY_PATH $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-NGraphUT.xml + env: + LD_LIBRARY_PATH: $(INSTALL_TEST_DIR) displayName: 'OV Core UT' - script: | - export LD_LIBRARY_PATH=$(INSTALL_TEST_DIR) $(INSTALL_TEST_DIR)/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ONNXFrontend.xml + env: + LD_LIBRARY_PATH: $(INSTALL_TEST_DIR) displayName: 'ONNX Frontend Tests' - script: | - export LD_LIBRARY_PATH=$(INSTALL_TEST_DIR) $(INSTALL_TEST_DIR)/paddle_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-Paddle.xml + env: + LD_LIBRARY_PATH: $(INSTALL_TEST_DIR) displayName: 'Paddle Frontend UT' - script: | - export LD_LIBRARY_PATH=$(INSTALL_TEST_DIR) $(INSTALL_TEST_DIR)/ov_tensorflow_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-Tensorflow.xml + env: + LD_LIBRARY_PATH: $(INSTALL_TEST_DIR) displayName: 'TensorFlow Frontend Unit Tests' # python3 $(WORK_DIR)/gtest-parallel/gtest_parallel.py $(INSTALL_TEST_DIR)/InferenceEngineUnitTests --workers=16 --dump_json_test_results=InferenceEngineUnitTests.json --gtest_filter=*smoke* -- --gtest_print_time=1 @@ -336,21 +326,13 @@ jobs: - script: $(INSTALL_TEST_DIR)/ov_cpu_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_unit_tests.xml displayName: 'Intel CPU Unit Tests' - - script: $(INSTALL_TEST_DIR)/ov_gna_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_gna_unit_tests.xml - displayName: 'GNA UT' - - - script: $(INSTALL_TEST_DIR)/vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-vpuUnitTests.xml - displayName: 'VPU UT' - - - script: $(INSTALL_TEST_DIR)/XLinkTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-XLinkTests.xml - displayName: 'XLink Tests' - - script: $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml displayName: 'MULTI UT' - script: | - export LD_LIBRARY_PATH=$(INSTALL_TEST_DIR):$LD_LIBRARY_PATH $(INSTALL_TEST_DIR)/ov_template_func_tests --gtest_filter=*smoke* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-templateFuncTests.xml + env: + LD_LIBRARY_PATH: $(INSTALL_TEST_DIR) displayName: 'TEMPLATE FuncTests' # run not all smoke filter to save time in post-commit @@ -358,15 +340,16 @@ jobs: displayName: 'CPU FuncTests' - script: | - export DATA_PATH=$(MODELS_PATH) - export MODELS_PATH=$(MODELS_PATH) $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'IE CAPITests' - - script: | - export DATA_PATH=$(MODELS_PATH) - export MODELS_PATH=$(MODELS_PATH) - $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml + - script: $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'OV CAPITests' - task: CMake@1 @@ -375,6 +358,7 @@ jobs: -GNinja -S $(REPO_DIR)/tests/samples_tests -B $(BUILD_SAMPLES_TESTS_DIR) + displayName: 'CMake Samples Tests' - script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_SAMPLES_TESTS_DIR)/cmake_install.cmake displayName: 'Install Samples Tests' @@ -384,14 +368,14 @@ jobs: - script: | export PATH=$HOME/.local/bin:$PATH - export IE_APP_PATH=$(INSTALL_DIR)/samples_bin - export LD_LIBRARY_PATH=$IE_APP_PATH:$LD_LIBRARY_PATH - # for gna plugin - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(INSTALL_DIR)/lib/x86_64-linux-gnu:$(INSTALL_DIR)/lib/x86_64-linux-gnu/openvino-2022.3.0 - export IE_APP_PYTHON_PATH=$(PYTHON_SAMPLES_INSTALL_DIR)/ - export SHARE=$(INSTALL_TEST_DIR)/smoke_tests/samples_smoke_tests_data/ - export WORKSPACE=$(INSTALL_DIR) - python3 -m pytest $(INSTALL_TEST_DIR)/smoke_tests/ --env_conf $(INSTALL_TEST_DIR)/smoke_tests/env_config.yml -s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml + # GNA isn't a part of Debian package, so filter out that tests + python3 -m pytest $(INSTALL_TEST_DIR)/smoke_tests/ -k "not GNA" --env_conf $(INSTALL_TEST_DIR)/smoke_tests/env_config.yml -s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml + env: + IE_APP_PATH: $(INSTALL_DIR)/samples_bin + LD_LIBRARY_PATH: $(INSTALL_DIR)/samples_bin + IE_APP_PYTHON_PATH: $(PYTHON_SAMPLES_INSTALL_DIR)/ + SHARE: $(INSTALL_TEST_DIR)/smoke_tests/samples_smoke_tests_data/ + WORKSPACE: $(INSTALL_DIR) displayName: 'Samples Smoke Tests' - script: | diff --git a/.ci/azure/linux_lohika.yml b/.ci/azure/linux_lohika.yml index b580ba247ff..f4dfc2326a1 100644 --- a/.ci/azure/linux_lohika.yml +++ b/.ci/azure/linux_lohika.yml @@ -55,6 +55,7 @@ jobs: # # CMake must get Python 3.x version by default # cmakeArgs: > # -GNinja +# -DENABLE_CPPLINT=OFF # -DCMAKE_VERBOSE_MAKEFILE=ON # -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) # -DENABLE_PYTHON=ON @@ -64,10 +65,10 @@ jobs: # -DENABLE_FASTER_BUILD=ON # -DENABLE_STRICT_DEPENDENCIES=OFF # -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules -# $(REPO_DIR) -# workingDirectory: $(BUILD_DIR) +# -S $(REPO_DIR) +# -B $(BUILD_DIR) - - script: > + - script: | env -C ~/work ./buildreleasenolto.sh libopenvino_gapi_preproc.so diff --git a/.ci/azure/linux_ngraph_onnx.yml b/.ci/azure/linux_ngraph_onnx.yml index 080e89db2c6..283e7316340 100644 --- a/.ci/azure/linux_ngraph_onnx.yml +++ b/.ci/azure/linux_ngraph_onnx.yml @@ -65,7 +65,6 @@ jobs: uname -a echo Python3 info ; which python3 ; python3 --version echo Python info ; which python ; python --version - echo Java info ; which java ; java -version echo gcc info ; which gcc ; gcc --version echo cmake info ; which cmake ; cmake --version lsb_release @@ -99,7 +98,6 @@ jobs: apt-get update && apt-get install -y lsb-release && apt-get clean all curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' - script: diff --git a/.ci/azure/linux_onnxruntime.yml b/.ci/azure/linux_onnxruntime.yml index 55b2a3ecfbe..bc6d7a80fdb 100644 --- a/.ci/azure/linux_onnxruntime.yml +++ b/.ci/azure/linux_onnxruntime.yml @@ -58,7 +58,6 @@ jobs: uname -a echo Python3 info ; which python3 ; python3 --version echo Python info ; which python ; python --version - echo Java info ; which java ; java -version echo gcc info ; which gcc ; gcc --version echo cmake info ; which cmake ; cmake --version lsb_release @@ -95,12 +94,10 @@ jobs: set -e sudo -E $(REPO_DIR)/install_build_dependencies.sh # Speed up build + sudo apt -y --no-install-recommends install unzip wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip unzip ninja-linux.zip sudo cp -v ninja /usr/local/bin/ - # Speed up tests - git clone https://github.com/google/gtest-parallel.git - workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' - task: CMake@1 @@ -120,29 +117,34 @@ jobs: -DENABLE_OV_TF_FRONTEND=OFF -DENABLE_OV_PADDLE_FRONTEND=OFF -DENABLE_OPENVINO_DEBUG=OFF - $(REPO_DIR) - workingDirectory: $(BUILD_DIR) + -S $(REPO_DIR) + -B $(BUILD_DIR) - - script: ninja - workingDirectory: $(BUILD_DIR) + - script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) displayName: 'Build Lin ONNX' - script: ls -alR $(REPO_DIR)/bin/ displayName: 'List bin files' - - script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake - workingDirectory: $(BUILD_DIR) + - script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake displayName: 'Install OpenVINO' - script: | source $(INSTALL_DIR)/setupvars.sh - CXXFLAGS="-Wno-error=deprecated-declarations" ./build.sh --config RelWithDebInfo --use_openvino CPU_FP32 --build_shared_lib --parallel --skip_tests --build_dir $(ONNXRUNTIME_BUILD_DIR) - workingDirectory: $(ONNXRUNTIME_REPO_DIR) + $(ONNXRUNTIME_REPO_DIR)/build.sh \ + --config RelWithDebInfo \ + --use_openvino CPU_FP32 \ + --build_shared_lib \ + --parallel \ + --skip_tests \ + --build_dir $(ONNXRUNTIME_BUILD_DIR) + env: + CXXFLAGS: "-Wno-error=deprecated-declarations" displayName: 'Build Lin ONNX Runtime' - script: | source $(INSTALL_DIR)/setupvars.sh - skip_tests=`tr -s '\n ' ':' < $(ONNXRUNTIME_UTILS)/skip_tests` + skip_tests=$(tr -s '\n ' ':' < $(ONNXRUNTIME_UTILS)/skip_tests) ./onnxruntime_test_all --gtest_filter=-$skip_tests workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo displayName: 'Run onnxruntime_test_all' diff --git a/.ci/azure/mac.yml b/.ci/azure/mac.yml index 1e8ca2f738d..3ebead3682c 100644 --- a/.ci/azure/mac.yml +++ b/.ci/azure/mac.yml @@ -123,18 +123,14 @@ jobs: brew install automake python3 -m pip install -r $(REPO_DIR)/src/frontends/onnx/tests/requirements.txt # Speed up build - brew install ninja - brew install ccache - # Speed up tests - git clone https://github.com/google/gtest-parallel.git - workingDirectory: $(WORK_DIR) + brew install ninja ccache displayName: 'Install dependencies' - script: | export PATH="/usr/local/opt/cython/bin:$PATH" - export CC=gcc - export CXX=g++ cmake -GNinja \ + -DENABLE_CPPLINT=OFF \ + -DENABLE_INTEL_MYRIAD_COMMON=OFF \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON \ @@ -143,12 +139,13 @@ jobs: -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ - -DCMAKE_CXX_LINKER_LAUNCHER=ccache \ - -DCMAKE_C_LINKER_LAUNCHER=ccache \ -DBUILD_nvidia_plugin=OFF \ -S $(REPO_DIR) \ -B $(BUILD_DIR) - displayName: 'CMake' + env: + CC: gcc + CXX: g++ + displayName: 'CMake OpenVINO' - script: ls -alR $(REPO_DIR)/temp/ displayName: 'List temp SDKs' @@ -160,17 +157,17 @@ jobs: restoreKeys: | ccache | "$(Agent.OS)" displayName: Cache + enabled: 'false' - script: ccache --zero-stats --max-size=10G --show-config displayName: 'Clean ccache stats' - - script: | - export CCACHE_DIR=$(CCACHE_DIR) - export CCACHE_TEMPDIR=$(TMP_DIR)/ccache - export CCACHE_BASEDIR=$(Pipeline.Workspace) - export CCACHE_MAXSIZE=10G - ninja - workingDirectory: $(BUILD_DIR) + - script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) + env: + CCACHE_DIR: $(CCACHE_DIR) + CCACHE_TEMPDIR: $(TMP_DIR)/ccache + CCACHE_BASEDIR: $(Pipeline.Workspace) + CCACHE_MAXSIZE: 10G displayName: 'Build Mac' - script: ccache --show-stats @@ -185,9 +182,7 @@ jobs: - script: ls -alR $(INSTALL_DIR) displayName: 'List install files' - - script: | - set -e - cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)/cmake_install.cmake + - script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)/cmake_install.cmake displayName: 'Install tests' - script: ls -alR $(INSTALL_DIR) @@ -213,10 +208,6 @@ jobs: displayName: 'Intel CPU Unit Tests' enabled: 'false' - - script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-vpuUnitTests.xml - displayName: 'VPU UT' - enabled: 'false' - - script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml displayName: 'MULTI UT' enabled: 'false' @@ -226,16 +217,18 @@ jobs: enabled: 'false' - script: | - export DATA_PATH=$(MODELS_PATH) - export MODELS_PATH=$(MODELS_PATH) . $(SETUPVARS) && $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'IE CAPITests' enabled: 'false' - script: | - export DATA_PATH=$(MODELS_PATH) - export MODELS_PATH=$(MODELS_PATH) . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'IE CAPITests' enabled: 'false' diff --git a/.ci/azure/windows.yml b/.ci/azure/windows.yml index 2010aabde08..258000661b0 100644 --- a/.ci/azure/windows.yml +++ b/.ci/azure/windows.yml @@ -158,7 +158,6 @@ jobs: powershell -command "Expand-Archive -Force cmake-$(CMAKE_VERSION)-windows-x86_64.zip" powershell -command "Invoke-WebRequest https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip -OutFile ninja-win.zip" powershell -command "Expand-Archive -Force ninja-win.zip" - git clone https://github.com/google/gtest-parallel.git workingDirectory: $(WORK_DIR) displayName: 'Install dependencies' @@ -170,6 +169,7 @@ jobs: - script: | set PATH=$(WORK_DIR)\ninja-win;%PATH% call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) -G "Ninja Multi-Config" ^ + -DENABLE_CPPLINT=OFF ^ -DENABLE_ONEDNN_FOR_GPU=$(CMAKE_BUILD_SHARED_LIBS) ^ -DBUILD_SHARED_LIBS=$(CMAKE_BUILD_SHARED_LIBS) ^ -DENABLE_FASTER_BUILD=ON ^ @@ -178,6 +178,7 @@ jobs: -DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^ -DENABLE_STRICT_DEPENDENCIES=OFF ^ -DENABLE_PYTHON=ON ^ + -DENABLE_INTEL_MYRIAD_COMMON=OFF ^ -DBUILD_nvidia_plugin=OFF ^ -DPYTHON_EXECUTABLE="C:\hostedtoolcache\windows\Python\3.10.7\x64\python.exe" ^ -DPYTHON_INCLUDE_DIR="C:\hostedtoolcache\windows\Python\3.10.7\x64\include" ^ @@ -185,7 +186,8 @@ jobs: -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)\modules ^ -DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^ -DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^ - -S $(REPO_DIR) -B $(BUILD_DIR) + -S $(REPO_DIR) ^ + -B $(BUILD_DIR) displayName: 'CMake OpenVINO' - script: dir $(REPO_DIR)\temp\ /s @@ -193,7 +195,7 @@ jobs: - script: | set PATH=$(WORK_DIR)\ninja-win;%PATH% - call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) --build $(BUILD_DIR) --config Release" + call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) --build $(BUILD_DIR) --parallel --config Release" displayName: 'Build Win' - script: dir $(REPO_DIR)\bin\ /s @@ -228,16 +230,17 @@ jobs: - script: $(INSTALL_DIR)\samples\c\build_samples_msvc.bat -i $(INSTALL_DIR) displayName: 'Build c samples' - - script: | - python -m pip install -r $(INSTALL_TEST_DIR)\smoke_tests\requirements.txt + - script: python -m pip install -r $(INSTALL_TEST_DIR)\smoke_tests\requirements.txt displayName: 'Install dependencies for samples smoke tests' - script: | - call $(SETUPVARS) && set IE_APP_PATH=$(INSTALL_DIR)\samples_bin - set IE_APP_PYTHON_PATH=$(INSTALL_DIR)\samples\python\ - set SHARE=$(INSTALL_DIR)\tests\smoke_tests\samples_smoke_tests_data\ - set WORKSPACE=$(INSTALL_DIR) + call $(SETUPVARS) python -m pytest $(INSTALL_DIR)\tests\smoke_tests\ --env_conf $(INSTALL_TEST_DIR)\smoke_tests\env_config.yml -s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml + env: + IE_APP_PATH: $(INSTALL_DIR)\samples_bin + IE_APP_PYTHON_PATH: $(INSTALL_DIR)\samples\python\ + SHARE: $(INSTALL_DIR)\tests\smoke_tests\samples_smoke_tests_data\ + WORKSPACE: $(INSTALL_DIR) displayName: 'Samples Smoke Tests' - script: $(CMAKE_CMD) -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)\cmake_install.cmake @@ -291,12 +294,6 @@ jobs: - script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_gna_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_gna_unit_tests.xml displayName: 'GNA UT' - - script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-vpuUnitTests.xml - displayName: 'VPU UT' - - - script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\XLinkTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-XLinkTests.xml - displayName: 'XLink Tests' - - script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ieMultiPluginUnitTests.xml displayName: 'MULTI UT' @@ -308,15 +305,17 @@ jobs: condition: and(succeeded(), eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'OFF')) - script: | - set DATA_PATH=$(MODELS_PATH) - set MODELS_PATH=$(MODELS_PATH) call $(SETUPVARS) && $(INSTALL_TEST_DIR)\InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceEngineCAPITests.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'IE CAPITests' - script: | - set DATA_PATH=$(MODELS_PATH) - set MODELS_PATH=$(MODELS_PATH) call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_capi_test.xml + env: + DATA_PATH: $(MODELS_PATH) + MODELS_PATH: $(MODELS_PATH) displayName: 'OV CAPITests' - task: PublishTestResults@2 diff --git a/.ci/openvino-onnx/Dockerfile b/.ci/openvino-onnx/Dockerfile index ebba2a527e4..7b264d6735a 100644 --- a/.ci/openvino-onnx/Dockerfile +++ b/.ci/openvino-onnx/Dockerfile @@ -55,7 +55,7 @@ RUN cmake .. \ -DENABLE_INTEL_GPU=OFF \ -DENABLE_HETERO=OFF \ -DENABLE_MULTI=OFF \ - -DENABLE_BATCH=OFF \ + -DENABLE_AUTO_BATCH=OFF \ -DENABLE_GAPI_PREPROCESSING=OFF \ -DENABLE_CPPLINT=OFF \ -DENABLE_NCC_STYLE=OFF \ diff --git a/cmake/developer_package/IEDevScriptsConfig.cmake b/cmake/developer_package/IEDevScriptsConfig.cmake index 74e768b3e79..b0dbe951528 100644 --- a/cmake/developer_package/IEDevScriptsConfig.cmake +++ b/cmake/developer_package/IEDevScriptsConfig.cmake @@ -298,6 +298,7 @@ function(ie_mark_target_as_cc TARGET_NAME) get_target_property(sources ${TARGET_NAME} SOURCES) set_source_files_properties(${sources} PROPERTIES OBJECT_DEPENDS ${GENERATED_HEADER}) + add_dependencies(${TARGET_NAME} conditional_compilation_gen) endfunction() function(ov_mark_target_as_cc) diff --git a/cmake/developer_package/compile_flags/os_flags.cmake b/cmake/developer_package/compile_flags/os_flags.cmake index cd8534acc22..4ca056495eb 100644 --- a/cmake/developer_package/compile_flags/os_flags.cmake +++ b/cmake/developer_package/compile_flags/os_flags.cmake @@ -212,7 +212,7 @@ endfunction() # Forced includes certain header file to all target source files # function(ov_force_include target scope header_file) - if(MSVC) + if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") target_compile_options(${target} ${scope} /FI"${header_file}") else() target_compile_options(${target} ${scope} -include "${header_file}") diff --git a/install_build_dependencies.sh b/install_build_dependencies.sh index e5a5ef0f4e5..e30b8258f3f 100755 --- a/install_build_dependencies.sh +++ b/install_build_dependencies.sh @@ -3,22 +3,6 @@ # Copyright (C) 2018-2023 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -params=$1 - -yes_or_no() { - if [ "$params" == "-y" ]; then - return 0 - fi - - while true; do - read -p -r "Add third-party Nux Dextop repository and install FFmpeg package (y) / Skip this step (N)" yn - case $yn in - [Yy]*) return 0 ;; - [Nn]*) return 1 ;; - esac - done -} - if [ $EUID -ne 0 ]; then echo "ERROR: this script must be run as root to install 3rd party packages." >&2 echo "Please try again with \"sudo -E $0\", or as root." >&2 @@ -29,10 +13,11 @@ fi if [ -f /etc/lsb-release ] || [ -f /etc/debian_version ] ; then # Ubuntu host_cpu=$(uname -m) + + x86_64_specific_packages=() if [ "$host_cpu" = "x86_64" ]; then - x86_64_specific_packages=(gcc-multilib g++-multilib) - else - x86_64_specific_packages=() + # to build 32-bit or ARM binaries on 64-bit host + x86_64_specific_packages+=(gcc-multilib g++-multilib) fi if ! command -v cmake &> /dev/null; then @@ -40,127 +25,119 @@ if [ -f /etc/lsb-release ] || [ -f /etc/debian_version ] ; then fi apt update - apt-get install -y \ + apt-get install -y --no-install-recommends \ + file \ + `# build tools` \ build-essential \ - "${cmake_packages[@]}" \ ccache \ - curl \ - wget \ - libssl-dev \ - ca-certificates \ - git \ + "${cmake_packages[@]}" \ "${x86_64_specific_packages[@]}" \ - libgtk2.0-dev \ - unzip \ + `# to find dependencies` \ + pkg-config \ + `# to deternime product version via git` \ + git \ + `# check bash scripts for correctness` \ shellcheck \ + `# to build and check pip packages` \ patchelf \ fdupes \ - lintian \ - file \ + `# archive debian changelog file` \ gzip \ - `# openvino` \ + `# to check debian package correctness` \ + lintian \ + `# openvino main dependencies` \ libtbb-dev \ libpugixml-dev \ - `# gpu plugin extensions` \ + `# GPU plugin extensions` \ libva-dev \ - `# python` \ + `# python API` \ python3-pip \ python3-venv \ - python3-enchant \ python3-setuptools \ libpython3-dev \ - `# samples` \ - pkg-config \ + libffi-dev \ + `# spell checking for MO sources` \ + python3-enchant \ + `# samples and tools` \ libgflags-dev \ - zlib1g-dev \ - `# hddl` \ - libudev1 \ - libusb-1.0-0 \ - `# myriad` \ - libusb-1.0-0-dev \ - `# cl_compiler` \ - libtinfo5 + zlib1g-dev # git-lfs is not available on debian9 if apt-cache search --names-only '^git-lfs'| grep -q git-lfs; then - apt-get install -y git-lfs - fi - # hddl - if apt-cache search --names-only '^libboost-filesystem1.65.1' | grep -q libboost-filesystem1.65.1 ; then - # ubuntu 18.04 - apt-get install -y \ - libjson-c3 \ - libboost-filesystem1.65.1 \ - libboost-program-options1.65.1 \ - libboost-system1.65.1 - elif apt-cache search --names-only '^libjson-c4'| grep -q libjson-c4; then - # ubuntu 20.04 - apt-get install -y \ - libjson-c4 \ - libboost-filesystem1.71.0 \ - libboost-program-options1.71.0 + apt-get install -y --no-install-recommends git-lfs fi # for python3-enchant if apt-cache search --names-only 'libenchant1c2a'| grep -q libenchant1c2a; then - apt-get install -y libenchant1c2a + apt-get install -y --no-install-recommends libenchant1c2a fi # samples if apt-cache search --names-only '^nlohmann-json3-dev'| grep -q nlohmann-json3; then - apt-get install -y nlohmann-json3-dev + apt-get install -y --no-install-recommends nlohmann-json3-dev else - apt-get install -y nlohmann-json-dev + apt-get install -y --no-install-recommends nlohmann-json-dev fi elif [ -f /etc/redhat-release ] || grep -q "rhel" /etc/os-release ; then # RHEL 8 / CentOS 7 yum update yum install -y centos-release-scl epel-release yum install -y \ - wget \ - curl \ + file \ + `# build tools` cmake3 \ - tar \ - xz \ - p7zip \ ccache \ - openssl-devel \ - rpm-build \ - rpmlint \ - ShellCheck \ - unzip \ - which \ - ca-certificates \ - git \ - git-lfs \ - boost-devel \ - python3-pip \ - python3-devel \ - libtool \ - tbb-devel \ - pugixml-devel \ gcc \ gcc-c++ \ make \ + `# to determine openvino version via git` \ + git \ + git-lfs \ + `# to build and check pip packages` \ patchelf \ fdupes \ - libusbx-devel \ - file \ - zlib-devel \ - gflags-devel \ + `# to build and check rpm packages` \ + rpm-build \ + rpmlint \ + `# check bash scripts for correctness` \ + ShellCheck \ + `# main openvino dependencies` \ + tbb-devel \ + pugixml-devel \ + `# GPU plugin dependency` libva-devel + `# python API` \ + python3-pip \ + python3-devel \ + `# samples and tools` \ + zlib-devel \ + gflags-devel elif [ -f /etc/os-release ] && grep -q "raspbian" /etc/os-release; then # Raspbian apt update - apt-get install -y \ + apt-get install -y --no-install-recommends \ + file \ + `# build tools` \ build-essential \ - wget \ - libssl-dev \ - ca-certificates \ - git \ + ccache \ + `# to find dependencies` \ pkg-config \ + `# to deternime product version via git` \ + git \ + `# to build and check pip packages` \ + patchelf \ + fdupes \ + `# archive debian changelog file` \ + gzip \ + `# openvino main dependencies` \ + libtbb-dev \ + libpugixml-dev \ + `# python API` \ + python3-pip \ + python3-venv \ + python3-setuptools \ + libpython3-dev \ + `# samples and tools` \ libgflags-dev \ zlib1g-dev \ - nlohmann-json-dev \ - unzip \ - libusb-1.0-0-dev + nlohmann-json-dev else echo "Unknown OS, please install build dependencies manually" fi @@ -171,6 +148,7 @@ required_cmake_ver=3.20.0 if [ ! "$(printf '%s\n' "$required_cmake_ver" "$current_cmake_ver" | sort -V | head -n1)" = "$required_cmake_ver" ]; then installed_cmake_ver=3.23.2 arch=$(uname -m) + apt-get install -y --no-install-recommends wget wget "https://github.com/Kitware/CMake/releases/download/v${installed_cmake_ver}/cmake-${installed_cmake_ver}-linux-${arch}.sh" chmod +x "cmake-${installed_cmake_ver}-linux-${arch}.sh" "./cmake-${installed_cmake_ver}-linux-${arch}.sh" --skip-license --prefix=/usr/local diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 44878e21300..966deeae4d2 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -17,8 +17,7 @@ set(shellcheck_skip_list # TODO fix and enable back list(APPEND shellcheck_skip_list - "${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_NEO_OCL_driver.sh" - "${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_openvino_dependencies.sh") + "${OpenVINO_SOURCE_DIR}/scripts/install_dependencies/install_NEO_OCL_driver.sh") if(shellcheck_VERSION VERSION_GREATER_EQUAL 0.7.0) list(APPEND shellcheck_skip_list diff --git a/scripts/install_dependencies/install_openvino_dependencies.sh b/scripts/install_dependencies/install_openvino_dependencies.sh index 70a36d5eed5..2487cf8ed32 100755 --- a/scripts/install_dependencies/install_openvino_dependencies.sh +++ b/scripts/install_dependencies/install_openvino_dependencies.sh @@ -8,8 +8,7 @@ set -e #=================================================================================================== # Option parsing -default_comp=(core dev python) -all_comp=("${default_comp[@]}" opencv_req opencv_opt) +all_comp=(core dev python) os=${os:-auto} # public options @@ -48,7 +47,7 @@ done # No components selected - install default if [ ${#comp[@]} -eq 0 ]; then - comp=("${default_comp[@]}") + comp=("${all_comp[@]}") fi #=================================================================================================== @@ -124,43 +123,16 @@ if [ "$os" == "raspbian9" ] || [ "$os" == "debian9" ] ; then elif [ "$os" == "ubuntu18.04" ] ; then pkgs_core=(libtbb2 libpugixml1v5) - pkgs_opencv_req=(libgtk-3-0 libgl1) pkgs_python=(python3.8 libpython3.8 python3.8-venv python3-pip) pkgs_dev=(cmake pkg-config g++ gcc libc6-dev libgflags-dev zlib1g-dev nlohmann-json-dev make curl sudo) - pkgs_opencv_opt=( - gstreamer1.0-plugins-bad - gstreamer1.0-plugins-base - gstreamer1.0-plugins-good - gstreamer1.0-plugins-ugly - gstreamer1.0-tools - libavcodec57 - libavformat57 - libavresample3 - libavutil55 - libgstreamer1.0-0 - libswscale4 - ) elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "debian10" ] || [ "$os" == "raspbian10" ] || [ "$os" == "ubuntu21.10" ] || [ "$os" == "ubuntu22.04" ] || [ "$os" == "debian11" ] || [ "$os" == "raspbian11" ] || [ "$os" == "ubuntu22.10" ] || [ "$os" == "debian12" ] || [ "$os" == "raspbian12" ]; then pkgs_core=(libpugixml1v5) - pkgs_opencv_req=(libgtk-3-0 libgl1) pkgs_python=(python3 python3-venv python3-pip) pkgs_dev=(cmake pkg-config g++ gcc libc6-dev libgflags-dev zlib1g-dev nlohmann-json3-dev make curl sudo) - pkgs_opencv_opt=( - gstreamer1.0-plugins-bad - gstreamer1.0-plugins-base - gstreamer1.0-plugins-good - gstreamer1.0-plugins-ugly - gstreamer1.0-tools - libavcodec58 - libavformat58 - libavutil56 - libgstreamer1.0-0 - libswscale5 - ) if [ "$os" == "debian10" ] || [ "$os" == "raspbian10" ] ; then pkgs_core=("${pkgs_core[@]}" libtbb2) @@ -168,7 +140,6 @@ elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "debian10" ] || [ "$os" == "raspbi elif [ "$os" == "ubuntu20.04" ] || [ "$os" == "ubuntu20.10" ] || [ "$os" == "ubuntu21.04" ] ; then pkgs_core=("${pkgs_core[@]}" libtbb2) pkgs_python=("${pkgs_python[@]}" libpython3.8) - pkgs_opencv_opt=("${pkgs_opencv_opt[@]}" libavresample4) elif [ "$os" == "ubuntu21.10" ] || [ "$os" == "debian11" ] || [ "$os" == "raspbian11" ] ; then pkgs_core=("${pkgs_core[@]}" libtbb2) @@ -192,13 +163,13 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || fi pkgs_dev=(gcc gcc-c++ make glibc libstdc++ libgcc cmake3 "json-devel.$arch" "zlib-devel.$arch" sudo) - + if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ] ; then pkgs_dev+=(pkgconfig) else pkgs_dev+=(pkgconf-pkg-config) fi - + if [ "$os" == "rhel9.1" ] ; then pkgs_dev+=(curl-minimal) else @@ -215,12 +186,6 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || if [ "$os" == "centos7" ] || [ "$os" == "amzn2" ] ; then pkgs_core=("tbb.$arch" "pugixml.$arch" "gflags.$arch") pkgs_dev+=("gflags-devel.$arch") - pkgs_opencv_opt=( - "gstreamer1.$arch" - "gstreamer1-plugins-ugly-free.$arch" - "gstreamer1-plugins-good.$arch" - "gstreamer1-plugins-bad-free.$arch" - ) extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm") elif [ "$os" == "centos8" ] || [ "$os" == "rhel8" ] || [ "$os" == "almalinux8.7" ] ; then pkgs_core+=( @@ -233,42 +198,6 @@ elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || "https://vault.centos.org/centos/8/PowerTools/$arch/os/Packages/gflags-devel-2.1.2-6.el8.$arch.rpm" "https://download-ib01.fedoraproject.org/pub/epel/8/Everything/$arch/Packages/j/json-devel-3.6.1-2.el8.$arch.rpm" ) - pkgs_opencv_req=(gtk3) - pkgs_opencv_opt=( - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libcdio-2.0.0-3.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libtheora-1.1.1-21.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/opus-1.3-0.4.beta.el8.$arch.rpm" - "http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/orc-0.4.28-3.el8.$arch.rpm" - "http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/libglvnd-gles-1.3.4-1.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdread-5.0.3-9.el8.$arch.rpm" - "http://mirror.centos.org/centos/8-stream/AppStream/$arch/os/Packages/libvisual-0.4.0-25.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/liba52-0.7.4-32.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdread-5.0.3-9.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libXv-1.0.11-7.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/taglib-1.11.1-8.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/mpg123-libs-1.25.10-2.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/lame-libs-3.100-6.el8.$arch.rpm" - "https://vault.centos.org/centos/8/BaseOS/$arch/os/Packages/libgudev-232-4.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libv4l-1.14.2-3.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/speex-1.2.0-1.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libraw1394-2.1.2-5.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libsrtp-1.5.4-8.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libvpx-1.7.0-8.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/wavpack-5.1.0-15.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libiec61883-1.2.0-18.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libshout-2.2.2-19.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/twolame-libs-0.3.13-12.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libavc1394-0.5.4-7.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdv-1.0.0-27.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/libdvdnav-5.0.3-8.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/webrtc-audio-processing-0.3-9.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-base-1.16.1-2.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-1.16.1-2.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-bad-free-1.16.1-1.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-good-1.16.1-2.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/gstreamer1-plugins-ugly-free-1.16.1-1.el8.$arch.rpm" - "https://vault.centos.org/centos/8/AppStream/$arch/os/Packages/soundtouch-2.0.0-3.el8.$arch.rpm" - ) extra_repos+=("https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm") elif [ "$os" == "rhel9.1" ] ; then pkgs_core=( @@ -329,7 +258,7 @@ if [ "$os" == "debian9" ] || [ "$os" == "raspbian9" ] || [ "$os" == "ubuntu18.04 [ -n "$dry" ] && iopt="--dry-run" [ -n "$keepcache" ] && rm -f /etc/apt/apt.conf.d/docker-clean - apt-get update && apt-get install -y --no-install-recommends "$iopt" "${pkgs[@]}" + apt-get update && apt-get install --no-install-recommends "$iopt" "${pkgs[@]}" elif [ "$os" == "centos7" ] || [ "$os" == "centos8" ] || [ "$os" == "rhel8" ] || [ "$os" == "rhel9.1" ] ||