diff --git a/.ci/azure/linux_arm64.yml b/.ci/azure/linux_arm64.yml index c65551c7f57..277d3dff15d 100644 --- a/.ci/azure/linux_arm64.yml +++ b/.ci/azure/linux_arm64.yml @@ -31,14 +31,6 @@ pr: - 'tools/*' - 'tests/layer_tests/*' -resources: - repositories: - - repository: openvino_contrib - type: github - endpoint: openvinotoolkit - name: openvinotoolkit/openvino_contrib - ref: master - variables: - group: github @@ -54,32 +46,16 @@ jobs: system.debug: true VSTS_HTTP_RETRY: 5 VSTS_HTTP_TIMEOUT: 200 - PYTHON_ARM_VERSION: "3.10.6" - PYTHON_EXEC: "python3.10" OPENVINO_ARCH: 'aarch64' NUM_PROC: 1 BUILD_TYPE: Release OPENVINO_REPO_DIR: $(Build.Repository.LocalPath) - OPENVINO_CONTRIB_REPO_DIR: $(OPENVINO_REPO_DIR)/../openvino_contrib - OPENCV_REPO_DIR: $(OPENVINO_REPO_DIR)/../opencv - ONETBB_REPO_DIR: $(OPENVINO_CONTRIB_REPO_DIR)/../oneTBB - BUILD_PYTHON: $(WORK_DIR)/build_python - BUILD_OPENCV: $(WORK_DIR)/build_opencv - BUILD_ONETBB: $(WORK_DIR)/build_onetbb BUILD_OPENVINO: $(WORK_DIR)/build - BUILD_OPENVINO_PYTHON: $(WORK_DIR)/build_python - CROSSENV_DIR: $(WORK_DIR)/cross_env INSTALL_OPENVINO: $(WORK_DIR)/install_openvino - INSTALL_PYTHON: $(INSTALL_OPENVINO)/extras/python - INSTALL_ONETBB: $(WORK_DIR)/build/extras/oneTBB - INSTALL_ONETBB_PACKAGE: $(INSTALL_OPENVINO)/extras/oneTBB - INSTALL_OPENCV: $(INSTALL_OPENVINO)/extras/opencv WORK_DIR: $(Pipeline.Workspace)/_w SHARE_DIR: /mount/cinfsshare/onnxtestdata TMP_DIR: /mnt/tmp OPENVINO_CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux_arm64 - OPENCV_CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux_arm64_opencv - ONETBB_CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux_arm64_onetbb LD_LIBRARY_PATH: $(Agent.ToolsDirectory)/Python/$(OV_PYTHON_VERSION)/x64/lib OV_PYTHON_VERSION: 3.11.2 # Full version of Python its required for LD_LIBRARY_PATH. More details https://github.com/microsoft/azure-pipelines-tool-lib/blob/master/docs/overview.md#tool-cache @@ -121,15 +97,13 @@ jobs: - script: | rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR) - mkdir -p $(BUILD_ONETBB) $(BUILD_OPENCV) $(BUILD_OPENVINO) $(BUILD_OPENVINO_PYTHON) $(BUILD_PYTHON) - mkdir -p $(INSTALL_ONETBB) $(INSTALL_ONETBB_PACKAGE) $(INSTALL_OPENVINO) $(INSTALL_PYTHON) $(INSTALL_OPENCV) + mkdir -p $(BUILD_OPENVINO) + mkdir -p $(INSTALL_OPENVINO) sudo rm -rf $(TMP_DIR) ; sudo mkdir $(TMP_DIR) ; sudo chmod 777 -R $(TMP_DIR) sudo mkdir -p $(SHARE_DIR) sudo apt --assume-yes update && sudo apt --assume-yes install nfs-common sudo mount -vvv -t nfs cinfsshare.file.core.windows.net:/cinfsshare/onnxtestdata $(SHARE_DIR) -o vers=4,minorversion=1,sec=sys mkdir -p $(OPENVINO_CCACHE_DIR) - mkdir -p $(OPENCV_CCACHE_DIR) - mkdir -p $(ONETBB_CCACHE_DIR) displayName: 'Make directories' - checkout: self @@ -137,52 +111,21 @@ jobs: submodules: 'true' path: openvino - - checkout: openvino_contrib - clean: 'true' - submodules: 'true' - path: openvino_contrib - - script: | set -e sudo -E $(OPENVINO_REPO_DIR)/install_build_dependencies.sh - $(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 - 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) + # install dependencies needed to build CPU plugin for ARM + sudo -E apt --assume-yes install scons crossbuild-essential-arm64 + # Speed up build + sudo -E 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/ displayName: 'Install dependencies' - - script: | - set -e - /usr/local/bin/$(PYTHON_EXEC) -m pip install -U pip - /usr/local/bin/$(PYTHON_EXEC) -m pip install crossenv - /usr/local/bin/$(PYTHON_EXEC) -m crossenv $(INSTALL_PYTHON)/bin/$(PYTHON_EXEC) $(CROSSENV_DIR) - 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 - displayName: 'Create crossenv' - - task: CMake@1 inputs: cmakeArgs: > @@ -195,13 +138,9 @@ jobs: -DENABLE_DATA=OFF -DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) - -DTHREADING=TBB - -DTBB_DIR=$(INSTALL_ONETBB)/lib/cmake/TBB -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - -DCMAKE_CXX_LINKER_LAUNCHER=ccache - -DCMAKE_C_LINKER_LAUNCHER=ccache -DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC) -DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) -S $(OPENVINO_REPO_DIR) @@ -219,31 +158,6 @@ jobs: - script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE) --target install displayName: 'Install OpenVINO ARM plugin' - - script: | - source $(CROSSENV_DIR)/bin/activate - cmake \ - -GNinja \ - -DENABLE_PYTHON=ON \ - -DENABLE_WHEEL=ON \ - -DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake \ - -DOpenVINODeveloperPackage_DIR=$(BUILD_OPENVINO) \ - -DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) \ - -S $(OPENVINO_REPO_DIR)/src/bindings/python \ - -B $(BUILD_OPENVINO_PYTHON) - deactivate - displayName: 'CMake OpenVINO python binding' - - - 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: cmake --build $(BUILD_OPENVINO_PYTHON) --parallel --target install - displayName: 'Install OpenVINO python binding' - - task: PublishBuildArtifacts@1 inputs: PathtoPublish: $(Build.ArtifactStagingDirectory)