Compare commits
170
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e464e992e | ||
|
+14 |
d1a7b0e3c0 | ||
|
|
b692afc764 | ||
|
|
4c81ede32e | ||
|
+4 |
ccd9cadb14 | ||
|
|
494d688d7c | ||
|
|
833c2865c3 | ||
|
|
7b2273362e | ||
|
|
8967b4de50 | ||
|
|
f0fa2184e6 | ||
|
|
dddec34f35 | ||
|
|
46843777fa | ||
|
|
7bb043287a | ||
|
|
bb02a94d4a | ||
|
|
3e0474ac2f | ||
|
|
cd28f2e4f8 | ||
|
|
550b127b87 | ||
|
|
1c562982df | ||
|
|
eff35123de | ||
|
|
fd33cc3b49 | ||
|
|
358efd2d06 | ||
|
|
a11ae5b690 | ||
|
|
580eebbc33 | ||
|
|
b0277c865b | ||
|
|
eb8b47002d | ||
|
|
9e1329fd61 | ||
|
|
b3f2187a17 | ||
|
|
e52e6e6547 | ||
|
|
c28f91d031 | ||
|
|
1b1c9eff70 | ||
|
|
3e70387903 | ||
|
|
8c85a3b8d3 | ||
|
|
96f79b64cd | ||
|
|
aa330736cc | ||
|
|
4211cc38b8 | ||
|
|
5770daf303 | ||
|
|
3c8ec29423 | ||
|
|
ae52cb3e48 | ||
|
|
da5eb6843c | ||
|
|
567eac4d8f | ||
|
|
c28bf68e30 | ||
|
|
2462e6ae89 | ||
|
|
7f229478ef | ||
|
|
8fbdd05782 | ||
|
|
d4e1694491 | ||
|
|
b7f4c87553 | ||
|
|
2f2c7d23ad | ||
|
|
be74074758 | ||
|
|
8f9a4faa06 | ||
|
|
977ad1b093 | ||
|
|
d47deaaca6 | ||
|
|
4a893dc6de | ||
|
|
46921acd37 | ||
|
|
c939c70f0d | ||
|
|
a2dc739da4 | ||
|
|
e998013e2e | ||
|
|
6c9c5cb70d | ||
|
|
c6b17afa81 | ||
|
|
1285443993 | ||
|
|
cc2c03c95d | ||
|
|
bbdedc5860 | ||
|
|
1552beaab2 | ||
|
|
ae537310dc | ||
|
|
43c8af2fce | ||
|
|
9da0800b31 | ||
|
|
196d01b952 | ||
|
|
d7607a2415 | ||
|
|
810b7e198e | ||
|
|
efa7cae5a0 | ||
|
|
5f601a5f63 | ||
|
|
bf8d662050 | ||
|
|
29d7cd87d0 | ||
|
|
8f7af3299f | ||
|
|
aabda64bd8 | ||
|
|
f3a25e9d1b | ||
|
|
2257dc8a53 | ||
|
|
38911e4cb7 | ||
|
|
57c2a07406 | ||
|
|
418b455883 | ||
|
|
563847bb76 | ||
|
|
e9bb5a2bb7 | ||
|
|
b11a977efd | ||
|
|
7c9482a3ca | ||
|
|
b260cb2f1e | ||
|
|
430e532a62 | ||
|
|
935059f0dc | ||
|
|
048667ca70 | ||
|
|
afc7f8f3a0 | ||
|
|
a1245a95a4 | ||
|
|
4b6765a50c | ||
|
|
8b4f1d9616 | ||
|
|
c6c8ac6a0d | ||
|
|
56ac14f276 | ||
|
|
d2bd73a7e7 | ||
|
|
827025f8ee | ||
|
|
349d1f6647 | ||
|
|
61c9deb284 | ||
|
|
9a7c0caf6c | ||
|
|
88166c1c61 | ||
|
|
0990540083 | ||
|
|
578e979334 | ||
|
|
791385f140 | ||
|
|
0df7039fe7 | ||
|
|
a18d32a639 | ||
|
|
7deb3293e7 | ||
|
|
d857067aae | ||
|
|
bd96363730 | ||
|
|
d80f3afe05 | ||
|
|
9752fafe8e | ||
|
|
3111e2394c | ||
|
|
b2feb56b22 | ||
|
|
7da99de9ae | ||
|
|
756b0de9bf | ||
|
|
1a72966d4e | ||
|
|
4c7c9418a5 | ||
|
|
00d462b1d6 | ||
|
|
21ae66ad5f | ||
|
|
a5c616bc3c | ||
|
|
d33d6b7a6d | ||
|
|
dffe45ebd1 | ||
|
|
bba7e77242 | ||
|
|
5f8d05e342 | ||
|
|
b84161848e | ||
|
|
7904b34679 | ||
|
|
bda7227502 | ||
|
|
f3964bcea0 | ||
|
|
8f13a77a15 | ||
|
|
97ae79fe80 | ||
|
|
ed5e237403 | ||
|
|
7338f4b049 | ||
|
|
288b5326cb | ||
|
|
6f5edfa942 | ||
|
|
ad0ef56665 | ||
|
|
7e1b9353d5 | ||
|
|
ece291a246 | ||
|
|
669d35b3e6 | ||
|
|
12b019e027 | ||
|
|
b07fea664f | ||
|
|
4f9a8757c8 | ||
|
|
12afd97e14 | ||
|
|
9183d96394 | ||
|
|
2d0f8b4f27 | ||
|
|
05d8648854 | ||
|
|
3914fd8aa8 | ||
|
|
4911f80f37 | ||
|
|
53265f0097 | ||
|
|
3dd6b50bff | ||
|
|
9b8ab44500 | ||
|
|
7e87923f0c | ||
|
|
083a17e89e | ||
|
|
67bbc7361c | ||
|
|
0121921068 | ||
|
|
5cfc3cbf5d | ||
|
|
85506f263c | ||
|
|
36c6d58fb2 | ||
|
|
690a10c386 | ||
|
|
bceb7dbfe1 | ||
|
|
57d8e96a30 | ||
|
|
2d072e8129 | ||
|
|
36ab5c2192 | ||
|
|
afa9bdde93 | ||
|
|
970d53b420 | ||
|
|
633fe397a3 | ||
|
|
5c33eff533 | ||
|
|
8680791ffe | ||
|
|
edb3f3e820 | ||
|
|
0eebb124c9 | ||
|
|
cc886509c6 | ||
|
|
a9ad74b690 | ||
|
|
6947916541 |
@@ -0,0 +1,165 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: openvino_contrib
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: android_arm64
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: 120
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_F16S_U20_WU2
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
VSTS_HTTP_RETRY: 5
|
||||
VSTS_HTTP_TIMEOUT: 200
|
||||
BUILD_TYPE: Release
|
||||
OPENVINO_REPO_DIR: $(Build.Repository.LocalPath)
|
||||
OPENVINO_CONTRIB_REPO_DIR: $(OPENVINO_REPO_DIR)/../openvino_contrib
|
||||
WORK_DIR: $(Pipeline.Workspace)/_w
|
||||
BUILD_DIR: $(WORK_DIR)/build
|
||||
ANDROID_TOOLS: $(WORK_DIR)/android_tools
|
||||
ANDROID_SDK_VERSION: 29
|
||||
ANDROID_ABI_CONFIG: arm64-v8a
|
||||
TMP_DIR: /mnt/tmp
|
||||
SHARE_DIR: /mount/cinfsshare/onnxtestdata
|
||||
CCACHE_DIR: $(SHARE_DIR)/ccache/master/android_arm64
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
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 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
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
displayName: 'System information'
|
||||
|
||||
- script: |
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
||||
rm -rf $(ANDROID_TOOLS) ; mkdir $(ANDROID_TOOLS)
|
||||
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 $(CCACHE_DIR)
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino_contrib
|
||||
|
||||
- script: |
|
||||
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
|
||||
# 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
|
||||
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
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DCMAKE_TOOLCHAIN_FILE=$(ANDROID_TOOLS)/ndk-bundle/build/cmake/android.toolchain.cmake
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
||||
-DANDROID_ABI=$(ANDROID_ABI_CONFIG)
|
||||
-DANDROID_STL=c++_shared
|
||||
-DANDROID_PLATFORM=$(ANDROID_SDK_VERSION)
|
||||
-DENABLE_TESTS=ON
|
||||
-DBUILD_java_api=ON
|
||||
-DBUILD_nvidia_plugin=OFF
|
||||
-DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules
|
||||
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
|
||||
-DCMAKE_C_LINKER_LAUNCHER=ccache
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||
$(OPENVINO_REPO_DIR)
|
||||
workingDirectory: $(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)
|
||||
displayName: 'Build Android ARM64'
|
||||
|
||||
- script: ccache --show-stats
|
||||
displayName: 'Show ccache stats'
|
||||
|
||||
- script: ls -alR $(OPENVINO_REPO_DIR)/bin/
|
||||
displayName: 'List binary files'
|
||||
@@ -1 +1 @@
|
||||
rel-1.14.0
|
||||
rel-1.8.1
|
||||
|
||||
@@ -0,0 +1,567 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: openvino_contrib
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2022/3
|
||||
|
||||
- repository: testdata
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/testdata
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: Lin
|
||||
strategy:
|
||||
matrix:
|
||||
# Dynamic:
|
||||
# CMAKE_BUILD_SHARED_LIBS: 'ON'
|
||||
# PYTHON_STATIC_ARGS:
|
||||
# CMAKE_CPACK_GENERATOR:
|
||||
# SAMPLES_INSTALL_DIR: $(INSTALL_DIR)/samples
|
||||
# PYTHON_SAMPLES_INSTALL_DIR: $(SAMPLES_INSTALL_DIR)/python
|
||||
# RUN_PREFIX: . $(SETUPVARS) -pyver 3.8 &&
|
||||
# Debian:
|
||||
# CMAKE_BUILD_SHARED_LIBS: 'ON'
|
||||
# PYTHON_STATIC_ARGS:
|
||||
# CMAKE_CPACK_GENERATOR: 'DEB'
|
||||
# SAMPLES_INSTALL_DIR: /usr/share/openvino/samples
|
||||
# PYTHON_SAMPLES_INSTALL_DIR: $(INSTALL_DIR)/share/openvino/samples/python
|
||||
# RUN_PREFIX: LD_LIBRARY_PATH=$(INSTALL_TEST_DIR):$(INSTALL_DIR)/opencv/lib:$LD_LIBRARY_PATH
|
||||
Static:
|
||||
CMAKE_BUILD_SHARED_LIBS: 'OFF'
|
||||
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
|
||||
CMAKE_CPACK_GENERATOR:
|
||||
SAMPLES_INSTALL_DIR: $(INSTALL_DIR)/samples
|
||||
PYTHON_SAMPLES_INSTALL_DIR: $(SAMPLES_INSTALL_DIR)/python
|
||||
RUN_PREFIX: . $(SETUPVARS) &&
|
||||
maxParallel: 2
|
||||
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: 120
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_F16S_U20_WU2
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
VSTS_HTTP_RETRY: 5
|
||||
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
|
||||
BUILD_SAMPLES_DIR: $(WORK_DIR)/build_samples
|
||||
BUILD_LAYER_TESTS_DIR: $(WORK_DIR)/build_layer_tests
|
||||
BUILD_SAMPLES_TESTS_DIR: $(WORK_DIR)/build_samples_tests
|
||||
INSTALL_DIR: $(WORK_DIR)/install_pkg
|
||||
INSTALL_TEST_DIR: $(INSTALL_DIR)/tests
|
||||
LAYER_TESTS_DIR: $(INSTALL_TEST_DIR)/layer_tests
|
||||
SETUPVARS: $(INSTALL_DIR)/setupvars.sh
|
||||
TMP_DIR: /mnt/tmp
|
||||
SHARE_DIR: /mount/cinfsshare/onnxtestdata
|
||||
CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux
|
||||
CMAKE_VERSION: 3.24.0
|
||||
BUILD_PYTHON: $(WORK_DIR)/build_python
|
||||
INSTALL_PYTHON: $(INSTALL_OPENVINO)/extras/python
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01"
|
||||
whoami
|
||||
uname -a
|
||||
echo Python3 info ; which python3 ; python3 --version
|
||||
echo Java info ; which java ; java -version
|
||||
echo gcc info ; which gcc ; gcc --version
|
||||
echo cmake info ; which cmake ; cmake --version
|
||||
lsb_release
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
echo TargetBranch: $(System.PullRequest.TargetBranch)
|
||||
echo SourceBranch: $(Build.SourceBranch)
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
||||
rm -rf $(BUILD_SAMPLES_DIR) ; mkdir $(BUILD_SAMPLES_DIR)
|
||||
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 $(CCACHE_DIR)
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
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 libbz2-dev clang
|
||||
# For Python API
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/src/compatibility/openvino/requirements.txt
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/requirements.txt
|
||||
# For running Python API tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
# For running Paddle frontend unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/frontends/paddle/tests/requirements.txt
|
||||
# For running ONNX frontend unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/frontends/onnx/tests/requirements.txt
|
||||
# For running TensorFlow frontend unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/frontends/tensorflow/tests/requirements.txt
|
||||
# For MO unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements.txt
|
||||
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_dev.txt
|
||||
# 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/
|
||||
# Speed up tests
|
||||
git clone https://github.com/google/gtest-parallel.git
|
||||
workingDirectory: $(WORK_DIR)
|
||||
displayName: 'Install dependencies'
|
||||
|
||||
- script: |
|
||||
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01"
|
||||
whoami
|
||||
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
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
echo TargetBranch: $(System.PullRequest.TargetBranch)
|
||||
echo SourceBranch: $(Build.SourceBranch)
|
||||
displayName: 'System info'
|
||||
|
||||
|
||||
# Should be after 'Install dependencies' because Git lfs is not installed
|
||||
- checkout: testdata
|
||||
clean: true
|
||||
lfs: true
|
||||
path: testdata
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
# CMake must get Python 3.x version by default
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
||||
-DENABLE_PYTHON=ON
|
||||
-DBUILD_SHARED_LIBS=$(CMAKE_BUILD_SHARED_LIBS)
|
||||
-DENABLE_ONEDNN_FOR_GPU=$(CMAKE_BUILD_SHARED_LIBS)
|
||||
-DENABLE_TESTS=ON
|
||||
-DENABLE_OV_ONNX_FRONTEND=ON
|
||||
-DENABLE_FASTER_BUILD=ON
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF
|
||||
-DENABLE_REQUIREMENTS_INSTALL=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=$(CMAKE_CPACK_GENERATOR)
|
||||
-DBUILD_nvidia_plugin=OFF
|
||||
-S $(REPO_DIR)
|
||||
-B $(BUILD_DIR)
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/temp/
|
||||
displayName: 'List temp SDKs'
|
||||
|
||||
- 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)
|
||||
displayName: 'Build Lin'
|
||||
|
||||
- script: ccache --show-stats
|
||||
displayName: 'Show ccache stats'
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/bin/
|
||||
displayName: 'List bin files'
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
$(REPO_DIR)/tests/layer_tests
|
||||
workingDirectory: $(BUILD_LAYER_TESTS_DIR)
|
||||
|
||||
- script: ninja -C $(BUILD_LAYER_TESTS_DIR)
|
||||
displayName: 'Build Layer Tests'
|
||||
|
||||
- script: sudo apt-get remove libtbb2 -y
|
||||
displayName: 'Remove debian dependencies'
|
||||
condition: eq(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
|
||||
continueOnError: false
|
||||
- script: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
|
||||
displayName: 'Install wheel packages'
|
||||
- script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_LAYER_TESTS_DIR)/cmake_install.cmake
|
||||
displayName: 'Install Layer Tests'
|
||||
- script: python3 -m pip install openvino-dev --find-links=$(INSTALL_DIR)/tools
|
||||
displayName: 'Install python wheels'
|
||||
- script: |
|
||||
set -e
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)/cmake_install.cmake
|
||||
displayName: 'Install tests'
|
||||
- script: ls -alR $(INSTALL_DIR)
|
||||
displayName: 'List install test files'
|
||||
|
||||
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
|
||||
- script: |
|
||||
export DATA_PATH=$(MODELS_PATH)
|
||||
export MODELS_PATH=$(MODELS_PATH)
|
||||
# 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
|
||||
displayName: 'nGraph and IE Python Bindings Tests'
|
||||
continueOnError: false
|
||||
|
||||
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
|
||||
- script: |
|
||||
export DATA_PATH=$(MODELS_PATH)
|
||||
export MODELS_PATH=$(MODELS_PATH)
|
||||
# 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
|
||||
displayName: 'Python API 2.0 Tests'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'Model Optimizer UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
sudo apt-get install libtbb-dev libpugixml-dev -y
|
||||
cmake --build $(BUILD_DIR) --target package -j8
|
||||
condition: eq(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
|
||||
displayName: 'Build Debian packages'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
# install debian packages from previous release
|
||||
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
|
||||
# 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
|
||||
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
|
||||
echo "deb [trusted=yes] file:$(BUILD_DIR) ./" | sudo tee /etc/apt/sources.list.d/openvino-local.list
|
||||
sudo apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/openvino-local.list
|
||||
sudo apt-get install openvino -y
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
condition: eq(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
|
||||
displayName: 'Install Debian packages'
|
||||
continueOnError: false
|
||||
|
||||
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
|
||||
condition: ne(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
|
||||
displayName: 'Install openvino'
|
||||
continueOnError: false
|
||||
|
||||
- script: ls -alR $(INSTALL_DIR)
|
||||
condition: ne(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
|
||||
displayName: 'List install files'
|
||||
|
||||
- script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR) -b $(BUILD_DIR)/cpp_samples
|
||||
displayName: 'Build cpp samples'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
$(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -b $(BUILD_DIR)/cpp_samples_clang
|
||||
displayName: 'Build cpp samples - clang'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
export VERBOSE=1
|
||||
$(SAMPLES_INSTALL_DIR)/c/build_samples.sh -i $(INSTALL_DIR) -b $(BUILD_DIR)/c_samples
|
||||
displayName: 'Build c samples'
|
||||
continueOnError: false
|
||||
|
||||
- script: rm -fr $(BUILD_DIR)
|
||||
displayName: 'Clean build dir'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-NGraphUT.xml
|
||||
displayName: 'OV Core UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_inference_functional_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceFunc.xml
|
||||
displayName: 'Inference Func Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_inference_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceUnit.xml
|
||||
displayName: 'Inference Unit Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_conditional_compilation_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ConditionalCompilation.xml
|
||||
displayName: 'Conditional Compilation Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-IRFrontend.xml
|
||||
displayName: 'IR Frontend Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ONNXFrontend.xml
|
||||
displayName: 'ONNX Frontend Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/paddle_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-Paddle.xml
|
||||
displayName: 'Paddle Frontend UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_tensorflow_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-Tensorflow.xml
|
||||
displayName: 'TensorFlow Frontend Unit Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_lp_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-LpTransformations.xml
|
||||
displayName: 'Low Precision Transformations Tests'
|
||||
continueOnError: false
|
||||
|
||||
- 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'
|
||||
continueOnError: false
|
||||
|
||||
# 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'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ieUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieUnitTests.xml
|
||||
displayName: 'IE UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_cpu_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_unit_tests.xml
|
||||
displayName: 'Intel CPU Unit Tests'
|
||||
continueOnError: false
|
||||
|
||||
- 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'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-vpuUnitTests.xml
|
||||
displayName: 'VPU UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/XLinkTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-XLinkTests.xml
|
||||
displayName: 'XLink Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml
|
||||
displayName: 'MULTI UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
# because of IR reader v7
|
||||
export LD_LIBRARY_PATH=$(INSTALL_TEST_DIR)
|
||||
$(RUN_PREFIX) $(INSTALL_TEST_DIR)/ieFuncTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieFuncTests.xml
|
||||
displayName: 'IE FuncTests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_template_func_tests --gtest_filter=*smoke* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-templateFuncTests.xml
|
||||
displayName: 'TEMPLATE FuncTests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_cpu_func_tests --gtest_filter=*smoke* --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_func_tests.xml
|
||||
displayName: 'CPU FuncTests'
|
||||
continueOnError: false
|
||||
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
|
||||
displayName: 'IE CAPITests'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'OV CAPITests'
|
||||
continueOnError: false
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
$(REPO_DIR)/tests/samples_tests
|
||||
workingDirectory: $(BUILD_SAMPLES_TESTS_DIR)
|
||||
|
||||
- script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P cmake_install.cmake
|
||||
workingDirectory: $(BUILD_SAMPLES_TESTS_DIR)
|
||||
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'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'Samples Smoke Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
export TEST_DEVICE=CPU
|
||||
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=$(INSTALL_TEST_DIR)/TEST-tf_fe.xmlTEST
|
||||
displayName: 'TensorFlow 1 Layer Tests - TF FE'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
export TEST_DEVICE=CPU
|
||||
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=$(INSTALL_TEST_DIR)/TEST-tf2_fe.xmlTEST
|
||||
displayName: 'TensorFlow 2 Layer Tests - TF FE'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=$(INSTALL_TEST_DIR)/TEST-tf_Roll.xmlTEST
|
||||
displayName: 'TensorFlow 1 Layer Tests - Legacy FE'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
export TEST_DEVICE=CPU
|
||||
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow2_keras_tests/test_tf2_keras_activation.py --ir_version=11 --junitxml=./TEST-tf2_Activation.xmlTEST -k "sigmoid"
|
||||
displayName: 'TensorFlow 2 Layer Tests - Legacy FE'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
export TEST_DEVICE=CPU
|
||||
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/mo_python_api_tests/test_mo_convert_complex_params.py --ir_version=11 --junitxml=./TEST-test_mo_convert_complex_params.xmlTEST
|
||||
displayName: 'MO Python API Tests - Complex Python params'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
export TEST_DEVICE=CPU
|
||||
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/mo_python_api_tests/test_mo_convert_tf.py --ir_version=11 --junitxml=./TEST-test_mo_convert_tf.xmlTEST
|
||||
displayName: 'MO Python API Tests - Import TF model from memory'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
export TEST_DEVICE=CPU
|
||||
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/mo_python_api_tests/test_mo_convert_pytorch.py --ir_version=11 --junitxml=./TEST-test_mo_convert_pytorch.xmlTEST
|
||||
displayName: 'MO Python API Tests - Import PyTorch model from memory'
|
||||
continueOnError: false
|
||||
|
||||
- task: PublishTestResults@2
|
||||
condition: always()
|
||||
inputs:
|
||||
testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit, cTest
|
||||
testResultsFiles: '**/TEST-*.xml'
|
||||
#searchFolder: '$(BUILD_DIR)'
|
||||
mergeTestResults: false # Optional
|
||||
#failTaskOnFailedTests: false # Optional
|
||||
#testRunTitle: 'Pre/Post-Commit' # Optional
|
||||
buildPlatform: 'x64' # Optional
|
||||
buildConfiguration: 'Linux' # Optional
|
||||
#publishRunAttachments: true # Optional
|
||||
@@ -0,0 +1,277 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: openvino_contrib
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: linux_arm64
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: 120
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_F16S_U20_WU2
|
||||
|
||||
variables:
|
||||
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
|
||||
BUILD_OPEN_MODEL_ZOO: $(WORK_DIR)/build_open_model_zoo
|
||||
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
|
||||
INSTALL_OPEN_MODEL_ZOO: $(INSTALL_OPENVINO)/extras/open_model_zoo
|
||||
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
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
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 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
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
echo "##vso[task.setvariable variable=NUM_PROC]$(nproc --all)"
|
||||
echo "NUM_PROC=$(NUM_PROC)"
|
||||
displayName: 'System information'
|
||||
|
||||
- script: |
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
mkdir -p $(BUILD_ONETBB) $(BUILD_OPENCV) $(BUILD_OPENVINO) $(BUILD_OPENVINO_PYTHON) $(BUILD_PYTHON) $(BUILD_OPEN_MODEL_ZOO)
|
||||
mkdir -p $(INSTALL_ONETBB) $(INSTALL_ONETBB_PACKAGE) $(INSTALL_OPENVINO) $(INSTALL_PYTHON) $(INSTALL_OPENCV) $(INSTALL_OPEN_MODEL_ZOO)
|
||||
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
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino_contrib
|
||||
|
||||
- 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/src/compatibility/openvino/requirements.txt
|
||||
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
|
||||
workingDirectory: $(BUILD_OPENVINO)
|
||||
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
|
||||
workingDirectory: $(BUILD_OPENVINO)
|
||||
displayName: 'Create crossenv'
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF
|
||||
-DOpenCV_DIR=$(INSTALL_OPENCV)/cmake
|
||||
-DENABLE_PYTHON=OFF
|
||||
-DENABLE_TESTS=ON
|
||||
-DENABLE_DATA=OFF
|
||||
-DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DENABLE_INTEL_MYRIAD=OFF
|
||||
-DTHREADING=TBB
|
||||
-DTBB_DIR=$(INSTALL_ONETBB)/lib/cmake/TBB
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules/arm_plugin
|
||||
-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)
|
||||
$(OPENVINO_REPO_DIR)
|
||||
workingDirectory: $(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)
|
||||
displayName: 'Build OpenVINO ARM plugin'
|
||||
|
||||
- script: ninja install
|
||||
workingDirectory: $(BUILD_OPENVINO)
|
||||
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: |
|
||||
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)
|
||||
displayName: 'Build OpenVINO python binding'
|
||||
|
||||
- script: ninja install
|
||||
workingDirectory: $(BUILD_OPENVINO_PYTHON)
|
||||
displayName: 'Install OpenVINO python binding'
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DENABLE_PYTHON=ON
|
||||
-DPYTHON_EXECUTABLE=/usr/local/bin/$(PYTHON_EXEC)
|
||||
-DPYTHON_INCLUDE_DIR=$(INSTALL_PYTHON)/include/$(PYTHON_EXEC)
|
||||
-DPYTHON_LIBRARY=$(INSTALL_PYTHON)/lib
|
||||
-DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake
|
||||
-DOpenVINO_DIR=$(BUILD_OPENVINO)
|
||||
-DOpenCV_DIR=$(INSTALL_OPENCV)/cmake
|
||||
-DCMAKE_INSTALL_PREFIX=$(INSTALL_OPEN_MODEL_ZOO)
|
||||
-S $(OPENVINO_REPO_DIR)/thirdparty/open_model_zoo/demos
|
||||
-B $(BUILD_OPEN_MODEL_ZOO)
|
||||
displayName: 'CMake Open Model Zoo demos'
|
||||
|
||||
- script: ninja
|
||||
workingDirectory: $(BUILD_OPEN_MODEL_ZOO)
|
||||
displayName: 'Build Open Model Zoo demos'
|
||||
|
||||
- script: ninja install
|
||||
workingDirectory: $(BUILD_OPEN_MODEL_ZOO)
|
||||
displayName: 'Install Open Model Zoo demos'
|
||||
|
||||
- script: |
|
||||
cp -r $(BUILD_OPEN_MODEL_ZOO)/$(OPENVINO_ARCH)/$(BUILD_TYPE)/* $(INSTALL_OPEN_MODEL_ZOO)/
|
||||
cp -r $(INSTALL_ONETBB)/* $(INSTALL_ONETBB_PACKAGE)/
|
||||
zip -9 -r $(Build.ArtifactStagingDirectory)/openvino_$(OPENVINO_ARCH)_linux.zip ./*
|
||||
workingDirectory: $(INSTALL_OPENVINO)
|
||||
displayName: 'Create OpenVINO ARM64 linux package'
|
||||
|
||||
- task: PublishBuildArtifacts@1
|
||||
inputs:
|
||||
pathToPublish: $(Build.ArtifactStagingDirectory)
|
||||
artifactName: 'openvino_aarch64_linux'
|
||||
displayName: 'Publish OpenVINO AArch64 linux package'
|
||||
@@ -0,0 +1,159 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: testdata
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/testdata
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: LinCC
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: 90
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_F16S_U20_WU2
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
VSTS_HTTP_RETRY: 5
|
||||
VSTS_HTTP_TIMEOUT: 200
|
||||
BUILD_TYPE: Release
|
||||
REPO_DIR: $(Build.Repository.LocalPath)
|
||||
MODELS_PATH: $(REPO_DIR)/../testdata
|
||||
WORK_DIR: $(Pipeline.Workspace)/_w
|
||||
BUILD_DIR: $(WORK_DIR)/build
|
||||
INSTALL_DIR: $(WORK_DIR)/install_pkg
|
||||
SETUPVARS: $(INSTALL_DIR)/setupvars.sh
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01"
|
||||
whoami
|
||||
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
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
sudo -E $(REPO_DIR)/install_build_dependencies.sh
|
||||
# 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/
|
||||
workingDirectory: $(WORK_DIR)
|
||||
displayName: 'Install dependencies'
|
||||
|
||||
- checkout: testdata
|
||||
clean: true
|
||||
lfs: true
|
||||
path: testdata
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DENABLE_FASTER_BUILD=ON
|
||||
-DENABLE_PROFILING_ITT=ON
|
||||
-DSELECTIVE_BUILD=COLLECT
|
||||
-DENABLE_INTEL_GPU=OFF
|
||||
-DENABLE_MULTI=OFF
|
||||
-DENABLE_AUTO=OFF
|
||||
-DENABLE_AUTO_BATCH=OFF
|
||||
-DENABLE_HETERO=OFF
|
||||
-DENABLE_TEMPLATE=OFF
|
||||
-DENABLE_INTEL_MYRIAD_COMMON=OFF
|
||||
-DENABLE_OV_ONNX_FRONTEND=OFF
|
||||
-DENABLE_OV_PADDLE_FRONTEND=OFF
|
||||
-DENABLE_OV_TF_FRONTEND=OFF
|
||||
$(REPO_DIR)
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
|
||||
- script: |
|
||||
ninja
|
||||
cmake --build . --target sea_itt_lib
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'Build LinCC COLLECT'
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/bin/
|
||||
displayName: 'List bin files'
|
||||
|
||||
- script: |
|
||||
python3 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
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DSELECTIVE_BUILD=ON
|
||||
-DSELECTIVE_BUILD_STAT=$(BUILD_DIR)/*.csv
|
||||
$(REPO_DIR)
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
|
||||
- script: cmake --build $(BUILD_DIR)
|
||||
displayName: 'Build LinCC ON'
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/bin/
|
||||
displayName: 'List bin files ON'
|
||||
# TODO: ebable after the fix on CPU side
|
||||
- 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'
|
||||
@@ -4,15 +4,12 @@ resources:
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2023/2
|
||||
|
||||
variables:
|
||||
- group: github
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: Lin
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: '90'
|
||||
timeoutInMinutes: 90
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_F16S_U20_WU2
|
||||
@@ -32,27 +29,15 @@ jobs:
|
||||
TMP_DIR: /mnt/tmp
|
||||
SHARE_DIR: /mount/cinfsshare/onnxtestdata
|
||||
CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux_coverity
|
||||
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
|
||||
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '$(OV_PYTHON_VERSION)' # Setting only major & minor version will download latest release from GH repo example 3.10 will be 3.10.10.
|
||||
addToPath: true
|
||||
disableDownloadFromRegistry: false
|
||||
architecture: 'x64'
|
||||
githubToken: $(auth_token)
|
||||
displayName: Setup Python 3.11
|
||||
name: setupPython
|
||||
- bash: |
|
||||
#!/bin/bash
|
||||
python -V
|
||||
|
||||
- script: |
|
||||
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 Python info ; which python ; python --version
|
||||
echo Java info ; which java ; java -version
|
||||
@@ -70,7 +55,6 @@ jobs:
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
||||
rm -rf $(BUILD_SAMPLES_DIR) ; mkdir $(BUILD_SAMPLES_DIR)
|
||||
@@ -82,13 +66,15 @@ jobs:
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: 'true'
|
||||
submodules: 'true'
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: 'true'
|
||||
submodules: 'true'
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino_contrib
|
||||
|
||||
- script: |
|
||||
@@ -97,28 +83,28 @@ 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
|
||||
inputs:
|
||||
# Coverity has too many PARSE_ERROR errors with ENABLE_FASTER_BUILD=ON. Disabling FASTER_BUILD.
|
||||
cmakeArgs: >
|
||||
-G "Ninja Multi-Config"
|
||||
-DENABLE_CPPLINT=OFF
|
||||
-GNinja
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DENABLE_FASTER_BUILD=OFF
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF
|
||||
-DENABLE_REQUIREMENTS_INSTALL=OFF
|
||||
-DBUILD_nvidia_plugin=OFF
|
||||
-DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||
-S $(REPO_DIR)
|
||||
-B $(BUILD_DIR)
|
||||
displayName: "Cmake configure"
|
||||
$(REPO_DIR)
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/temp/
|
||||
displayName: 'List temp SDKs'
|
||||
@@ -127,21 +113,20 @@ jobs:
|
||||
displayName: 'Clean ccache stats'
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
wget https://scan.coverity.com/download/linux64 --post-data "token=$(COVERITY_TOKEN)&project=openvino" -O coverity_tool.tgz
|
||||
tar xvf coverity_tool.tgz
|
||||
rm coverity_tool.tgz
|
||||
set -e
|
||||
wget https://scan.coverity.com/download/linux64 --post-data "token=$(COVERITY_TOKEN)&project=openvino" -O coverity_tool.tgz
|
||||
tar xvf coverity_tool.tgz
|
||||
rm coverity_tool.tgz
|
||||
workingDirectory: $(WORK_DIR)
|
||||
displayName: 'Install coverity tool'
|
||||
|
||||
- script: |
|
||||
$(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
|
||||
- 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)
|
||||
displayName: 'Build Lin with Coverity'
|
||||
|
||||
- script: ccache --show-stats
|
||||
@@ -155,11 +140,11 @@ jobs:
|
||||
displayName: 'Pack cov-int folder for submission'
|
||||
|
||||
- script: |
|
||||
curl --form token=$(COVERITY_TOKEN) \
|
||||
--form email=$(COVERITY_USER) \
|
||||
--form file=@openvino.tgz \
|
||||
--form version="$(Build.SourceVersion)" \
|
||||
--form description="https://github.com/openvinotoolkit/openvino/runs/$(Build.BuildNumber)" \
|
||||
https://scan.coverity.com/builds?project=openvino
|
||||
curl --form token=$(COVERITY_TOKEN) \
|
||||
--form email=$(COVERITY_USER) \
|
||||
--form file=@openvino.tgz \
|
||||
--form version="$(Build.SourceVersion)" \
|
||||
--form description="https://github.com/openvinotoolkit/openvino/runs/$(Build.BuildNumber)" \
|
||||
https://scan.coverity.com/builds?project=openvino
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'Submit for analysis'
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: openvino
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino
|
||||
|
||||
- repository: openvino_contrib
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2022/3
|
||||
|
||||
- repository: testdata
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/testdata
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: CUDAPlugin_Lin
|
||||
timeoutInMinutes: 60
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_F16S_U20_WU2
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
VSTS_HTTP_RETRY: 5
|
||||
VSTS_HTTP_TIMEOUT: 200
|
||||
BUILD_TYPE: Release
|
||||
HOME_DIR: $(Agent.HomeDirectory)
|
||||
REPO_DIR: $(Build.Repository.LocalPath)
|
||||
OPENVINO_REPO_DIR: $(REPO_DIR)/../openvino
|
||||
MODELS_PATH: $(REPO_DIR)/../testdata
|
||||
WORK_DIR: $(Pipeline.Workspace)/_w
|
||||
BUILD_DIR: $(WORK_DIR)/build
|
||||
BIN_DIR: $(OPENVINO_REPO_DIR)/bin/intel64/$(BUILD_TYPE)
|
||||
INSTALL_DIR: $(WORK_DIR)/install_pkg
|
||||
SETUPVARS: $(INSTALL_DIR)/setupvars.sh
|
||||
GRADLE_VER: 7.1.1
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01"
|
||||
echo # prev line output doesn't end with eol
|
||||
whoami
|
||||
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
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino_contrib
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
curl -fsSL https://get.docker.com -o get-docker.sh
|
||||
sudo sh get-docker.sh
|
||||
# Speed up build
|
||||
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
|
||||
-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)
|
||||
displayName: 'Docker build Lin'
|
||||
|
||||
- script: ls -alR $(OPENVINO_REPO_DIR)/bin/
|
||||
displayName: 'List bin files'
|
||||
@@ -0,0 +1,453 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: openvino_contrib
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2022/3
|
||||
|
||||
- repository: testdata
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/testdata
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: Lin_Debian
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: 120
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_F16S_U20_WU2
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
VSTS_HTTP_RETRY: 5
|
||||
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
|
||||
BUILD_SAMPLES_DIR: $(WORK_DIR)/build_samples
|
||||
BUILD_LAYER_TESTS_DIR: $(WORK_DIR)/build_layer_tests
|
||||
BUILD_SAMPLES_TESTS_DIR: $(WORK_DIR)/build_samples_tests
|
||||
INSTALL_DIR: $(WORK_DIR)/install_pkg
|
||||
INSTALL_TEST_DIR: $(INSTALL_DIR)/tests
|
||||
LAYER_TESTS_DIR: $(INSTALL_TEST_DIR)/layer_tests
|
||||
SAMPLES_INSTALL_DIR: /usr/share/openvino/samples
|
||||
PYTHON_SAMPLES_INSTALL_DIR: $(INSTALL_DIR)/share/openvino/samples/python
|
||||
PYTHON_WHEEL_INSTALL_DIR: $HOME/.local/lib/python3.8/site-packages
|
||||
TMP_DIR: /mnt/tmp
|
||||
SHARE_DIR: /mount/cinfsshare/onnxtestdata
|
||||
CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01"
|
||||
whoami
|
||||
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
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
echo TargetBranch: $(System.PullRequest.TargetBranch)
|
||||
echo SourceBranch: $(Build.SourceBranch)
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
||||
rm -rf $(BUILD_SAMPLES_DIR) ; mkdir $(BUILD_SAMPLES_DIR)
|
||||
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 $(CCACHE_DIR)
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
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 --no-install-recommends libopencv-imgproc-dev libopencv-imgcodecs-dev
|
||||
# For opencv-python: python3-setuptools and pip upgrade
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/src/compatibility/openvino/requirements.txt
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/requirements.txt
|
||||
# For running Python API tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
# For running Paddle frontend unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/frontends/paddle/tests/requirements.txt
|
||||
# For running ONNX frontend unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/frontends/onnx/tests/requirements.txt
|
||||
# For running TensorFlow frontend unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/src/frontends/tensorflow/tests/requirements.txt
|
||||
# For MO unit tests
|
||||
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements.txt
|
||||
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_dev.txt
|
||||
# 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/
|
||||
# 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
|
||||
- checkout: testdata
|
||||
clean: true
|
||||
lfs: true
|
||||
path: testdata
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
# CMake must get Python 3.x version by default
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
||||
-DENABLE_PYTHON=ON
|
||||
-DENABLE_OPENCV=OFF
|
||||
-DPYTHON_EXECUTABLE=/usr/bin/python3.8
|
||||
-DENABLE_TESTS=ON
|
||||
-DENABLE_FASTER_BUILD=ON
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF
|
||||
-DENABLE_REQUIREMENTS_INSTALL=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)
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/temp/
|
||||
displayName: 'List temp SDKs'
|
||||
|
||||
- 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)
|
||||
displayName: 'Build Lin'
|
||||
|
||||
- script: ccache --show-stats
|
||||
displayName: 'Show ccache stats'
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/bin/
|
||||
displayName: 'List bin files'
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-S $(REPO_DIR)/tests/layer_tests
|
||||
-B $(BUILD_LAYER_TESTS_DIR)
|
||||
|
||||
- script: ninja -C $(BUILD_LAYER_TESTS_DIR)
|
||||
displayName: 'Build Layer Tests'
|
||||
|
||||
- script: sudo apt-get remove libtbb2 libpugixml1v5 -y
|
||||
displayName: 'Remove debian dependencies'
|
||||
continueOnError: false
|
||||
|
||||
- script: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
|
||||
displayName: 'Install wheel packages'
|
||||
|
||||
- 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'
|
||||
|
||||
- script: python3 -m pip install openvino-dev --find-links=$(INSTALL_DIR)/tools
|
||||
displayName: 'Install python wheels'
|
||||
|
||||
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)/cmake_install.cmake
|
||||
displayName: 'Install tests'
|
||||
|
||||
- script: ls -alR $(INSTALL_DIR)
|
||||
displayName: 'List install test files'
|
||||
|
||||
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
|
||||
- script: |
|
||||
export DATA_PATH=$(MODELS_PATH)
|
||||
export MODELS_PATH=$(MODELS_PATH)
|
||||
python3 -m pytest -s $(INSTALL_TEST_DIR)/pyngraph \
|
||||
--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
|
||||
displayName: 'nGraph and IE Python Bindings Tests'
|
||||
continueOnError: false
|
||||
|
||||
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
|
||||
- script: |
|
||||
export DATA_PATH=$(MODELS_PATH)
|
||||
export MODELS_PATH=$(MODELS_PATH)
|
||||
# Required by python imports to load requires libraries
|
||||
# - tests install dir for mock_py
|
||||
# - OpenVINO wheel installation dir for others frontend required by mock_py (is not part of wheel pkg)
|
||||
export LD_LIBRARY_PATH=$(PYTHON_WHEEL_INSTALL_DIR)/openvino/libs:$(INSTALL_TEST_DIR):$LD_LIBRARY_PATH
|
||||
# For frontend manager to load frontend libraries:
|
||||
# - tests install dir for mock_py
|
||||
# - OpenVINO wheel installation dir for others frontend (not required if this variable is not set)
|
||||
export OV_FRONTEND_PATH=$(PYTHON_WHEEL_INSTALL_DIR)/openvino/libs:$(INSTALL_TEST_DIR)
|
||||
# For python imports to import pybind_mock_frontend
|
||||
export PYTHONPATH=$(INSTALL_TEST_DIR):$PYTHONPATH
|
||||
python3 -m pytest -s $(INSTALL_TEST_DIR)/pyopenvino \
|
||||
--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 -v
|
||||
displayName: 'Python API 2.0 Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: python3 -m pytest -s $(INSTALL_TEST_DIR)/mo/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-ModelOptimizer.xml
|
||||
displayName: 'Model Optimizer UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
sudo apt-get install libtbb-dev libpugixml-dev -y
|
||||
cmake --build $(BUILD_DIR) --target package -j8
|
||||
displayName: 'Build Debian packages'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
# install debian packages from previous release
|
||||
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 || 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
|
||||
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
|
||||
echo "deb [trusted=yes] file:$(BUILD_DIR) ./" | sudo tee /etc/apt/sources.list.d/openvino-local.list
|
||||
sudo apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/openvino-local.list
|
||||
sudo apt-get install openvino -y
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'Install Debian packages'
|
||||
continueOnError: false
|
||||
|
||||
- script: ls -alR $(INSTALL_DIR)
|
||||
displayName: 'List install files'
|
||||
|
||||
- script: rm -fr $(BUILD_DIR)
|
||||
displayName: 'Clean build dir'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR)
|
||||
displayName: 'Build cpp samples'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
$(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR)
|
||||
displayName: 'Build cpp samples - clang'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(SAMPLES_INSTALL_DIR)/c/build_samples.sh -i $(INSTALL_DIR)
|
||||
displayName: 'Build c samples'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'OV Core UT'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'ONNX Frontend Tests'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'Paddle Frontend UT'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'TensorFlow Frontend Unit Tests'
|
||||
continueOnError: false
|
||||
|
||||
# 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: $(INSTALL_TEST_DIR)/InferenceEngineUnitTests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineUnitTests.xml
|
||||
displayName: 'IE UT old'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(INSTALL_TEST_DIR)/ieUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieUnitTests.xml
|
||||
displayName: 'IE UT'
|
||||
continueOnError: false
|
||||
|
||||
- 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'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(INSTALL_TEST_DIR)/ov_gna_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_gna_unit_tests.xml
|
||||
displayName: 'GNA UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(INSTALL_TEST_DIR)/vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-vpuUnitTests.xml
|
||||
displayName: 'VPU UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(INSTALL_TEST_DIR)/XLinkTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-XLinkTests.xml
|
||||
displayName: 'XLink Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml
|
||||
displayName: 'MULTI UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
# because of IR reader v7
|
||||
export LD_LIBRARY_PATH=$(INSTALL_TEST_DIR)
|
||||
$(INSTALL_TEST_DIR)/ieFuncTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieFuncTests.xml
|
||||
displayName: 'IE FuncTests'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'TEMPLATE FuncTests'
|
||||
continueOnError: false
|
||||
|
||||
# run not all smoke filter to save time in post-commit
|
||||
- script: $(INSTALL_TEST_DIR)/ov_cpu_func_tests --gtest_filter=*OVCLass*:*CoreThreadingTests* --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_func_tests.xml
|
||||
displayName: 'CPU FuncTests'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
export DATA_PATH=$(MODELS_PATH)
|
||||
export MODELS_PATH=$(MODELS_PATH)
|
||||
$(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
|
||||
displayName: 'IE CAPITests'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'OV CAPITests'
|
||||
continueOnError: false
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-S $(REPO_DIR)/tests/samples_tests
|
||||
-B $(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
|
||||
displayName: 'Install dependencies for samples smoke tests'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'Samples Smoke Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
|
||||
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
|
||||
python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=$(INSTALL_TEST_DIR)/TEST-tf_Roll.xmlTEST
|
||||
displayName: 'TensorFlow 1 Layer Tests - Legacy FE'
|
||||
continueOnError: false
|
||||
|
||||
- task: PublishTestResults@2
|
||||
condition: always()
|
||||
inputs:
|
||||
testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit, cTest
|
||||
testResultsFiles: '**/TEST-*.xml'
|
||||
#searchFolder: '$(BUILD_DIR)'
|
||||
mergeTestResults: false # Optional
|
||||
#failTaskOnFailedTests: false # Optional
|
||||
#testRunTitle: 'Pre/Post-Commit' # Optional
|
||||
buildPlatform: 'x64' # Optional
|
||||
buildConfiguration: 'Linux' # Optional
|
||||
#publishRunAttachments: true # Optional
|
||||
@@ -0,0 +1,80 @@
|
||||
#resources:
|
||||
# repositories:
|
||||
# - repository: testdata
|
||||
# type: github
|
||||
# endpoint: openvinotoolkit
|
||||
# name: openvinotoolkit/testdata
|
||||
# ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: Lin_lohika
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: 90
|
||||
|
||||
pool:
|
||||
name: LIN_LOHIKA
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
# VSTS_HTTP_RETRY: 5
|
||||
# VSTS_HTTP_TIMEOUT: 200
|
||||
# BUILD_TYPE: Release
|
||||
# REPO_DIR: $(Build.Repository.LocalPath)
|
||||
# MODELS_PATH: $(REPO_DIR)/../testdata
|
||||
# WORK_DIR: $(Pipeline.Workspace)/_w
|
||||
# BUILD_DIR: $(WORK_DIR)/build
|
||||
|
||||
steps:
|
||||
- script: git -C ~/work/openvino fetch origin $(Build.SourceBranch)
|
||||
displayName: fetch
|
||||
|
||||
# - checkout: self
|
||||
# clean: true
|
||||
# lfs: false
|
||||
# submodules: recursive
|
||||
# path: openvino
|
||||
|
||||
- checkout: none
|
||||
|
||||
- script: git -C ~/work/openvino checkout -m $(Build.SourceVersion) && git -C ~/work/openvino submodule update --init --recursive
|
||||
displayName: checkout
|
||||
|
||||
# Should be after 'Install dependencies' because Git lfs is not installed
|
||||
# - checkout: testdata
|
||||
# clean: true
|
||||
# lfs: true
|
||||
# path: testdata
|
||||
|
||||
- script: env -C ~/work ./configreleasenolto.sh
|
||||
displayName: CMake
|
||||
|
||||
# - task: CMake@1
|
||||
# inputs:
|
||||
# # CMake must get Python 3.x version by default
|
||||
# cmakeArgs: >
|
||||
# -GNinja
|
||||
# -DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
# -DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
# -DENABLE_PYTHON=ON
|
||||
# -DPYTHON_EXECUTABLE=/usr/bin/python3.8
|
||||
# -DENABLE_TESTS=ON
|
||||
# -DENABLE_OV_ONNX_FRONTEND=ON
|
||||
# -DENABLE_FASTER_BUILD=ON
|
||||
# -DENABLE_STRICT_DEPENDENCIES=OFF
|
||||
# -DENABLE_REQUIREMENTS_INSTALL=OFF
|
||||
# -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules
|
||||
# $(REPO_DIR)
|
||||
# workingDirectory: $(BUILD_DIR)
|
||||
|
||||
- script: >
|
||||
env -C ~/work
|
||||
./buildreleasenolto.sh
|
||||
libopenvino_gapi_preproc.so
|
||||
openvino_intel_cpu_plugin
|
||||
openvino_intel_gpu_plugin
|
||||
clDNN_unit_tests64
|
||||
gpuFuncTests
|
||||
displayName: Build Lin
|
||||
|
||||
- script: ~/work/testreleasenolto.sh
|
||||
displayName: cldnn tests
|
||||
@@ -1,35 +1,32 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- 'master'
|
||||
- 'releases/*'
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- '*/docs/*'
|
||||
- 'docs/*'
|
||||
- '*/*.md'
|
||||
- '*.md'
|
||||
- '*/layer_tests_summary/*'
|
||||
- '*/conformance/*'
|
||||
- 'tools/*'
|
||||
- 'tests/layer_tests/*'
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
pr:
|
||||
drafts: 'false'
|
||||
branches:
|
||||
include:
|
||||
- 'master'
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- '*/docs/*'
|
||||
- 'docs/*'
|
||||
- '*/*.md'
|
||||
- '*.md'
|
||||
- '*/layer_tests_summary/*'
|
||||
- '*/conformance/*'
|
||||
- 'tools/*'
|
||||
- 'tests/layer_tests/*'
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
jobs:
|
||||
- job: OpenVINO_ONNX_CI
|
||||
@@ -41,10 +38,10 @@ jobs:
|
||||
Debug:
|
||||
BUILD_TYPE: 'Debug'
|
||||
TOX_COMMAND: 'tox'
|
||||
maxParallel: '2'
|
||||
maxParallel: 2
|
||||
|
||||
# About 300% of total time
|
||||
timeoutInMinutes: '90'
|
||||
timeoutInMinutes: 90
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_ONNX_U20_WU2
|
||||
@@ -67,6 +64,7 @@ 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
|
||||
@@ -81,7 +79,6 @@ jobs:
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
sudo mkdir -p $(MODELS_DIR)
|
||||
sudo apt --assume-yes update && sudo apt --assume-yes install nfs-common
|
||||
@@ -91,8 +88,9 @@ jobs:
|
||||
displayName: 'Make dirs'
|
||||
|
||||
- checkout: self
|
||||
clean: 'true'
|
||||
submodules: 'true'
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- script: |
|
||||
@@ -100,10 +98,11 @@ 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:
|
||||
src/frontends/onnx/tests/tests_python/model_zoo_preprocess.sh -d $(MODELS_DIR)/models_data -o -s "$(ONNX_MODEL_ZOO_SHA)"
|
||||
src/bindings/python/tests/test_onnx/model_zoo_preprocess.sh -d $(MODELS_DIR)/models_data -o -s "$(ONNX_MODEL_ZOO_SHA)"
|
||||
displayName: 'Update models'
|
||||
condition: ne(variables['BUILD_TYPE'], 'Debug')
|
||||
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
- src/tests/functional/plugin/conformance/**
|
||||
|
||||
jobs:
|
||||
- job: onnxruntime
|
||||
timeoutInMinutes: 90
|
||||
|
||||
pool:
|
||||
name: LIN_VMSS_VENV_ONNX_U20_WU2
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
VSTS_HTTP_RETRY: 5
|
||||
VSTS_HTTP_TIMEOUT: 200
|
||||
BUILD_TYPE: Release
|
||||
REPO_DIR: $(Build.Repository.LocalPath)
|
||||
ONNXRUNTIME_REPO_DIR: $(REPO_DIR)/../onnxruntime
|
||||
WORK_DIR: $(Pipeline.Workspace)/_w
|
||||
MODELS_DIR: /mount/cinfsshare/onnxtestdata
|
||||
TMP_DIR: /mnt/tmp
|
||||
INSTALL_DIR: $(WORK_DIR)/install_pkg/openvino
|
||||
BUILD_DIR: $(WORK_DIR)/build
|
||||
ONNXRUNTIME_UTILS: $(REPO_DIR)/.ci/azure/ci_utils/onnxruntime
|
||||
ONNXRUNTIME_BUILD_DIR: $(ONNXRUNTIME_REPO_DIR)/build
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01"
|
||||
whoami
|
||||
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
|
||||
env
|
||||
cat /proc/cpuinfo
|
||||
cat /proc/meminfo
|
||||
cat /etc/fstab
|
||||
vmstat -s
|
||||
df
|
||||
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
||||
free -h
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
sudo rm -rf $(TMP_DIR) ; sudo mkdir $(TMP_DIR) ; sudo chmod 777 -R $(TMP_DIR)
|
||||
sudo mkdir -p $(MODELS_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 $(MODELS_DIR) -o vers=4,minorversion=1,sec=sys
|
||||
displayName: 'Make dirs'
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- script: |
|
||||
branch=`tr -s '\n ' < $(ONNXRUNTIME_UTILS)/version`
|
||||
git clone --branch $branch --single-branch --recursive https://github.com/microsoft/onnxruntime.git $(ONNXRUNTIME_REPO_DIR)
|
||||
displayName: 'Clone onnxruntime'
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
sudo -E $(REPO_DIR)/install_build_dependencies.sh
|
||||
# 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/
|
||||
# Speed up tests
|
||||
git clone https://github.com/google/gtest-parallel.git
|
||||
workingDirectory: $(WORK_DIR)
|
||||
displayName: 'Install dependencies'
|
||||
|
||||
- task: CMake@1
|
||||
inputs:
|
||||
# CMake must get Python 3.x version by default
|
||||
cmakeArgs: >
|
||||
-GNinja
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
|
||||
-DENABLE_INTEL_MYRIAD_COMMON=OFF
|
||||
-DENABLE_INTEL_GNA=OFF
|
||||
-DENABLE_INTEL_GPU=OFF
|
||||
-DENABLE_CPPLINT=OFF
|
||||
-DENABLE_PROFILING_ITT=OFF
|
||||
-DENABLE_SAMPLES=OFF
|
||||
-DENABLE_COMPILE_TOOL=OFF
|
||||
-DENABLE_OV_TF_FRONTEND=OFF
|
||||
-DENABLE_OV_PADDLE_FRONTEND=OFF
|
||||
-DENABLE_OPENVINO_DEBUG=OFF
|
||||
$(REPO_DIR)
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
|
||||
- script: ninja
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
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)
|
||||
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)
|
||||
displayName: 'Build Lin ONNX Runtime'
|
||||
|
||||
- script: |
|
||||
source $(INSTALL_DIR)/setupvars.sh
|
||||
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'
|
||||
|
||||
- script: |
|
||||
source $(INSTALL_DIR)/setupvars.sh
|
||||
./onnxruntime_shared_lib_test
|
||||
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
|
||||
displayName: 'Run onnxruntime_shared_lib_test'
|
||||
|
||||
- script: |
|
||||
source $(INSTALL_DIR)/setupvars.sh
|
||||
./onnxruntime_global_thread_pools_test
|
||||
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
|
||||
displayName: 'Run onnxruntime_global_thread_pools_test'
|
||||
|
||||
- script: |
|
||||
source $(INSTALL_DIR)/setupvars.sh
|
||||
./onnxruntime_api_tests_without_env
|
||||
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
|
||||
displayName: 'Run onnxruntime_api_tests_without_env'
|
||||
|
||||
- script: |
|
||||
source $(INSTALL_DIR)/setupvars.sh
|
||||
./onnx_test_runner "$(ONNXRUNTIME_REPO_DIR)/cmake/external/onnx/onnx/backend/test/data/pytorch-converted"
|
||||
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
|
||||
displayName: 'Run pytorch-converted tests'
|
||||
|
||||
- script: |
|
||||
source $(INSTALL_DIR)/setupvars.sh
|
||||
./onnx_test_runner "$(ONNXRUNTIME_REPO_DIR)/cmake/external/onnx/onnx/backend/test/data/pytorch-operator"
|
||||
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
|
||||
displayName: 'Run pytorch-operator tests'
|
||||
@@ -0,0 +1,264 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: openvino_contrib
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2022/3
|
||||
|
||||
- repository: testdata
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/testdata
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: Mac
|
||||
# About 250% of total time (perfomace of Mac hosts is unstable, 360 is max)
|
||||
timeoutInMinutes: 360
|
||||
|
||||
pool:
|
||||
vmImage: 'macOS-11'
|
||||
|
||||
variables:
|
||||
system.debug: true
|
||||
VSTS_HTTP_RETRY: 5
|
||||
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
|
||||
INSTALL_DIR: $(WORK_DIR)/install_pkg
|
||||
INSTALL_TEST_DIR: $(INSTALL_DIR)/tests
|
||||
SETUPVARS: $(INSTALL_DIR)/setupvars.sh
|
||||
TMP_DIR: /tmp
|
||||
CCACHE_DIR: $(WORK_DIR)/ccache/mac
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
whoami
|
||||
uname -a
|
||||
echo test_debug ; which python3
|
||||
echo ls /usr/bin/python3.10
|
||||
sudo rm -rf /usr/bin/python3
|
||||
sudo ln -s /usr/bin/python3.10 /usr/bin/python3
|
||||
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
|
||||
xcrun --sdk macosx --show-sdk-version
|
||||
env
|
||||
sysctl -a
|
||||
displayName: 'System info'
|
||||
|
||||
- script: |
|
||||
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
||||
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino_contrib
|
||||
|
||||
- checkout: testdata
|
||||
clean: true
|
||||
lfs: true
|
||||
path: testdata
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '3.10'
|
||||
|
||||
- script: |
|
||||
brew install cython
|
||||
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)
|
||||
displayName: 'Install dependencies'
|
||||
|
||||
- script: |
|
||||
export PATH="/usr/local/opt/cython/bin:$PATH"
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -GNinja \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DENABLE_REQUIREMENTS_INSTALL=OFF \
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-DENABLE_PYTHON=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 \
|
||||
-DBUILD_nvidia_plugin=OFF \
|
||||
-S $(REPO_DIR) \
|
||||
-B $(BUILD_DIR)
|
||||
displayName: 'CMake'
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/temp/
|
||||
displayName: 'List temp SDKs'
|
||||
|
||||
- task: Cache@2
|
||||
inputs:
|
||||
key: 'ccache | "$(Agent.OS)"'
|
||||
path: $(CCACHE_DIR)
|
||||
restoreKeys: |
|
||||
ccache | "$(Agent.OS)"
|
||||
displayName: Cache
|
||||
|
||||
- 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)
|
||||
displayName: 'Build Mac'
|
||||
|
||||
- script: ccache --show-stats
|
||||
displayName: 'Show ccache stats'
|
||||
|
||||
- script: ls -alR $(REPO_DIR)/bin/
|
||||
displayName: 'List bin files'
|
||||
|
||||
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
|
||||
displayName: 'Install'
|
||||
|
||||
- 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
|
||||
displayName: 'Install tests'
|
||||
|
||||
- script: ls -alR $(INSTALL_DIR)
|
||||
displayName: 'List install files'
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-NGraphUT.xml
|
||||
displayName: 'OV Core UT'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-IRFrontend.xml
|
||||
displayName: 'IR Frontend Tests'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU*--gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ONNXFrontend.xml
|
||||
displayName: 'ONNX Frontend Tests'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/InferenceEngineUnitTests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineUnitTests.xml
|
||||
displayName: 'IE UT old'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ieUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieUnitTests.xml
|
||||
displayName: 'IE UT'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_cpu_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_unit_tests.xml
|
||||
displayName: 'Intel CPU Unit Tests'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-vpuUnitTests.xml
|
||||
displayName: 'VPU UT'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml
|
||||
displayName: 'MULTI UT'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ieFuncTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieFuncTests.xml
|
||||
displayName: 'IE FuncTests'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_cpu_func_tests --gtest_filter=*smoke* --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_func_tests.xml
|
||||
displayName: 'CPU FuncTests'
|
||||
continueOnError: false
|
||||
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
|
||||
displayName: 'IE CAPITests'
|
||||
continueOnError: false
|
||||
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
|
||||
displayName: 'IE CAPITests'
|
||||
continueOnError: false
|
||||
enabled: false
|
||||
|
||||
- task: PublishTestResults@2
|
||||
condition: always()
|
||||
inputs:
|
||||
testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit, cTest
|
||||
testResultsFiles: '**/TEST-*.xml'
|
||||
#searchFolder: '$(BUILD_DIR)'
|
||||
mergeTestResults: false # Optional
|
||||
#failTaskOnFailedTests: false # Optional
|
||||
#testRunTitle: 'Pre/Post-Commit' # Optional
|
||||
buildPlatform: 'x64' # Optional
|
||||
buildConfiguration: 'Mac' # Optional
|
||||
#publishRunAttachments: true # Optional
|
||||
+154
-109
@@ -1,30 +1,30 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- 'master'
|
||||
- 'releases/*'
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- '*/docs/*'
|
||||
- 'docs/*'
|
||||
- '*/*.md'
|
||||
- '*.md'
|
||||
- '*/layer_tests_summary/*'
|
||||
- '*/conformance/*'
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- 'master'
|
||||
- 'releases/*'
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- '*/docs/*'
|
||||
- 'docs/*'
|
||||
- '*/*.md'
|
||||
- '*.md'
|
||||
- '*/layer_tests_summary/*'
|
||||
- '*/conformance/*'
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
@@ -32,7 +32,13 @@ resources:
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/openvino_contrib
|
||||
ref: releases/2023/2
|
||||
ref: releases/2022/3
|
||||
|
||||
- repository: testdata
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/testdata
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: Win
|
||||
@@ -42,10 +48,10 @@ jobs:
|
||||
CMAKE_BUILD_SHARED_LIBS: 'OFF'
|
||||
# Dynamic:
|
||||
# CMAKE_BUILD_SHARED_LIBS: 'ON'
|
||||
maxParallel: '2'
|
||||
maxParallel: 2
|
||||
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: '270' #Temporary change
|
||||
timeoutInMinutes: 270 #Temporary change
|
||||
|
||||
pool:
|
||||
name: WIN_VMSS_VENV_D8S_WU2
|
||||
@@ -57,6 +63,7 @@ jobs:
|
||||
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
|
||||
BUILD_SAMPLES_DIR: $(WORK_DIR)\build_samples
|
||||
@@ -66,23 +73,46 @@ jobs:
|
||||
INSTALL_DIR: $(WORK_DIR)\install_pkg
|
||||
INSTALL_TEST_DIR: $(INSTALL_DIR)\tests
|
||||
SETUPVARS: $(INSTALL_DIR)\setupvars.bat
|
||||
PYTHON_DIR: C:\hostedtoolcache\windows\Python\3.10.7\x64
|
||||
CMAKE_VERSION: 3.24.0
|
||||
CMAKE_CMD: $(WORK_DIR)\cmake-$(CMAKE_VERSION)-windows-x86_64\cmake-$(CMAKE_VERSION)-windows-x86_64\bin\cmake.exe
|
||||
OV_CMAKE_TOOLCHAIN_FILE: $(REPO_DIR)\cmake\toolchains\mt.runtime.win32.toolchain.cmake
|
||||
PYTHON_EXE: C:\hostedtoolcache\windows\Python\3.8.2\x64\python.exe
|
||||
PYTHON_VENV_DIR: $(WORK_DIR)\.venv
|
||||
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
rd /Q /S $(WORK_DIR) & mkdir $(WORK_DIR)
|
||||
rd /Q /S $(BUILD_DIR) & mkdir $(BUILD_DIR)
|
||||
rd /Q /S $(WORK_DIR) & mkdir C:\hostedtoolcache\windows\Python\3.10.7
|
||||
rd /Q /S $(BUILD_DIR) & mkdir C:\hostedtoolcache\windows\Python\3.10.7\x64
|
||||
rd /Q /S $(BUILD_SAMPLES_DIR) & mkdir $(BUILD_SAMPLES_DIR)
|
||||
rd /Q /S $(BUILD_SAMPLES_TESTS_DIR) & mkdir $(BUILD_SAMPLES_TESTS_DIR)
|
||||
displayName: 'Make dir'
|
||||
|
||||
|
||||
- script: curl -O https://www.python.org/ftp/python/3.10.7/python-3.10.7-amd64.exe
|
||||
displayName: 'Download Python'
|
||||
workingDirectory: $(WORK_DIR)
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
python-3.10.7-amd64.exe /passive InstallAllUsers=0 Include_launcher=0 TargetDir=C:\hostedtoolcache\windows\Python\3.10.7\x64
|
||||
cp C:\hostedtoolcache\windows\Python\3.8.2\x64.complete C:\hostedtoolcache\windows\Python\3.10.7\x64.complete
|
||||
displayName: 'Install Python'
|
||||
workingDirectory: $(WORK_DIR)
|
||||
continueOnError: false
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
displayName: 'Use Python'
|
||||
inputs:
|
||||
versionSpec: '3.10.7'
|
||||
disableDownloadFromRegistry: true
|
||||
|
||||
- script: |
|
||||
powershell -command "Invoke-RestMethod -Headers @{\"Metadata\"=\"true\"} -Method GET -Uri http://169.254.169.254/metadata/instance/compute?api-version=2019-06-01 | format-custom"
|
||||
where $(PYTHON_EXE)
|
||||
$(PYTHON_EXE) --version
|
||||
tree C:\hostedtoolcache\windows\Python
|
||||
where python
|
||||
python --version
|
||||
where java
|
||||
java -version
|
||||
wmic computersystem get TotalPhysicalMemory
|
||||
@@ -93,35 +123,43 @@ jobs:
|
||||
displayName: 'System info'
|
||||
|
||||
- checkout: self
|
||||
clean: 'true'
|
||||
submodules: 'true'
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- checkout: openvino_contrib
|
||||
clean: 'true'
|
||||
submodules: 'true'
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino_contrib
|
||||
|
||||
- checkout: testdata
|
||||
clean: true
|
||||
lfs: true
|
||||
path: testdata
|
||||
|
||||
- script: |
|
||||
$(PYTHON_EXE) -m pip install --upgrade pip
|
||||
python -m pip install --upgrade pip
|
||||
rem For running Python API tests
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\bindings\python\src\compatibility\openvino\requirements-dev.txt
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\bindings\python\wheel\requirements-dev.txt
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\bindings\python\requirements.txt
|
||||
python -m pip install -r $(REPO_DIR)\src\bindings\python\src\compatibility\openvino\requirements-dev.txt
|
||||
python -m pip install -r $(REPO_DIR)\src\bindings\python\wheel\requirements-dev.txt
|
||||
python -m pip install -r $(REPO_DIR)\src\bindings\python\requirements.txt
|
||||
rem For running Paddle frontend unit tests
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\frontends\paddle\tests\requirements.txt
|
||||
python -m pip install -r $(REPO_DIR)\src\frontends\paddle\tests\requirements.txt
|
||||
rem For running ONNX frontend unit tests
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\frontends\onnx\tests\requirements.txt
|
||||
python -m pip install -r $(REPO_DIR)\src\frontends\onnx\tests\requirements.txt
|
||||
rem For running TensorFlow frontend unit tests
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\frontends\tensorflow\tests\requirements.txt
|
||||
python -m pip install -r $(REPO_DIR)\src\frontends\tensorflow\tests\requirements.txt
|
||||
rem For MO unit tests
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\tools\mo\requirements.txt
|
||||
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\tools\mo\requirements_dev.txt
|
||||
python -m pip install -r $(REPO_DIR)\tools\mo\requirements.txt
|
||||
python -m pip install -r $(REPO_DIR)\tools\mo\requirements_dev.txt
|
||||
rem Speed up build
|
||||
powershell -command "Invoke-WebRequest https://github.com/Kitware/CMake/releases/download/v$(CMAKE_VERSION)/cmake-$(CMAKE_VERSION)-windows-x86_64.zip -OutFile cmake-$(CMAKE_VERSION)-windows-x86_64.zip"
|
||||
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'
|
||||
|
||||
@@ -131,81 +169,82 @@ jobs:
|
||||
displayName: "Set cmake toolchain"
|
||||
|
||||
- script: |
|
||||
set PATH=$(WORK_DIR)\ninja-win;%PATH% && ^
|
||||
call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) ^
|
||||
-G "Ninja Multi-Config" ^
|
||||
-DENABLE_CPPLINT=OFF ^
|
||||
set PATH=$(WORK_DIR)\ninja-win;%PATH%
|
||||
call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) -G "Ninja Multi-Config" ^
|
||||
-DENABLE_ONEDNN_FOR_GPU=$(CMAKE_BUILD_SHARED_LIBS) ^
|
||||
-DBUILD_SHARED_LIBS=$(CMAKE_BUILD_SHARED_LIBS) ^
|
||||
-DENABLE_REQUIREMENTS_INSTALL=OFF ^
|
||||
-DENABLE_FASTER_BUILD=ON ^
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) ^
|
||||
-DENABLE_TESTS=ON ^
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF ^
|
||||
-DPython3_EXECUTABLE=$(PYTHON_EXE) ^
|
||||
-DENABLE_PYTHON=ON ^
|
||||
-DBUILD_nvidia_plugin=OFF ^
|
||||
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" ^
|
||||
-DPYTHON_EXECUTABLE="C:\hostedtoolcache\windows\Python\3.10.7\x64\python.exe" ^
|
||||
-DPYTHON_INCLUDE_DIR="C:\hostedtoolcache\windows\Python\3.10.7\x64\include" ^
|
||||
-DPYTHON_LIBRARY="C:\hostedtoolcache\windows\Python\3.10.7\x64\libs\python310.lib" ^
|
||||
-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
|
||||
displayName: 'List temp SDKs'
|
||||
|
||||
- script: |
|
||||
set PATH=$(WORK_DIR)\ninja-win;%PATH% && ^
|
||||
call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) --build $(BUILD_DIR) --parallel --config Release"
|
||||
set PATH=$(WORK_DIR)\ninja-win;%PATH%
|
||||
call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) --build $(BUILD_DIR) --config Release"
|
||||
displayName: 'Build Win'
|
||||
|
||||
- script: dir $(REPO_DIR)\bin\ /s
|
||||
displayName: 'List bin files'
|
||||
|
||||
- script: $(CMAKE_CMD) -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
|
||||
- script: |
|
||||
$(CMAKE_CMD) -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
|
||||
displayName: 'Install'
|
||||
|
||||
- script: dir $(INSTALL_DIR) /s
|
||||
displayName: 'List install files'
|
||||
|
||||
- script: $(PYTHON_EXE) -m pip install openvino-dev --find-links=$(INSTALL_DIR)\tools
|
||||
- script: |
|
||||
python -m pip install openvino-dev --find-links=$(INSTALL_DIR)\tools
|
||||
displayName: 'Install Wheels'
|
||||
|
||||
- script: |
|
||||
call "$(MSVS_VARS_PATH)" && ^
|
||||
$(CMAKE_CMD) ^
|
||||
call "$(MSVS_VARS_PATH)" && $(CMAKE_CMD) ^
|
||||
-DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
|
||||
-DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
|
||||
-S $(REPO_DIR)\tests\samples_tests ^
|
||||
-B $(BUILD_SAMPLES_TESTS_DIR)
|
||||
displayName: 'CMake Samples Tests'
|
||||
|
||||
- script: $(CMAKE_CMD) -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_SAMPLES_TESTS_DIR)\cmake_install.cmake
|
||||
- script: |
|
||||
$(CMAKE_CMD) -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_SAMPLES_TESTS_DIR)\cmake_install.cmake
|
||||
displayName: 'Install Samples Tests'
|
||||
|
||||
- script: |
|
||||
$(INSTALL_DIR)\samples\cpp\build_samples_msvc.bat -i $(INSTALL_DIR)
|
||||
if not exist %USERPROFILE%\Documents\Intel\OpenVINO\openvino_cpp_samples_build\ exit 1
|
||||
- script: $(INSTALL_DIR)\samples\cpp\build_samples_msvc.bat -i $(INSTALL_DIR)
|
||||
displayName: 'Build cpp samples'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
$(INSTALL_DIR)\samples\c\build_samples_msvc.bat -i $(INSTALL_DIR)
|
||||
if not exist %USERPROFILE%\Documents\Intel\OpenVINO\openvino_c_samples_build\ exit 1
|
||||
- script: $(INSTALL_DIR)\samples\c\build_samples_msvc.bat -i $(INSTALL_DIR)
|
||||
displayName: 'Build c samples'
|
||||
|
||||
- script: $(PYTHON_EXE) -m pip install -r $(INSTALL_TEST_DIR)\smoke_tests\requirements.txt
|
||||
displayName: 'Install dependencies for samples smoke tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: |
|
||||
call $(SETUPVARS) && ^
|
||||
$(PYTHON_EXE) -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)
|
||||
python -m pip install -r $(INSTALL_TEST_DIR)\smoke_tests\requirements.txt
|
||||
displayName: 'Install dependencies for samples smoke tests'
|
||||
continueOnError: false
|
||||
|
||||
- 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)
|
||||
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
|
||||
displayName: 'Samples Smoke Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: $(CMAKE_CMD) -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)\cmake_install.cmake
|
||||
displayName: 'Install tests'
|
||||
@@ -215,97 +254,103 @@ jobs:
|
||||
|
||||
- script: rd /Q /S $(BUILD_DIR)
|
||||
displayName: 'Clean build dir'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-NGraphUT.xml
|
||||
displayName: 'OV Core UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_inference_functional_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceFunc.xml
|
||||
displayName: 'Inference Func Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_inference_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceUnit.xml
|
||||
displayName: 'Inference Unit Tests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-OVProxyTests.xml
|
||||
displayName: 'OV Proxy Plugin Tests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_hetero_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-OVHeteroUnitTests.xml
|
||||
displayName: 'OV Hetero Unit Tests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-OVHeteroFuncTests.xml
|
||||
displayName: 'OV Hetero Func Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_conditional_compilation_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ConditionalCompilation.xml
|
||||
displayName: 'Conditional Compilation Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-IRFrontend.xml
|
||||
displayName: 'IR Frontend Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ONNXFrontend.xml
|
||||
displayName: 'ONNX Frontend Tests'
|
||||
continueOnError: false
|
||||
|
||||
# TODO Reenable PDPD after paddlepaddle==2.5.2 with compliant protobuf is released (ticket 95904)
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\paddle_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-Paddle.xml
|
||||
displayName: 'Paddle Frontend UT'
|
||||
enabled: 'false'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_tensorflow_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-Tensorflow.xml
|
||||
displayName: 'TensorFlow Frontend Unit Tests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_tensorflow_common_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-TensorflowCommon.xml
|
||||
displayName: 'TensorFlow Common Unit Tests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_tensorflow_lite_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-TensorflowLite.xml
|
||||
displayName: 'TensorFlow Lite Frontend Unit Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_lp_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\LpTransformations.xml
|
||||
displayName: 'Low Precision Transformations Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\Transformations.xml
|
||||
displayName: 'Transformations Tests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_legacy_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\LegacyTransformations.xml
|
||||
displayName: 'Legacy Transformations Tests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_util_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\CommonUtilTests.xml
|
||||
displayName: 'Common Utils Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\InferenceEngineUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceEngineUnitTests.xml
|
||||
displayName: 'IE UT old'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_snippets_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_snippets_func_tests.xml
|
||||
displayName: 'Snippets Func Tests'
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ieUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ieUnitTests.xml
|
||||
displayName: 'IE UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_cpu_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_cpu_unit_tests.xml
|
||||
displayName: 'Intel CPU Unit Tests'
|
||||
continueOnError: false
|
||||
|
||||
- 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'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_auto_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_auto_unit_tests.xml
|
||||
displayName: 'AUTO UT'
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\vpuUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-vpuUnitTests.xml
|
||||
displayName: 'VPU UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_auto_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_auto_func_tests.xml
|
||||
displayName: 'AUTO FuncTests'
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\XLinkTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-XLinkTests.xml
|
||||
displayName: 'XLink Tests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_auto_batch_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_auto_batch_unit_tests.xml
|
||||
displayName: 'AutoBatch UT'
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ieMultiPluginUnitTests.xml
|
||||
displayName: 'MULTI UT'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ieFuncTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ieFuncTests.xml
|
||||
displayName: 'IE FuncTests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_template_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-templateFuncTests.xml
|
||||
displayName: 'TEMPLATE FuncTests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_auto_batch_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_auto_batch_func_tests.xml
|
||||
displayName: 'AutoBatch FuncTests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceEngineCAPITests.xml
|
||||
displayName: 'IE CAPITests'
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_capi_test.xml
|
||||
displayName: 'OV CAPITests'
|
||||
continueOnError: false
|
||||
|
||||
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_cpu_func_tests --gtest_filter=*smoke* --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_cpu_func_tests.xml
|
||||
displayName: 'CPU FuncTests'
|
||||
continueOnError: false
|
||||
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
|
||||
displayName: 'IE CAPITests'
|
||||
continueOnError: false
|
||||
|
||||
- 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
|
||||
displayName: 'OV CAPITests'
|
||||
continueOnError: false
|
||||
|
||||
- task: PublishTestResults@2
|
||||
condition: always()
|
||||
inputs:
|
||||
|
||||
@@ -1,33 +1,30 @@
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- 'master'
|
||||
- 'releases/*'
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- '*/docs/*'
|
||||
- 'docs/*'
|
||||
- '*/*.md'
|
||||
- '*.md'
|
||||
- '*/layer_tests_summary/*'
|
||||
- '*/conformance/*'
|
||||
- 'tools/*'
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
pr:
|
||||
drafts: 'false'
|
||||
branches:
|
||||
include:
|
||||
- 'master'
|
||||
- 'releases/*'
|
||||
- master
|
||||
- releases/*
|
||||
- customer_A
|
||||
paths:
|
||||
exclude:
|
||||
- '*/docs/*'
|
||||
- 'docs/*'
|
||||
- '*/*.md'
|
||||
- '*.md'
|
||||
- '*/layer_tests_summary/*'
|
||||
- '*/conformance/*'
|
||||
- 'tools/*'
|
||||
exclude:
|
||||
- docs/
|
||||
- /**/docs/*
|
||||
- /**/*.md
|
||||
- README.md
|
||||
- /**/layer_tests_summary/**
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
@@ -35,15 +32,12 @@ resources:
|
||||
type: github
|
||||
endpoint: openvinotoolkit
|
||||
name: openvinotoolkit/testdata
|
||||
ref: releases/2023/2
|
||||
|
||||
variables:
|
||||
- group: github
|
||||
ref: releases/2022/3
|
||||
|
||||
jobs:
|
||||
- job: WinCC
|
||||
# About 150% of total time
|
||||
timeoutInMinutes: '120'
|
||||
timeoutInMinutes: 120
|
||||
|
||||
pool:
|
||||
name: WIN_VMSS_VENV_F8S_WU2
|
||||
@@ -70,8 +64,6 @@ jobs:
|
||||
python --version
|
||||
where java
|
||||
java -version
|
||||
where cmake
|
||||
cmake --version
|
||||
wmic computersystem get TotalPhysicalMemory
|
||||
wmic cpu list
|
||||
wmic logicaldisk get description,name
|
||||
@@ -86,8 +78,9 @@ jobs:
|
||||
displayName: 'Make dir'
|
||||
|
||||
- checkout: self
|
||||
clean: 'true'
|
||||
submodules: 'true'
|
||||
clean: true
|
||||
lfs: false
|
||||
submodules: recursive
|
||||
path: openvino
|
||||
|
||||
- script: |
|
||||
@@ -98,75 +91,87 @@ jobs:
|
||||
displayName: 'Install dependencies'
|
||||
|
||||
- checkout: testdata
|
||||
clean: 'true'
|
||||
lfs: 'true'
|
||||
clean: true
|
||||
lfs: true
|
||||
path: testdata
|
||||
|
||||
- script: |
|
||||
set PATH=$(WORK_DIR)\ninja-win;%PATH%
|
||||
call "$(MSVS_VARS_PATH)" && cmake ^
|
||||
-G Ninja ^
|
||||
-DENABLE_CPPLINT=OFF ^
|
||||
-DENABLE_GAPI_PREPROCESSING=OFF ^
|
||||
-DENABLE_PLUGINS_XML=ON ^
|
||||
call "$(MSVS_VARS_PATH)" && cmake -GNinja ^
|
||||
-DENABLE_FASTER_BUILD=ON ^
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) ^
|
||||
-DENABLE_PROFILING_ITT=ON ^
|
||||
-DSELECTIVE_BUILD=COLLECT ^
|
||||
-DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
|
||||
-DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
|
||||
-S $(REPO_DIR) ^
|
||||
-B $(BUILD_DIR)
|
||||
displayName: 'CMake CC COLLECT'
|
||||
-DENABLE_INTEL_GPU=OFF ^
|
||||
-DENABLE_MULTI=OFF ^
|
||||
-DENABLE_AUTO=OFF ^
|
||||
-DENABLE_AUTO_BATCH=OFF ^
|
||||
-DENABLE_HETERO=OFF ^
|
||||
-DENABLE_TEMPLATE=OFF ^
|
||||
-DENABLE_INTEL_MYRIAD=OFF ^
|
||||
-DENABLE_INTEL_MYRIAD_COMMON=OFF ^
|
||||
-DENABLE_TESTS=OFF ^
|
||||
-DENABLE_OV_ONNX_FRONTEND=OFF ^
|
||||
-DENABLE_OV_PADDLE_FRONTEND=OFF ^
|
||||
-DENABLE_OV_TF_FRONTEND=OFF ^
|
||||
$(REPO_DIR)
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'CMake'
|
||||
|
||||
- script: dir $(REPO_DIR)\temp\ /s
|
||||
displayName: 'List temp SDKs'
|
||||
|
||||
- script: |
|
||||
call "$(MSVS_VARS_PATH)" && cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) --parallel --target ^
|
||||
openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app sea_itt_lib
|
||||
displayName: 'Build CC COLLECT'
|
||||
call "$(MSVS_VARS_PATH)" && cmake --build . --config $(BUILD_TYPE) && cmake --build . --config $(BUILD_TYPE) --target sea_itt_lib
|
||||
workingDirectory: $(BUILD_DIR)
|
||||
displayName: 'Build Win CC COLLECT'
|
||||
|
||||
- script: dir $(REPO_DIR)\bin\ /s
|
||||
displayName: 'List bin files'
|
||||
|
||||
- script: |
|
||||
set path=%path%;$(REPO_DIR)\temp\tbb\bin
|
||||
call "$(MSVS_VARS_PATH)" && python thirdparty\itt_collector\runtool\sea_runtool.py --bindir $(REPO_DIR)\bin\intel64\$(BUILD_TYPE) -o $(BUILD_DIR)\itt_stat ! $(REPO_DIR)\bin\intel64\$(BUILD_TYPE)\benchmark_app.exe -niter 1 -nireq 1 -m $(MODELS_PATH)\models\test_model\test_model_fp32.xml -d CPU
|
||||
workingDirectory: $(REPO_DIR)
|
||||
displayName: 'Code usage analysis'
|
||||
|
||||
- script: dir $(BUILD_DIR)\*.csv /s /p
|
||||
displayName: 'List csv files'
|
||||
|
||||
- script: |
|
||||
call "$(MSVS_VARS_PATH)" && cmake ^
|
||||
-G "Visual Studio 16 2019" ^
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON ^
|
||||
-DENABLE_CPPLINT=OFF ^
|
||||
-DENABLE_GAPI_PREPROCESSING=OFF ^
|
||||
call "$(MSVS_VARS_PATH)" && cmake -G"Visual Studio 16 2019" ^
|
||||
-DVERBOSE_BUILD=ON ^
|
||||
-DENABLE_FASTER_BUILD=ON ^
|
||||
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) ^
|
||||
-DENABLE_PROFILING_ITT=OFF ^
|
||||
-DSELECTIVE_BUILD=ON ^
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^
|
||||
-DSELECTIVE_BUILD_STAT=$(BUILD_DIR)\*.csv ^
|
||||
-DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
|
||||
-DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
|
||||
-S $(REPO_DIR) ^
|
||||
-B $(BUILD_DIR_2)
|
||||
displayName: 'CMake CC ON'
|
||||
-DENABLE_INTEL_GPU=OFF ^
|
||||
-DENABLE_MULTI=OFF ^
|
||||
-DENABLE_AUTO=OFF ^
|
||||
-DENABLE_AUTO_BATCH=OFF ^
|
||||
-DENABLE_HETERO=OFF ^
|
||||
-DENABLE_TEMPLATE=OFF ^
|
||||
-DENABLE_INTEL_MYRIAD=OFF ^
|
||||
-DENABLE_INTEL_MYRIAD_COMMON=OFF ^
|
||||
-DENABLE_TESTS=OFF ^
|
||||
-DENABLE_OV_ONNX_FRONTEND=OFF ^
|
||||
-DENABLE_OV_PADDLE_FRONTEND=OFF ^
|
||||
-DENABLE_OV_TF_FRONTEND=OFF ^
|
||||
$(REPO_DIR)
|
||||
workingDirectory: $(BUILD_DIR_2)
|
||||
displayName: 'CMake2'
|
||||
|
||||
- script: cmake --build $(BUILD_DIR_2) --config $(BUILD_TYPE) --parallel --target ^
|
||||
openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app
|
||||
displayName: 'Build CC ON'
|
||||
- script: cmake --build . --config $(BUILD_TYPE)
|
||||
workingDirectory: $(BUILD_DIR_2)
|
||||
displayName: 'Build WinCC ON'
|
||||
|
||||
- script: dir $(REPO_DIR)\bin\ /s
|
||||
displayName: 'List bin files ON'
|
||||
|
||||
- script: type $(BUILD_DIR_2)\src\common\conditional_compilation\conditional_compilation_gen.h
|
||||
displayName: 'Check conditional_compilation_gen.h header'
|
||||
|
||||
- script: |
|
||||
set path=%path%;$(REPO_DIR)\temp\tbb\bin
|
||||
$(REPO_DIR)\bin\intel64\$(BUILD_TYPE)\benchmark_app.exe -niter 1 -nireq 1 -m $(MODELS_PATH)\models\test_model\test_model_fp32.xml -d CPU
|
||||
workingDirectory: $(REPO_DIR)
|
||||
displayName: 'Use OpenVINO after CC'
|
||||
# TODO: Enable after the fix on CPU side
|
||||
# - script: |
|
||||
# $(REPO_DIR)\bin\intel64\$(BUILD_TYPE)\benchmark_app.exe -niter 1 -nireq 1 -m $(MODELS_PATH)\models\test_model\test_model_fp32.xml -d CPU
|
||||
# workingDirectory: $(REPO_DIR)
|
||||
# displayName: 'Use OpenVINO after CC'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM ubuntu:23.04
|
||||
FROM ubuntu:22.04
|
||||
|
||||
LABEL version=2021.03.30.1
|
||||
|
||||
@@ -38,7 +38,6 @@ RUN apt-get update && apt-get -y --no-install-recommends install \
|
||||
python3 \
|
||||
python3-pip \
|
||||
python3-dev \
|
||||
pybind11-dev \
|
||||
python3-virtualenv \
|
||||
cython3 \
|
||||
tox && \
|
||||
@@ -51,18 +50,18 @@ WORKDIR /openvino/build
|
||||
RUN cmake .. \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||
-DENABLE_INTEL_MYRIAD_COMMON=OFF \
|
||||
-DENABLE_INTEL_GNA=OFF \
|
||||
-DENABLE_INTEL_GPU=OFF \
|
||||
-DENABLE_HETERO=OFF \
|
||||
-DENABLE_MULTI=OFF \
|
||||
-DENABLE_AUTO_BATCH=OFF \
|
||||
-DENABLE_BATCH=OFF \
|
||||
-DENABLE_GAPI_PREPROCESSING=OFF \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DENABLE_NCC_STYLE=OFF \
|
||||
-DENABLE_PROFILING_ITT=OFF \
|
||||
-DENABLE_SAMPLES=OFF \
|
||||
-DENABLE_OV_PADDLE_FRONTEND=OFF \
|
||||
-DENABLE_OV_PYTORCH_FRONTEND=ON \
|
||||
-DENABLE_OV_TF_FRONTEND=OFF \
|
||||
-DENABLE_OPENVINO_DEBUG=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX=/openvino/dist
|
||||
@@ -71,6 +70,6 @@ RUN ninja install
|
||||
# Run tests via tox
|
||||
WORKDIR /openvino/src/bindings/python
|
||||
ENV OpenVINO_DIR=/openvino/dist/runtime/cmake
|
||||
ENV LD_LIBRARY_PATH=/openvino/dist/runtime/lib/intel64:/openvino/dist/runtime/3rdparty/tbb/lib
|
||||
ENV PYTHONPATH=/openvino/bin/intel64/${BUILD_TYPE}/python:/openvino/tools/mo:${PYTHONPATH}
|
||||
ENV LD_LIBRARY_PATH=/openvino/dist/runtime/lib:/openvino/dist/runtime/3rdparty/tbb/lib
|
||||
ENV PYTHONPATH=/openvino/bin/intel64/${BUILD_TYPE}/python_api/python3.10:${PYTHONPATH}
|
||||
CMD tox
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
# See help here: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
|
||||
|
||||
* @openvinotoolkit/openvino-maintainers
|
||||
|
||||
# CI
|
||||
/Jenkinsfile @openvinotoolkit/openvino-ci-maintainers
|
||||
/.github/ @openvinotoolkit/openvino-ci-maintainers
|
||||
/.ci/ @openvinotoolkit/openvino-ci-maintainers
|
||||
/.github/CODEOWNERS @openvinotoolkit/openvino-admins @openvinotoolkit/openvino-maintainers
|
||||
|
||||
# Licensing:
|
||||
/licensing/ @openvinotoolkit/openvino-legal-maintainers
|
||||
/LICENSE @openvinotoolkit/openvino-legal-maintainers
|
||||
|
||||
# OpenVINO Scripts:
|
||||
/scripts/ @openvinotoolkit/openvino-scripts-maintainers
|
||||
/scripts/install_dependencies/ @openvinotoolkit/openvino-configuration-mgmt @openvinotoolkit/openvino-scripts-maintainers
|
||||
/install_build_dependencies.sh @openvinotoolkit/openvino-scripts-maintainers @openvinotoolkit/openvino-ie-maintainers
|
||||
|
||||
# OpenVINO Core:
|
||||
/src/inference/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/conditional_compilation/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/itt/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/preprocessing/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/util/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/thirdparty/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/.gitmodules @openvinotoolkit/openvino-ie-maintainers
|
||||
|
||||
/src/bindings/python/ @openvinotoolkit/openvino-ie-python-api-maintainers
|
||||
/src/bindings/c/ @openvinotoolkit/openvino-c-api-maintainers
|
||||
/src/common/*transformations/ @openvinotoolkit/openvino-ie-transformations-maintainers
|
||||
/src/core/ @openvinotoolkit/openvino-ngraph-maintainers
|
||||
|
||||
# OpenVINO Samples:
|
||||
/samples/c/ @openvinotoolkit/openvino-samples-maintainers @openvinotoolkit/openvino-c-api-maintainers
|
||||
/samples/cpp/ @openvinotoolkit/openvino-samples-maintainers @openvinotoolkit/openvino-maintainers
|
||||
/samples/python/ @openvinotoolkit/openvino-samples-maintainers @openvinotoolkit/openvino-ie-python-api-maintainers
|
||||
/thirdparty/zlib/ @openvinotoolkit/openvino-samples-maintainers
|
||||
/thirdparty/json/ @openvinotoolkit/openvino-samples-maintainers
|
||||
/thirdparty/gflags/ @openvinotoolkit/openvino-samples-maintainers
|
||||
/thirdparty/cnpy/ @openvinotoolkit/openvino-samples-maintainers
|
||||
|
||||
# OpenVINO Func Tests:
|
||||
/src/tests/ @openvinotoolkit/openvino-ie-tests-maintainers @openvinotoolkit/openvino-ie-test-developers
|
||||
/src/frontends/tests/frontend/shared/ @openvinotoolkit/openvino-ie-tests-maintainers
|
||||
/thirdparty/gtest/ @openvinotoolkit/openvino-ie-tests-maintainers
|
||||
|
||||
# OpenVINO CPU:
|
||||
/src/plugins/intel_cpu/ @openvinotoolkit/openvino-ie-cpu-maintainers @openvinotoolkit/openvino-ie-cpu-developers
|
||||
/src/common/snippets/ @openvinotoolkit/openvino-ie-cpu-maintainers
|
||||
/thirdparty/xbyak/ @openvinotoolkit/openvino-ie-cpu-maintainers
|
||||
|
||||
# OpenVINO LPT
|
||||
/src/common/low_precision_transformations/ @openvinotoolkit/openvino-ie-lpt-maintainers
|
||||
|
||||
# OpenVINO GPU:
|
||||
/src/plugins/intel_gpu/ @openvinotoolkit/openvino-ie-gpu-maintainers @openvinotoolkit/openvino-ie-gpu-developers
|
||||
/src/tests/**/gpu/ @openvinotoolkit/openvino-ie-gpu-maintainers
|
||||
/thirdparty/ocl/ @openvinotoolkit/openvino-ie-gpu-maintainers @openvinotoolkit/openvino-ie-gpu-developers
|
||||
|
||||
# OpenVINO GNA:
|
||||
/src/plugins/intel_gna/ @openvinotoolkit/openvino-ie-gna-maintainers
|
||||
|
||||
# OpenVINO Auto (MULTI) plugin:
|
||||
/src/plugins/auto/ @openvinotoolkit/openvino-ie-auto-multi-maintainers
|
||||
|
||||
# OpenVINO Auto (Batch) plugin:
|
||||
/src/plugins/auto_batch/ @openvinotoolkit/openvino-auto-batch-maintainers
|
||||
|
||||
# OpenVINO Hetero plugin:
|
||||
/src/plugins/hetero/ @openvinotoolkit/openvino-hetero-maintainers
|
||||
|
||||
# OpenVINO Template plugin:
|
||||
/src/plugins/template/ @openvinotoolkit/openvino-ie-template-maintainers
|
||||
|
||||
# OpenVINO Frontends:
|
||||
/src/frontends/common/ @openvinotoolkit/openvino-common-frontend-maintainers
|
||||
/src/frontends/ir/ @openvinotoolkit/openvino-ir-frontend-maintainers
|
||||
/src/frontends/paddle/ @openvinotoolkit/openvino-ie-paddle-maintainers
|
||||
/src/frontends/tensorflow/ @openvinotoolkit/openvino-tf-frontend-maintainers
|
||||
/src/frontends/tensorflow_common/ @openvinotoolkit/openvino-tf-frontend-maintainers
|
||||
/src/frontends/tensorflow_lite/ @openvinotoolkit/openvino-tf-frontend-maintainers
|
||||
/src/frontends/pytorch/ @openvinotoolkit/openvino-pytorch-frontend-maintainers
|
||||
|
||||
# OpenVINO ONNX Frontend:
|
||||
/src/frontends/onnx/ @openvinotoolkit/openvino-onnx-frontend-maintainers
|
||||
/thirdparty/onnx/ @openvinotoolkit/openvino-onnx-frontend-maintainers @openvinotoolkit/openvino-ie-maintainers
|
||||
/thirdparty/protobuf/ @openvinotoolkit/openvino-onnx-frontend-maintainers @openvinotoolkit/openvino-tf-frontend-maintainers @openvinotoolkit/openvino-ie-maintainers
|
||||
|
||||
# QA Tests:
|
||||
/tests/ @openvinotoolkit/openvino-tests-maintainers
|
||||
/tests/layer_tests/ @openvinotoolkit/openvino-tests-maintainers @openvinotoolkit/openvino-mo-maintainers
|
||||
/tests/layer_tests/pytorch_tests/ @openvinotoolkit/openvino-pytorch-frontend-maintainers
|
||||
/tests/layer_tests/tensorflow_tests @openvinotoolkit/openvino-tf-frontend-maintainers
|
||||
/tests/layer_tests/jax_tests @openvinotoolkit/openvino-tf-frontend-maintainers
|
||||
/tests/model_hub_tests @openvinotoolkit/openvino-tf-frontend-maintainers
|
||||
/tests/model_hub_tests/torch_tests @openvinotoolkit/openvino-pytorch-frontend-maintainers
|
||||
|
||||
# Tools:
|
||||
/tools/ @openvinotoolkit/openvino-tools-maintainers
|
||||
/tools/benchmark_tool/ @openvinotoolkit/openvino-ie-python-api-maintainers
|
||||
/tools/legacy/ @openvinotoolkit/openvino-samples-maintainers
|
||||
/tools/openvino_dev/ @openvinotoolkit/openvino-tools-maintainers @openvinotoolkit/openvino-ie-python-api-maintainers
|
||||
/tools/mo/ @openvinotoolkit/openvino-mo-maintainers
|
||||
/tools/ovc/ @openvinotoolkit/openvino-mo-maintainers
|
||||
/tools/pot/ @openvinotoolkit/openvino-pot-maintainers
|
||||
/thirdparty/open_model_zoo/ @openvinotoolkit/omz-maintainers @openvinotoolkit/openvino-pot-maintainers
|
||||
|
||||
# Documentation
|
||||
/docs/ @openvinotoolkit/openvino-docs-maintainers
|
||||
/docs/CMakeLists.txt @openvinotoolkit/openvino-ie-maintainers
|
||||
/**/*.md @openvinotoolkit/openvino-docs-maintainers
|
||||
/**/*.svg @openvinotoolkit/openvino-docs-maintainers
|
||||
/docs/MO_DG/ @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-mo-maintainers
|
||||
/docs/OV_Runtime_UG/ @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-ie-maintainers
|
||||
/docs/IE_PLUGIN_DG/ @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-ie-maintainers
|
||||
/docs/Extensibility_UG/ @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-ie-maintainers
|
||||
/docs/snippets/ @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-ie-maintainers
|
||||
/docs/OV_Runtime_UG/supported_plugins/ARM_CPU.md @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino_contrib-arm_plugin-maintainers
|
||||
/docs/OV_Runtime_UG/supported_plugins/CPU.md @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-ie-cpu-maintainers
|
||||
/docs/OV_Runtime_UG/supported_plugins/GNA.md @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-ie-gna-maintainers
|
||||
/docs/OV_Runtime_UG/supported_plugins/GPU*.md @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-ie-gpu-maintainers
|
||||
|
||||
# Configuration management
|
||||
/**/setup.py @openvinotoolkit/openvino-configuration-mgmt
|
||||
/**/requirements*.* @openvinotoolkit/openvino-configuration-mgmt
|
||||
/docs/requirements.txt @openvinotoolkit/openvino-docs-maintainers @openvinotoolkit/openvino-configuration-mgmt
|
||||
|
||||
# CMake scripts
|
||||
/**/cmake/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/**/*.cmake @openvinotoolkit/openvino-ie-maintainers
|
||||
/CMakeLists.txt @openvinotoolkit/openvino-ie-maintainers
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
name: Bug
|
||||
about: Create a report to help us improve
|
||||
title: "[Bug]"
|
||||
labels: bug, support_request
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
##### System information (version)
|
||||
<!-- Example
|
||||
- OpenVINO => 2020.4
|
||||
- Operating System / Platform => Windows 64 Bit
|
||||
- Compiler => Visual Studio 2017
|
||||
- Problem classification: Model Conversion
|
||||
- Framework: TensorFlow (if applicable)
|
||||
- Model name: ResNet50 (if applicable)
|
||||
-->
|
||||
|
||||
- OpenVINO=> :grey_question:
|
||||
- Operating System / Platform => :grey_question:
|
||||
- Compiler => :grey_question:
|
||||
- Problem classification => :grey_question:
|
||||
|
||||
##### Detailed description
|
||||
<!-- your description -->
|
||||
|
||||
##### Steps to reproduce
|
||||
|
||||
<!--
|
||||
Describe your problem and steps you've done before you got to this point.
|
||||
to add code example fence it with triple backticks and optional file extension
|
||||
```.cpp
|
||||
// C++ code example
|
||||
```
|
||||
or attach as .txt or .zip file
|
||||
-->
|
||||
|
||||
##### Issue submission checklist
|
||||
|
||||
- [ ] I report the issue, it's not a question
|
||||
<!--
|
||||
OpenVINO team works with support forum, Stack Overflow and other communities
|
||||
to discuss problems. Tickets with question without real issue statement will be
|
||||
closed.
|
||||
-->
|
||||
- [ ] I checked the problem with documentation, FAQ, open issues, Stack Overflow, etc and have not found solution
|
||||
<!--
|
||||
Places to check:
|
||||
* OpenVINO documentation: https://docs.openvino.ai/
|
||||
* OpenVINO forum: https://community.intel.com/t5/Intel-Distribution-of-OpenVINO/bd-p/distribution-openvino-toolkit
|
||||
* OpenVINO issue tracker: https://github.com/openvinotoolkit/openvino/issues?q=is%3Aissue
|
||||
* Stack Overflow branch: https://stackoverflow.com/questions/tagged/openvino
|
||||
-->
|
||||
- [ ] There is reproducer code and related data files: images, videos, models, etc.
|
||||
<!--
|
||||
The best reproducer -- test case for OpenVINO that we can add to the library.
|
||||
-->
|
||||
@@ -1,108 +0,0 @@
|
||||
name: Bug report
|
||||
description: Help us improve OpenVINO.
|
||||
title: "[Bug]: "
|
||||
labels: ["bug", "support_request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Please provide all the necessary information to expedite the response.
|
||||
- type: input
|
||||
id: ov_version
|
||||
attributes:
|
||||
label: OpenVINO Version
|
||||
description: OpenVINO version, branch, or tag in OpenVINO GitHub
|
||||
placeholder: 2021.4.0 LTS / Master Branch / tag 2022.3.0
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: What OS are you using?
|
||||
options:
|
||||
- Ubuntu 18.04 (LTS)
|
||||
- Ubuntu 20.04 (LTS)
|
||||
- Windows System
|
||||
- Red Hat Enterprise Linux 8
|
||||
- Android System
|
||||
- Raspbian Stretch OS
|
||||
- macOS Systems for Intel CPU
|
||||
- macOS Systems for Apple Silicon
|
||||
- WebAssembly
|
||||
- Other (Please specify in description)
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: device_use
|
||||
attributes:
|
||||
label: Device used for inference
|
||||
description: What hardware are you using for inference?
|
||||
options:
|
||||
- CPU
|
||||
- GPU
|
||||
- GNA
|
||||
- NCS2 (Intel Movidius)
|
||||
- HDDL
|
||||
- AUTO
|
||||
- HETERO
|
||||
- BATCH
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: framework
|
||||
attributes:
|
||||
label: Framework
|
||||
description: Framework used for model optimization
|
||||
options:
|
||||
- TensorFlow 1
|
||||
- Keras (TensorFlow 2)
|
||||
- Caffe
|
||||
- ONNX
|
||||
- PyTorch
|
||||
- mxnet
|
||||
- PaddlePaddle
|
||||
validations:
|
||||
required: false
|
||||
- type: input
|
||||
id: model_name
|
||||
attributes:
|
||||
label: Model used
|
||||
description: Link to the model
|
||||
placeholder: ResNet50 / YOLOv4
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: bug_description
|
||||
attributes:
|
||||
label: Issue description
|
||||
description: What issue are you having, and what did you expect to happen instead?
|
||||
placeholder: "Error when performing model optimization on yolov4 model."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: step_by_step
|
||||
attributes:
|
||||
label: Step-by-step reproduction
|
||||
description: How can we reproduce your issue?
|
||||
placeholder: Please provide detailed instructions on how to reproduce the issue
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||
render: shell
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Issue submission checklist
|
||||
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/intel/intel-one-mono/blob/main/CODE_OF_CONDUCT.md)
|
||||
options:
|
||||
- label: I'm reporting an issue. It's not a question.
|
||||
required: true
|
||||
- label: I checked the problem with the documentation, FAQ, open issues, Stack Overflow, etc., and have not found a solution.
|
||||
required: true
|
||||
- label: There is reproducer code and related data files such as images, videos, models, etc.
|
||||
required: true
|
||||
@@ -1,95 +0,0 @@
|
||||
name: Build Issue report
|
||||
description: Report a build or installation issue.
|
||||
title: "[Build]: "
|
||||
labels: ["build", "support_request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Please provide all the necessary information to expedite the response.
|
||||
- type: input
|
||||
id: ov_version
|
||||
attributes:
|
||||
label: OpenVINO Version
|
||||
description: OpenVINO version, branch, or tag in OpenVINO GitHub
|
||||
placeholder: 2021.4.0 LTS / Master Branch / tag 2022.3.0
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: What OS are you using?
|
||||
options:
|
||||
- Ubuntu 18.04 (LTS)
|
||||
- Ubuntu 20.04 (LTS)
|
||||
- Ubuntu 22.04 (LTS)
|
||||
- Windows System
|
||||
- Red Hat Enterprise Linux 8
|
||||
- OpenSUSE
|
||||
- Android System
|
||||
- Raspbian Stretch OS
|
||||
- macOS Systems for Intel CPU
|
||||
- macOS Systems for Apple Silicon
|
||||
- WebAssembly
|
||||
- WSL2 for Windows
|
||||
- Other (Please specify in description)
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: architecture
|
||||
attributes:
|
||||
label: Hardware Architecture
|
||||
description: What is your hardware architecture used in this test?
|
||||
options:
|
||||
- x86 (64 bits)
|
||||
- x86 (32 bits)
|
||||
- ARM (64 bits)
|
||||
- ARM (32 bits)
|
||||
- RISC-V
|
||||
- Other (please specify in the description)
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: target_platform
|
||||
attributes:
|
||||
label: Target Platform
|
||||
description: |
|
||||
You can also provide us full system log with the following command
|
||||
Windows cmd - "systeminfo"
|
||||
Linux terminal - "lscpu" and "lscpu -e"
|
||||
placeholder: Paste your full platform/system information here
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: build_description
|
||||
attributes:
|
||||
label: Build issue description
|
||||
description: What issue are you facing during the build/installation?
|
||||
placeholder: Please provide a detailed description of what happened
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: build_script
|
||||
attributes:
|
||||
label: Build scrip or step-by-step to reproduce
|
||||
description: How can we reproduce your issue?
|
||||
placeholder: Please provide detailed instructions on how to reproduce the issue
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: build_logs
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so there is no need for backticks.
|
||||
render: shell
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Issue submission checklist
|
||||
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/intel/intel-one-mono/blob/main/CODE_OF_CONDUCT.md)
|
||||
options:
|
||||
- label: I'm reporting an issue. It's not a question.
|
||||
required: true
|
||||
- label: I checked the problem with the documentation, FAQ, open issues, Stack Overflow, etc., and have not found a solution.
|
||||
required: true
|
||||
@@ -1,32 +0,0 @@
|
||||
name: Documentation issue report
|
||||
description: Report an issue with Documentation.
|
||||
title: "[Docs]: "
|
||||
labels: ["docs", "support_request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Please provide all the necessary information to expedite the response.
|
||||
- type: input
|
||||
id: doc_link
|
||||
attributes:
|
||||
label: Documentation link
|
||||
description: Please provide the link for the documentation issue
|
||||
placeholder: e.g. intel.com/content/www/us/en/developer/tools/openvino-toolkit/system-requirements.html
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: Provide a description of the issue you noticed.
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Issue submission checklist
|
||||
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/intel/intel-one-mono/blob/main/CODE_OF_CONDUCT.md)
|
||||
options:
|
||||
- label: I'm reporting a documentation issue. It's not a question.
|
||||
required: true
|
||||
@@ -1,31 +0,0 @@
|
||||
name: Feature request
|
||||
description: Suggest a feature or improvement for the OpenVINO toolkit.
|
||||
title: "[Feature Request]: "
|
||||
labels: ["enhancement", "feature"]
|
||||
assignees:
|
||||
- octocat
|
||||
body:
|
||||
- type: textarea
|
||||
id: request_description
|
||||
attributes:
|
||||
label: Request Description
|
||||
description: What would you like us to improve on?
|
||||
placeholder: Please provide a detailed description of your request.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: feature_usecase
|
||||
attributes:
|
||||
label: Feature Use Case
|
||||
description: What is the use case of the feature you are proposing?
|
||||
placeholder: What is the new feature use case? How will it be useful?
|
||||
validations:
|
||||
required: false
|
||||
- type: checkboxes
|
||||
id: check2
|
||||
attributes:
|
||||
label: Issue submission checklist
|
||||
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/intel/intel-one-mono/blob/main/CODE_OF_CONDUCT.md)
|
||||
options:
|
||||
- label: The feature request or improvement must be related to OpenVINO
|
||||
required: true
|
||||
@@ -1,68 +0,0 @@
|
||||
name: Good First Issue
|
||||
description: Create a Good First Issue for new contributors.
|
||||
title: "[Good First Issue]: "
|
||||
labels: ["good first issue", "no_stale"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Context
|
||||
description: |
|
||||
Let the contributors know what your component is responsible for,
|
||||
what's the importance of the change and why it's needed.
|
||||
Keep in mind the Good First Issue is for new contributors.
|
||||
placeholder: What is it and why is it important?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: todo_list
|
||||
attributes:
|
||||
label: What needs to be done?
|
||||
description: |
|
||||
Be as verbose as possible, provide a TODO list if viable.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: example_prs
|
||||
attributes:
|
||||
label: Example Pull Requests
|
||||
description: |
|
||||
Provide example Pull requests, if there are any.
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: resources
|
||||
attributes:
|
||||
label: Resources
|
||||
description: |
|
||||
Any materials related to the task, such as operator specifications,
|
||||
discussions, guides.
|
||||
value: |
|
||||
- [What is OpenVINO?](https://github.com/openvinotoolkit/openvino#what-is-openvino-toolkit)
|
||||
- [Contribution guide](https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING.md)
|
||||
- [Blog post on contributing to OpenVINO](https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING.md)
|
||||
- [User documentation](https://docs.openvino.ai/)
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: contact_points
|
||||
attributes:
|
||||
label: Contact points
|
||||
description: |
|
||||
People who can be asked questions about the task.
|
||||
placeholder: GitHub users
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: ticket
|
||||
attributes:
|
||||
label: Ticket
|
||||
description: |
|
||||
Provide the ticket number, if available.
|
||||
validations:
|
||||
required: false
|
||||
@@ -1,146 +0,0 @@
|
||||
name: Performance Issue Report
|
||||
description: This report is for the performance-related issue
|
||||
title: "[Performance]: "
|
||||
labels: ["performance", "support_request"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Please provide all the necessary information to expedite the response.
|
||||
- type: input
|
||||
id: ov_version
|
||||
attributes:
|
||||
label: OpenVINO Version
|
||||
description: OpenVINO version, branch, or tag in OpenVINO GitHub
|
||||
placeholder: 2021.4.0 LTS / Master Branch / tag 2022.3.0
|
||||
validations:
|
||||
required: false
|
||||
- type: dropdown
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: What OS are you using?
|
||||
options:
|
||||
- Ubuntu 18.04 (LTS)
|
||||
- Ubuntu 20.04 (LTS)
|
||||
- Ubuntu 22.04 (LTS)
|
||||
- Windows System
|
||||
- Red Hat Enterprise Linux 8
|
||||
- OpenSUSE
|
||||
- Android System
|
||||
- Raspbian Stretch OS
|
||||
- macOS Systems for Intel CPU
|
||||
- macOS Systems for Apple Silicon
|
||||
- WebAssembly
|
||||
- WSL2 on Windows
|
||||
- Other (Please specify in description)
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: device_use
|
||||
attributes:
|
||||
label: Device used for inference
|
||||
description: What hardware are you using for inference?
|
||||
options:
|
||||
- CPU
|
||||
- iGPU
|
||||
- dGPU
|
||||
- NPU
|
||||
validations:
|
||||
required: false
|
||||
- type: dropdown
|
||||
id: openvino_installation
|
||||
attributes:
|
||||
label: OpenVINO installation
|
||||
description: How do you install OpenVINO on your system?
|
||||
options:
|
||||
- PyPi
|
||||
- Docker
|
||||
- Build from source
|
||||
- Other virtual machines
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: openvino_api
|
||||
attributes:
|
||||
label: Programming Language
|
||||
description: What is the programming language you use in your performance test?
|
||||
options:
|
||||
- Python
|
||||
- C++
|
||||
- Other
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: architecture
|
||||
attributes:
|
||||
label: Hardware Architecture
|
||||
description: What is your hardware architecture used in this test?
|
||||
options:
|
||||
- x86 (64 bits)
|
||||
- x86 (32 bits)
|
||||
- ARM (64 bits)
|
||||
- ARM (32 bits)
|
||||
- RISC-V
|
||||
- Other (please specify in the description)
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: model_name
|
||||
attributes:
|
||||
label: Model used
|
||||
description: Link to the model
|
||||
placeholder: ResNet50 / YOLOv4
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: model_quantized
|
||||
attributes:
|
||||
label: Model quantization
|
||||
description: Is your model quantized?
|
||||
options:
|
||||
- 'Yes'
|
||||
- 'No'
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: target_platform
|
||||
attributes:
|
||||
label: Target Platform
|
||||
description: |
|
||||
You can also provide us full system log with the following command
|
||||
Windows cmd - "systeminfo"
|
||||
Linux terminal - "lscpu" and "lscpu -e"
|
||||
placeholder: Paste your full platform/system information here
|
||||
validations:
|
||||
required: false
|
||||
- type: textarea
|
||||
id: performance_description
|
||||
attributes:
|
||||
label: Performance issue description
|
||||
description: What issue are you having, and what did you expect to happen instead?
|
||||
placeholder: |
|
||||
Please provide a detailed description of what happened.
|
||||
Can the issue be reproduced using benchmark_app?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: step_by_step
|
||||
attributes:
|
||||
label: Step-by-step reproduction
|
||||
description: How can we reproduce your issue?
|
||||
placeholder: Please provide detailed instructions on how to reproduce the issue
|
||||
validations:
|
||||
required: false
|
||||
- type: checkboxes
|
||||
id: terms
|
||||
attributes:
|
||||
label: Issue submission checklist
|
||||
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/intel/intel-one-mono/blob/main/CODE_OF_CONDUCT.md)
|
||||
options:
|
||||
- label: I'm reporting a performance issue. It's not a question.
|
||||
required: true
|
||||
- label: I checked the problem with the documentation, FAQ, open issues, Stack Overflow, etc., and have not found a solution.
|
||||
required: true
|
||||
- label: There is reproducer code and related data files such as images, videos, models, etc.
|
||||
required: true
|
||||
@@ -1,35 +0,0 @@
|
||||
name: Pre-release Feedback
|
||||
description: Feedback on Pre-release OpenVINO
|
||||
title: "[Pre-Release Feedback]:"
|
||||
labels: ["Pre-release", "support_request"]
|
||||
body:
|
||||
- type: input
|
||||
id: pre_version
|
||||
attributes:
|
||||
label: Pre-release Version
|
||||
description: What is the pre-release version you are using?
|
||||
placeholder: 2023.0.0.dev20230427
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: feedback
|
||||
attributes:
|
||||
label: Pre-release feedback
|
||||
description: What is the issue or feedback on the pre-release?
|
||||
placeholder: There is an inference performance drop in OpenVINO 2022.4.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: thoughts
|
||||
attributes:
|
||||
label: New Feature Feedback
|
||||
description: Do you have any feedback on the new features released in the pre-release?
|
||||
placeholder: Any thoughts on the new features are welcome.
|
||||
validations:
|
||||
required: false
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/intel/intel-one-mono/blob/main/CODE_OF_CONDUCT.md)
|
||||
Have a new feature you would like to see in OpenVINO? File a feature request <a href="https://github.com/openvinotoolkit/openvino/issues/new/choose">HERE</a>.
|
||||
You can also implement the feature by following the <a href="https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING.md">CONTRIBUTING.MD</a>
|
||||
@@ -1,34 +0,0 @@
|
||||
name: 'System Information'
|
||||
description: 'Information about the system'
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- if: runner.os == 'Linux'
|
||||
shell: bash
|
||||
run: |
|
||||
# Install pre-requisites for Fedora
|
||||
if [[ -e /etc/fedora-release ]]; then
|
||||
yum update -y -q && yum install -y -q procps
|
||||
fi
|
||||
|
||||
echo "System: ${{ runner.os }}"
|
||||
echo "System Architecture: ${{ runner.arch }}"
|
||||
echo "CPU Info: "; lscpu
|
||||
echo "RAM Info: "; free -h --si
|
||||
echo "MEMORY Info: "; df -h
|
||||
|
||||
- if: runner.os == 'macOS'
|
||||
shell: bash
|
||||
run: |
|
||||
echo "System: ${{ runner.os }}"
|
||||
echo "System Architecture: ${{ runner.arch }}"
|
||||
echo "CPU and RAM Info: "; system_profiler SPHardwareDataType
|
||||
echo "MEMORY Info: "; df -h
|
||||
|
||||
- if: runner.os == 'Windows'
|
||||
shell: pwsh
|
||||
run: |
|
||||
echo "System: ${{ runner.os }}"
|
||||
echo "System Architecture: ${{ runner.arch }}"
|
||||
echo "CPU Info: "; Get-CimInstance –ClassName Win32_Processor | Select-Object -Property Name, NumberOfCores, NumberOfLogicalProcessors
|
||||
echo "RAM info: $(systeminfo | Select-String 'Total Physical Memory:')"
|
||||
+11
-154
@@ -2,159 +2,16 @@
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
#
|
||||
# Python product dependencies
|
||||
#
|
||||
|
||||
# Python API, Frontends
|
||||
# Enable version updates for Python API
|
||||
- package-ecosystem: pip
|
||||
directory: "/src/bindings/python/"
|
||||
directory: "/src/bindings/python"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Poland"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "rkazants"
|
||||
- "ceciliapeng2011"
|
||||
- "meiyang-intel"
|
||||
- "mbencer"
|
||||
- "tomdol"
|
||||
- "jane-intel"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
# Tests
|
||||
- package-ecosystem: pip
|
||||
directory: "/tests"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Poland"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "rkazants"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
# Model Optimizer, openvino_dev and Benchmark tool
|
||||
- package-ecosystem: pip
|
||||
directory: "/tools"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Asia/Dubai"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "rkazants"
|
||||
- "andrei-kochin"
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "Wovchena"
|
||||
allow:
|
||||
- dependency-name: "*"
|
||||
dependency-type: "production"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
# POT requirements
|
||||
- package-ecosystem: pip
|
||||
directory: "/tools/pot"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Asia/Dubai"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "AlexKoff88"
|
||||
- "KodiaqQ"
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "rkazants"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
#
|
||||
# Python Samples
|
||||
#
|
||||
|
||||
- package-ecosystem: pip
|
||||
directory: "/samples/python/hello_reshape_ssd/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Asia/Dubai"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "Wovchena"
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "rkazants"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
- package-ecosystem: pip
|
||||
directory: "/samples/python/classification_sample_async/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Asia/Dubai"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "Wovchena"
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "rkazants"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
- package-ecosystem: pip
|
||||
directory: "/samples/python/benchmark/bert_benchmark/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Asia/Dubai"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "Wovchena"
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "rkazants"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
- package-ecosystem: pip
|
||||
directory: "/samples/python/hello_classification/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Asia/Dubai"
|
||||
open-pull-requests-limit: 3
|
||||
assignees:
|
||||
- "Wovchena"
|
||||
- "jiwaszki"
|
||||
- "p-wysocki"
|
||||
- "akuporos"
|
||||
- "rkazants"
|
||||
versioning-strategy: increase-if-necessary
|
||||
|
||||
#
|
||||
# Github actions - CI
|
||||
#
|
||||
|
||||
# Github actions
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
time: "09:00"
|
||||
timezone: "Asia/Dubai"
|
||||
assignees:
|
||||
- "akashchi"
|
||||
- "mryzhov"
|
||||
- "ilya-lavrenov"
|
||||
open-pull-requests-limit: 3
|
||||
interval: weekly
|
||||
day: sunday
|
||||
time: "13:00"
|
||||
open-pull-requests-limit: 0
|
||||
reviewers:
|
||||
- jiwaszki
|
||||
- akuporos
|
||||
labels:
|
||||
- "category: dependencies"
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
fail-on-severity: 'low'
|
||||
allow-licenses:
|
||||
- 'BSD-2-Clause'
|
||||
- 'BSD-3-Clause'
|
||||
- 'BSD-2-Clause AND BSD-3-Clause'
|
||||
- 'MIT'
|
||||
- 'Apache-2.0'
|
||||
fail-on-scopes:
|
||||
- 'runtime'
|
||||
- 'development'
|
||||
- 'unknown'
|
||||
license-check: true
|
||||
vulnerability-check: true
|
||||
@@ -19,33 +19,26 @@
|
||||
},
|
||||
"DRY_RUN": false,
|
||||
"TEAM_TO_LABEL": {
|
||||
"openvino-ci-maintainers": "category: CI",
|
||||
"openvino-maintainers": "category: inference",
|
||||
"openvino-admins": "category: CI",
|
||||
"openvino-maintainers": "category: IE common",
|
||||
"openvino-docs-maintainers": "category: docs",
|
||||
"openvino-ie-maintainers": "category: inference",
|
||||
"openvino-ie-maintainers": "category: IE common",
|
||||
"openvino-ie-cpu-maintainers": "category: CPU",
|
||||
"openvino-ie-gna-maintainers": "category: GNA",
|
||||
"openvino-ie-gpu-maintainers": "category: GPU",
|
||||
"openvino-ie-lpt-maintainers": "category: LP transformations",
|
||||
"openvino-ie-transformations-maintainers": "category: transformations",
|
||||
"openvino-ie-auto-multi-maintainers": "category: AUTO",
|
||||
"openvino-auto-batch-maintainers": "category: AUTO BATCH",
|
||||
"openvino-hetero-maintainers": "category: HETERO",
|
||||
"openvino-ie-python-api-maintainers": "category: Python API",
|
||||
"openvino-ie-auto-multi-maintainers": "category: MULTI",
|
||||
"openvino-ie-python-api-maintainers": "category: python api",
|
||||
"openvino-ie-template-maintainers": "category: TEMPLATE",
|
||||
"openvino-ir-frontend-maintainers": "category: IR FE",
|
||||
"openvino-ie-paddle-maintainers": "category: PDPD FE",
|
||||
"openvino-tf-frontend-maintainers": "category: TF FE",
|
||||
"openvino-onnx-frontend-maintainers": "category: ONNX FE",
|
||||
"openvino-ie-tests-maintainers": "category: IE Tests",
|
||||
"openvino-ie-vpu-maintainers": "category: VPU",
|
||||
"openvino-mo-maintainers": "category: MO",
|
||||
"openvino-ngraph-maintainers": "category: Core",
|
||||
"openvino-ngraph-maintainers": "category: nGraph",
|
||||
"openvino-scripts-maintainers": "category: build",
|
||||
"openvino-tests-maintainers": "category: IE Tests",
|
||||
"openvino-tools-maintainers": "category: tools",
|
||||
"openvino-pot-maintainers": "category: POT",
|
||||
"openvino-configuration-mgmt": "category: dependency_changes",
|
||||
"openvino-samples-maintainers": "category: samples",
|
||||
"openvino-c-api-maintainers": "category: C API"
|
||||
"openvino-samples-maintainers": "category: samples"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@ import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
if sys.version_info[:2] < (3, 8):
|
||||
raise Exception("Python version must be >= 3.8")
|
||||
if sys.version_info[:2] < (3, 7):
|
||||
raise Exception("Python version must be >= 3.7")
|
||||
|
||||
|
||||
class ConfigException(Exception):
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
'category: AUTO BATCH':
|
||||
- 'src/plugins/auto_batch/**/*'
|
||||
|
||||
'category: AUTO':
|
||||
- 'src/plugins/auto/**/*'
|
||||
|
||||
'category: build':
|
||||
- 'cmake/**/*'
|
||||
- '**/CMakeLists.txt'
|
||||
- '**/*.cmake'
|
||||
|
||||
'category: C API':
|
||||
- 'src/bindings/c/**/*'
|
||||
|
||||
'category: CI':
|
||||
- '.github/**/*'
|
||||
- '.ci/**/*'
|
||||
- 'Jenkinsfile'
|
||||
|
||||
'github_actions':
|
||||
- '.github/workflows/*'
|
||||
|
||||
'category: Core':
|
||||
- 'src/core/**/*'
|
||||
- 'src/common/itt/**/*'
|
||||
- 'src/common/util/**/*'
|
||||
- 'src/frontends/common/**/*'
|
||||
- 'src/common/conditional_compilation/**/*'
|
||||
|
||||
'category: CPP API':
|
||||
- 'src/inference/include/**/*'
|
||||
- 'src/core/include/**/*'
|
||||
- 'src/frontends/common/include/**/*'
|
||||
- 'src/frontends/onnx/frontend/include/**/*'
|
||||
- 'src/frontends/tensorflow/include/**/*'
|
||||
- 'src/frontends/tensorflow_lite/include/**/*'
|
||||
- 'src/frontends/pytorch/include/**/*'
|
||||
- 'src/frontends/paddle/include/**/*'
|
||||
|
||||
'category: CPU':
|
||||
- 'src/plugins/intel_cpu/**/*'
|
||||
- 'src/common/snippets/**/*'
|
||||
- 'thirdparty/xbyak/**/*'
|
||||
|
||||
'category: dependency_changes':
|
||||
- '**/requirement*.txt'
|
||||
- '**/constraints*.txt'
|
||||
- 'scripts/**/*'
|
||||
- '.gitmodules'
|
||||
- '**/setup.py'
|
||||
- any: ['thirdparty/**/*',
|
||||
'!thirdparty/**/CMakeLists.txt']
|
||||
|
||||
'category: docs':
|
||||
- 'docs/**/*'
|
||||
- '**/*.md'
|
||||
|
||||
'category: extensions':
|
||||
- 'src/core/include/openvino/core/extension.hpp'
|
||||
- 'src/frontends/common/include/openvino/frontend/extension.hpp'
|
||||
- 'src/frontends/common/include/openvino/frontend/extension/**/*'
|
||||
|
||||
'category: GNA':
|
||||
- 'src/plugins/intel_gna/**/*'
|
||||
|
||||
'category: GPU':
|
||||
- 'src/plugins/intel_gpu/**/*'
|
||||
- 'src/tests/**/gpu/**/*'
|
||||
- 'thirdparty/ocl/**/*'
|
||||
|
||||
'category: HETERO':
|
||||
- 'src/plugins/hetero/**/*'
|
||||
|
||||
'category: IE Tests':
|
||||
- 'thirdparty/gtest/**/*'
|
||||
- 'src/frontends/tests/frontend/shared/**/*'
|
||||
- any: ['src/tests/**/*',
|
||||
'!src/tests/**/gpu/**/*',
|
||||
'!src/tests/**/inference_engine/**/*']
|
||||
|
||||
'category: inference':
|
||||
- 'src/inference/**/*'
|
||||
- 'src/tests/functional/inference_engine/**/*'
|
||||
|
||||
'category: IR FE':
|
||||
- 'src/frontends/ir/**/*'
|
||||
|
||||
'category: LP transformations':
|
||||
- 'src/common/low_precision_transformations/**/*'
|
||||
|
||||
'category: MO':
|
||||
- 'tools/mo/**/*'
|
||||
- 'tools/ovc/**/*'
|
||||
|
||||
'category: ONNX FE':
|
||||
- 'src/frontends/onnx/**/*'
|
||||
- 'thirdparty/onnx/**/*'
|
||||
|
||||
'category: packaging':
|
||||
- 'cmake/**/packaging/**/*'
|
||||
- 'src/bindings/python/wheel/**/*'
|
||||
- 'tools/openvino_dev/**/*'
|
||||
|
||||
'category: PDPD FE':
|
||||
- 'src/frontends/paddle/**/*'
|
||||
|
||||
'category: POT':
|
||||
- 'tools/pot/**/*'
|
||||
|
||||
'category: preprocessing':
|
||||
- 'src/common/preprocessing/**/*'
|
||||
|
||||
'category: Python API':
|
||||
- 'src/bindings/python/**/*'
|
||||
|
||||
'category: samples':
|
||||
- 'samples/**/*'
|
||||
- 'thirdparty/zlib/**/*'
|
||||
- 'thirdparty/gflags/**/*'
|
||||
- 'thirdparty/json/**/*'
|
||||
- 'thirdparty/cnpy/**/*'
|
||||
|
||||
'category: TEMPLATE':
|
||||
- 'src/plugins/template/**/*'
|
||||
|
||||
'category: TF FE':
|
||||
- 'src/frontends/tensorflow/**/*'
|
||||
- 'src/frontends/tensorflow_common/**/*'
|
||||
- 'tests/layer_tests/tensorflow_tests/**/*'
|
||||
|
||||
'category: TFL FE':
|
||||
- 'src/frontends/tensorflow_lite/**/*'
|
||||
- 'src/frontends/tensorflow_common/**/*'
|
||||
- 'tests/layer_tests/tensorflow_lite_tests/**/*'
|
||||
|
||||
'category: PyTorch FE':
|
||||
- 'src/frontends/pytorch/**/*'
|
||||
- 'tests/layer_tests/pytorch_tests/**/*'
|
||||
- 'src/bindings/python/src/openvino/frontend/pytorch/**/*'
|
||||
|
||||
'category: tools':
|
||||
- any: ['tools/**',
|
||||
'!tools/pot/**/*',
|
||||
'!tools/mo/**/*']
|
||||
|
||||
'category: transformations':
|
||||
- 'src/common/transformations/**/*'
|
||||
- 'src/common/offline_transformations/**/*'
|
||||
@@ -1,160 +0,0 @@
|
||||
name: Android ARM64 with vcpkg
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
branches:
|
||||
- master
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-android-arm64-vcpkg
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
timeout-minutes: 15
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: aks-linux-16-cores-32gb
|
||||
container:
|
||||
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
|
||||
CMAKE_GENERATOR: 'Ninja'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
OPENVINO_REPO: '/__w/openvino/openvino/openvino'
|
||||
VCPKG_ROOT: '/__w/openvino/openvino/vcpkg'
|
||||
BUILD_DIR: '/__w/openvino/openvino/build'
|
||||
ANDROID_TOOLS: '/__w/openvino/openvino/android_tools'
|
||||
ANDROID_NDK_HOME: '/__w/openvino/openvino/android_tools/ndk-bundle'
|
||||
ANDROID_SDK_VERSION: 29
|
||||
ANDROID_ABI_CONFIG: arm64-v8a
|
||||
VCPKG_DEFAULT_BINARY_CACHE: '/mount/caches/ccache/android_arm64/vcpkg_cache'
|
||||
VCPKG_FORCE_SYSTEM_BINARIES: '1'
|
||||
SCCACHE_AZURE_KEY_PREFIX: android_arm64
|
||||
steps:
|
||||
- name: Install git
|
||||
run: apt-get update && apt-get install --assume-yes --no-install-recommends git ca-certificates
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
|
||||
- name: Init submodules for non vcpkg dependencies
|
||||
run: |
|
||||
pushd ${OPENVINO_REPO}
|
||||
git submodule update --init -- ${OPENVINO_REPO}/src/plugins
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/zlib
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/json
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/gtest
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/gflags
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/open_model_zoo
|
||||
popd
|
||||
|
||||
- name: Clone vcpkg
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'microsoft/vcpkg'
|
||||
path: 'vcpkg'
|
||||
fetch-depth: '0'
|
||||
|
||||
#
|
||||
# Print system info
|
||||
#
|
||||
|
||||
- name: System info
|
||||
uses: ./openvino/.github/actions/system_info
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
# generic dependencies
|
||||
apt --assume-yes install ccache scons ninja-build build-essential python3-pip
|
||||
|
||||
# vcpkg requires cmake 3.19 or later
|
||||
python3 -m pip install -U pip cmake
|
||||
# vcpkg's tool dependencies
|
||||
apt --assume-yes install curl zip unzip tar
|
||||
# vcpkg 'python3' port dependencies
|
||||
apt --assume-yes install autoconf libtool autoconf-archive
|
||||
# vcpkg tree of dependencies require extra packages
|
||||
apt --assume-yes install pkg-config linux-libc-dev
|
||||
|
||||
# Install Android SDK, NDK and Tools
|
||||
apt -y --no-install-recommends install unzip wget default-jdk
|
||||
wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
|
||||
unzip commandlinetools-linux-7583922_latest.zip
|
||||
echo "yes" | ./cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_TOOLS} --install "ndk-bundle" "platform-tools" "platforms;android-${{ env.ANDROID_SDK_VERSION }}"
|
||||
|
||||
- name: Install sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.3
|
||||
with:
|
||||
version: "v0.5.4"
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: Build vcpkg
|
||||
run: |
|
||||
mkdir -p ${VCPKG_DEFAULT_BINARY_CACHE}
|
||||
${VCPKG_ROOT}/bootstrap-vcpkg.sh
|
||||
# patch vcpkg default toolchain to build only Release configuration
|
||||
echo "set(VCPKG_BUILD_TYPE release)" >> ${VCPKG_ROOT}/triplets/arm64-android.cmake
|
||||
|
||||
- name: CMake - configure
|
||||
run: |
|
||||
cmake \
|
||||
-G '${{ env.CMAKE_GENERATOR }}' \
|
||||
-DENABLE_INTEL_GPU=ON \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_SYSTEM_OPENCL=ON \
|
||||
-DENABLE_SYSTEM_PROTOBUF=ON \
|
||||
-DENABLE_SYSTEM_PUGIXML=ON \
|
||||
-DENABLE_SYSTEM_SNAPPY=ON \
|
||||
-DENABLE_SYSTEM_TBB=ON \
|
||||
-DENABLE_SYSTEM_FLATBUFFERS=ON \
|
||||
-DANDROID_ABI=${{ env.ANDROID_ABI_CONFIG }} \
|
||||
-DANDROID_PLATFORM=${{ env.ANDROID_SDK_VERSION }} \
|
||||
-DVCPKG_TARGET_TRIPLET=arm64-android \
|
||||
-DVCPKG_HOST_TRIPLET=x64-linux-release \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake \
|
||||
-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
|
||||
-S ${OPENVINO_REPO} \
|
||||
-B ${BUILD_DIR}
|
||||
|
||||
- name: Clean ccache stats
|
||||
run: sccache --zero-stats
|
||||
|
||||
- name: Cmake - build
|
||||
run: cmake --build ${BUILD_DIR} --parallel
|
||||
|
||||
- name: Show ccache stats
|
||||
run: ${SCCACHE_PATH} --show-stats
|
||||
@@ -1,23 +0,0 @@
|
||||
name: Take Issue
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types:
|
||||
- created
|
||||
- edited
|
||||
|
||||
jobs:
|
||||
take-issue:
|
||||
name: Take issue
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- name: take an issue
|
||||
uses: bdougie/take-action@v1.6.1
|
||||
with:
|
||||
message: Thank you for looking into this issue! Please let us know if you have any questions or require any help.
|
||||
issueCurrentlyAssignedMessage: Thanks for being interested in this issue. It looks like this ticket is already assigned to a contributor. Please communicate with the assigned contributor to confirm the status of the issue.
|
||||
trigger: .take
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -1,58 +1,86 @@
|
||||
name: Documentation
|
||||
on:
|
||||
pull_request:
|
||||
on: [push, pull_request]
|
||||
|
||||
env:
|
||||
DOXY_VER: '1.9.6'
|
||||
DOXYREST_VER: '2.1.3'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Build_Doc:
|
||||
runs-on: ubuntu-20.04
|
||||
if: github.repository == 'openvinotoolkit/openvino'
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
lfs: 'true'
|
||||
submodules: true
|
||||
lfs: true
|
||||
|
||||
- name: Install apt-get dependencies
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.3.1
|
||||
# cache from ccache
|
||||
- name: Cache ccache
|
||||
id: cache_restore
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
packages: graphviz texlive liblua5.2-0 libclang1-9 libclang-cpp9
|
||||
path: .ccache
|
||||
key: doc-ccache-cache
|
||||
|
||||
- name: Install ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
key: doc-ccache-cache
|
||||
save: false
|
||||
|
||||
# cache from doxygen build
|
||||
- name: Cache doxygen make
|
||||
id: cache_doxygen_make
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: doxygen-build
|
||||
key: build-doxygen-cache
|
||||
|
||||
# cache from python packages
|
||||
- name: Cache python requirements
|
||||
id: cache_python_requirements
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: doc-python-requirements
|
||||
|
||||
- name: Install apt-get tools
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.1.3
|
||||
# install doc dependencies
|
||||
with:
|
||||
packages: graphviz texlive liblua5.2-0
|
||||
version: 3.0
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
id: cp310
|
||||
with:
|
||||
python-version: '3.10'
|
||||
cache: 'pip'
|
||||
cache-dependency-path: |
|
||||
docs/requirements.txt
|
||||
docs/openvino_sphinx_theme/setup.py
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
python3 -m pip install -r docs/requirements.txt
|
||||
(cd docs/openvino_sphinx_theme && python3 setup.py install)
|
||||
|
||||
- name: Download and install doxygen && doxyrest
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
set -e
|
||||
python3 -m pip install -r docs/requirements.txt --user
|
||||
cd docs/openvino_sphinx_theme
|
||||
python3 setup.py install --user
|
||||
cd ../..
|
||||
# install doxyrest
|
||||
wget https://github.com/vovkos/doxyrest/releases/download/doxyrest-$DOXYREST_VER/doxyrest-$DOXYREST_VER-linux-amd64.tar.xz
|
||||
tar -xf doxyrest-$DOXYREST_VER-linux-amd64.tar.xz
|
||||
echo "$(pwd)/doxyrest-$DOXYREST_VER-linux-amd64/bin/" >> $GITHUB_PATH
|
||||
wget https://github.com/vovkos/doxyrest/releases/download/doxyrest-2.1.3/doxyrest-2.1.3-linux-amd64.tar.xz
|
||||
tar -xf doxyrest-2.1.3-linux-amd64.tar.xz
|
||||
echo "$(pwd)/doxyrest-2.1.3-linux-amd64/bin/" >> $GITHUB_PATH
|
||||
# install doxygen
|
||||
wget https://www.doxygen.nl/files/doxygen-$DOXY_VER.linux.bin.tar.gz
|
||||
tar -xzf doxygen-$DOXY_VER.linux.bin.tar.gz
|
||||
echo "$(pwd)/doxygen-$DOXY_VER/bin/" >> $GITHUB_PATH
|
||||
|
||||
- name: CMake configure
|
||||
run: cmake -DENABLE_DOCS=ON -B build
|
||||
- name: CMake doc
|
||||
run: |
|
||||
cmake \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DENABLE_INTEL_MYRIAD_COMMON=OFF \
|
||||
-DENABLE_DOCS=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-B build
|
||||
|
||||
- name: Cache documentation
|
||||
id: cache_sphinx_docs
|
||||
@@ -60,40 +88,16 @@ jobs:
|
||||
with:
|
||||
path: build/docs/_build/.doctrees
|
||||
key: sphinx-docs-cache
|
||||
|
||||
- name: Get number of CPU cores
|
||||
uses: SimenB/github-actions-cpu-cores@v2
|
||||
id: cpu-cores
|
||||
|
||||
- name: Build docs
|
||||
run: cmake --build build --target sphinx_docs --parallel ${{ steps.cpu-cores.outputs.count }}
|
||||
|
||||
- name: Archive docs HTML
|
||||
run: (cd build/docs && zip -r openvino_docs_html.zip _build)
|
||||
|
||||
- name: Set PR number
|
||||
|
||||
- name: Build doc
|
||||
run: |
|
||||
PR_NUMBER=$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')
|
||||
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
|
||||
|
||||
- name: 'Upload doxygen.log'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: doxygen_build_log_${{ env.PR_NUMBER }}.log
|
||||
path: build/docs/doxygen.log
|
||||
|
||||
- name: 'Upload sphinx.log'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sphinx_build_log_${{ env.PR_NUMBER }}.log
|
||||
path: build/docs/sphinx.log
|
||||
|
||||
- name: 'Upload docs html'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_docs_html_${{ env.PR_NUMBER }}.zip
|
||||
path: build/docs/openvino_docs_html.zip
|
||||
|
||||
cmake --build build --target sphinx_docs -j`nproc`
|
||||
|
||||
- name: Archive HTML
|
||||
run: |
|
||||
zip -r openvino_html.zip _build
|
||||
working-directory: build/docs
|
||||
|
||||
- name: Run Pytest
|
||||
run: |
|
||||
pytest --doxygen="./build/docs/doxygen.log" \
|
||||
@@ -108,8 +112,29 @@ jobs:
|
||||
--self-contained-html ./docs/scripts/tests/test_docs.py
|
||||
|
||||
- name: 'Upload test results'
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v3
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: openvino_docs_pytest
|
||||
name: openvino_doc_pytest
|
||||
path: build/docs/_artifacts/
|
||||
|
||||
- name: 'Upload doxygen.log'
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: doxygen_log
|
||||
path: build/docs/doxygen.log
|
||||
|
||||
- name: 'Upload sphinx.log'
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: sphinx_log
|
||||
path: build/docs/sphinx.log
|
||||
|
||||
- name: 'Upload html'
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: openvino_html
|
||||
path: build/docs/openvino_html.zip
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
name: PR Commits
|
||||
on: [pull_request]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Checks:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install dependencies
|
||||
run: python3 -m pip install -r ./.github/github_org_control/requirements.txt
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
name: Cleanup PIP caches
|
||||
on:
|
||||
schedule:
|
||||
# at 00:00 on the 1st day of every month
|
||||
- cron: '0 0 1 * *'
|
||||
|
||||
jobs:
|
||||
Cleanup_PIP_Caches:
|
||||
runs-on: aks-linux-2-cores
|
||||
container:
|
||||
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
env:
|
||||
PIP_CACHE_PATH: /mount/caches/pip
|
||||
|
||||
steps:
|
||||
- name: Pre-Collecting Cache Info
|
||||
run: |
|
||||
echo "Cache info: "
|
||||
du -h -d2 ${PIP_CACHE_PATH}
|
||||
|
||||
- name: Cleanup cache
|
||||
run: |
|
||||
echo "Delete cache files if they have not been used in over 30 days"
|
||||
[ ! -z "${PIP_CACHE_PATH}" ] && find ${PIP_CACHE_PATH} ! -type d -atime +30 -delete
|
||||
|
||||
- name: Post-Collecting Cache Info
|
||||
run: |
|
||||
echo "Cache info: "
|
||||
du -h -d2 ${PIP_CACHE_PATH}
|
||||
@@ -4,9 +4,6 @@ on:
|
||||
paths:
|
||||
- '.github/workflows/code_snippets.yml'
|
||||
- 'docs/snippets/**'
|
||||
branches:
|
||||
- 'master'
|
||||
- 'releases/**'
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/workflows/code_snippets.yml'
|
||||
@@ -25,23 +22,24 @@ jobs:
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
submodules: recursive
|
||||
lfs: true
|
||||
|
||||
- name: Install OpenCL
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.3.1
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.2.4
|
||||
if: runner.os == 'Linux'
|
||||
with:
|
||||
packages: ocl-icd-opencl-dev opencl-headers
|
||||
version: 3.0
|
||||
|
||||
- name: CMake configure
|
||||
run: cmake -DCMAKE_BUILD_TYPE=Release -DTHREADING=SEQ -B build
|
||||
run: cmake -DENABLE_INTEL_MYRIAD_COMMON=OFF -DCMAKE_BUILD_TYPE=Release -B build
|
||||
|
||||
- name: Get number of CPU cores
|
||||
uses: SimenB/github-actions-cpu-cores@v2
|
||||
uses: SimenB/github-actions-cpu-cores@v1
|
||||
id: cpu-cores
|
||||
|
||||
- name: Build snippets
|
||||
run: cmake --build build --target ie_docs_snippets --parallel ${{ steps.cpu-cores.outputs.count }}
|
||||
run: cmake --build build --target ie_docs_snippets -j${{ steps.cpu-cores.outputs.count }}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: Code Style
|
||||
on: [pull_request]
|
||||
on: [push, pull_request]
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -8,12 +8,10 @@ concurrency:
|
||||
jobs:
|
||||
clang-format:
|
||||
runs-on: ubuntu-20.04
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
submodules: recursive
|
||||
|
||||
- name: Install clang-format-9
|
||||
run: |
|
||||
@@ -22,77 +20,90 @@ jobs:
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt --assume-yes install libusb-1.0-0-dev
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r ./src/bindings/python/requirements.txt
|
||||
python3 -m pip install -r ./src/bindings/python/src/compatibility/openvino/requirements.txt
|
||||
# Add for -DENABLE_PYTHON=ON, no cython
|
||||
python3 -m pip install -r ./src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
|
||||
# Run cmake with -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT in order to enable codestyle check for ITT collector
|
||||
- name: CMake configure
|
||||
run: cmake -DENABLE_PYTHON=ON -DENABLE_TESTS=ON -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT -B build
|
||||
- name: CMake
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DENABLE_PYTHON=ON -DENABLE_TESTS=ON -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT ..
|
||||
|
||||
- name: Check code style
|
||||
run: cmake --build . --target clang_format_check_all -j8
|
||||
working-directory: build
|
||||
|
||||
- name: Create code style diff
|
||||
run: cmake --build build --target clang_format_fix_all -j8
|
||||
if: failure()
|
||||
run: |
|
||||
cmake --build build --target clang_format_fix_all -j8
|
||||
git diff > code_style_diff.diff
|
||||
|
||||
- name: suggester / clang-format
|
||||
if: startsWith(github.event_name, 'pull_request')
|
||||
if: failure() && startsWith(github.event_name, 'pull_request')
|
||||
uses: reviewdog/action-suggester@v1
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
level: warning
|
||||
fail_on_error: true
|
||||
level: error
|
||||
tool_name: clang-format
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: failure()
|
||||
with:
|
||||
name: code_style_diff
|
||||
path: code_style_diff.diff
|
||||
|
||||
ShellCheck:
|
||||
runs-on: ubuntu-22.04
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
submodules: recursive
|
||||
|
||||
- name: Install ShellCheck
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt --assume-yes install shellcheck
|
||||
|
||||
- name: CMake configure
|
||||
run: cmake -B build
|
||||
- name: Install dependencies
|
||||
run: python3 -m pip install -r ./src/bindings/python/src/compatibility/openvino/requirements.txt
|
||||
|
||||
- name: Shellcheck cmake target
|
||||
run: cmake --build build --target ov_shellcheck -j8
|
||||
- name: CMake
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DENABLE_INTEL_MYRIAD_COMMON=OFF ..
|
||||
|
||||
# always provide suggestions even for skipped scripts in ov_shellcheck tagret
|
||||
- name: ShellCheck action
|
||||
if: always()
|
||||
uses: reviewdog/action-shellcheck@v1
|
||||
with:
|
||||
level: style
|
||||
reporter: github-pr-review
|
||||
check_all_files_with_shebangs: true
|
||||
fail_on_error: true
|
||||
exclude: |
|
||||
"*/thirdparty/*"
|
||||
"./temp/*"
|
||||
- name: ShellCheck
|
||||
run: cmake --build . --target ie_shellcheck -j8
|
||||
working-directory: build
|
||||
|
||||
NamingConventionCheck:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Clang dependency
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt --assume-yes remove clang-7 clang-8 clang-9 clang-10 clang-11 clang-12 clang-13 clang-15
|
||||
sudo apt --assume-yes install clang-14 libclang-14-dev
|
||||
sudo apt --assume-yes remove clang-7 clang-8 clang-9 clang-10 clang-11 clang-12 clang-13
|
||||
sudo apt --assume-yes install libclang-14-dev
|
||||
|
||||
- name: Install Python-based dependencies
|
||||
run: python3 -m pip install -r cmake/developer_package/ncc_naming_style/requirements_dev.txt
|
||||
|
||||
- name: CMake configure
|
||||
run: cmake -B build
|
||||
- name: CMake
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DENABLE_INTEL_MYRIAD_COMMON=OFF ..
|
||||
|
||||
- name: Naming convention check
|
||||
run: cmake --build build --target ncc_all -j8
|
||||
run: cmake --build . --target ncc_all -j8
|
||||
working-directory: build
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
name: Code coverage
|
||||
on: workflow_dispatch
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Coverage:
|
||||
runs-on: ${{ matrix.config.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
config:
|
||||
- { name: "Ubuntu gcc", os: ubuntu-latest-16-cores, cc: "gcc", cxx: "g++" }
|
||||
|
||||
steps:
|
||||
- name: Setup python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10.10'
|
||||
architecture: 'x64'
|
||||
|
||||
|
||||
- name: Setup ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
max-size: 50G
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: 'true'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt --assume-yes update
|
||||
sudo -E ${{ github.workspace }}/install_build_dependencies.sh
|
||||
sudo apt --assume-yes install lcov
|
||||
|
||||
python3 -m pip install --upgrade pip
|
||||
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/wheel/requirements-dev.txt
|
||||
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/requirements.txt
|
||||
# For running Python API tests
|
||||
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
# For running Paddle frontend unit tests
|
||||
python3 -m pip install -r ${{ github.workspace }}/src/frontends/paddle/tests/requirements.txt
|
||||
# For running ONNX frontend unit tests
|
||||
python3 -m pip install -r ${{ github.workspace }}/src/frontends/onnx/tests/requirements.txt
|
||||
# For running TensorFlow frontend unit tests
|
||||
python3 -m pip install -r ${{ github.workspace }}/src/frontends/tensorflow/tests/requirements.txt
|
||||
# For MO unit tests
|
||||
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_mxnet.txt
|
||||
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_caffe.txt
|
||||
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_kaldi.txt
|
||||
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_onnx.txt
|
||||
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_tf2.txt
|
||||
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_dev.txt
|
||||
|
||||
- name: Get number of CPU cores
|
||||
uses: SimenB/github-actions-cpu-cores@v2
|
||||
id: cpu-cores
|
||||
|
||||
- name: Build OpenVINO with CMake
|
||||
uses: ashutoshvarma/action-cmake-build@master
|
||||
with:
|
||||
build-dir: ${{ github.workspace }}/build
|
||||
cc: ${{ matrix.config.cc }}
|
||||
cxx: ${{ matrix.config.cxx }}
|
||||
configure-options: >
|
||||
-GNinja
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DENABLE_PYTHON=ON
|
||||
-DENABLE_ONEDNN_FOR_GPU=ON
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
-DENABLE_TESTS=ON
|
||||
-DENABLE_OV_ONNX_FRONTEND=ON
|
||||
-DENABLE_FASTER_BUILD=ON
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF
|
||||
-DENABLE_COVERAGE=ON
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_C_LINKER_LAUNCHER=ccache
|
||||
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
|
||||
-DENABLE_SYSTEM_SNAPPY=ON
|
||||
build-type: Release
|
||||
parallel: ${{ steps.cpu-cores.outputs.count }}
|
||||
|
||||
- name: Install wheel packages
|
||||
run: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install_pkg -P '${{ github.workspace }}/build/cmake_install.cmake'
|
||||
|
||||
- name: Install python wheels
|
||||
run: python3 -m pip install openvino-dev --find-links=${{ github.workspace }}/install_pkg/tools
|
||||
|
||||
- name: List binaries
|
||||
run: ls -la ${{ github.workspace }}/bin/intel64/Release
|
||||
|
||||
- name: Install OpenVINO
|
||||
run: cmake -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install_pkg -P '${{ github.workspace }}/build/cmake_install.cmake'
|
||||
|
||||
- name: Run OV core unit tests
|
||||
run: ${{ github.workspace }}/bin/intel64/Release/ov_core_unit_tests
|
||||
|
||||
- name: Run OV Proxy plugin tests
|
||||
run: ${{ github.workspace }}/bin/intel64/Release/ov_proxy_plugin_tests
|
||||
|
||||
- name: Run OV Hetero Func tests
|
||||
run: ${{ github.workspace }}/bin/intel64/Release/ov_hetero_func_tests
|
||||
|
||||
- name: Run IR frontend tests
|
||||
run: ${{ github.workspace }}/bin/intel64/Release/ov_ir_frontend_tests
|
||||
|
||||
- name: Run ONNX frontend tests
|
||||
run: ${{ github.workspace }}/bin/intel64/Release/ov_onnx_frontend_tests --gtest_filter=-*IE_GPU*
|
||||
|
||||
#- name: Run Paddle frontend unit tests
|
||||
# run: ${{ github.workspace }}/bin/intel64/Release/paddle_tests --gtest_filter=-*IE_GPU*
|
||||
|
||||
- name: Run TensorFlow frontend unit tests
|
||||
run: ${{ github.workspace }}/bin/intel64/Release/ov_tensorflow_frontend_tests --gtest_filter=-*IE_GPU*
|
||||
|
||||
- name: Build coverage with CMake
|
||||
uses: ashutoshvarma/action-cmake-build@master
|
||||
with:
|
||||
build-dir: ${{ github.workspace }}/coverage
|
||||
cc: ${{ matrix.config.cc }}
|
||||
cxx: ${{ matrix.config.cxx }}
|
||||
target: ov_coverage
|
||||
configure-options: >
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
-DCMAKE_C_LINKER_LAUNCHER=ccache
|
||||
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
|
||||
parallel: ${{ steps.cpu-cores.outputs.count }}
|
||||
|
||||
|
||||
- name: Print info
|
||||
run: |
|
||||
ls -laR
|
||||
pwd
|
||||
- name: Generate raport
|
||||
run: |
|
||||
lcov --capture --directory ${{ github.workspace }}/. --output-file coverage.info
|
||||
genhtml coverage.info --output-directory coverage-report
|
||||
- name: Collect coverage
|
||||
uses: codecov/codecov-action@v4
|
||||
with:
|
||||
verbose: true
|
||||
@@ -1,17 +0,0 @@
|
||||
name: 'Dependency Review'
|
||||
on: [pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
dependency-review:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Dependency Review
|
||||
uses: actions/dependency-review-action@v3
|
||||
with:
|
||||
config-file: './.github/dependency_review.yml'
|
||||
@@ -1,233 +0,0 @@
|
||||
name: Fedora (RHEL), Python 3.9
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
branches:
|
||||
- master
|
||||
- 'releases/**'
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-fedora33
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
timeout-minutes: 150
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: aks-linux-16-cores-32gb
|
||||
container:
|
||||
image: fedora:33
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_GENERATOR: 'Ninja'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
GITHUB_WORKSPACE: '/__w/openvino/openvino'
|
||||
OPENVINO_REPO: /__w/openvino/openvino/openvino
|
||||
INSTALL_DIR: /__w/openvino/openvino/openvino_install
|
||||
INSTALL_TEST_DIR: /__w/openvino/openvino/tests_install
|
||||
BUILD_DIR: /__w/openvino/openvino/openvino_build
|
||||
SCCACHE_AZURE_KEY_PREFIX: fedora33_x86_64_Release
|
||||
steps:
|
||||
- name: Install git
|
||||
run: yum update -y && yum install -y git
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: ${{ env.OPENVINO_REPO }}
|
||||
submodules: 'true'
|
||||
|
||||
#
|
||||
# Print system info
|
||||
#
|
||||
|
||||
- name: System info
|
||||
uses: ./openvino/.github/actions/system_info
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- name: Install build dependencies
|
||||
run: bash ${OPENVINO_REPO}/install_build_dependencies.sh
|
||||
|
||||
- name: Install sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.3
|
||||
with:
|
||||
version: "v0.5.4"
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
python3 -m pip install -U pip
|
||||
# For Python API: build and wheel packaging
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
|
||||
# For running ONNX frontend unit tests
|
||||
python3 -m pip install --force-reinstall -r ${OPENVINO_REPO}/src/frontends/onnx/tests/requirements.txt
|
||||
|
||||
# For running TensorFlow frontend unit tests
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow/tests/requirements.txt
|
||||
|
||||
# For running TensorFlow Lite frontend unit tests
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow_lite/tests/requirements.txt
|
||||
|
||||
# For running Paddle frontend unit tests
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/paddle/tests/requirements.txt
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: CMake configure - OpenVINO
|
||||
run: |
|
||||
cmake \
|
||||
-G "${{ env.CMAKE_GENERATOR }}" \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DENABLE_NCC_STYLE=OFF \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF \
|
||||
-DENABLE_SYSTEM_TBB=ON \
|
||||
-DENABLE_SYSTEM_OPENCL=ON \
|
||||
-DENABLE_PYTHON_PACKAGING=ON \
|
||||
-DCPACK_GENERATOR=TGZ \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
|
||||
-S ${OPENVINO_REPO} \
|
||||
-B ${BUILD_DIR}
|
||||
|
||||
- name: Cmake build - OpenVINO
|
||||
run: cmake --build ${BUILD_DIR} --parallel --verbose
|
||||
|
||||
- name: Show sccache stats
|
||||
run: ${SCCACHE_PATH} --show-stats
|
||||
|
||||
- name: Cmake install - OpenVINO
|
||||
run: |
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -P ${BUILD_DIR}/cmake_install.cmake
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_TEST_DIR} -DCOMPONENT=tests -P ${BUILD_DIR}/cmake_install.cmake
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DCOMPONENT=python_wheels -P ${BUILD_DIR}/cmake_install.cmake
|
||||
|
||||
- name: Pack Artifacts
|
||||
run: |
|
||||
pushd ${INSTALL_DIR}
|
||||
tar -czvf ${BUILD_DIR}/openvino_package.tar.gz *
|
||||
popd
|
||||
|
||||
pushd ${INSTALL_TEST_DIR}
|
||||
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz *
|
||||
popd
|
||||
|
||||
- name: Build RPM packages
|
||||
run: |
|
||||
cmake -DCPACK_GENERATOR=RPM \
|
||||
-DENABLE_TESTS=OFF \
|
||||
${BUILD_DIR}
|
||||
cmake --build ${BUILD_DIR} --parallel --target package --verbose
|
||||
|
||||
#
|
||||
# Upload build artifacts
|
||||
#
|
||||
|
||||
- name: Upload openvino package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_package
|
||||
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
|
||||
if-no-files-found: 'error'
|
||||
|
||||
- name: Upload openvino RPM packages
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_rpm_packages
|
||||
path: ${{ env.BUILD_DIR }}/*.rpm
|
||||
if-no-files-found: 'error'
|
||||
|
||||
- name: Upload openvino tests package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
|
||||
if-no-files-found: 'error'
|
||||
|
||||
RPM_Packages:
|
||||
needs: Build
|
||||
timeout-minutes: 5
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: ubuntu-20.04
|
||||
container:
|
||||
image: fedora:33
|
||||
env:
|
||||
RPM_PACKAGES_DIR: /__w/openvino/packages/
|
||||
|
||||
steps:
|
||||
- name: Download OpenVINO RPM packages
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_rpm_packages
|
||||
path: ${{ env.RPM_PACKAGES_DIR }}
|
||||
|
||||
- name: Install RPM packages & check conflicts
|
||||
run: |
|
||||
tee > /tmp/openvino-2023.repo << EOF
|
||||
[OpenVINO]
|
||||
name=Intel(R) Distribution of OpenVINO 2023
|
||||
baseurl=https://yum.repos.intel.com/openvino/2023
|
||||
enabled=1
|
||||
gpgcheck=1
|
||||
repo_gpgcheck=1
|
||||
gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
|
||||
EOF
|
||||
|
||||
# install previous release version
|
||||
mv /tmp/openvino-2023.repo /etc/yum.repos.d
|
||||
yum install -y openvino
|
||||
|
||||
# install current version
|
||||
yum install --allowerasing -y *.rpm
|
||||
working-directory: ${{ env.RPM_PACKAGES_DIR }}
|
||||
|
||||
- name: Test RPM packages
|
||||
run: |
|
||||
/usr/share/openvino/samples/cpp/build_samples.sh
|
||||
/usr/share/openvino/samples/c/build_samples.sh
|
||||
~/openvino_cpp_samples_build/intel64/Release/hello_query_device
|
||||
python3 /usr/share/openvino/samples/python/hello_query_device/hello_query_device.py
|
||||
python3 -c 'from openvino import Core; Core().get_property("CPU", "AVAILABLE_DEVICES")'
|
||||
python3 -c 'from openvino import Core; Core().get_property("GPU", "AVAILABLE_DEVICES")'
|
||||
python3 -c 'from openvino import Core; Core().get_property("AUTO", "SUPPORTED_METRICS")'
|
||||
python3 -c 'from openvino import Core; Core().get_property("MULTI", "SUPPORTED_METRICS")'
|
||||
python3 -c 'from openvino import Core; Core().get_property("HETERO", "SUPPORTED_METRICS")'
|
||||
python3 -c 'from openvino import Core; Core().get_property("BATCH", "SUPPORTED_METRICS")'
|
||||
python3 -c 'from openvino.frontend import FrontEndManager; assert len(FrontEndManager().get_available_front_ends()) == 6'
|
||||
benchmark_app --help
|
||||
ovc --help
|
||||
@@ -9,10 +9,13 @@ jobs:
|
||||
Check_Files_Size:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: git ls-tree
|
||||
run: git ls-tree -r -t -l --full-name HEAD | sort -n -r -k 4
|
||||
run: |
|
||||
git ls-tree -r -t -l --full-name HEAD | sort -n -r -k 4
|
||||
|
||||
- name: git lfs ls-files
|
||||
run: git lfs ls-files --size
|
||||
run: |
|
||||
git lfs ls-files --size
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
name: "Pull Request Labeler"
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
configuration-path: '.github/labeler.yml'
|
||||
sync-labels: 'true'
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,365 +0,0 @@
|
||||
name: Linux Static CC (Ubuntu 22.04, Python 3.11, Clang)
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
branches:
|
||||
- master
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-linux-cc
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
PIP_CACHE_PATH: /mount/caches/pip/linux
|
||||
PYTHON_VERSION: '3.11'
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
timeout-minutes: 150
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: aks-linux-16-cores-32gb
|
||||
container:
|
||||
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_GENERATOR: 'Ninja Multi-Config'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
GITHUB_WORKSPACE: '/__w/openvino/openvino'
|
||||
OPENVINO_REPO: /__w/openvino/openvino/openvino
|
||||
INSTALL_DIR: /__w/openvino/openvino/openvino_install
|
||||
BUILD_DIR: /__w/openvino/openvino/openvino_build
|
||||
SELECTIVE_BUILD_STAT_DIR: /__w/openvino/openvino/selective_build_stat
|
||||
MODELS_PATH: /__w/openvino/openvino/testdata
|
||||
SCCACHE_AZURE_KEY_PREFIX: ubuntu22_x86_64_itt_clang_Release
|
||||
|
||||
steps:
|
||||
- name: Install git
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install --assume-yes --no-install-recommends git ca-certificates git-lfs
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: ${{ env.OPENVINO_REPO }}
|
||||
submodules: 'true'
|
||||
|
||||
- name: Clone test models
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'openvinotoolkit/testdata'
|
||||
path: ${{ env.MODELS_PATH }}
|
||||
lfs: 'true'
|
||||
ref: 'releases/2023/2'
|
||||
|
||||
#
|
||||
# Print system info
|
||||
#
|
||||
|
||||
- name: System info
|
||||
uses: ./openvino/.github/actions/system_info
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
bash ${OPENVINO_REPO}/install_build_dependencies.sh
|
||||
|
||||
# use clang as a default compiler
|
||||
apt --assume-yes install clang
|
||||
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
|
||||
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
|
||||
|
||||
- name: Install sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.3
|
||||
with:
|
||||
version: "v0.5.4"
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Setup pip cache dir
|
||||
run: |
|
||||
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
|
||||
echo "Using pip version: ${PIP_VER}"
|
||||
echo "PIP_CACHE_DIR=${PIP_CACHE_PATH}/${PIP_VER}" >> $GITHUB_ENV
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
# For running ONNX frontend unit tests
|
||||
python3 -m pip install --force-reinstall -r ${OPENVINO_REPO}/src/frontends/onnx/tests/requirements.txt
|
||||
|
||||
# For running TensorFlow frontend unit tests
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow/tests/requirements.txt
|
||||
|
||||
# For running TensorFlow Lite frontend unit tests
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/tensorflow_lite/tests/requirements.txt
|
||||
|
||||
# For running Paddle frontend unit tests
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/frontends/paddle/tests/requirements.txt
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: CMake configure - CC COLLECT
|
||||
run: |
|
||||
cmake \
|
||||
-G "${{ env.CMAKE_GENERATOR }}" \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DENABLE_NCC_STYLE=OFF \
|
||||
-DENABLE_INTEL_GNA=OFF \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-DENABLE_PROFILING_ITT=ON \
|
||||
-DSELECTIVE_BUILD=COLLECT \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
|
||||
-S ${OPENVINO_REPO} \
|
||||
-B ${BUILD_DIR}
|
||||
|
||||
- name: Cmake build - CC COLLECT
|
||||
run: |
|
||||
cmake --build ${BUILD_DIR} --parallel 8 --config ${{ env.CMAKE_BUILD_TYPE }}
|
||||
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target sea_itt_lib
|
||||
|
||||
- name: Show sccache stats
|
||||
run: ${SCCACHE_PATH} --show-stats
|
||||
|
||||
- name: Cmake install - OpenVINO
|
||||
run: cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -P ${BUILD_DIR}/cmake_install.cmake
|
||||
|
||||
- name: Build C++ samples - OpenVINO build tree
|
||||
run: |
|
||||
cmake -G "${{ env.CMAKE_GENERATOR }}" -DOpenVINO_DIR=${BUILD_DIR} -S ${INSTALL_DIR}/samples/cpp -B ${BUILD_DIR}/cpp_samples
|
||||
cmake --build ${BUILD_DIR}/cpp_samples --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target hello_query_device
|
||||
|
||||
- name: Build C samples - OpenVINO install tree
|
||||
run: ${INSTALL_DIR}/samples/c/build_samples.sh -i ${INSTALL_DIR} -b ${BUILD_DIR}/c_samples
|
||||
|
||||
- name: Ctest - OpenVINO unit tests
|
||||
run: ctest -C ${{ env.CMAKE_BUILD_TYPE }} --test-dir ${BUILD_DIR} -V -L UNIT
|
||||
|
||||
- name: Perform code tracing via ITT collector
|
||||
run: |
|
||||
python3 ${OPENVINO_REPO}/thirdparty/itt_collector/runtool/sea_runtool.py \
|
||||
--bindir ${OPENVINO_REPO}/bin/intel64/Release -o ${SELECTIVE_BUILD_STAT_DIR}/itt_stat ! \
|
||||
${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
|
||||
-m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU
|
||||
|
||||
- name: Pack Artifacts
|
||||
run: |
|
||||
pushd ${SELECTIVE_BUILD_STAT_DIR}
|
||||
tar -czvf ${BUILD_DIR}/openvino_selective_build_stat.tar.gz *
|
||||
popd
|
||||
|
||||
pushd ${OPENVINO_REPO}
|
||||
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz \
|
||||
bin/intel64/Release/ov_cpu_func_tests \
|
||||
src/tests/test_utils/functional_test_utils/layer_tests_summary/* \
|
||||
scripts/install_dependencies/*
|
||||
popd
|
||||
|
||||
- name: Upload selective build statistics package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_selective_build_stat
|
||||
path: ${{ env.BUILD_DIR }}/openvino_selective_build_stat.tar.gz
|
||||
if-no-files-found: 'error'
|
||||
|
||||
- name: Upload OpenVINO tests package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
|
||||
if-no-files-found: 'error'
|
||||
|
||||
CC_Build:
|
||||
name: Conditional Compilation
|
||||
needs: Build
|
||||
timeout-minutes: 10
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: aks-linux-16-cores-32gb
|
||||
container:
|
||||
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
GITHUB_WORKSPACE: '/__w/openvino/openvino'
|
||||
OPENVINO_REPO: /__w/openvino/openvino/openvino
|
||||
BUILD_DIR: /__w/openvino/openvino/openvino_build
|
||||
SELECTIVE_BUILD_STAT_DIR: /__w/openvino/openvino/selective_build_stat
|
||||
MODELS_PATH: /__w/openvino/openvino/testdata
|
||||
SCCACHE_AZURE_KEY_PREFIX: ubuntu22_x86_64_cc_Release
|
||||
|
||||
steps:
|
||||
- name: Install git
|
||||
run: apt-get update && apt-get install --assume-yes --no-install-recommends git ca-certificates git-lfs
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: ${{ env.OPENVINO_REPO }}
|
||||
submodules: 'true'
|
||||
|
||||
- name: Clone test models
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'openvinotoolkit/testdata'
|
||||
path: ${{ env.MODELS_PATH }}
|
||||
lfs: 'true'
|
||||
ref: 'releases/2023/2'
|
||||
|
||||
- name: Download selective build statistics package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_selective_build_stat
|
||||
path: ${{ env.SELECTIVE_BUILD_STAT_DIR }}
|
||||
|
||||
- name: Extract selective build statistics package
|
||||
run: tar -xvzf ${SELECTIVE_BUILD_STAT_DIR}/openvino_selective_build_stat.tar.gz -C ${SELECTIVE_BUILD_STAT_DIR}
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- name: Install build dependencies
|
||||
run: bash ${OPENVINO_REPO}/install_build_dependencies.sh
|
||||
|
||||
- name: Install sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.3
|
||||
with:
|
||||
version: "v0.5.4"
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: CMake configure - CC ON
|
||||
run: |
|
||||
cmake \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DSELECTIVE_BUILD=ON \
|
||||
-DENABLE_LTO=OFF \
|
||||
-DENABLE_TEMPLATE=OFF \
|
||||
-DENABLE_INTEL_GPU=OFF \
|
||||
-DENABLE_INTEL_GNA=OFF \
|
||||
-DENABLE_OV_TF_FRONTEND=OFF \
|
||||
-DENABLE_OV_TF_LITE_FRONTEND=OFF \
|
||||
-DENABLE_OV_PADDLE_FRONTEND=OFF \
|
||||
-DENABLE_OV_PYTORCH_FRONTEND=OFF \
|
||||
-DENABLE_OV_ONNX_FRONTEND=OFF \
|
||||
-DSELECTIVE_BUILD_STAT=${SELECTIVE_BUILD_STAT_DIR}/*.csv \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
|
||||
-S ${OPENVINO_REPO} \
|
||||
-B ${BUILD_DIR}
|
||||
|
||||
- name: Cmake build - CC ON
|
||||
run: cmake --build ${BUILD_DIR} --parallel 8 --target benchmark_app
|
||||
|
||||
- name: Show ccache stats
|
||||
run: ${SCCACHE_PATH} --show-stats
|
||||
|
||||
- name: Run with CC-ed runtime
|
||||
run: ${OPENVINO_REPO}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 -m ${MODELS_PATH}/models/test_model/test_model_fp32.xml -d CPU
|
||||
|
||||
CPU_Functional_Tests:
|
||||
name: CPU functional tests
|
||||
needs: Build
|
||||
timeout-minutes: 25
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: aks-linux-8-cores-16gb
|
||||
container:
|
||||
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
|
||||
INSTALL_TEST_DIR: /__w/openvino/openvino/install/tests
|
||||
PARALLEL_TEST_SCRIPT: /__w/openvino/openvino/install/tests/src/tests/test_utils/functional_test_utils/layer_tests_summary/run_parallel.py
|
||||
PARALLEL_TEST_CACHE: /__w/openvino/openvino/install/tests/test_cache.lst
|
||||
|
||||
steps:
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO tests package
|
||||
run: tar -xvzf ${INSTALL_TEST_DIR}/openvino_tests.tar.gz -C ${INSTALL_TEST_DIR}
|
||||
|
||||
- name: Install OpenVINO dependencies
|
||||
run: bash ${INSTALL_TEST_DIR}/scripts/install_dependencies/install_openvino_dependencies.sh -c=core -c=gpu -y
|
||||
|
||||
- name: Install 'actions/setup-python@v4' dependencies
|
||||
run: apt-get install -y libssl3
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install python dependencies for run_parallel.py
|
||||
run: python3 -m pip install -r ${INSTALL_TEST_DIR}/src/tests/test_utils/functional_test_utils/layer_tests_summary/requirements.txt
|
||||
|
||||
- name: Restore tests execution time
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ${{ env.PARALLEL_TEST_CACHE }}
|
||||
key: ${{ runner.os }}-tests-functional-cpu-stamp-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-tests-functional-cpu-stamp
|
||||
|
||||
- name: Intel CPU plugin func tests (parallel)
|
||||
run: python3 ${PARALLEL_TEST_SCRIPT} -e ${INSTALL_TEST_DIR}/bin/intel64/Release/ov_cpu_func_tests -c ${PARALLEL_TEST_CACHE} -w ${INSTALL_TEST_DIR} -s suite -rf 0 -- --gtest_print_time=1 --gtest_filter=*smoke*
|
||||
timeout-minutes: 20
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: test-results-functional-cpu
|
||||
path: |
|
||||
${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/failed/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/crashed/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/hanged/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/interapted/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/disabled_tests.log
|
||||
if-no-files-found: 'error'
|
||||
@@ -1,197 +0,0 @@
|
||||
name: Linux RISC-V with Conan (Ubuntu 22.04, Python 3.10)
|
||||
on:
|
||||
schedule:
|
||||
# at 00:00 on Wednesday and Saturday
|
||||
- cron: '0 0 * * 3,6'
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
branches:
|
||||
- master
|
||||
- 'releases/**'
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-linux-riscv
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
timeout-minutes: 30
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: aks-linux-16-cores-32gb
|
||||
container:
|
||||
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_GENERATOR: 'Ninja'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: ccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: ccache
|
||||
OPENVINO_REPO: /__w/openvino/openvino/openvino
|
||||
OPENVINO_BUILD_DIR: /__w/openvino/openvino/openvino_build
|
||||
INSTALL_DIR: /__w/openvino/openvino/openvino_install
|
||||
CONAN_USER_HOME: /mount/caches/ccache/ubuntu22_riscv64_Release/.conan
|
||||
CCACHE_DIR: /mount/caches/ccache/ubuntu22_riscv64_Release
|
||||
CCACHE_TEMPDIR: /__w/openvino/openvino/ccache_temp
|
||||
CCACHE_MAXSIZE: 50G
|
||||
steps:
|
||||
- name: Install git
|
||||
run: apt-get update && apt-get install --assume-yes --no-install-recommends git ca-certificates
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
|
||||
#
|
||||
# Print system info
|
||||
#
|
||||
|
||||
- name: System info
|
||||
uses: ./openvino/.github/actions/system_info
|
||||
|
||||
- name: Init submodules for non-Conan dependencies
|
||||
run: |
|
||||
pushd ${OPENVINO_REPO}
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/zlib
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/json
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/gtest
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/gflags
|
||||
git submodule update --init -- ${OPENVINO_REPO}/src/plugins/intel_cpu
|
||||
git submodule update --init -- ${OPENVINO_REPO}/thirdparty/open_model_zoo
|
||||
popd
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
# create build directory
|
||||
mkdir -p ${OPENVINO_BUILD_DIR}
|
||||
|
||||
# install compilers to build OpenVINO for RISC-V 64
|
||||
apt --assume-yes install gcc-riscv64-linux-gnu g++-riscv64-linux-gnu
|
||||
apt --assume-yes install gcc g++ python3-pip python3-venv python3-dev
|
||||
# generic dependencies
|
||||
apt --assume-yes install cmake ccache ninja-build fdupes patchelf
|
||||
|
||||
python3 -m venv ${OPENVINO_BUILD_DIR}/env
|
||||
source ${OPENVINO_BUILD_DIR}/env/bin/activate
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt
|
||||
python3 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
python3 -m pip install conan
|
||||
|
||||
- name: Install RISC-V native debian packages
|
||||
run: |
|
||||
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted > riscv64-sources.list
|
||||
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy universe >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates universe >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy multiverse >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security main restricted >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security universe >> riscv64-sources.list
|
||||
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security multiverse >> riscv64-sources.list
|
||||
echo deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ jammy main >> riscv64-sources.list
|
||||
echo deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ jammy universe >> riscv64-sources.list
|
||||
echo deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main >> riscv64-sources.list
|
||||
echo deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports/ jammy-security main >> riscv64-sources.list
|
||||
mv riscv64-sources.list /etc/apt/sources.list.d/
|
||||
dpkg --add-architecture riscv64
|
||||
apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/riscv64-sources.list
|
||||
apt-get install -y --no-install-recommends libpython3-dev:riscv64
|
||||
|
||||
- name: Create conan_toolchain.cmake file
|
||||
run: |
|
||||
source ${OPENVINO_BUILD_DIR}/env/bin/activate
|
||||
# generate build profile
|
||||
conan profile detect
|
||||
# patch settings.yml to contain riscv64 architecture
|
||||
sed -i 's/sparcv9/riscv64/g' ~/.conan2/settings.yml
|
||||
# generate host profile for linux_riscv64
|
||||
echo "include(default)" > ${CONAN_LINUX_RISCV64_PROFILE}
|
||||
echo "[buildenv]" >> ${CONAN_LINUX_RISCV64_PROFILE}
|
||||
echo "CC=riscv64-linux-gnu-gcc" >> ${CONAN_LINUX_RISCV64_PROFILE}
|
||||
echo "CXX=riscv64-linux-gnu-g++" >> ${CONAN_LINUX_RISCV64_PROFILE}
|
||||
# install OpenVINO dependencies
|
||||
conan install ${OPENVINO_REPO}/conanfile.txt \
|
||||
-pr:h ${CONAN_LINUX_RISCV64_PROFILE} \
|
||||
-s:h arch=riscv64 \
|
||||
-s:h build_type=${CMAKE_BUILD_TYPE} \
|
||||
-o:h onetbb/*:tbbbind=False \
|
||||
-of ${OPENVINO_BUILD_DIR}/dependencies \
|
||||
-b missing
|
||||
env:
|
||||
CONAN_LINUX_RISCV64_PROFILE: ${{ env.OPENVINO_BUILD_DIR }}/linux_riscv64
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: CMake - Configure
|
||||
run: |
|
||||
source ${OPENVINO_BUILD_DIR}/env/bin/activate
|
||||
source ${OPENVINO_BUILD_DIR}/dependencies/conanbuild.sh
|
||||
cmake \
|
||||
-G 'Ninja' \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DENABLE_INTEL_GPU=ON \
|
||||
-DENABLE_PYTHON=ON \
|
||||
-DENABLE_WHEEL=ON \
|
||||
-DPYTHON_MODULE_EXTENSION=$(riscv64-linux-gnu-python3-config --extension-suffix) \
|
||||
-DPYBIND11_PYTHON_EXECUTABLE_LAST=${OPENVINO_BUILD_DIR}/env/bin/python3.10 \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DENABLE_PYTHON_PACKAGING=ON \
|
||||
-DENABLE_SYSTEM_PROTOBUF=ON \
|
||||
-DENABLE_SYSTEM_SNAPPY=ON \
|
||||
-DENABLE_SYSTEM_PUGIXML=ON \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
|
||||
-DCMAKE_C_FLAGS="-Wno-deprecated-declarations" \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
|
||||
-DCMAKE_TOOLCHAIN_FILE=${OPENVINO_BUILD_DIR}/dependencies/conan_toolchain.cmake \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
|
||||
-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} \
|
||||
-S ${OPENVINO_REPO} \
|
||||
-B ${OPENVINO_BUILD_DIR}
|
||||
source ${OPENVINO_BUILD_DIR}/dependencies/deactivate_conanbuild.sh
|
||||
|
||||
- name: Cmake - Build
|
||||
run: cmake --build ${OPENVINO_BUILD_DIR} --parallel
|
||||
|
||||
- name: Show ccache stats
|
||||
run: ccache --show-stats
|
||||
|
||||
- name: Cmake - Install
|
||||
run: cmake --build ${OPENVINO_BUILD_DIR} --parallel --target install
|
||||
|
||||
- name: Build OpenVINO C++ samples
|
||||
run: |
|
||||
source ${OPENVINO_BUILD_DIR}/dependencies/conanbuild.sh
|
||||
${INSTALL_DIR}/samples/cpp/build_samples.sh
|
||||
source ${OPENVINO_BUILD_DIR}/dependencies/deactivate_conanbuild.sh
|
||||
env:
|
||||
CMAKE_TOOLCHAIN_FILE: ${{ env.OPENVINO_BUILD_DIR }}/dependencies/conan_toolchain.cmake
|
||||
@@ -1,813 +0,0 @@
|
||||
name: macOS (Python 3.11)
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
# at 00:00 on workdays
|
||||
- cron: '0 0 * * 1,2,3,4,5'
|
||||
# pull_request:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# push:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# branches:
|
||||
# - master
|
||||
# - 'releases/**'
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-mac-main
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
PYTHON_VERSION: '3.11'
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
timeout-minutes: 150
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
strategy:
|
||||
max-parallel: 2
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- arhitecture: 'x86_64'
|
||||
machine: 'macos-13-large'
|
||||
macos_deployment_target: '10.12'
|
||||
- arhitecture: 'arm64'
|
||||
machine: 'macos-13-xlarge'
|
||||
macos_deployment_target: '11.0'
|
||||
runs-on: ${{ matrix.machine }}
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_GENERATOR: 'Ninja Multi-Config'
|
||||
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macos_deployment_target }}
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: ccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: ccache
|
||||
OPENVINO_REPO: ${{ github.workspace }}/openvino
|
||||
OPENVINO_CONTRIB_REPO: ${{ github.workspace }}/openvino_contrib
|
||||
INSTALL_DIR: ${{ github.workspace }}/openvino_install
|
||||
INSTALL_TEST_DIR: ${{ github.workspace }}/tests_install
|
||||
BUILD_DIR: ${{ github.workspace }}/build
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
submodules: 'true'
|
||||
|
||||
- name: Clone OpenVINO Contrib
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'openvinotoolkit/openvino_contrib'
|
||||
path: 'openvino_contrib'
|
||||
|
||||
#
|
||||
# Print system info
|
||||
#
|
||||
|
||||
- name: System info
|
||||
uses: ./openvino/.github/actions/system_info
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- name: Install build dependencies
|
||||
run: brew install coreutils ninja scons
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
# For Python API
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements.txt
|
||||
|
||||
# For running Python API tests
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
|
||||
# For running ONNX frontend unit tests
|
||||
python3 -m pip install --force-reinstall -r ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/requirements.txt
|
||||
|
||||
# For running TensorFlow frontend unit tests
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/tensorflow/tests/requirements.txt
|
||||
|
||||
# For running Paddle frontend unit tests
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: Setup ccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
max-size: "2000M"
|
||||
# Should save cache only if run in the master branch of the base repo
|
||||
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
|
||||
save: ${{ github.ref_name == 'master' && 'true' || 'false' }}
|
||||
verbose: 2
|
||||
key: ${{ runner.os }}-${{ matrix.arhitecture }}-main
|
||||
restore-keys: |
|
||||
${{ runner.os }}-${{ matrix.arhitecture }}-main
|
||||
|
||||
- name: CMake configure
|
||||
run: |
|
||||
cmake \
|
||||
-G "${{ env.CMAKE_GENERATOR }}" \
|
||||
-DENABLE_CPPLINT=OFF \
|
||||
-DENABLE_NCC_STYLE=OFF \
|
||||
-DENABLE_TESTS=ON \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
|
||||
-S ${{ env.OPENVINO_REPO }} \
|
||||
-B ${{ env.BUILD_DIR }}
|
||||
|
||||
- name: Cmake build - OpenVINO
|
||||
run: cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
|
||||
|
||||
- name: Show ccache stats
|
||||
run: ccache --show-stats
|
||||
|
||||
- name: Cmake install - OpenVINO
|
||||
run: |
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_TEST_DIR }} -DCOMPONENT=tests -P ${{ env.BUILD_DIR }}/cmake_install.cmake
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCOMPONENT=python_wheels -P ${{ env.BUILD_DIR }}/cmake_install.cmake
|
||||
|
||||
- name: Pack Artifacts
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
tar -czvf ${{ env.BUILD_DIR }}/openvino_package.tar.gz *
|
||||
popd
|
||||
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
tar -czvf ${{ env.BUILD_DIR }}/openvino_tests.tar.gz *
|
||||
popd
|
||||
|
||||
- name: Cmake & Build - OpenVINO Contrib
|
||||
run: |
|
||||
cmake \
|
||||
-DBUILD_nvidia_plugin=OFF \
|
||||
-DBUILD_java_api=OFF \
|
||||
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \
|
||||
-DOPENVINO_EXTRA_MODULES=${{ env.OPENVINO_CONTRIB_REPO }}/modules \
|
||||
-S ${{ env.OPENVINO_REPO }} \
|
||||
-B ${{ env.BUILD_DIR }}
|
||||
cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
|
||||
|
||||
#
|
||||
# Upload build artifacts
|
||||
#
|
||||
|
||||
- name: Upload openvino package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_package_${{ matrix.arhitecture }}
|
||||
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
|
||||
if-no-files-found: 'error'
|
||||
|
||||
- name: Upload openvino tests package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_tests_${{ matrix.arhitecture }}
|
||||
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
|
||||
if-no-files-found: 'error'
|
||||
|
||||
Samples:
|
||||
needs: Build
|
||||
timeout-minutes: 5
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
strategy:
|
||||
max-parallel: 2
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- arhitecture: 'x86_64'
|
||||
machine: 'macos-13'
|
||||
- arhitecture: 'arm64'
|
||||
machine: 'macos-13-xlarge'
|
||||
runs-on: ${{ matrix.machine }}
|
||||
env:
|
||||
INSTALL_DIR: ${{ github.workspace }}/install
|
||||
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
|
||||
BUILD_DIR: ${{ github.workspace }}/build
|
||||
|
||||
steps:
|
||||
#
|
||||
# Initialize OpenVINO
|
||||
#
|
||||
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${INSTALL_DIR}
|
||||
tar -xzf openvino_package.tar.gz -C ${INSTALL_DIR}
|
||||
popd
|
||||
|
||||
pushd ${INSTALL_TEST_DIR}
|
||||
tar -xzf openvino_tests.tar.gz -C ${INSTALL_DIR}
|
||||
popd
|
||||
|
||||
- name: Install dependencies
|
||||
run: brew install coreutils
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Build cpp samples
|
||||
run: ${INSTALL_DIR}/samples/cpp/build_samples.sh -i ${INSTALL_DIR} -b ${BUILD_DIR}/cpp_samples
|
||||
env:
|
||||
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
|
||||
|
||||
- name: Build c samples
|
||||
run: ${INSTALL_DIR}/samples/c/build_samples.sh -i ${INSTALL_DIR} -b ${BUILD_DIR}/c_samples
|
||||
env:
|
||||
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
|
||||
|
||||
#
|
||||
# Tests
|
||||
#
|
||||
|
||||
- name: Samples tests
|
||||
run: |
|
||||
export WORKSPACE=${INSTALL_DIR}
|
||||
export IE_APP_PATH=${INSTALL_DIR}/samples_bin
|
||||
export IE_APP_PYTHON_PATH=${INSTALL_DIR}/samples/python
|
||||
export SHARE=${INSTALL_TEST_DIR}/smoke_tests/samples_smoke_tests_data
|
||||
|
||||
python3 -m pip install --ignore-installed PyYAML -r ${INSTALL_TEST_DIR}/smoke_tests/requirements.txt
|
||||
|
||||
source ${INSTALL_DIR}/setupvars.sh
|
||||
|
||||
python3 -m pytest -sv ${INSTALL_TEST_DIR}/smoke_tests \
|
||||
--env_conf ${INSTALL_TEST_DIR}/smoke_tests/env_config.yml \
|
||||
--junitxml=${INSTALL_TEST_DIR}/TEST-SamplesSmokeTests.xml
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: test-results-samples-${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
if-no-files-found: 'error'
|
||||
|
||||
CXX_Unit_Tests:
|
||||
name: C++ Unit tests
|
||||
needs: Build
|
||||
timeout-minutes: 20
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
strategy:
|
||||
max-parallel: 2
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- arhitecture: 'x86_64'
|
||||
machine: 'macos-13'
|
||||
- arhitecture: 'arm64'
|
||||
machine: 'macos-13-xlarge'
|
||||
runs-on: ${{ matrix.machine }}
|
||||
env:
|
||||
INSTALL_DIR: ${{ github.workspace }}/install
|
||||
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
|
||||
|
||||
steps:
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
tar -xzf openvino_package.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_package.tar.gz || exit 1
|
||||
popd
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
tar -xzf openvino_tests.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_tests.tar.gz || exit 1
|
||||
popd
|
||||
|
||||
#
|
||||
# Tests
|
||||
#
|
||||
|
||||
- name: OpenVINO Core Unit Tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-NGraphUT.xml
|
||||
|
||||
- name: OpenVINO Inference Functional Tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_inference_functional_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceFunc.xml
|
||||
|
||||
- name: OpenVINO Inference Unit Tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_inference_unit_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceUnit.xml
|
||||
|
||||
- name: Low Precision Transformations Tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
|
||||
# Skips under Ticket: 122660
|
||||
skip_filter=${{ matrix.arhitecture == 'arm64' && '--gtest_filter=-*smoke_LPT/FoldFakeQuantizeInTransformations.CompareFunctions*' || '' }}
|
||||
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_lp_transformations_tests --gtest_print_time=1 "$skip_filter" \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-LpTransformations.xml
|
||||
|
||||
- name: OpenVINO Conditional compilation tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_conditional_compilation_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ConditionalCompilation.xml
|
||||
|
||||
- name: IR frontend tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_ir_frontend_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-IRFrontend.xml
|
||||
|
||||
- name: PaddlePaddle frontend tests
|
||||
if: ${{ 'false' }}
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/paddle_tests --gtest_print_time=1 --gtest_filter=*smoke* \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-PaddleTests.xml
|
||||
|
||||
- name: ONNX frontend tests
|
||||
if: ${{ matrix.arhitecture == 'x86_64' }} # Ticket for ARM64: 122663
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml
|
||||
|
||||
- name: TensorFlow Common tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_common_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowCommonFrontend.xml
|
||||
|
||||
- name: TensorFlow frontend tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
|
||||
# Skips under Ticket: 122666
|
||||
skip_filter=${{ matrix.arhitecture == 'arm64' && '--gtest_filter=-*CompileModelsTests.ModelWithSplitConvConcat*:*NgramCompilation*' || '' }}
|
||||
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_frontend_tests --gtest_print_time=1 "$skip_filter" \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowFrontend.xml
|
||||
|
||||
- name: TensorFlow Lite frontend tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowLiteFrontend.xml
|
||||
|
||||
- name: Transformations func tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
|
||||
# Skips under Ticket: 122668
|
||||
skip_filter=${{ matrix.arhitecture == 'arm64' && '--gtest_filter=-*TransformationTestsF.CompressQuantizeWeights*:*TransformationTests/CompressQuantizeWeightsTests.FusionTest*' || '' }}
|
||||
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_transformations_tests --gtest_print_time=1 "$skip_filter" \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-Transformations.xml
|
||||
|
||||
- name: Common test utils tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_util_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-commonUtilsTests.xml
|
||||
|
||||
- name: Snippets func tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_snippets_func_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-SnippetsFuncTests.xml
|
||||
|
||||
- name: CPU plugin unit tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_cpu_unit_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CPUUnitTests.xml
|
||||
|
||||
- name: SubgraphsDumper tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/subgraphsDumperTests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-SubgraphsDumperTests.xml
|
||||
|
||||
- name: Template OpImpl tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/conformanceTests --gtest_print_time=1 --device=TEMPLATE --gtest_filter="*OpImpl*" \
|
||||
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-TemplateOpImplTests.xml
|
||||
|
||||
- name: AUTO unit tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_auto_unit_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_unit_tests.xml
|
||||
|
||||
- name: AUTO func Tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_auto_func_tests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_func_tests.xml
|
||||
|
||||
- name: Template plugin func tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_template_func_tests --gtest_print_time=1 \
|
||||
--gtest_filter=*smoke* \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TemplateFuncTests.xml
|
||||
|
||||
- name: Inference Engine C API tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/InferenceEngineCAPITests --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceEngineCAPITests.xml
|
||||
|
||||
- name: OpenVINO C API tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_capi_test --gtest_print_time=1 \
|
||||
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OpenVINOCAPITests.xml
|
||||
|
||||
- name: AutoBatch unit tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_unit_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_unit_tests.xml
|
||||
|
||||
- name: AutoBatch func tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_func_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_func_tests.xml
|
||||
|
||||
- name: Proxy Plugin func tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVProxyTests.xml
|
||||
|
||||
- name: Hetero unit tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_hetero_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroUnitTests.xml
|
||||
|
||||
- name: Hetero func tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroFuncTests.xml
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ always() }}
|
||||
with:
|
||||
name: test-results-cpp-${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
if-no-files-found: 'error'
|
||||
|
||||
Python_Unit_Tests:
|
||||
name: Python unit tests
|
||||
needs: Build
|
||||
timeout-minutes: 55
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
strategy:
|
||||
max-parallel: 2
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- arhitecture: 'x86_64'
|
||||
machine: 'macos-13'
|
||||
- arhitecture: 'arm64'
|
||||
machine: 'macos-13-xlarge'
|
||||
runs-on: ${{ matrix.machine }}
|
||||
env:
|
||||
OPENVINO_REPO: ${{ github.workspace }}/openvino
|
||||
OPENVINO_CONTRIB_REPO: ${{ github.workspace }}/openvino_contrib
|
||||
INSTALL_DIR: ${{ github.workspace }}/install
|
||||
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
|
||||
LAYER_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/layer_tests
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
submodules: 'true'
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
tar -xzf openvino_package.tar.gz -C ${{ env.INSTALL_DIR }}
|
||||
popd
|
||||
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
tar -xzf openvino_tests.tar.gz -C ${{ env.INSTALL_DIR }}
|
||||
popd
|
||||
|
||||
- name: Install Python API tests dependencies
|
||||
run: |
|
||||
# For torchvision to OpenVINO preprocessing converter
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/openvino/preprocess/torchvision/requirements.txt
|
||||
|
||||
# TODO: replace with Python API tests requirements
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
|
||||
|
||||
- name: Install OpenVINO Python wheels
|
||||
run: |
|
||||
# Install the core OV wheel
|
||||
python3 -m pip install ${{ env.INSTALL_DIR }}/tools/openvino-*.whl
|
||||
|
||||
# mxnet is only available on x86_64
|
||||
extras_to_install="caffe,kaldi,onnx,tensorflow2,pytorch"
|
||||
if [[ "${{ matrix.arhitecture }}" == "x86_64" ]]; then
|
||||
extras_to_install="mxnet,$extras_to_install"
|
||||
fi
|
||||
|
||||
# Find and install OV dev wheel
|
||||
pushd ${{ env.INSTALL_DIR }}/tools
|
||||
ov_dev_wheel_name=$(find . -name 'openvino_dev*.whl')
|
||||
python3 -m pip install $ov_dev_wheel_name[$extras_to_install]
|
||||
popd
|
||||
|
||||
- name: Python API 1.0 Tests
|
||||
run: |
|
||||
python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/pyngraph \
|
||||
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml \
|
||||
--ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests_compatibility/test_onnx/test_zoo_models.py \
|
||||
--ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests_compatibility/test_onnx/test_backend.py
|
||||
|
||||
- name: Python API 2.0 Tests
|
||||
run: |
|
||||
# For python imports to import pybind_mock_frontend
|
||||
export PYTHONPATH=${{ env.INSTALL_TEST_DIR }}:$PYTHONPATH
|
||||
# for 'template' extension
|
||||
export DYLD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$DYLD_LIBRARY_PATH
|
||||
|
||||
python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/pyopenvino \
|
||||
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml \
|
||||
--ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_utils/test_utils.py
|
||||
|
||||
- name: MO Python API Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
export PYTHONPATH=${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
# TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
||||
source ${INSTALL_DIR}/setupvars.sh
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/mo_python_api_tests/ --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_mo_convert.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: OVC Python API Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
# TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/ovc_python_api_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_ovc_convert.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: Model Optimizer unit tests
|
||||
run: |
|
||||
export PYTHONPATH=${{ env.INSTALL_TEST_DIR }}:$PYTHONPATH
|
||||
python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/mo/unit_tests \
|
||||
--ignore=${{ env.INSTALL_TEST_DIR }}/mo/unit_tests/mo/front/mxnet \
|
||||
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-ModelOptimizer.xml
|
||||
|
||||
- name: PyTorch Layer Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
export PYTHONPATH=${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/pytorch_tests -m precommit --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-pytorch.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: ONNX Layer Tests
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/onnx_tests -m "not launch_only_if_manually_specified and precommit" --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-onnx.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - TF FE
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - TF FE
|
||||
if: ${{ 'false' }} # Ticket: 123322
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - Legacy FE
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_Roll.xml
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - Legacy FE
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/test_tf2_keras_activation.py \
|
||||
--ir_version=11 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_Activation.xml -k "sigmoid"
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow Lite Layer Tests - TFL FE
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_lite_tests/ --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tfl_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: Python ONNX operators tests
|
||||
if: ${{ 'false' }} # Ticket: 123325
|
||||
run: |
|
||||
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time - ONNX Model Zoo tests are run separately
|
||||
python3 -m pytest -sv ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests -k 'not cuda' \
|
||||
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-onnx_frontend.xml \
|
||||
--ignore=${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/test_python/test_zoo_models.py
|
||||
|
||||
- name: Python Frontend tests
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
|
||||
# to allow 'libtest_builtin_extensions.so' to find 'libopenvino_onnx_frontend.so'
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/py_frontend_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_py_fontend.xml
|
||||
|
||||
# TODO: install to 'tests' component via cpack
|
||||
- name: OVC unit tests
|
||||
run: python3 -m pytest -s ${{ env.OPENVINO_REPO }}/tools/ovc/unit_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-OpenVinoConversion.xml
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ always() }}
|
||||
with:
|
||||
name: test-results-python-${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
if-no-files-found: 'error'
|
||||
|
||||
CPU_Functional_Tests:
|
||||
name: CPU functional tests
|
||||
needs: Build
|
||||
timeout-minutes: 25
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
strategy:
|
||||
max-parallel: 2
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
# ticket: 122001
|
||||
# - arhitecture: 'x86_64'
|
||||
# machine: 'macos-13'
|
||||
- arhitecture: 'arm64'
|
||||
machine: 'macos-13-xlarge'
|
||||
runs-on: ${{ matrix.machine }}
|
||||
env:
|
||||
INSTALL_DIR: ${{ github.workspace }}/install
|
||||
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
|
||||
|
||||
steps:
|
||||
- name: Create Directories
|
||||
run: mkdir -p ${{ env.INSTALL_DIR }} ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests_${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
tar -xzf openvino_package.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_package.tar.gz
|
||||
popd
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
tar -xzf openvino_tests.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_tests.tar.gz
|
||||
popd
|
||||
|
||||
- name: CPU plugin func tests
|
||||
run: |
|
||||
source ${{ env.INSTALL_DIR }}/setupvars.sh
|
||||
|
||||
# Skips under Ticket: 122769
|
||||
skip_filter=${{ matrix.arhitecture == 'arm64' && '--gtest_filter=-*smoke_nonzero/NonZeroLayerTest.Inference/IS*:*smoke_NormalizeL2_*:*Extension.XmlModelWithExtensionFromDSO*:*Extension.OnnxModelWithExtensionFromDSO*:*ONNXQuantizedModels/QuantizedModelsTests.MaxPool*:*ONNXQuantizedModels/QuantizedModelsTests.Convolution*:**' || '' }}
|
||||
|
||||
${{ env.INSTALL_TEST_DIR }}/ov_cpu_func_tests --gtest_print_time=1 --gtest_filter=*smoke* "$skip_filter" --gtest_output=xml:"${{ env.INSTALL_TEST_DIR }}/TEST-CPUFuncTests.xml"
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ always() }}
|
||||
with:
|
||||
name: test-results-functional-cpu-${{ matrix.arhitecture }}
|
||||
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
if-no-files-found: 'error'
|
||||
@@ -20,8 +20,9 @@ jobs:
|
||||
Pylint-UT:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
@@ -51,10 +52,6 @@ jobs:
|
||||
pip install -r requirements_dev.txt
|
||||
working-directory: tools/mo
|
||||
|
||||
- name: Pylint-MO
|
||||
- name: Pylint
|
||||
run: pylint -d C,R,W openvino/tools/mo
|
||||
working-directory: tools/mo
|
||||
|
||||
- name: Pylint-OVC
|
||||
run: pylint -d C,R,W openvino/tools/ovc
|
||||
working-directory: tools/ovc
|
||||
@@ -7,9 +7,6 @@ on:
|
||||
- 'src/bindings/python/**'
|
||||
- 'samples/python/**'
|
||||
- '.github/workflows/py_checks.yml'
|
||||
branches:
|
||||
- 'master'
|
||||
- 'releases/**'
|
||||
pull_request:
|
||||
paths:
|
||||
- 'src/bindings/python/**'
|
||||
@@ -24,123 +21,104 @@ jobs:
|
||||
linters:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
- name: Code checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
python-version: '3.8'
|
||||
|
||||
submodules: recursive
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.7'
|
||||
- name: Install dependencies
|
||||
run: python -m pip install -r src/bindings/python/requirements_test.txt
|
||||
|
||||
# samples code-style
|
||||
- name: Run flake8 on samples
|
||||
run: python -m flake8 ./ --config=setup.cfg
|
||||
working-directory: samples/python
|
||||
|
||||
- name: Create code style diff for samples
|
||||
if: failure()
|
||||
run: |
|
||||
python -m black -l 160 -S ./
|
||||
git diff > samples_diff.diff
|
||||
working-directory: samples/python
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: failure()
|
||||
with:
|
||||
name: samples_diff
|
||||
path: samples_diff.diff
|
||||
|
||||
# IE Python API Flake code-style
|
||||
- name: Run flake8 on IE Python API
|
||||
run: python -m flake8 ./ --config=setup.cfg
|
||||
working-directory: src/bindings/python/src/compatibility/openvino
|
||||
|
||||
- name: Create code style diff for IE Python API
|
||||
if: failure()
|
||||
run: |
|
||||
python -m black -l 160 -S ./
|
||||
git diff > ie_python_diff.diff
|
||||
working-directory: src/bindings/python/src/compatibility/openvino
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: failure()
|
||||
with:
|
||||
name: ie_python_diff
|
||||
path: ie_python_diff.diff
|
||||
|
||||
# nGraph Python API Flake code-style
|
||||
- name: Run flake8 on nGraph Python API
|
||||
run: python -m flake8 ./src/compatibility/ngraph --config=setup.cfg
|
||||
working-directory: src/bindings/python
|
||||
|
||||
- name: Create code style diff for nGraph Python API
|
||||
if: failure()
|
||||
run: |
|
||||
python -m black -l 160 -S ./
|
||||
git diff > pyngraph_diff.diff
|
||||
working-directory: src/bindings/python/src/compatibility/ngraph
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: failure()
|
||||
with:
|
||||
name: pyngraph_diff
|
||||
path: pyngraph_diff.diff
|
||||
|
||||
# Python API 2.0 Flake code-style
|
||||
- name: Run flake8 on Python API 2.0
|
||||
run: python -m flake8 ./src/openvino --config=setup.cfg
|
||||
working-directory: src/bindings/python
|
||||
|
||||
- name: Create code style diff for Python API 2.0
|
||||
if: failure()
|
||||
run: |
|
||||
python -m black -l 160 -S ./
|
||||
git diff > pyopenvino_diff.diff
|
||||
working-directory: src/bindings/python/src/openvino
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: failure()
|
||||
with:
|
||||
name: pyopenvino_diff
|
||||
path: pyopenvino_diff.diff
|
||||
|
||||
# wheel Flake code-style
|
||||
- name: Run flake8 on wheel
|
||||
run: python -m flake8 ./ --config=../setup.cfg
|
||||
working-directory: src/bindings/python/wheel
|
||||
|
||||
- name: Create code style diff for wheel
|
||||
if: failure()
|
||||
run: |
|
||||
python -m black -l 160 -S ./
|
||||
git diff > wheel_diff.diff
|
||||
working-directory: src/bindings/python/wheel
|
||||
|
||||
- uses: actions/upload-artifact@v3
|
||||
- uses: actions/upload-artifact@v2
|
||||
if: failure()
|
||||
with:
|
||||
name: wheel_diff
|
||||
path: wheel_diff.diff
|
||||
|
||||
# Python API 2.0 tests Flake code-style
|
||||
- name: Run flake8 on python tests
|
||||
# ignore lack of docs in tests
|
||||
run: python -m flake8 tests/ --config=setup.cfg
|
||||
working-directory: src/bindings/python
|
||||
|
||||
# IE Python API mypy check
|
||||
- name: Run mypy on IE Python API
|
||||
run: python -m mypy ./ --config-file ./setup.cfg
|
||||
working-directory: src/bindings/python/src/compatibility/openvino
|
||||
|
||||
# nGraph Python API mypy check
|
||||
- name: Run mypy on nGraph Python API
|
||||
run: python -m mypy ./src/compatibility/ngraph --config-file ./setup.cfg
|
||||
working-directory: src/bindings/python
|
||||
|
||||
# Python API 2.0 mypy check
|
||||
- name: Run mypy on Python API 2.0
|
||||
run: python -m mypy ./src/openvino --config-file ./setup.cfg
|
||||
@@ -149,16 +127,3 @@ jobs:
|
||||
- name: Run Bandit
|
||||
run: python -m bandit -r ./ -f screen
|
||||
working-directory: src/bindings/python/src/compatibility/openvino
|
||||
|
||||
# layer_tests Flake code-style
|
||||
- name: Run flake8 on python tests in openvino/tests/layer_tests
|
||||
run: |
|
||||
modified_files=$(git diff --name-only)
|
||||
for file in $modified_files; do
|
||||
if [[ $file == "openvino/tests/layer_tests/"* ]]; then
|
||||
if [[ -f "$file" ]]; then
|
||||
python -m flake8 "$file" --config= ./setup.cfg
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
name: 'Close stale issues and PRs'
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v8
|
||||
with:
|
||||
stale-issue-message: 'This issue will be closed in a week because of 9 months of no activity.'
|
||||
stale-pr-message: 'This PR will be closed in a week because of 2 weeks of no activity.'
|
||||
close-issue-message: 'This issue was closed because it has been stalled for 9 months with no activity.'
|
||||
close-pr-message: 'This PR was closed because it has been stalled for 2 week with no activity.'
|
||||
days-before-pr-stale: 14
|
||||
days-before-issue-stale: 274
|
||||
days-before-close: 7
|
||||
ascending: true
|
||||
exempt-pr-labels: 'no_stale'
|
||||
@@ -1,78 +0,0 @@
|
||||
name: Webassembly
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**/docs/**'
|
||||
- 'docs/**'
|
||||
- '**/**.md'
|
||||
- '**.md'
|
||||
- '**/layer_tests_summary/**'
|
||||
- '**/conformance/**'
|
||||
branches:
|
||||
- master
|
||||
- 'releases/**'
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-webassembly
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: aks-linux-16-cores-32gb
|
||||
container:
|
||||
image: emscripten/emsdk
|
||||
volumes:
|
||||
- /mount/caches:/mount/caches
|
||||
options: -e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
OPENVINO_REPO: /__w/openvino/openvino/openvino
|
||||
OPENVINO_BUILD_DIR: /__w/openvino/openvino/openvino_build
|
||||
SCCACHE_AZURE_KEY_PREFIX: webassembly_Release
|
||||
steps:
|
||||
- name: Install git
|
||||
run: apt-get update && apt-get install --assume-yes --no-install-recommends git ca-certificates
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
submodules: 'true'
|
||||
|
||||
- name: Install sccache
|
||||
uses: mozilla-actions/sccache-action@v0.0.3
|
||||
with:
|
||||
version: "v0.5.4"
|
||||
|
||||
- name: emcmake cmake - configure
|
||||
run: |
|
||||
emcmake cmake \
|
||||
-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
|
||||
-DCMAKE_C_FLAGS="-Wno-deprecated-declarations" \
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CMAKE_CXX_COMPILER_LAUNCHER }} \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=${{ env.CMAKE_C_COMPILER_LAUNCHER }} \
|
||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
|
||||
-S ${OPENVINO_REPO} \
|
||||
-B ${OPENVINO_BUILD_DIR}
|
||||
|
||||
- name: emmake make - build
|
||||
run: emmake make -j$(nproc) hello_query_device -C ${OPENVINO_BUILD_DIR}
|
||||
|
||||
- name: Show ccache stats
|
||||
run: ${SCCACHE_PATH} --show-stats
|
||||
@@ -1,732 +0,0 @@
|
||||
name: Windows (VS 2019, Python 3.11)
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
# at 00:00 on workdays
|
||||
- cron: '0 0 * * 1,2,3,4,5'
|
||||
# pull_request:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# push:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# branches:
|
||||
# - master
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-windows
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
PYTHON_VERSION: '3.11'
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
timeout-minutes: 180
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-2019-16-core
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_GENERATOR: 'Ninja Multi-Config'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
OPENVINO_REPO: "${{ github.workspace }}\\openvino"
|
||||
OPENVINO_CONTRIB_REPO: "${{ github.workspace }}\\openvino_contrib"
|
||||
INSTALL_DIR: "${{ github.workspace }}\\openvino_install"
|
||||
INSTALL_TEST_DIR: "${{ github.workspace }}\\tests_install"
|
||||
BUILD_DIR: "${{ github.workspace }}\\openvino_build"
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
submodules: 'true'
|
||||
|
||||
- name: Clone OpenVINO Contrib
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'openvinotoolkit/openvino_contrib'
|
||||
path: 'openvino_contrib'
|
||||
ref: 'releases/2023/2'
|
||||
|
||||
#
|
||||
# Print system info
|
||||
#
|
||||
|
||||
- name: System info
|
||||
uses: ./openvino/.github/actions/system_info
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install python dependencies
|
||||
run: |
|
||||
# For Python API: build and wheel packaging
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
|
||||
|
||||
# For running ONNX frontend unit tests
|
||||
python3 -m pip install --force-reinstall -r ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/requirements.txt
|
||||
|
||||
# For running TensorFlow frontend unit tests
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/tensorflow/tests/requirements.txt
|
||||
|
||||
# For running TensorFlow Lite frontend unit tests
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/tensorflow_lite/tests/requirements.txt
|
||||
|
||||
# For running Paddle frontend unit tests
|
||||
# python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
|
||||
|
||||
- name: Install build dependencies
|
||||
run: choco install --no-progress ninja
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: Configure Developer Command Prompt for Microsoft Visual C++
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
|
||||
- name: Setup sccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
variant: sccache
|
||||
max-size: "2000M"
|
||||
# Should save cache only if run in the master branch of the base repo
|
||||
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
|
||||
save: ${{ github.ref_name == 'master' && 'true' || 'false' }}
|
||||
append-timestamp: true
|
||||
key: ${{ github.job }}-${{ runner.os }}-common
|
||||
restore-keys: |
|
||||
${{ github.job }}-${{ runner.os }}-common
|
||||
|
||||
- name: CMake configure
|
||||
run: |
|
||||
cmake -G "${{ env.CMAKE_GENERATOR }}" `
|
||||
-DENABLE_CPPLINT=OFF `
|
||||
-DBUILD_nvidia_plugin=OFF `
|
||||
-DBUILD_SHARED_LIBS=ON `
|
||||
-DENABLE_TESTS=ON `
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF `
|
||||
-DENABLE_STRICT_DEPENDENCIES=OFF `
|
||||
-DENABLE_PYTHON=ON `
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON `
|
||||
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" `
|
||||
-DOPENVINO_EXTRA_MODULES=${{ env.OPENVINO_CONTRIB_REPO }}/modules `
|
||||
-S ${{ env.OPENVINO_REPO }} `
|
||||
-B ${{ env.BUILD_DIR }}
|
||||
|
||||
- name: Cmake build - OpenVINO
|
||||
run: cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --verbose
|
||||
|
||||
- name: Cmake install - OpenVINO
|
||||
run: |
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_TEST_DIR }} -DCOMPONENT=tests -P ${{ env.BUILD_DIR }}/cmake_install.cmake
|
||||
cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCOMPONENT=python_wheels -P ${{ env.BUILD_DIR }}/cmake_install.cmake
|
||||
|
||||
- name: Pack Artifacts
|
||||
run: |
|
||||
$file=Get-ChildItem -Path "${{ env.INSTALL_DIR }}"
|
||||
$compress = @{
|
||||
Path = $file
|
||||
CompressionLevel = "Optimal"
|
||||
DestinationPath = "${{ env.BUILD_DIR }}/openvino_package.zip"
|
||||
}
|
||||
Compress-Archive @compress
|
||||
|
||||
$file=Get-ChildItem -Path "${{ env.INSTALL_TEST_DIR }}"
|
||||
$compress = @{
|
||||
Path = $file
|
||||
CompressionLevel = "Optimal"
|
||||
DestinationPath = "${{ env.BUILD_DIR }}/openvino_tests.zip"
|
||||
}
|
||||
Compress-Archive @compress
|
||||
|
||||
- name: Cmake & Build - OpenVINO Contrib
|
||||
if: ${{ 'false' }} # Ticket: 122441
|
||||
run: |
|
||||
cmake `
|
||||
-DBUILD_nvidia_plugin=OFF `
|
||||
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" `
|
||||
-DOPENVINO_EXTRA_MODULES=${{ env.OPENVINO_CONTRIB_REPO }}/modules `
|
||||
-S ${{ env.OPENVINO_REPO }} `
|
||||
-B ${{ env.BUILD_DIR }}
|
||||
cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --verbose
|
||||
|
||||
- name: Upload openvino package
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_package
|
||||
path: ${{ env.BUILD_DIR }}/openvino_package.zip
|
||||
if-no-files-found: 'error'
|
||||
|
||||
- name: Upload openvino tests package
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.BUILD_DIR }}/openvino_tests.zip
|
||||
if-no-files-found: 'error'
|
||||
|
||||
Samples:
|
||||
needs: Build
|
||||
timeout-minutes: 10
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
INSTALL_DIR: "${{ github.workspace }}\\install"
|
||||
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
|
||||
SAMPLES_INSTALL_DIR: "${{ github.workspace }}\\install\\samples"
|
||||
BUILD_DIR: "${{ github.workspace }}\\build"
|
||||
|
||||
steps:
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
Expand-Archive openvino_package.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
Expand-Archive openvino_tests.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Build cpp samples
|
||||
run: |
|
||||
& ${{ env.SAMPLES_INSTALL_DIR }}/cpp/build_samples_msvc.bat -i ${{ env.INSTALL_DIR }} -b ${{ env.BUILD_DIR }}/cpp_samples
|
||||
env:
|
||||
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
|
||||
|
||||
- name: Build c samples
|
||||
run: |
|
||||
& ${{ env.SAMPLES_INSTALL_DIR }}/c/build_samples_msvc.bat -i ${{ env.INSTALL_DIR }} -b ${{ env.BUILD_DIR }}/c_samples
|
||||
|
||||
- name: Samples tests
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install --ignore-installed PyYAML -r ${{ env.INSTALL_TEST_DIR }}/smoke_tests/requirements.txt
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/smoke_tests --env_conf ${{ env.INSTALL_TEST_DIR }}/smoke_tests/env_config.yml --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-SamplesSmokeTests.xml
|
||||
env:
|
||||
IE_APP_PATH: ${{ env.INSTALL_DIR }}/samples_bin
|
||||
IE_APP_PYTHON_PATH: ${{ env.INSTALL_DIR }}/samples/python
|
||||
SHARE: ${{ env.INSTALL_TEST_DIR }}/smoke_tests/samples_smoke_tests_data
|
||||
WORKSPACE: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: test-results-samples
|
||||
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
if-no-files-found: 'error'
|
||||
|
||||
Python_Unit_Tests:
|
||||
name: Python unit tests
|
||||
needs: Build
|
||||
timeout-minutes: 75
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
OPENVINO_REPO: "${{ github.workspace }}\\openvino"
|
||||
OPENVINO_CONTRIB_REPO: "${{ github.workspace }}\\openvino_contrib"
|
||||
INSTALL_DIR: "${{ github.workspace }}\\install"
|
||||
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
|
||||
LAYER_TESTS_INSTALL_DIR: "${{ github.workspace }}\\install\\tests\\layer_tests"
|
||||
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
|
||||
|
||||
steps:
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
Expand-Archive openvino_package.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
Expand-Archive openvino_tests.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install Python API tests dependencies
|
||||
run: |
|
||||
# For torchvision to OpenVINO preprocessing converter
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/openvino/preprocess/torchvision/requirements.txt
|
||||
|
||||
# TODO: replace with Python API tests requirements
|
||||
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
|
||||
|
||||
- name: Install OpenVINO Python wheels
|
||||
run: |
|
||||
# Find and install the core OV wheel
|
||||
$ovCoreWheelPath=Get-ChildItem -Path "${{ env.INSTALL_DIR }}\tools" -Filter openvino-*.whl | % { $_.FullName }
|
||||
python3 -m pip install "$ovCoreWheelPath"
|
||||
|
||||
# Find and install the dev OV wheel
|
||||
$ovDevWheelPath=Get-ChildItem -Path "${{ env.INSTALL_DIR }}\tools" -Filter openvino_dev*.whl | % { $_.FullName }
|
||||
python3 -m pip install "$ovDevWheelPath[mxnet,caffe,kaldi,onnx,tensorflow2,pytorch]"
|
||||
|
||||
- name: Python API 1.0 Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/pyngraph ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests_compatibility/test_onnx/test_zoo_models.py
|
||||
|
||||
- name: Python API 2.0 Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
set PYTHONPATH=${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
|
||||
python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/pyopenvino ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_utils/test_utils.py
|
||||
|
||||
- name: Model Optimizer UT
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/mo/unit_tests --ignore=${{ env.INSTALL_TEST_DIR }}/mo/unit_tests/mo/front/mxnet --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-ModelOptimizer.xml
|
||||
|
||||
# Ticket - 115085
|
||||
- name: PyTorch Layer Tests
|
||||
if: ${{ 'false' }}
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/pytorch_tests -m precommit --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-pytorch.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
|
||||
- name: ONNX Layer Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
:: requires 'unit_tests' from 'tools/mo'
|
||||
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/onnx_tests -m "not launch_only_if_manually_specified and precommit" --junitxml=${INSTALL_TEST_DIR}/TEST-onnx.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - TF FE
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
:: requires 'unit_tests' from 'tools/mo'
|
||||
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - TF FE
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
:: requires 'unit_tests' from 'tools/mo'
|
||||
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
|
||||
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
|
||||
- name: TensorFlow 1 Layer Tests - Legacy FE
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_Roll.xml
|
||||
|
||||
- name: TensorFlow 2 Layer Tests - Legacy FE
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/test_tf2_keras_activation.py --ir_version=11 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_Activation.xml -k "sigmoid"
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: TensorFlow Lite Layer Tests - TFL FE
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_lite_tests/ --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tfl_fe.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: Python ONNX operators tests
|
||||
shell: cmd
|
||||
run: |
|
||||
:: Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time - ONNX Model Zoo tests are run separately
|
||||
python3 -m pytest ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests -k "not cuda" ^
|
||||
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-onnx_frontend.xml ^
|
||||
--ignore=${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/test_python/test_zoo_models.py
|
||||
|
||||
- name: MO Python API Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
:: TODO: remove setupvars.bat from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/mo_python_api_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_mo_convert.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: OVC Python API Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
:: TODO: remove setupvars.sh from here; currently, it's used for 'test_utils' installed in '<package>/python/openvino'
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/ovc_python_api_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_ovc_convert.xml
|
||||
env:
|
||||
TEST_DEVICE: CPU
|
||||
TEST_PRECISION: FP16
|
||||
|
||||
- name: Python Frontend tests
|
||||
shell: cmd
|
||||
run: |
|
||||
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
|
||||
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/py_frontend_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_py_fontend.xml
|
||||
|
||||
# TODO: install to 'tests' component via cpack
|
||||
- name: OVC unit tests
|
||||
shell: cmd
|
||||
run: python3 -m pytest -s ${{ env.OPENVINO_REPO }}/tools/ovc/unit_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-OpenVinoConversion.xml
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: test-results-python
|
||||
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
if-no-files-found: 'error'
|
||||
|
||||
CXX_Unit_Tests:
|
||||
name: C++ unit tests
|
||||
needs: Build
|
||||
timeout-minutes: 15
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-2019
|
||||
env:
|
||||
INSTALL_DIR: "${{ github.workspace }}\\install"
|
||||
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
|
||||
|
||||
steps:
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
Expand-Archive openvino_package.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
Expand-Archive openvino_tests.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
|
||||
- name: OpenVINO Core unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-NGraphUT.xml
|
||||
|
||||
- name: OpenVINO Inference functional tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_inference_functional_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceFunc.xml
|
||||
|
||||
- name: OpenVINO Inference unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_inference_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceUnit.xml
|
||||
|
||||
- name: Low Precision Transformations Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_lp_transformations_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-LpTransformations.xml
|
||||
|
||||
- name: OpenVINO Conditional compilation tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_conditional_compilation_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ConditionalCompilation.xml
|
||||
|
||||
- name: IR frontend tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-IRFrontend.xml
|
||||
|
||||
- name: PaddlePaddle frontend tests # Disabled in Azure: https://github.com/openvinotoolkit/openvino/blob/master/.ci/azure/linux.yml#L403
|
||||
if: ${{ 'false' }}
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/paddle_tests --gtest_print_time=1 --gtest_filter=*smoke* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-PaddleTests.xml
|
||||
|
||||
- name: ONNX frontend tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml
|
||||
|
||||
- name: TensorFlow Common frontend tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_common_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowCommonFrontend.xml
|
||||
|
||||
- name: TensorFlow frontend tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowFrontend.xml
|
||||
|
||||
- name: TensorFlow Lite frontend tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowLiteFrontend.xml
|
||||
|
||||
- name: Transformations func tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_transformations_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-Transformations.xml
|
||||
|
||||
- name: Legacy Transformations func tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_legacy_transformations_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-LegacyTransformations.xml
|
||||
|
||||
- name: Inference Engine 1.0 unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/InferenceEngineUnitTests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceEngineUnitTests.xml
|
||||
|
||||
- name: Common test utils tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_util_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-commonUtilsTests.xml
|
||||
|
||||
- name: Snippets func tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_snippets_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-SnippetsFuncTests.xml
|
||||
|
||||
- name: CPU plugin unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_cpu_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CPUUnitTests.xml
|
||||
|
||||
- name: SubgraphsDumper tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/subgraphsDumperTests --gtest_print_time=1 --gtest_print_time=1 --device=TEMPLATE --gtest_filter="*OpImpl*" --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-SubgraphsDumperTests.xml
|
||||
|
||||
- name: Template OpImpl tests
|
||||
if: ${{ 'false' }} # Ticket: 123572
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/conformanceTests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TemplateOpImplTests.xml
|
||||
|
||||
- name: GNA plugin unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_gna_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-GNAUnitTests.xml
|
||||
|
||||
- name: AUTO unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_auto_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_unit_tests.xml
|
||||
|
||||
- name: AUTO func Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_auto_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_func_tests.xml
|
||||
|
||||
- name: Template plugin func tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_template_func_tests --gtest_print_time=1 --gtest_filter=*smoke* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TemplateFuncTests.xml
|
||||
|
||||
- name: Inference Engine C API tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/InferenceEngineCAPITests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceEngineCAPITests.xml
|
||||
|
||||
- name: OpenVINO C API tests
|
||||
if: ${{ 'false' }} # Ticket: 123594
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_capi_test --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OpenVINOCAPITests.xml
|
||||
|
||||
- name: AutoBatch unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_unit_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_unit_tests.xml
|
||||
|
||||
- name: AutoBatch func tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_func_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_func_tests.xml
|
||||
|
||||
- name: Proxy Plugin func tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVProxyTests.xml
|
||||
|
||||
- name: Hetero Unit Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_hetero_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroUnitTests.xml
|
||||
|
||||
- name: Hetero Func Tests
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroFuncTests.xml
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: test-results-cpp
|
||||
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
if-no-files-found: 'error'
|
||||
|
||||
CPU_Functional_Tests:
|
||||
name: CPU functional tests
|
||||
needs: Build
|
||||
timeout-minutes: 30
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-2019-8-core
|
||||
env:
|
||||
INSTALL_DIR: "${{ github.workspace }}\\install"
|
||||
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
|
||||
PARALLEL_TEST_SCRIPT: "${{ github.workspace }}\\install\\tests\\functional_test_utils\\layer_tests_summary\\run_parallel.py"
|
||||
PARALLEL_TEST_CACHE: "${{ github.workspace }}\\install\\tests\\test_cache.lst"
|
||||
|
||||
steps:
|
||||
- name: Download OpenVINO package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_package
|
||||
path: ${{ env.INSTALL_DIR }}
|
||||
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO packages
|
||||
run: |
|
||||
pushd ${{ env.INSTALL_DIR }}
|
||||
Expand-Archive openvino_package.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
pushd ${{ env.INSTALL_TEST_DIR }}
|
||||
Expand-Archive openvino_tests.zip -DestinationPath "${{ env.INSTALL_DIR }}"
|
||||
popd
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install python dependencies
|
||||
shell: cmd
|
||||
run: python3 -m pip install -r ${{ github.workspace }}\install\tests\functional_test_utils\layer_tests_summary\requirements.txt
|
||||
|
||||
- name: Restore tests execution time
|
||||
uses: actions/cache/restore@v3
|
||||
with:
|
||||
path: ${{ env.PARALLEL_TEST_CACHE }}
|
||||
key: ${{ runner.os }}-tests-functional-cpu-stamp-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-tests-functional-cpu-stamp
|
||||
|
||||
- name: Intel CPU plugin func tests (parallel)
|
||||
shell: cmd
|
||||
run: |
|
||||
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 ${{ env.PARALLEL_TEST_SCRIPT }} -e ${{ env.INSTALL_TEST_DIR }}\ov_cpu_func_tests.exe -c ${{ env.PARALLEL_TEST_CACHE }} -w ${{ env.INSTALL_TEST_DIR }} -s suite -- --gtest_filter=*smoke*"
|
||||
timeout-minutes: 25
|
||||
|
||||
- name: Save tests execution time
|
||||
uses: actions/cache/save@v3
|
||||
if: github.ref_name == 'master'
|
||||
with:
|
||||
path: ${{ env.PARALLEL_TEST_CACHE }}
|
||||
key: ${{ runner.os }}-tests-functional-cpu-stamp-${{ github.sha }}
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: test-results-functional-cpu
|
||||
path: |
|
||||
${{ env.INSTALL_TEST_DIR }}/temp/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/failed/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/crashed/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/hanged/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/interapted/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/hash_table.csv
|
||||
${{ env.PARALLEL_TEST_CACHE }}
|
||||
if-no-files-found: 'error'
|
||||
@@ -1,323 +0,0 @@
|
||||
name: Windows Conditional Compilation (VS 2022, Python 3.11)
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
# run daily at 00:00
|
||||
- cron: '0 0 * * *'
|
||||
# pull_request:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# push:
|
||||
# paths-ignore:
|
||||
# - '**/docs/**'
|
||||
# - 'docs/**'
|
||||
# - '**/**.md'
|
||||
# - '**.md'
|
||||
# - '**/layer_tests_summary/**'
|
||||
# - '**/conformance/**'
|
||||
# branches:
|
||||
# - master
|
||||
|
||||
concurrency:
|
||||
# github.ref is not unique in post-commit
|
||||
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-windows-cc
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
PYTHON_VERSION: '3.11'
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
timeout-minutes: 180
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-latest-8-cores
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_GENERATOR: 'Ninja Multi-Config'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
OPENVINO_REPO: "${{ github.workspace }}\\openvino"
|
||||
INSTALL_DIR: "${{ github.workspace }}\\openvino_install"
|
||||
INSTALL_TEST_DIR: "${{ github.workspace }}\\tests_install"
|
||||
BUILD_DIR: "${{ github.workspace }}\\openvino_build"
|
||||
MODELS_PATH: "${{ github.workspace }}\\testdata"
|
||||
SELECTIVE_BUILD_STAT_DIR: "${{ github.workspace }}\\selective_build_stat"
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
submodules: 'true'
|
||||
|
||||
- name: Clone test models
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'openvinotoolkit/testdata'
|
||||
path: 'testdata'
|
||||
lfs: 'true'
|
||||
ref: 'releases/2023/2'
|
||||
|
||||
#
|
||||
# Print system info
|
||||
#
|
||||
|
||||
- name: System info
|
||||
uses: ./openvino/.github/actions/system_info
|
||||
|
||||
#
|
||||
# Dependencies
|
||||
#
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install build dependencies
|
||||
run: choco install --no-progress ninja
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
- name: Configure Developer Command Prompt for Microsoft Visual C++
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
|
||||
- name: Setup sccache
|
||||
uses: hendrikmuhs/ccache-action@v1.2
|
||||
with:
|
||||
variant: sccache
|
||||
max-size: "2000M"
|
||||
# Should save cache only if run in the master branch of the base repo
|
||||
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
|
||||
save: ${{ github.ref_name == 'master' && 'true' || 'false' }}
|
||||
key: ${{ github.job }}-${{ runner.os }}-itt
|
||||
restore-keys: |
|
||||
${{ github.job }}-${{ runner.os }}-itt
|
||||
|
||||
- name: CMake configure - CC COLLECT
|
||||
run: |
|
||||
cmake -G "${{ env.CMAKE_GENERATOR }}" `
|
||||
-DBUILD_SHARED_LIBS=OFF `
|
||||
-DENABLE_TESTS=ON `
|
||||
-DENABLE_CPPLINT=OFF `
|
||||
-DENABLE_NCC_STYLE=OFF `
|
||||
-DENABLE_INTEL_GNA=OFF `
|
||||
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON `
|
||||
-DENABLE_PROFILING_ITT=ON `
|
||||
-DSELECTIVE_BUILD=COLLECT `
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON `
|
||||
-S ${{ env.OPENVINO_REPO }} `
|
||||
-B ${{ env.BUILD_DIR }}
|
||||
|
||||
- name: Cmake build - CC COLLECT
|
||||
run: |
|
||||
cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
|
||||
cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target sea_itt_lib
|
||||
|
||||
- name: Cmake install - OpenVINO
|
||||
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
|
||||
|
||||
- name: Build C++ samples - OpenVINO build tree
|
||||
run: |
|
||||
cmake -G "${{ env.CMAKE_GENERATOR }}" -DOpenVINO_DIR=${{ env.BUILD_DIR }} -S ${{ env.INSTALL_DIR }}/samples/cpp -B ${{ env.BUILD_DIR }}/cpp_samples
|
||||
cmake --build ${{ env.BUILD_DIR }}/cpp_samples --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target hello_query_device
|
||||
|
||||
- name: Build C samples - OpenVINO install tree
|
||||
run: |
|
||||
& ${{ env.INSTALL_DIR }}/samples/c/build_samples_msvc.bat -i ${{ env.INSTALL_DIR }} -b ${{ env.BUILD_DIR }}/c_samples
|
||||
|
||||
- name: Ctest - OpenVINO unit tests
|
||||
shell: cmd
|
||||
run: |
|
||||
set path=%path%;${{ env.OPENVINO_REPO }}\temp\tbb\bin
|
||||
ctest -C ${{ env.CMAKE_BUILD_TYPE }} --test-dir ${{ env.BUILD_DIR }} -V -L UNIT
|
||||
|
||||
- name: Perform code tracing via ITT collector
|
||||
shell: cmd
|
||||
run: |
|
||||
set path=%path%;${{ env.OPENVINO_REPO }}\temp\tbb\bin
|
||||
|
||||
python3 ${{ env.OPENVINO_REPO }}\thirdparty\itt_collector\runtool\sea_runtool.py ^
|
||||
--bindir ${{ env.OPENVINO_REPO }}\bin\intel64\${{ env.CMAKE_BUILD_TYPE }} ^
|
||||
-o ${{ env.SELECTIVE_BUILD_STAT_DIR }}\itt_stat ! ${{ env.OPENVINO_REPO }}\bin\intel64\${{ env.CMAKE_BUILD_TYPE }}\benchmark_app.exe ^
|
||||
-niter 1 ^
|
||||
-nireq 1 ^
|
||||
-m ${{ env.MODELS_PATH }}\models\test_model\test_model_fp32.xml ^
|
||||
-d CPU
|
||||
|
||||
- name: List bin files
|
||||
shell: cmd
|
||||
run: dir ${{ env.OPENVINO_REPO }}\bin\ /s
|
||||
|
||||
- name: List install files
|
||||
shell: cmd
|
||||
run: dir ${{ env.INSTALL_DIR }} /s
|
||||
|
||||
- name: Pack Artifacts
|
||||
run: |
|
||||
$file=Get-ChildItem -Path "${{ env.SELECTIVE_BUILD_STAT_DIR }}"
|
||||
$compress = @{
|
||||
Path = $file
|
||||
CompressionLevel = "Optimal"
|
||||
DestinationPath = "${{ env.BUILD_DIR }}/openvino_selective_build_stat.zip"
|
||||
}
|
||||
Compress-Archive @compress
|
||||
|
||||
$compress = @{
|
||||
Path = "${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}/ov_cpu_func_tests.exe", "${{ env.OPENVINO_REPO }}/src/tests/test_utils/functional_test_utils/layer_tests_summary", "${{ env.INSTALL_DIR }}/runtime/3rdparty/tbb"
|
||||
CompressionLevel = "Optimal"
|
||||
DestinationPath = "${{ env.BUILD_DIR }}/openvino_tests.zip"
|
||||
}
|
||||
Compress-Archive @compress
|
||||
|
||||
- name: Upload selective build statistics package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_selective_build_stat
|
||||
path: ${{ env.BUILD_DIR }}/openvino_selective_build_stat.zip
|
||||
if-no-files-found: 'error'
|
||||
|
||||
- name: Upload OpenVINO tests package
|
||||
if: ${{ always() }}
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.BUILD_DIR }}/openvino_tests.zip
|
||||
if-no-files-found: 'error'
|
||||
|
||||
CC_Build:
|
||||
name: Conditional Compilation
|
||||
needs: Build
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-latest-8-cores
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: 'Release'
|
||||
CMAKE_CXX_COMPILER_LAUNCHER: sccache
|
||||
CMAKE_C_COMPILER_LAUNCHER: sccache
|
||||
OPENVINO_REPO: "${{ github.workspace }}\\openvino"
|
||||
BUILD_DIR: "${{ github.workspace }}\\openvino_build"
|
||||
MODELS_PATH: "${{ github.workspace }}\\testdata"
|
||||
SELECTIVE_BUILD_STAT_DIR: "${{ github.workspace }}\\selective_build_stat"
|
||||
steps:
|
||||
- name: Clone OpenVINO
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: 'openvino'
|
||||
submodules: 'true'
|
||||
|
||||
- name: Clone test models
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: 'openvinotoolkit/testdata'
|
||||
path: 'testdata'
|
||||
lfs: 'true'
|
||||
ref: 'releases/2023/2'
|
||||
|
||||
- name: Download selective build statistics package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_selective_build_stat
|
||||
path: ${{ env.SELECTIVE_BUILD_STAT_DIR }}
|
||||
|
||||
- name: Extract selective build statistics package
|
||||
run: Expand-Archive ${{ env.SELECTIVE_BUILD_STAT_DIR }}/openvino_selective_build_stat.zip -DestinationPath "${{ env.SELECTIVE_BUILD_STAT_DIR }}"
|
||||
|
||||
- name: CMake configure - CC ON
|
||||
run: |
|
||||
cmake `
|
||||
-DBUILD_SHARED_LIBS=OFF `
|
||||
-DENABLE_CPPLINT=OFF `
|
||||
-DSELECTIVE_BUILD=ON `
|
||||
-DENABLE_TEMPLATE=OFF `
|
||||
-DENABLE_INTEL_GPU=OFF `
|
||||
-DENABLE_INTEL_GNA=OFF `
|
||||
-DENABLE_OV_TF_FRONTEND=OFF `
|
||||
-DENABLE_OV_TF_LITE_FRONTEND=OFF `
|
||||
-DENABLE_OV_PADDLE_FRONTEND=OFF `
|
||||
-DENABLE_OV_PYTORCH_FRONTEND=OFF `
|
||||
-DENABLE_OV_ONNX_FRONTEND=OFF `
|
||||
-DSELECTIVE_BUILD_STAT=${{ env.SELECTIVE_BUILD_STAT_DIR }}\*.csv `
|
||||
-S ${{ env.OPENVINO_REPO }} `
|
||||
-B ${{ env.BUILD_DIR }}
|
||||
|
||||
- name: Cmake build - CC ON
|
||||
run: cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target benchmark_app
|
||||
|
||||
- name: List bin files
|
||||
shell: cmd
|
||||
run: dir ${{ env.OPENVINO_REPO }}\bin\ /s
|
||||
|
||||
- name: Run with CC-ed runtime
|
||||
shell: cmd
|
||||
run: |
|
||||
set path=%path%;${{ env.OPENVINO_REPO }}\temp\tbb\bin
|
||||
${{ env.OPENVINO_REPO }}\bin\intel64\${{ env.CMAKE_BUILD_TYPE }}\benchmark_app.exe -niter 1 -nireq 1 -m ${{ env.MODELS_PATH }}\models\test_model\test_model_fp32.xml -d CPU
|
||||
|
||||
CPU_Functional_Tests:
|
||||
name: CPU functional tests
|
||||
needs: Build
|
||||
defaults:
|
||||
run:
|
||||
shell: pwsh
|
||||
runs-on: windows-latest-8-cores
|
||||
env:
|
||||
INSTALL_TEST_DIR: "${{ github.workspace }}\\tests_install"
|
||||
PARALLEL_TEST_SCRIPT: "${{ github.workspace }}\\tests_install\\layer_tests_summary\\run_parallel.py"
|
||||
PARALLEL_TEST_CACHE: "${{ github.workspace }}\\tests_install\\test_cache.lst"
|
||||
|
||||
steps:
|
||||
- name: Download OpenVINO tests package
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: openvino_tests
|
||||
path: ${{ env.INSTALL_TEST_DIR }}
|
||||
|
||||
- name: Extract OpenVINO tests package
|
||||
run: Expand-Archive ${{ env.INSTALL_TEST_DIR }}/openvino_tests.zip -DestinationPath "${{ env.INSTALL_TEST_DIR }}"
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: ${{ env.PYTHON_VERSION }}
|
||||
|
||||
- name: Install python dependencies for run_parallel.py
|
||||
run: python3 -m pip install -r ${{ env.INSTALL_TEST_DIR }}/layer_tests_summary/requirements.txt
|
||||
|
||||
# Windows pipeline is in nightly mode, uncomment once there is a consistent cache creation
|
||||
# - name: Restore tests execution time
|
||||
# uses: actions/cache/restore@v3
|
||||
# with:
|
||||
# path: ${{ env.PARALLEL_TEST_CACHE }}
|
||||
# key: ${{ runner.os }}-tests-functional-cpu-stamp-${{ github.sha }}
|
||||
# restore-keys: |
|
||||
# ${{ runner.os }}-tests-functional-cpu-stamp
|
||||
|
||||
- name: Intel CPU plugin func tests (parallel)
|
||||
shell: cmd
|
||||
run: |
|
||||
set path=%path%;${{ env.INSTALL_TEST_DIR }}\tbb\bin;${{ env.INSTALL_TEST_DIR }}\tbb
|
||||
python3 ${{ env.PARALLEL_TEST_SCRIPT }} -e ${{ env.INSTALL_TEST_DIR }}\ov_cpu_func_tests.exe -w ${{ env.INSTALL_TEST_DIR }} -s suite -rf 0 -- --gtest_print_time=1 --gtest_filter=*smoke*
|
||||
timeout-minutes: 45
|
||||
|
||||
- name: Upload Test Results
|
||||
uses: actions/upload-artifact@v3
|
||||
if: ${{ !cancelled() }}
|
||||
with:
|
||||
name: test-results-functional-cpu
|
||||
path: |
|
||||
${{ env.INSTALL_TEST_DIR }}/TEST*.xml
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/failed/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/crashed/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/hanged/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/interapted/*.log
|
||||
${{ env.INSTALL_TEST_DIR }}/logs/disabled_tests.log
|
||||
if-no-files-found: 'error'
|
||||
@@ -13,7 +13,6 @@ cmake-build*
|
||||
*.idea
|
||||
.vscode
|
||||
.vs/
|
||||
.vsconan/
|
||||
.DS_Store
|
||||
**/tags
|
||||
compile_commands.json
|
||||
@@ -27,7 +26,6 @@ temp/
|
||||
.repo/
|
||||
CMakeLists.txt.user
|
||||
docs/IE_PLUGIN_DG/html/
|
||||
CMakeUserPresets.json
|
||||
|
||||
*.project
|
||||
*.cproject
|
||||
@@ -59,5 +57,3 @@ __pycache__
|
||||
/tools/mo/*.mapping
|
||||
/tools/mo/*.dat
|
||||
/tools/mo/*.svg
|
||||
/src/plugins/intel_cpu/tools/commit_slider/*.json
|
||||
/src/plugins/intel_cpu/tools/commit_slider/slider_cache/*
|
||||
|
||||
-12
@@ -63,15 +63,3 @@
|
||||
path = thirdparty/json/nlohmann_json
|
||||
url = https://github.com/nlohmann/json.git
|
||||
shallow = true
|
||||
[submodule "thirdparty/flatbuffers/flatbuffers"]
|
||||
path = thirdparty/flatbuffers/flatbuffers
|
||||
url = https://github.com/google/flatbuffers.git
|
||||
[submodule "thirdparty/snappy"]
|
||||
path = thirdparty/snappy
|
||||
url = https://github.com/google/snappy.git
|
||||
[submodule "ARMComputeLibrary"]
|
||||
path = src/plugins/intel_cpu/thirdparty/ComputeLibrary
|
||||
url = https://github.com/ARM-software/ComputeLibrary.git
|
||||
[submodule "src/plugins/intel_cpu/thirdparty/mlas"]
|
||||
path = src/plugins/intel_cpu/thirdparty/mlas
|
||||
url = https://github.com/openvinotoolkit/mlas.git
|
||||
|
||||
+62
-96
@@ -3,38 +3,32 @@
|
||||
#
|
||||
|
||||
if(DEFINED BUILD_SHARED_LIBS AND NOT BUILD_SHARED_LIBS)
|
||||
# 3.17: 'target_link_libraries' does not work correctly when called from
|
||||
# 'target_link_libraries' does not work correctly when called from
|
||||
# different directory where 'add_library' is called: CMake generates
|
||||
# incorrect OpenVINOConfig.cmake in this case
|
||||
# 3.18: add_library cannot create ALIAS for non-GLOBAL targets
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
cmake_minimum_required(VERSION 3.17)
|
||||
else()
|
||||
if(CPACK_GENERATOR STREQUAL "DEB")
|
||||
# we have to use CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS variable
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
else()
|
||||
if(WIN32)
|
||||
# 3.16: FindPython3.cmake can find Python via -DPython3_EXECUTABLE
|
||||
# 3.18: FindPython3.cmake can find Python automatically from virtualenv
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
else()
|
||||
# 3.13: default choice
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
endif()
|
||||
# default choice
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(POLICY CMP0091)
|
||||
cmake_policy(SET CMP0091 NEW) # Enables use of MSVC_RUNTIME_LIBRARY
|
||||
endif()
|
||||
|
||||
project(OpenVINO DESCRIPTION "OpenVINO toolkit")
|
||||
|
||||
find_package(OpenVINODeveloperScripts REQUIRED
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type" FORCE)
|
||||
endif()
|
||||
|
||||
find_package(IEDevScripts REQUIRED
|
||||
PATHS "${OpenVINO_SOURCE_DIR}/cmake/developer_package"
|
||||
NO_CMAKE_FIND_ROOT_PATH
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
include(CTest)
|
||||
include(cmake/features.cmake)
|
||||
|
||||
# These options are shared with 3rdparty plugins by means of developer package
|
||||
@@ -45,117 +39,89 @@ if(ENABLE_COVERAGE)
|
||||
endif()
|
||||
|
||||
# resolving dependencies for the project
|
||||
message (STATUS "PROJECT ............................... " ${PROJECT_NAME})
|
||||
message (STATUS "CMAKE_VERSION ......................... " ${CMAKE_VERSION})
|
||||
message (STATUS "CMAKE_BINARY_DIR ...................... " ${CMAKE_BINARY_DIR})
|
||||
message (STATUS "CMAKE_SOURCE_DIR ...................... " ${CMAKE_SOURCE_DIR})
|
||||
message (STATUS "OpenVINO_SOURCE_DIR ................... " ${OpenVINO_SOURCE_DIR})
|
||||
message (STATUS "OpenVINO_BINARY_DIR ................... " ${OpenVINO_BINARY_DIR})
|
||||
message (STATUS "CMAKE_GENERATOR ....................... " ${CMAKE_GENERATOR})
|
||||
message (STATUS "CPACK_GENERATOR ....................... " ${CPACK_GENERATOR})
|
||||
message (STATUS "CMAKE_C_COMPILER_ID ................... " ${CMAKE_C_COMPILER_ID})
|
||||
message (STATUS "CMAKE_CXX_COMPILER_ID ................. " ${CMAKE_CXX_COMPILER_ID})
|
||||
message (STATUS "CMAKE_CXX_STANDARD .................... " ${CMAKE_CXX_STANDARD})
|
||||
if(OV_GENERATOR_MULTI_CONFIG)
|
||||
string(REPLACE ";" " " config_types "${CMAKE_CONFIGURATION_TYPES}")
|
||||
message (STATUS "CMAKE_CONFIGURATION_TYPES ............. " ${config_types})
|
||||
unset(config_types)
|
||||
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||
message (STATUS "CMAKE_DEFAULT_BUILD_TYPE .............. " ${CMAKE_DEFAULT_BUILD_TYPE})
|
||||
endif()
|
||||
else()
|
||||
message (STATUS "CMAKE_BUILD_TYPE ...................... " ${CMAKE_BUILD_TYPE})
|
||||
endif()
|
||||
if(CMAKE_GENERATOR_PLATFORM)
|
||||
message (STATUS "CMAKE_GENERATOR_PLATFORM .............. " ${CMAKE_GENERATOR_PLATFORM})
|
||||
endif()
|
||||
if(CMAKE_GENERATOR_TOOLSET)
|
||||
message (STATUS "CMAKE_GENERATOR_TOOLSET ............... " ${CMAKE_GENERATOR_TOOLSET})
|
||||
endif()
|
||||
if(CMAKE_TOOLCHAIN_FILE)
|
||||
message (STATUS "CMAKE_TOOLCHAIN_FILE .................. " ${CMAKE_TOOLCHAIN_FILE})
|
||||
endif()
|
||||
if(NOT OV_GLIBC_VERSION VERSION_EQUAL 0.0)
|
||||
message (STATUS "GLIBC_VERSION ......................... " ${OV_GLIBC_VERSION})
|
||||
endif()
|
||||
message (STATUS "CMAKE_BUILD_TYPE ...................... " ${CMAKE_BUILD_TYPE})
|
||||
message (STATUS "CMAKE_TOOLCHAIN_FILE .................. " ${CMAKE_TOOLCHAIN_FILE})
|
||||
message (STATUS "GLIBC_VERSION....... .................. " ${OV_GLIBC_VERSION})
|
||||
|
||||
# remove file with exported targets to force its regeneration
|
||||
|
||||
# remove file with exported developer targets to force its regeneration
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/ngraphTargets.cmake")
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/InferenceEngineTargets.cmake")
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/OpenVINOTargets.cmake")
|
||||
|
||||
# remove exported developer targets files to force its regeneration
|
||||
macro(ov_clean_developer_package_targets)
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/inference_engine_developer_package_targets.cmake")
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/openvino_developer_package_targets.cmake")
|
||||
unset(_OPENVINO_DEVELOPER_PACKAGE_TARGETS CACHE)
|
||||
unset(openvino_installed_targets CACHE)
|
||||
endmacro()
|
||||
ov_clean_developer_package_targets()
|
||||
|
||||
function(ov_developer_package_export_targets)
|
||||
cmake_parse_arguments(EXPORT "" "TARGET;INSTALL_DESTIONATION" "INSTALL_INCLUDE_DIRECTORIES" ${ARGN})
|
||||
|
||||
# to allow exporting of aliased targets with the original names
|
||||
if(TARGET "${EXPORT_TARGET}")
|
||||
get_target_property(original_name ${EXPORT_TARGET} ALIASED_TARGET)
|
||||
if(TARGET "${original_name}")
|
||||
# replace target with its original name
|
||||
set(EXPORT_TARGET ${original_name})
|
||||
endif()
|
||||
list(APPEND _OPENVINO_DEVELOPER_PACKAGE_TARGETS ${EXPORT_TARGET})
|
||||
|
||||
if(EXPORT_INSTALL_INCLUDE_DIRECTORIES)
|
||||
if(NOT EXPORT_INSTALL_DESTIONATION)
|
||||
set(EXPORT_INSTALL_DESTIONATION "developer_package/include/${EXPORT_TARGET}")
|
||||
endif()
|
||||
|
||||
target_include_directories(${EXPORT_TARGET} INTERFACE "$<INSTALL_INTERFACE:${EXPORT_INSTALL_DESTIONATION}>")
|
||||
|
||||
foreach(install_dir IN LISTS EXPORT_INSTALL_INCLUDE_DIRECTORIES)
|
||||
install(DIRECTORY "${install_dir}"
|
||||
DESTINATION "${EXPORT_INSTALL_DESTIONATION}"
|
||||
COMPONENT developer_package EXCLUDE_FROM_ALL)
|
||||
endforeach()
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "Internal error: ${target_name} does not represent a cmake target")
|
||||
endif()
|
||||
|
||||
list(REMOVE_DUPLICATES _OPENVINO_DEVELOPER_PACKAGE_TARGETS)
|
||||
set(_OPENVINO_DEVELOPER_PACKAGE_TARGETS "${_OPENVINO_DEVELOPER_PACKAGE_TARGETS}" CACHE INTERNAL
|
||||
"A list of OpenVINO Developer Package exported targets" FORCE)
|
||||
endfunction()
|
||||
foreach(component IN LISTS openvino_export_components)
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake")
|
||||
file(REMOVE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake")
|
||||
unset(${component} CACHE)
|
||||
endforeach()
|
||||
unset(openvino_export_components CACHE)
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
# add target with processed tests model zoo
|
||||
function(openvino_developer_export_targets)
|
||||
cmake_parse_arguments(EXPORT "" "COMPONENT" "TARGETS" ${ARGN})
|
||||
|
||||
if(EXPORT_UNPARSED_ARGUMENTS)
|
||||
message(FATAL_ERROR "openvino_developer_export_targets has unparsed arguments: ${EXPORT_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
|
||||
set(${EXPORT_COMPONENT} "${${EXPORT_COMPONENT}};${EXPORT_TARGETS}")
|
||||
|
||||
# to allow exporting of aliased targets with the original names
|
||||
foreach(target_name IN LISTS ${EXPORT_COMPONENT})
|
||||
if(TARGET "${target_name}")
|
||||
get_target_property(original_name ${target_name} ALIASED_TARGET)
|
||||
if(TARGET "${original_name}")
|
||||
message(STATUS "The name ${target_name} is an ALIAS for ${original_name}. "
|
||||
"It will be exported to the OpenVINODeveloperPackage with the original name.")
|
||||
list(REMOVE_ITEM ${EXPORT_COMPONENT} ${target_name})
|
||||
list(APPEND ${EXPORT_COMPONENT} ${original_name})
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
list(REMOVE_DUPLICATES ${EXPORT_COMPONENT})
|
||||
set(${EXPORT_COMPONENT} "${${EXPORT_COMPONENT}}" CACHE INTERNAL
|
||||
"A list of OpenVINO ${EXPORT_COMPONENT} exported targets" FORCE)
|
||||
|
||||
list(APPEND openvino_export_components ${EXPORT_COMPONENT})
|
||||
list(REMOVE_DUPLICATES openvino_export_components)
|
||||
set(openvino_export_components "${openvino_export_components}" CACHE INTERNAL
|
||||
"A list of OpenVINO exported components" FORCE)
|
||||
endfunction()
|
||||
|
||||
# add target with processed tests model zoo
|
||||
if (ENABLE_TESTS)
|
||||
include(cmake/test_model_zoo.cmake)
|
||||
endif()
|
||||
|
||||
include(thirdparty/dependencies.cmake)
|
||||
add_subdirectory(thirdparty)
|
||||
add_subdirectory(src)
|
||||
|
||||
if(ENABLE_SAMPLES OR ENABLE_TESTS)
|
||||
if(ENABLE_SAMPLES OR ENABLE_TESTS OR ENABLE_COMPILE_TOOL)
|
||||
add_subdirectory(samples)
|
||||
endif()
|
||||
|
||||
# Enable interpreter backend for tests
|
||||
if(ENABLE_TESTS OR ENABLE_TEMPLATE)
|
||||
if (ENABLE_TESTS OR ENABLE_TEMPLATE)
|
||||
add_subdirectory(src/plugins/template/backend)
|
||||
endif()
|
||||
|
||||
include(cmake/extra_modules.cmake)
|
||||
add_subdirectory(docs)
|
||||
add_subdirectory(tools)
|
||||
add_subdirectory(scripts)
|
||||
add_subdirectory(licensing)
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
# layers and other more high-level / e2e tests
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
#
|
||||
# CPack
|
||||
#
|
||||
@@ -163,4 +129,4 @@ endif()
|
||||
# provides a callback function to describe each component in repo
|
||||
include(cmake/packaging/packaging.cmake)
|
||||
|
||||
ov_cpack(${OV_CPACK_COMPONENTS_ALL})
|
||||
ie_cpack(${IE_CPACK_COMPONENTS_ALL})
|
||||
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
# See help here: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
|
||||
|
||||
* @openvinotoolkit/openvino-maintainers
|
||||
|
||||
CODEOWNERS @openvinotoolkit/openvino-admins @openvinotoolkit/openvino-maintainers
|
||||
|
||||
# CI:
|
||||
Jenkinsfile @openvinotoolkit/openvino-admins
|
||||
/.github/ @openvinotoolkit/openvino-admins
|
||||
/.ci/ @openvinotoolkit/openvino-admins
|
||||
|
||||
# OpenVINO Samples:
|
||||
/samples/ @openvinotoolkit/openvino-samples-maintainers
|
||||
|
||||
# OpenVINO Scripts:
|
||||
/scripts/ @openvinotoolkit/openvino-scripts-maintainers
|
||||
|
||||
# QA Tests:
|
||||
/tests/ @openvinotoolkit/openvino-tests-maintainers
|
||||
/tests/layer_tests @openvinotoolkit/openvino-tests-maintainers @openvinotoolkit/openvino-mo-maintainers
|
||||
|
||||
# Tools:
|
||||
/tools/ @openvinotoolkit/openvino-tools-maintainers
|
||||
|
||||
# Model Optimizer:
|
||||
/tools/mo/ @openvinotoolkit/openvino-mo-maintainers
|
||||
|
||||
# POT:
|
||||
/tools/pot/ @openvinotoolkit/openvino-pot-maintainers
|
||||
|
||||
# OpenVINO Core:
|
||||
/src/inference/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/cmake/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/cmake/ @openvinotoolkit/openvino-ie-maintainers
|
||||
CMakeLists.txt @openvinotoolkit/openvino-ie-maintainers
|
||||
*cmake @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/cc/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/itt/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/legacy/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/preprocessing/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/src/common/util/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/thirdparty/ @openvinotoolkit/openvino-ie-maintainers
|
||||
/scripts/ @openvinotoolkit/openvino-ie-maintainers
|
||||
|
||||
/src/bindings/python/ @openvinotoolkit/openvino-ie-python-api-maintainers
|
||||
/src/bindings/c/ @openvinotoolkit/openvino-c-api-maintainers
|
||||
/src/common/*transformations/ @openvinotoolkit/openvino-ie-transformations-maintainers
|
||||
/src/core/ @openvinotoolkit/openvino-ngraph-maintainers
|
||||
|
||||
|
||||
# OpenVINO CPU:
|
||||
/src/plugins/intel_cpu/ @openvinotoolkit/openvino-ie-cpu-maintainers @openvinotoolkit/openvino-ie-cpu-developers
|
||||
/src/common/snippets/ @openvinotoolkit/openvino-ie-cpu-maintainers
|
||||
/src/tests/**cpu** @openvinotoolkit/openvino-ie-cpu-maintainers
|
||||
|
||||
# OpenVINO LPT
|
||||
/src/common/low_precision_transformations/ @openvinotoolkit/openvino-ie-lpt-maintainers
|
||||
|
||||
# OpenVINO GPU:
|
||||
/src/plugins/intel_gpu/ @openvinotoolkit/openvino-ie-gpu-maintainers @openvinotoolkit/openvino-ie-gpu-developers
|
||||
/src/tests/**gpu** @openvinotoolkit/openvino-ie-gpu-maintainers
|
||||
/src/inference/include/ie/gpu/ @openvinotoolkit/openvino-ie-gpu-maintainers @openvinotoolkit/openvino-ie-gpu-developers
|
||||
/src/inference/include/ie/cldnn/ @openvinotoolkit/openvino-ie-gpu-maintainers @openvinotoolkit/openvino-ie-gpu-developers
|
||||
|
||||
# OpenVINO VPU:
|
||||
/src/plugins/intel_myriad @openvinotoolkit/openvino-ie-vpu-maintainers
|
||||
/src/tests/**myriad** @openvinotoolkit/openvino-ie-vpu-maintainers
|
||||
/src/inference/include/ie/vpu/ @openvinotoolkit/openvino-ie-vpu-maintainers
|
||||
|
||||
# OpenVINO GNA:
|
||||
/src/plugins/intel_gna/ @openvinotoolkit/openvino-ie-gna-maintainers
|
||||
/src/tests/**gna** @openvinotoolkit/openvino-ie-gna-maintainers
|
||||
|
||||
# OpenVINO ARM CPU:
|
||||
/docs/OV_Runtime_UG/supported_plugins/ARM_CPU.md @openvinotoolkit/openvino_contrib-arm_plugin-maintainers
|
||||
|
||||
# OpenVINO Auto (MULTI) plugin:
|
||||
/src/plugins/auto/ @openvinotoolkit/openvino-ie-auto-multi-maintainers
|
||||
|
||||
# OpenVINO Auto (Batch) plugin:
|
||||
/src/plugins/auto_batch/ @openvinotoolkit/openvino-auto-batch-maintainers
|
||||
|
||||
# OpenVINO Hetero plugin:
|
||||
/src/plugins/hetero/ @openvinotoolkit/openvino-hetero-maintainers
|
||||
|
||||
|
||||
# OpenVINO Frontends:
|
||||
/src/frontends/common/ @openvinotoolkit/openvino-common-frontend-maintainers
|
||||
/src/frontends/ir/ @openvinotoolkit/openvino-ir-frontend-maintainers
|
||||
/src/frontends/onnx/ @openvinotoolkit/openvino-onnx-frontend-maintainers
|
||||
/src/frontends/tests/onnx/ @openvinotoolkit/openvino-onnx-frontend-maintainers
|
||||
/src/frontends/paddle/ @openvinotoolkit/openvino-ie-paddle-maintainers
|
||||
/src/frontends/tensorflow/ @openvinotoolkit/openvino-tf-frontend-maintainers
|
||||
|
||||
# OpenVINO Tests:
|
||||
/src/tests/ @openvinotoolkit/openvino-ie-tests-maintainers @openvinotoolkit/openvino-ie-test-developers
|
||||
/src/tests_deprecated/ @openvinotoolkit/openvino-ie-tests-maintainers @openvinotoolkit/openvino-ie-test-developers
|
||||
/src/frontends/tests/frontend/shared/ @openvinotoolkit/openvino-ie-tests-maintainers
|
||||
|
||||
# Documentation:
|
||||
/docs/ @openvinotoolkit/openvino-docs-maintainers
|
||||
/docs/MO_DG @openvinotoolkit/openvino-mo-maintainers @openvinotoolkit/openvino-docs-maintainers
|
||||
*.md @openvinotoolkit/openvino-docs-maintainers
|
||||
README @openvinotoolkit/openvino-docs-maintainers
|
||||
/src/plugins/template/ @openvinotoolkit/openvino-ie-template-maintainers
|
||||
|
||||
# Control 3d party dependencies
|
||||
**/*requirements*.* @openvinotoolkit/openvino-configuration-mgmt
|
||||
**/setup.py @openvinotoolkit/openvino-configuration-mgmt
|
||||
/scripts/install_dependencies/ @openvinotoolkit/openvino-configuration-mgmt
|
||||
+44
-77
@@ -1,88 +1,55 @@
|
||||
# Contributing to OpenVINO
|
||||
# How to contribute to the OpenVINO repository
|
||||
|
||||
## How to contribute to the OpenVINO project
|
||||
|
||||
OpenVINO™ is always looking for opportunities to improve and your contributions
|
||||
play a big role in this process. There are several ways you can make the
|
||||
product better:
|
||||
We welcome community contributions to OpenVINO™. Please read the following guide to learn how to find ideas for contribution, practices for good pull requests, checking your changes with our tests and more.
|
||||
|
||||
|
||||
### Provide Feedback
|
||||
## Before you start contributing you should
|
||||
|
||||
* **Report bugs / issues**
|
||||
If you experience faulty behavior in OpenVINO or its components, you can
|
||||
[create a new issue](https://github.com/openvinotoolkit/openvino/issues)
|
||||
in the GitHub issue tracker.
|
||||
|
||||
* **Propose new features / improvements**
|
||||
If you have a suggestion for improving OpenVINO or want to share your ideas, you can open a new
|
||||
[GitHub Discussion](https://github.com/openvinotoolkit/openvino/discussions).
|
||||
If your idea is already well defined, you can also create a
|
||||
[Feature Request Issue](https://github.com/openvinotoolkit/openvino/issues/new?assignees=octocat&labels=enhancement%2Cfeature&projects=&template=feature_request.yml&title=%5BFeature+Request%5D%3A+)
|
||||
In both cases, provide a detailed description, including use cases, benefits, and potential challenges.
|
||||
If your points are especially well aligned with the product vision, they will be included in the
|
||||
[development roadmap](./ROADMAP.md).
|
||||
User feedback is crucial for OpenVINO development and even if your input is not immediately prioritized,
|
||||
it may be used at a later time or undertaken by the community, regardless of the official roadmap.
|
||||
|
||||
|
||||
### Contribute Code Changes
|
||||
|
||||
* **Fix Bugs or Develop New Features**
|
||||
If you want to help improving OpenVINO, choose one of the issues reported in
|
||||
[GitHub Issue Tracker](https://github.com/openvinotoolkit/openvino/issues) and
|
||||
[create a Pull Request](./CONTRIBUTING_PR.md) addressing it. Consider one of the
|
||||
tasks listed as [first-time contributions](https://github.com/openvinotoolkit/openvino/issues/17502).
|
||||
If the feature you want to develop is more complex or not well defined by the reporter,
|
||||
it is always a good idea to [discuss it](https://github.com/openvinotoolkit/openvino/discussions)
|
||||
with OpenVINO developers first. Before creating a new PR, check if nobody is already
|
||||
working on it. In such a case, you may still help, having aligned with the other developer.
|
||||
|
||||
Importantly, always check if the change hasn't been implemented before you start working on it!
|
||||
You can build OpenVINO using the latest master branch and make sure that it still needs your
|
||||
changes. Also, do not address issues that only affect older non-LTS releases, like 2022.2.
|
||||
|
||||
* **Develop a New Device Plugin**
|
||||
Since the market of computing devices is constantly evolving, OpenVINO is always open to extending
|
||||
its support for new hardware. If you want to run inference on a device that is currently not supported,
|
||||
you can see how to develop a new plugin for it in the
|
||||
[Plugin Developer Guide](https://docs.openvino.ai/canonical/openvino_docs_ie_plugin_dg_overview.html).
|
||||
|
||||
|
||||
### Improve documentation
|
||||
|
||||
* **OpenVINO developer documentation** is contained entirely in this repository, under the
|
||||
[./docs/dev](https://github.com/openvinotoolkit/openvino/tree/master/docs/dev) folder.
|
||||
|
||||
* **User documentation** is built from several sources and published at
|
||||
[docs.openvino.ai](docs.openvino.ai), which is the recommended place for reading
|
||||
these documents. Use the files maintained in this repository only for editing purposes.
|
||||
|
||||
* The easiest way to help with documentation is to review it and provide feedback on the
|
||||
existing articles. Whether you notice a mistake, see the possibility of improving the text,
|
||||
or think more information should be added, you can reach out to any of the documentation
|
||||
contributors to discuss the potential changes.
|
||||
|
||||
You can also create a Pull Request directly, following the [editor's guide](./docs/CONTRIBUTING_DOCS.md).
|
||||
- Make sure you agree to contribute your code under [OpenVINO™ (Apache 2.0)](https://github.com/openvinotoolkit/openvino/blob/master/LICENSE) license.
|
||||
- Figure out what you’re going to contribute. If you don’t know what you are going to work on, navigate to the [Github "Issues" tab](https://github.com/openvinotoolkit/openvino/issues). Make sure that there isn't someone working on it. In the latter case you might provide support or suggestion in the issue or in the linked pull request.
|
||||
- If you are going to fix a bug, check that it's still exists in the latest release. This can be done by building the latest master branch, and make sure that the error is still reproducible there. We do not fix bugs that only affect older non-LTS releases like 2020.2 for example (more details about [branching strategy](https://github.com/openvinotoolkit/openvino/wiki/Branches)).
|
||||
|
||||
|
||||
### Promote and Support OpenVINO
|
||||
## "Fork & Pull Request model" for code contribution
|
||||
|
||||
* **Popularize OpenVINO**
|
||||
Articles, tutorials, blog posts, demos, videos, and any other involvement
|
||||
in the OpenVINO community is always a welcome contribution. If you discuss
|
||||
or present OpenVINO on various social platforms, you are raising awareness
|
||||
of the product among A.I. enthusiasts and enabling other people to discover
|
||||
the toolkit. Feel free to reach out to OpenVINO developers if you need help
|
||||
with making such community-based content.
|
||||
### [](https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING.md#the-instruction-in-brief)The instruction in brief
|
||||
|
||||
* **Help Other Community Members**
|
||||
If you are an experienced OpenVINO user and want to help, you can always
|
||||
share your expertise with the community. Check GitHub Discussions and
|
||||
Issues to see if you can help someone.
|
||||
- Register at GitHub. Create your fork of OpenVINO™ repository [https://github.com/openvinotoolkit/openvino](https://github.com/openvinotoolkit/openvino) (see [https://help.github.com/articles/fork-a-repo](https://help.github.com/articles/fork-a-repo) for details).
|
||||
- Install Git.
|
||||
- Set your user name and email address in a Git configuration according to GitHub account (see [https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for details).
|
||||
- Choose a task for yourself. It could be a bugfix or some new code.
|
||||
- Choose a base branch for your work. More details about branches and policies are here: [Branches](https://github.com/openvinotoolkit/openvino/wiki/Branches)
|
||||
- Clone your fork to your computer.
|
||||
- Create a new branch (with a meaningful name) from the base branch you chose.
|
||||
- Modify / add the code following our [Coding Style Guide](./docs/dev/coding_style.md).
|
||||
- If you want to add a new sample, please look at this [Guide for contributing to C++/C/Python IE samples](https://github.com/openvinotoolkit/openvino/wiki/SampleContribute)
|
||||
- If you want to contribute to the documentation and want to add a new guide, follow that instruction [Documentation guidelines](https://github.com/openvinotoolkit/openvino/wiki/CodingStyleGuideLinesDocumentation)
|
||||
- Run testsuite locally:
|
||||
- execute each test binary from the artifacts directory, e.g. `<source dir>/bin/intel64/Release/ieFuncTests`
|
||||
- When you are done, make sure that your branch is to date with latest state of the branch you want to contribute to (e.g. `git fetch upstream && git merge upstream/master`), push your branch to your GitHub fork; then create a pull request from your branch to the base branch (see [https://help.github.com/articles/using-pull-requests](https://help.github.com/articles/using-pull-requests) for details).
|
||||
|
||||
## Making a good pull request
|
||||
|
||||
Following these guidelines will increase the likelihood of your pull request being accepted:
|
||||
|
||||
- One PR – one issue.
|
||||
- Build perfectly on your local system.
|
||||
- Choose the right base branch [Branches](https://github.com/openvinotoolkit/openvino/wiki/Branches).
|
||||
- Follow the [Coding Style Guide](./docs/dev/coding_style.md) for your code.
|
||||
- Update documentation using [Documentation guidelines](https://github.com/openvinotoolkit/openvino/wiki/CodingStyleGuideLinesDocumentation) if needed.
|
||||
- Cover your changes with test.
|
||||
- Add license at the top of new files [C++ example](https://github.com/openvinotoolkit/openvino/blob/master/samples/cpp/classification_sample_async/main.cpp#L1-L2), [Python example](https://github.com/openvinotoolkit/openvino/blob/master/samples/python/hello_classification/hello_classification.py#L3-L4).
|
||||
- Add enough information: a meaningful title, the reason why you made the commit and a link to the issue page if exists.
|
||||
- Remove unrelated to PR changes.
|
||||
- If it is still WIP and you want to check CI test results early then use _Draft_ PR.
|
||||
- Submit your PR and become an OpenVINO™ contributor!
|
||||
|
||||
|
||||
## License
|
||||
## Testing and merging pull requests
|
||||
|
||||
By contributing to the OpenVINO project, you agree that your contributions will be
|
||||
licensed under the terms stated in the [LICENSE](./LICENSE.md) file.
|
||||
Your pull request will be automatically tested by OpenVINO™'s precommit (testing status are automatically reported as "green" or "red" circles in precommit steps on PR's page). If any builders have failed, you need fix the issue. To rerun the automatic builds just push changes to your branch on GitHub. No need to close pull request and open a new one!
|
||||
|
||||
|
||||
## Merging PR
|
||||
|
||||
When the reviewer accepts the pull request and the pre-commit shows a "green" status, the review status is set to "Approved", which signals to the OpenVINO™ maintainers that they can merge your pull request.
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
# OpenVINO Documentation Guide
|
||||
|
||||
## Basic article structure
|
||||
|
||||
OpenVINO documentation is built using Sphinx and the reStructuredText formatting.
|
||||
That means the basic formatting rules need to be used:
|
||||
|
||||
|
||||
### White Spaces
|
||||
|
||||
OpenVINO documentation is developed to be easily readable in both html and
|
||||
reStructuredText. Here are some suggestions on how to make it render nicely
|
||||
and improve document clarity.
|
||||
|
||||
### Headings (including the article title)
|
||||
|
||||
They are made by "underscoring" text with punctuation marks (at least as
|
||||
many marks as letters in the underscored header). We use the following convention:
|
||||
|
||||
```
|
||||
H1
|
||||
====================
|
||||
|
||||
H2
|
||||
####################
|
||||
|
||||
H3
|
||||
++++++++++++++++++++
|
||||
|
||||
H4
|
||||
--------------------
|
||||
|
||||
H5
|
||||
....................
|
||||
```
|
||||
|
||||
### Line length
|
||||
|
||||
In programming, a limit of 80 characters per line is a common BKM. It may also apply
|
||||
to reading natural languages fairly well. For this reason, we aim at lines of around
|
||||
70 to 100 characters long. The limit is not a strict rule but rather a guideline to
|
||||
follow in most cases. The breaks will not translate to html, and rightly so, but will
|
||||
make reading and editing documents in GitHub or an editor much easier.
|
||||
|
||||
### Tables
|
||||
|
||||
Tables may be difficult to implement well in websites. For example, longer portions
|
||||
of text, like descriptions, may render them difficult to read (e.g. improper cell
|
||||
widths or heights). Complex tables may also be difficult to read in source files.
|
||||
To prevent that, check the [table directive documentation](https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#table-directives)
|
||||
and see our custom directives. Use the following guidelines for easier editing:
|
||||
|
||||
* For very big and complex data sets: use a list instead of a table or remove
|
||||
the problematic content from the table and implement it differently.
|
||||
* For very big and complex data sets that need to use tables: use an external
|
||||
file (e.g. PDF) and link to it.
|
||||
* For medium tables that look bad in source (e.g. due to long lines of text),
|
||||
use the reStructuredText list table format.
|
||||
* For medium and small tables, use the reStructuredText grid or simple table formats.
|
||||
|
||||
|
||||
## Cross-linking
|
||||
|
||||
There are several directives Sphinx uses for linking, each has its purpose and format.
|
||||
Follow these guidelines for consistent results:
|
||||
|
||||
* Avoid absolute references to internal documents as much as possible (link to source, not html).
|
||||
* Note that sphinx uses the "back-tick" character and not the "inverted-comma" => ` vs. '
|
||||
* When a file path starts at the same directory is used, put "./" at its beginning.
|
||||
* Always add a space before the opening angle bracket ("<") for target files.
|
||||
|
||||
Use the following formatting for different links:
|
||||
|
||||
* link to an external page / file
|
||||
* `` `text <url> `__ ``
|
||||
* use a double underscore for consistency
|
||||
|
||||
* link to an internal documentation page / file
|
||||
* `` :doc:`a docs page <relative file path>` ``
|
||||
* Link to an rst or md file within our documentation, so that it renders properly in html
|
||||
|
||||
* link to a header on the same page
|
||||
* `` 'a header in the same article <this-is-section-header-title>`__ ``
|
||||
* anchors are created automatically for all existing headers
|
||||
* such anchor looks like the header, with minor adjustments:
|
||||
* all letters are lower case,
|
||||
* remove all special glyphs, like brackets,
|
||||
* replace spaces with hyphens
|
||||
|
||||
* Create an anchor in an article
|
||||
* `` .. _anchor-in-the target-article:: ``
|
||||
* put it before the header to which you want to link
|
||||
* See the rules for naming anchors / labels at the bottom of this article
|
||||
|
||||
* link to an anchor on a different page in our documentation
|
||||
* `` :ref:`the created anchor <anchor-in-the target-article>` ``
|
||||
* link to the anchor using just its name
|
||||
|
||||
|
||||
* anchors / labels
|
||||
|
||||
Read about anchors
|
||||
|
||||
Sphinx uses labels to create html anchors, which can be linked to from anywhere in documentation.
|
||||
Although they may be put at the top of any article to make linking to it very easy, we do not use
|
||||
this approach. Every label definition starts with an underscore, the underscore is not used in links.
|
||||
|
||||
Most importantly, every label needs to be globally unique. It means that it is always a good
|
||||
practice to start their labels with a clear identifier of the article they reside in.
|
||||
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
# How to Prepare a Good PR
|
||||
|
||||
OpenVINO is an open-source project and you can contribute to its code directly.
|
||||
To do so, follow these guidelines for creating Pull Requests, so that your
|
||||
changes get the highest chance of being merged.
|
||||
|
||||
|
||||
## General Rules of a Good Pull Request
|
||||
|
||||
* Create your own fork of the repository and use it to create PRs.
|
||||
Avoid creating change branches in the main repository.
|
||||
* Choose a proper branch for your work and create your own branch based on it.
|
||||
* Give your branches, commits, and Pull Requests meaningful names and descriptions.
|
||||
It helps to track changes later. If your changes cover a particular component,
|
||||
you can indicate it in the PR name as a prefix, for example: ``[DOCS] PR name``.
|
||||
* Follow the [OpenVINO code style guide](https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/coding_style.md).
|
||||
* Make your PRs small - each PR should address one issue. Remove all changes
|
||||
unrelated to the PR.
|
||||
* Document your contribution! If your changes may impact how the user works with
|
||||
OpenVINO, provide the information in proper articles. You can do it yourself,
|
||||
or contact one of OpenVINO documentation contributors to work together on
|
||||
developing the right content.
|
||||
* For Work In Progress, or checking test results early, use a Draft PR.
|
||||
|
||||
|
||||
## Ensure Change Quality
|
||||
|
||||
Your pull request will be automatically tested by OpenVINO™'s pre-commit and marked
|
||||
as "green" if it is ready for merging. If any builders fail, the status is "red,"
|
||||
you need to fix the issues listed in console logs. Any change to the PR branch will
|
||||
automatically trigger the checks, so you don't need to recreate the PR, Just wait
|
||||
for the updated results.
|
||||
|
||||
Regardless of the automated tests, you should ensure the quality of your changes:
|
||||
|
||||
* Test your changes locally:
|
||||
* Make sure to double-check your code.
|
||||
* Run tests locally to identify and fix potential issues (execute test binaries
|
||||
from the artifacts directory, e.g. ``<source dir>/bin/intel64/Release/ieFuncTests``)
|
||||
* Before creating a PR, make sure that your branch is up to date with the latest
|
||||
state of the branch you want to contribute to (e.g. git fetch upstream && git
|
||||
merge upstream/master).
|
||||
|
||||
|
||||
## Branching Policy
|
||||
|
||||
* The "master" branch is used for development and constitutes the base for each new release.
|
||||
* Each OpenVINO release has its own branch: ``releases/<year>/<release number>``.
|
||||
* The final release each year is considered a Long Term Support version,
|
||||
which means it remains active.
|
||||
* Contributions are accepted only by active branches, which are:
|
||||
* the "master" branch for future releases,
|
||||
* the most recently published version for fixes,
|
||||
* LTS versions (for two years from their release dates).
|
||||
|
||||
|
||||
## Need Additional Help? Check these Articles
|
||||
|
||||
* [How to create a fork](https://help.github.com/articles/fork-a-rep)
|
||||
* [Install Git](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup)
|
||||
* If you want to add a new sample, please have a look at the Guide for contributing
|
||||
to C++/C/Python IE samples and add the license statement at the top of new files for
|
||||
C++ example, Python example.
|
||||
@@ -1,13 +1,14 @@
|
||||
<div align="center">
|
||||
|
||||
<img src="docs/img/openvino-logo-purple-black.png" width="400px">
|
||||
|
||||
[](https://github.com/openvinotoolkit/openvino/releases/tag/2022.2.0)
|
||||
[](LICENSE)
|
||||

|
||||

|
||||
[](https://badge.fury.io/py/openvino)
|
||||
[](https://anaconda.org/conda-forge/openvino)
|
||||
[](https://formulae.brew.sh/formula/openvino)
|
||||
|
||||
[](https://pepy.tech/project/openvino)
|
||||
[](https://anaconda.org/conda-forge/openvino/files)
|
||||
[](https://formulae.brew.sh/formula/openvino)
|
||||
[](https://pepy.tech/project/openvino)
|
||||
|
||||
</div>
|
||||
|
||||
## Contents:
|
||||
@@ -33,7 +34,7 @@ OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference.
|
||||
- Reduce resource demands and efficiently deploy on a range of Intel® platforms from edge to cloud
|
||||
|
||||
|
||||
This open-source version includes several components: namely [OpenVINO Model Converter (OVC)], [OpenVINO™ Runtime], as well as CPU, GPU, GNA, multi device and heterogeneous plugins to accelerate deep learning inference on Intel® CPUs and Intel® Processor Graphics.
|
||||
This open-source version includes several components: namely [Model Optimizer], [OpenVINO™ Runtime], [Post-Training Optimization Tool], as well as CPU, GPU, MYRIAD, multi device and heterogeneous plugins to accelerate deep learning inference on Intel® CPUs and Intel® Processor Graphics.
|
||||
It supports pre-trained models from [Open Model Zoo], along with 100+ open
|
||||
source and public models in popular formats such as TensorFlow, ONNX, PaddlePaddle, MXNet, Caffe, Kaldi.
|
||||
|
||||
@@ -48,7 +49,8 @@ source and public models in popular formats such as TensorFlow, ONNX, PaddlePadd
|
||||
* [python](./src/bindings/python) - Python API for OpenVINO™ Runtime
|
||||
* [Plugins](./src/plugins) - contains OpenVINO plugins which are maintained in open-source by the OpenVINO team. For more information, take a look at the [list of supported devices](#supported-hardware-matrix).
|
||||
* [Frontends](./src/frontends) - contains available OpenVINO frontends that allow reading models from the native framework format.
|
||||
* [OpenVINO Model Converter (OVC)] - is a cross-platform command-line tool that facilitates the transition between training and deployment environments, and adjusts deep learning models for optimal execution on end-point target devices.
|
||||
* [Model Optimizer] - is a cross-platform command-line tool that facilitates the transition between training and deployment environments, performs static model analysis, and adjusts deep learning models for optimal execution on end-point target devices.
|
||||
* [Post-Training Optimization Tool] - is designed to accelerate the inference of deep learning models by applying special methods without model retraining or fine-tuning, for example, post-training 8-bit quantization.
|
||||
* [Samples] - applications in C, C++ and Python languages that show basic OpenVINO use cases.
|
||||
|
||||
## Supported Hardware matrix
|
||||
@@ -61,33 +63,39 @@ The OpenVINO™ Runtime can infer models on different hardware devices. This sec
|
||||
<th>Device</th>
|
||||
<th>Plugin</th>
|
||||
<th>Library</th>
|
||||
<th>Short Description</th>
|
||||
<th>ShortDescription</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td rowspan=2>CPU</td>
|
||||
<td> <a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_supported_plugins_CPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-c-p-u">Intel CPU</a></tb>
|
||||
<td> <a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_CPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-c-p-u">Intel CPU</a></tb>
|
||||
<td><b><i><a href="./src/plugins/intel_cpu">openvino_intel_cpu_plugin</a></i></b></td>
|
||||
<td>Intel Xeon with Intel® Advanced Vector Extensions 2 (Intel® AVX2), Intel® Advanced Vector Extensions 512 (Intel® AVX-512), and AVX512_BF16, Intel Core Processors with Intel AVX2, Intel Atom Processors with Intel® Streaming SIMD Extensions (Intel® SSE), Intel® Advanced Matrix Extensions (Intel® AMX)</td>
|
||||
<td>Intel Xeon with Intel® Advanced Vector Extensions 2 (Intel® AVX2), Intel® Advanced Vector Extensions 512 (Intel® AVX-512), and AVX512_BF16, Intel Core Processors with Intel AVX2, Intel Atom Processors with Intel® Streaming SIMD Extensions (Intel® SSE)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> <a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_supported_plugins_CPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-c-p-u">ARM CPU</a></tb>
|
||||
<td><b><i><a href="./src/plugins/intel_cpu">openvino_arm_cpu_plugin</a></i></b></td>
|
||||
<td>Raspberry Pi™ 4 Model B, Apple® Mac mini with Apple silicon
|
||||
<td> <a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_ARM_CPU.html">ARM CPU</a></tb>
|
||||
<td><b><i><a href="https://github.com/openvinotoolkit/openvino_contrib/tree/master/modules/arm_plugin">openvino_arm_cpu_plugin</a></i></b></td>
|
||||
<td>Raspberry Pi™ 4 Model B, Apple® Mac mini with M1 chip, NVIDIA® Jetson Nano™, Android™ devices
|
||||
</tr>
|
||||
<tr>
|
||||
<td>GPU</td>
|
||||
<td><a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_supported_plugins_GPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-p-u">Intel GPU</a></td>
|
||||
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_GPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-p-u">Intel GPU</a></td>
|
||||
<td><b><i><a href="./src/plugins/intel_gpu">openvino_intel_gpu_plugin</a></i></b></td>
|
||||
<td>Intel Processor Graphics, including Intel HD Graphics and Intel Iris Graphics</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>GNA</td>
|
||||
<td><a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_supported_plugins_GNA.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-n-a">Intel GNA</a></td>
|
||||
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_GNA.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-n-a">Intel GNA</a></td>
|
||||
<td><b><i><a href="./src/plugins/intel_gna">openvino_intel_gna_plugin</a></i></b></td>
|
||||
<td>Intel Speech Enabling Developer Kit, Amazon Alexa* Premium Far-Field Developer Kit, Intel Pentium Silver J5005 Processor, Intel Pentium Silver N5000 Processor, Intel Celeron J4005 Processor, Intel Celeron J4105 Processor, Intel Celeron Processor N4100, Intel Celeron Processor N4000, Intel Core i3-8121U Processor, Intel Core i7-1065G7 Processor, Intel Core i7-1060G7 Processor, Intel Core i5-1035G4 Processor, Intel Core i5-1035G7 Processor, Intel Core i5-1035G1 Processor, Intel Core i5-1030G7 Processor, Intel Core i5-1030G4 Processor, Intel Core i3-1005G1 Processor, Intel Core i3-1000G1 Processor, Intel Core i3-1000G4 Processor</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>VPU</td>
|
||||
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_IE_DG_supported_plugins_VPU.html#doxid-openvino-docs-i-e-d-g-supported-plugins-v-p-u">Myriad plugin</a></td>
|
||||
<td><b><i><a href="./src/plugins/intel_myriad">openvino_intel_myriad_plugin</a></i></b></td>
|
||||
<td>Intel® Neural Compute Stick 2 powered by the Intel® Movidius™ Myriad™ X</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -97,27 +105,27 @@ OpenVINO™ Toolkit also contains several plugins which simplify loading models
|
||||
<tr>
|
||||
<th>Plugin</th>
|
||||
<th>Library</th>
|
||||
<th>Short Description</th>
|
||||
<th>ShortDescription</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_supported_plugins_AUTO.html">Auto</a></td>
|
||||
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_IE_DG_supported_plugins_AUTO.html#doxid-openvino-docs-i-e-d-g-supported-plugins-a-u-t-o">Auto</a></td>
|
||||
<td><b><i><a href="./src/plugins/auto">openvino_auto_plugin</a></i></b></td>
|
||||
<td>Auto plugin enables selecting Intel device for inference automatically</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_Automatic_Batching.html">Auto Batch</a></td>
|
||||
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_Automatic_Batching.html">Auto Batch</a></td>
|
||||
<td><b><i><a href="./src/plugins/auto_batch">openvino_auto_batch_plugin</a></i></b></td>
|
||||
<td>Auto batch plugin performs on-the-fly automatic batching (i.e. grouping inference requests together) to improve device utilization, with no programming effort from the user</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_Hetero_execution.html#doxid-openvino-docs-o-v-u-g-hetero-execution">Hetero</a></td>
|
||||
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_Hetero_execution.html#doxid-openvino-docs-o-v-u-g-hetero-execution">Hetero</a></td>
|
||||
<td><b><i><a href="./src/plugins/hetero">openvino_hetero_plugin</a></i></b></td>
|
||||
<td>Heterogeneous execution enables automatic inference splitting between several devices</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_Running_on_multiple_devices.html#doxid-openvino-docs-o-v-u-g-running-on-multiple-devices">Multi</a></td>
|
||||
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_Running_on_multiple_devices.html#doxid-openvino-docs-o-v-u-g-running-on-multiple-devices">Multi</a></td>
|
||||
<td><b><i><a href="./src/plugins/auto">openvino_auto_plugin</a></i></b></td>
|
||||
<td>Multi plugin enables simultaneous inference of the same model on several devices in parallel</td>
|
||||
</tr>
|
||||
@@ -128,16 +136,6 @@ OpenVINO™ Toolkit also contains several plugins which simplify loading models
|
||||
OpenVINO™ Toolkit is licensed under [Apache License Version 2.0](LICENSE).
|
||||
By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.
|
||||
|
||||
## Telemetry
|
||||
OpenVINO™ collects software performance and usage data for the purpose of improving OpenVINO™ tools. This data is collected directly by OpenVINO™ or through the use of Google Analytics 4.
|
||||
You can opt-out at any time by running the command:
|
||||
|
||||
``` bash
|
||||
opt_in_out --opt_out
|
||||
```
|
||||
|
||||
More Information is available at https://docs.openvino.ai/latest/openvino_docs_telemetry_information.html.
|
||||
|
||||
## Documentation
|
||||
|
||||
### User documentation
|
||||
@@ -164,21 +162,18 @@ The list of OpenVINO tutorials:
|
||||
## System requirements
|
||||
|
||||
The system requirements vary depending on platform and are available on dedicated pages:
|
||||
- [Linux](https://docs.openvino.ai/2023.2/openvino_docs_install_guides_installing_openvino_linux_header.html)
|
||||
- [Windows](https://docs.openvino.ai/2023.2/openvino_docs_install_guides_installing_openvino_windows_header.html)
|
||||
- [macOS](https://docs.openvino.ai/2023.2/openvino_docs_install_guides_installing_openvino_macos_header.html)
|
||||
- [Linux](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_linux_header.html)
|
||||
- [Windows](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_windows_header.html)
|
||||
- [macOS](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_macos_header.html)
|
||||
- [Raspbian](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_raspbian.html)
|
||||
|
||||
## How to build
|
||||
|
||||
See [How to build OpenVINO](./docs/dev/build.md) to get more information about the OpenVINO build process.
|
||||
See the [OpenVINO Wiki](https://github.com/openvinotoolkit/openvino/wiki#how-to-build) to get more information about the OpenVINO build process.
|
||||
|
||||
## How to contribute
|
||||
|
||||
See [Contributions Welcome](https://github.com/openvinotoolkit/openvino/issues/17502) for good first issues.
|
||||
|
||||
See [CONTRIBUTING](./CONTRIBUTING.md) for contribution details. Thank you!
|
||||
## Take the issue
|
||||
If you wish to be assigned to an issue please add a comment with `.take` command.
|
||||
See [CONTRIBUTING](./CONTRIBUTING.md) for details. Thank you!
|
||||
|
||||
## Get a support
|
||||
|
||||
@@ -199,6 +194,7 @@ Report questions, issues and suggestions, using:
|
||||
* [Neural Network Compression Framework (NNCF)](https://github.com/openvinotoolkit/nncf) - a suite of advanced algorithms for model inference optimization including quantization, filter pruning, binarization and sparsity
|
||||
* [OpenVINO™ Training Extensions (OTE)](https://github.com/openvinotoolkit/training_extensions) - convenient environment to train Deep Learning models and convert them using OpenVINO for optimized inference.
|
||||
* [OpenVINO™ Model Server (OVMS)](https://github.com/openvinotoolkit/model_server) - a scalable, high-performance solution for serving deep learning models optimized for Intel architectures
|
||||
* [DL Workbench](https://docs.openvino.ai/nightly/workbench_docs_Workbench_DG_Introduction.html) - an alternative, web-based version of OpenVINO designed to facilitate optimization and compression of pre-trained deep learning models.
|
||||
* [Computer Vision Annotation Tool (CVAT)](https://github.com/opencv/cvat) - an online, interactive video and image annotation tool for computer vision purposes.
|
||||
* [Dataset Management Framework (Datumaro)](https://github.com/openvinotoolkit/datumaro) - a framework and CLI tool to build, transform, and analyze datasets.
|
||||
|
||||
@@ -206,6 +202,7 @@ Report questions, issues and suggestions, using:
|
||||
\* Other names and brands may be claimed as the property of others.
|
||||
|
||||
[Open Model Zoo]:https://github.com/openvinotoolkit/open_model_zoo
|
||||
[OpenVINO™ Runtime]:https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_OV_Runtime_User_Guide.html
|
||||
[OpenVINO Model Converter (OVC)]:https://docs.openvino.ai/2023.2/openvino_docs_model_processing_introduction.html#convert-a-model-in-cli-ovc
|
||||
[OpenVINO™ Runtime]:https://docs.openvino.ai/nightly/openvino_docs_OV_UG_OV_Runtime_User_Guide.html
|
||||
[Model Optimizer]:https://docs.openvino.ai/nightly/openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html
|
||||
[Post-Training Optimization Tool]:https://docs.openvino.ai/nightly/pot_introduction.html
|
||||
[Samples]:https://github.com/openvinotoolkit/openvino/tree/master/samples
|
||||
|
||||
@@ -9,3 +9,67 @@ set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
|
||||
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
|
||||
set(CMAKE_STRIP arm-linux-gnueabihf-strip)
|
||||
set(PKG_CONFIG_EXECUTABLE arm-linux-gnueabihf-pkg-config CACHE PATH "Path to ARM pkg-config")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
|
||||
macro(__cmake_find_root_save_and_reset)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(__save_${v} ${${v}})
|
||||
set(${v} NEVER)
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__cmake_find_root_restore)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(${v} ${__save_${v}})
|
||||
unset(__save_${v})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
|
||||
# macro to find programs on the host OS
|
||||
macro(find_host_program)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(UNIX)
|
||||
endif()
|
||||
find_program(${ARGN})
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
SET(UNIX 1)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
||||
# macro to find packages on the host OS
|
||||
macro(find_host_package)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(UNIX)
|
||||
endif()
|
||||
find_package(${ARGN})
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
SET(UNIX 1)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
||||
@@ -9,3 +9,67 @@ set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
|
||||
set(CMAKE_STRIP aarch64-linux-gnu-strip)
|
||||
set(PKG_CONFIG_EXECUTABLE aarch64-linux-gnu-pkg-config CACHE PATH "Path to ARM64 pkg-config")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
|
||||
macro(__cmake_find_root_save_and_reset)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(__save_${v} ${${v}})
|
||||
set(${v} NEVER)
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__cmake_find_root_restore)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(${v} ${__save_${v}})
|
||||
unset(__save_${v})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
|
||||
# macro to find programs on the host OS
|
||||
macro(find_host_program)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(UNIX)
|
||||
endif()
|
||||
find_program(${ARGN})
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
SET(UNIX 1)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
||||
# macro to find packages on the host OS
|
||||
macro(find_host_package)
|
||||
__cmake_find_root_save_and_reset()
|
||||
if(CMAKE_HOST_WIN32)
|
||||
SET(WIN32 1)
|
||||
SET(UNIX)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
SET(APPLE 1)
|
||||
SET(UNIX)
|
||||
endif()
|
||||
find_package(${ARGN})
|
||||
SET(WIN32)
|
||||
SET(APPLE)
|
||||
SET(UNIX 1)
|
||||
__cmake_find_root_restore()
|
||||
endmacro()
|
||||
|
||||
+20
-17
@@ -9,19 +9,17 @@ ov_coverage_clean(REPOSITORY "openvino"
|
||||
ov_coverage_capture(INFO_FILE "openvino"
|
||||
BASE_DIRECTORY "${OV_COVERAGE_BASE_DIRECTORY}"
|
||||
DIRECTORY "${OV_COVERAGE_GCDA_DATA_DIRECTORY}"
|
||||
EXCLUDE_PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/*.pb.cc"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/*.pb.h"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/*/tests/*"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/*/tests_deprecated/*"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/thirdparty/*"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/CMakeCXXCompilerId.cpp"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/CMakeCCompilerId.c") # Skip some service files, tests and thirdparty
|
||||
# Generate reports
|
||||
|
||||
EXCLUDE_PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/*.pb.cc"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/*.pb.h"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/*/tests/*"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/*/tests_deprecated/*"
|
||||
"${OV_COVERAGE_BASE_DIRECTORY}/thirdparty/*") # Skip some pb files, tests and thirdparty
|
||||
# Common report
|
||||
ov_coverage_genhtml(INFO_FILE "openvino"
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
|
||||
# Generate reports
|
||||
|
||||
##################### Core Components #####################
|
||||
ov_coverage_extract(INPUT "openvino" OUTPUT "inference"
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/src/inference/*")
|
||||
@@ -43,8 +41,13 @@ ov_coverage_extract(INPUT "openvino" OUTPUT "low_precision_transformations"
|
||||
ov_coverage_genhtml(INFO_FILE "low_precision_transformations"
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
|
||||
ov_coverage_extract(INPUT "openvino" OUTPUT "legacy"
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/src/common/legacy/*")
|
||||
ov_coverage_genhtml(INFO_FILE "legacy"
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
|
||||
ov_coverage_extract(INPUT "openvino" OUTPUT "preprocessing"
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}src/common/preprocessing/src/*")
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}src/common/preprocessing/*")
|
||||
ov_coverage_genhtml(INFO_FILE "preprocessing"
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
|
||||
@@ -103,6 +106,13 @@ if (ENABLE_INTEL_GPU)
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
endif()
|
||||
|
||||
if(ENABLE_INTEL_MYRIAD)
|
||||
ov_coverage_extract(INPUT "openvino" OUTPUT "intel_myriad_plugin"
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/src/plugins/intel_myriad/*")
|
||||
ov_coverage_genhtml(INFO_FILE "intel_myriad_plugin"
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
endif()
|
||||
|
||||
if(ENABLE_TEMPLATE)
|
||||
ov_coverage_extract(INPUT "openvino" OUTPUT "template_plugin"
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/src/plugins/template/*")
|
||||
@@ -133,13 +143,6 @@ if(ENABLE_OV_PADDLE_FRONTEND)
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
endif()
|
||||
|
||||
if(ENABLE_OV_PYTORCH_FRONTEND)
|
||||
ov_coverage_extract(INPUT "openvino" OUTPUT "pytorch_frontend"
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/src/frontends/pytorch/*")
|
||||
ov_coverage_genhtml(INFO_FILE "pytorch_frontend"
|
||||
PREFIX "${OV_COVERAGE_BASE_DIRECTORY}")
|
||||
endif()
|
||||
|
||||
if(ENABLE_OV_TF_FRONTEND)
|
||||
ov_coverage_extract(INPUT "openvino" OUTPUT "tf_frontend"
|
||||
PATTERNS "${OV_COVERAGE_BASE_DIRECTORY}/src/frontends/tensorflow/*")
|
||||
|
||||
+137
-62
@@ -5,7 +5,27 @@
|
||||
cmake_policy(SET CMP0054 NEW)
|
||||
|
||||
# TODO: fix it, outside of source dir MO cannot find TBB dependency
|
||||
ov_set_temp_directory(TEMP "${CMAKE_SOURCE_DIR}")
|
||||
set_temp_directory(TEMP "${CMAKE_SOURCE_DIR}")
|
||||
|
||||
if(ENABLE_SAME_BRANCH_FOR_MODELS)
|
||||
branchName(MODELS_BRANCH)
|
||||
else()
|
||||
set(MODELS_BRANCH "master")
|
||||
endif()
|
||||
|
||||
if(ENABLE_DATA)
|
||||
add_models_repo(${ENABLE_DATA} "data:https://github.com/openvinotoolkit/testdata.git")
|
||||
set(MODELS_PATH "${TEMP}/models/src/data")
|
||||
set(DATA_PATH "${MODELS_PATH}")
|
||||
endif()
|
||||
|
||||
message(STATUS "MODELS_PATH=" ${MODELS_PATH})
|
||||
|
||||
fetch_models_and_validation_set()
|
||||
|
||||
if(ENABLE_INTEL_MYRIAD)
|
||||
include(${OpenVINO_SOURCE_DIR}/src/plugins/intel_myriad/myriad_dependencies.cmake)
|
||||
endif()
|
||||
|
||||
## Intel OMP package
|
||||
if(THREADING STREQUAL "OMP")
|
||||
@@ -16,31 +36,28 @@ if(THREADING STREQUAL "OMP")
|
||||
TARGET_PATH "${TEMP}/omp"
|
||||
ENVIRONMENT "OMP"
|
||||
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*"
|
||||
SHA256 "62c68646747fb10f19b53217cb04a1e10ff93606f992e6b35eb8c31187c68fbf"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
SHA256 "62c68646747fb10f19b53217cb04a1e10ff93606f992e6b35eb8c31187c68fbf")
|
||||
elseif(LINUX AND X86_64)
|
||||
RESOLVE_DEPENDENCY(OMP
|
||||
ARCHIVE_LIN "iomp.tgz"
|
||||
TARGET_PATH "${TEMP}/omp"
|
||||
ENVIRONMENT "OMP"
|
||||
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*"
|
||||
SHA256 "7832b16d82513ee880d97c27c7626f9525ebd678decf6a8fe6c38550f73227d9"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
SHA256 "7832b16d82513ee880d97c27c7626f9525ebd678decf6a8fe6c38550f73227d9")
|
||||
elseif(APPLE AND X86_64)
|
||||
RESOLVE_DEPENDENCY(OMP
|
||||
ARCHIVE_MAC "iomp_20190130_mac.tgz"
|
||||
TARGET_PATH "${TEMP}/omp"
|
||||
ENVIRONMENT "OMP"
|
||||
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*"
|
||||
SHA256 "591ea4a7e08bbe0062648916f42bded71d24c27f00af30a8f31a29b5878ea0cc"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
SHA256 "591ea4a7e08bbe0062648916f42bded71d24c27f00af30a8f31a29b5878ea0cc")
|
||||
else()
|
||||
message(FATAL_ERROR "Intel OMP is not available on current platform")
|
||||
endif()
|
||||
update_deps_cache(OMP "${OMP}" "Path to OMP root folder")
|
||||
debug_message(STATUS "intel_omp=" ${OMP})
|
||||
|
||||
ov_cpack_add_component(omp HIDDEN)
|
||||
ie_cpack_add_component(omp HIDDEN)
|
||||
file(GLOB_RECURSE source_list "${OMP}/*${CMAKE_SHARED_LIBRARY_SUFFIX}*")
|
||||
install(FILES ${source_list}
|
||||
DESTINATION ${OV_CPACK_RUNTIMEDIR}
|
||||
@@ -71,82 +88,49 @@ function(ov_download_tbb)
|
||||
|
||||
if(NOT DEFINED ENV{TBBROOT} AND (DEFINED ENV{TBB_DIR} OR DEFINED TBB_DIR))
|
||||
if(DEFINED ENV{TBB_DIR})
|
||||
set(TBB_DIR "$ENV{TBB_DIR}")
|
||||
set(TEMP_ROOT $ENV{TBB_DIR})
|
||||
elseif (DEFINED TBB_DIR)
|
||||
set(TEMP_ROOT ${TBB_DIR})
|
||||
endif()
|
||||
set(TEMP_ROOT "${TBB_DIR}")
|
||||
while(NOT EXISTS "${TEMP_ROOT}/include")
|
||||
get_filename_component(TEMP_ROOT_PARENT ${TEMP_ROOT} PATH)
|
||||
if(TEMP_ROOT_PARENT STREQUAL TEMP_ROOT)
|
||||
# to prevent recursion
|
||||
message(FATAL_ERROR "${TBB_DIR} does not contain 'include' folder. Please, unset TBB_DIR")
|
||||
endif()
|
||||
set(TEMP_ROOT "${TEMP_ROOT_PARENT}")
|
||||
get_filename_component(TEMP_ROOT ${TEMP_ROOT} PATH)
|
||||
endwhile()
|
||||
set(TBBROOT ${TEMP_ROOT})
|
||||
endif()
|
||||
|
||||
if(WIN32 AND X86_64)
|
||||
# TODO: add target_path to be platform specific as well, to avoid following if
|
||||
# build oneTBB 2021.2.1 with Visual Studio 2019 (MSVC 14.21)
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_WIN "oneapi-tbb-2021.2.2-win.zip"
|
||||
ARCHIVE_WIN "tbb2020_617e9a71_win.zip"
|
||||
TARGET_PATH "${TEMP}/tbb"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "103b19a8af288c6a7d83ed3f0d2239c4afd0dd189fc12aad1d34b3c9e78df94b"
|
||||
SHA256 "01cac3cc48705bd52b83a6e1fa1ed95c708928be76160f5b9c5c37f954d56df4"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
elseif(ANDROID AND X86_64)
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_ANDROID "tbb2020_20200404_android.tgz"
|
||||
TARGET_PATH "${TEMP}/tbb"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "f42d084224cc2d643314bd483ad180b081774608844000f132859fca3e9bf0ce"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
elseif(LINUX AND X86_64 AND OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.17)
|
||||
# build oneTBB 2021.2.1 with gcc 4.8 (glibc 2.17)
|
||||
SHA256 "f42d084224cc2d643314bd483ad180b081774608844000f132859fca3e9bf0ce")
|
||||
elseif(LINUX AND X86_64)
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_LIN "oneapi-tbb-2021.2.4-lin.tgz"
|
||||
ARCHIVE_LIN "tbb2020_617e9a71_lin_strip.tgz"
|
||||
TARGET_PATH "${TEMP}/tbb"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "6523661559a340e88131472ea9a595582c306af083e55293b7357d11b8015546"
|
||||
SHA256 "e7a38f68059fb36de8b59d40b283a849f26275e34a58d2acadfdb84d49e31b9b"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
elseif(YOCTO_AARCH64)
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_LIN "keembay/tbb2020_38404_kmb_lic.tgz"
|
||||
TARGET_PATH "${TEMP}/tbb_yocto"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "321261ff2eda6d4568a473cb883262bce77a93dac599f7bd65d2918bdee4d75b"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
SHA256 "321261ff2eda6d4568a473cb883262bce77a93dac599f7bd65d2918bdee4d75b")
|
||||
elseif(APPLE AND X86_64)
|
||||
# build oneTBB 2021.2.1 with OS version 11.4
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_MAC "oneapi-tbb-2021.2.1-mac.tgz"
|
||||
ARCHIVE_MAC "tbb2020_617e9a71_mac.tgz"
|
||||
TARGET_PATH "${TEMP}/tbb"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "c57ce4b97116cd3093c33e6dcc147fb1bbb9678d0ee6c61a506b2bfe773232cb"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
elseif(WIN32 AND AARCH64)
|
||||
# build oneTBB 2021.2.1 with Visual Studio 2022 (MSVC 14.35)
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_WIN "oneapi-tbb-2021.2.1-win-arm64.zip"
|
||||
TARGET_PATH "${TEMP}/tbb"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "09fe7f5e7be589aa34ccd20fdfd7cad9e0afa89d1e74ecdb008a75d0af71d6e1"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
elseif(LINUX AND AARCH64 AND OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.17)
|
||||
# build oneTBB 2021.2.1 with gcc 4.8 (glibc 2.17)
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_LIN "oneapi-tbb-2021.2.1-lin-arm64-20231012.tgz"
|
||||
TARGET_PATH "${TEMP}/tbb"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "cbb239cbda7ea2937cec7008c12fe628dd44488e1eafd9630f8814f9eb2c13e2"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
elseif(APPLE AND AARCH64)
|
||||
# build oneTBB 2021.2.1 with export MACOSX_DEPLOYMENT_TARGET=11.0
|
||||
RESOLVE_DEPENDENCY(TBB
|
||||
ARCHIVE_MAC "oneapi-tbb-2021.2.1-mac-arm64-canary.tgz"
|
||||
TARGET_PATH "${TEMP}/tbb"
|
||||
ENVIRONMENT "TBBROOT"
|
||||
SHA256 "60b7ffa73797b173187a7b0ca883c64d7e4e8f24824c0ff233c1ee90e9000317"
|
||||
SHA256 "67a44b695bef3348416eaf5bf2baca2b1401576c0e09c394304eba1e0eee96cd"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
else()
|
||||
message(WARNING "Prebuilt TBB is not available on current platform")
|
||||
@@ -197,18 +181,16 @@ function(ov_download_tbbbind_2_5)
|
||||
|
||||
if(WIN32 AND X86_64)
|
||||
RESOLVE_DEPENDENCY(TBBBIND_2_5
|
||||
ARCHIVE_WIN "tbbbind_2_5_static_win_v2.zip"
|
||||
ARCHIVE_WIN "tbbbind_2_5_static_win_v1.zip"
|
||||
TARGET_PATH "${TEMP}/tbbbind_2_5"
|
||||
ENVIRONMENT "TBBBIND_2_5_ROOT"
|
||||
SHA256 "49ae93b13a13953842ff9ae8d01681b269b5b0bc205daf18619ea9a828c44bee"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
SHA256 "a67afeea8cf194f97968c800dab5b5459972908295242e282045d6b8953573c1")
|
||||
elseif(LINUX AND X86_64)
|
||||
RESOLVE_DEPENDENCY(TBBBIND_2_5
|
||||
ARCHIVE_LIN "tbbbind_2_5_static_lin_v4.tgz"
|
||||
ARCHIVE_LIN "tbbbind_2_5_static_lin_v2.tgz"
|
||||
TARGET_PATH "${TEMP}/tbbbind_2_5"
|
||||
ENVIRONMENT "TBBBIND_2_5_ROOT"
|
||||
SHA256 "4ebf30246530795f066fb9616e6707c6b17be7a65d29d3518b578a769dd54eea"
|
||||
USE_NEW_LOCATION TRUE)
|
||||
SHA256 "865e7894c58402233caf0d1b288056e0e6ab2bf7c9d00c9dc60561c484bc90f4")
|
||||
else()
|
||||
# TMP: for Apple Silicon TBB does not provide TBBBind
|
||||
if(NOT (APPLE AND AARCH64))
|
||||
@@ -222,6 +204,99 @@ Build oneTBB from sources and set TBBROOT environment var before OpenVINO cmake
|
||||
update_deps_cache(TBBBIND_2_5_DIR "${TBBBIND_2_5}/cmake" "Path to TBBBIND_2_5 cmake folder")
|
||||
endfunction()
|
||||
|
||||
## OpenCV
|
||||
if(ENABLE_OPENCV)
|
||||
reset_deps_cache(OpenCV_DIR)
|
||||
|
||||
set(OPENCV_VERSION "4.5.2")
|
||||
set(OPENCV_BUILD "076")
|
||||
set(OPENCV_BUILD_YOCTO "772")
|
||||
|
||||
if(YOCTO_AARCH64)
|
||||
if(DEFINED ENV{THIRDPARTY_SERVER_PATH})
|
||||
set(IE_PATH_TO_DEPS "$ENV{THIRDPARTY_SERVER_PATH}")
|
||||
elseif(DEFINED THIRDPARTY_SERVER_PATH)
|
||||
set(IE_PATH_TO_DEPS "${THIRDPARTY_SERVER_PATH}")
|
||||
else()
|
||||
message(WARNING "OpenCV is not found!")
|
||||
endif()
|
||||
|
||||
if(DEFINED IE_PATH_TO_DEPS)
|
||||
set(OPENCV_SUFFIX "yocto_kmb")
|
||||
set(OPENCV_BUILD "${OPENCV_BUILD_YOCTO}")
|
||||
|
||||
RESOLVE_DEPENDENCY(OPENCV
|
||||
ARCHIVE_LIN "opencv/opencv_${OPENCV_VERSION}-${OPENCV_BUILD}_${OPENCV_SUFFIX}.txz"
|
||||
TARGET_PATH "${TEMP}/opencv_${OPENCV_VERSION}_${OPENCV_SUFFIX}/opencv"
|
||||
ENVIRONMENT "OpenCV_DIR"
|
||||
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*"
|
||||
SHA256 "23c250796ad5fc9db810e1680ccdb32c45dc0e50cace5e0f02b30faf652fe343")
|
||||
|
||||
unset(IE_PATH_TO_DEPS)
|
||||
endif()
|
||||
else()
|
||||
if(WIN32 AND X86_64)
|
||||
RESOLVE_DEPENDENCY(OPENCV
|
||||
ARCHIVE_WIN "opencv/opencv_${OPENCV_VERSION}-${OPENCV_BUILD}.txz"
|
||||
TARGET_PATH "${TEMP}/opencv_${OPENCV_VERSION}/opencv"
|
||||
ENVIRONMENT "OpenCV_DIR"
|
||||
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*"
|
||||
SHA256 "a14f872e6b63b6ac12c7ff47fa49e578d14c14433b57f5d85ab5dd48a079938c")
|
||||
elseif(APPLE AND X86_64)
|
||||
RESOLVE_DEPENDENCY(OPENCV
|
||||
ARCHIVE_MAC "opencv/opencv_${OPENCV_VERSION}-${OPENCV_BUILD}_osx.txz"
|
||||
TARGET_PATH "${TEMP}/opencv_${OPENCV_VERSION}_osx/opencv"
|
||||
ENVIRONMENT "OpenCV_DIR"
|
||||
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*"
|
||||
SHA256 "3e162f96e86cba8836618134831d9cf76df0438778b3e27e261dedad9254c514")
|
||||
elseif(LINUX)
|
||||
if(YOCTO_AARCH64)
|
||||
set(OPENCV_SUFFIX "yocto_kmb")
|
||||
set(OPENCV_BUILD "${OPENCV_BUILD_YOCTO}")
|
||||
elseif((OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.17 AND
|
||||
CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9") AND X86_64)
|
||||
set(OPENCV_SUFFIX "centos7")
|
||||
set(OPENCV_HASH "5fa76985c84fe7c64531682ef0b272510c51ac0d0565622514edf1c88b33404a")
|
||||
elseif(OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.31 AND X86_64)
|
||||
set(OPENCV_SUFFIX "ubuntu20")
|
||||
set(OPENCV_HASH "2fe7bbc40e1186eb8d099822038cae2821abf617ac7a16fadf98f377c723e268")
|
||||
elseif(OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.27 AND X86_64)
|
||||
set(OPENCV_SUFFIX "ubuntu18")
|
||||
set(OPENCV_HASH "db087dfd412eedb8161636ec083ada85ff278109948d1d62a06b0f52e1f04202")
|
||||
elseif(OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.24 AND ARM)
|
||||
set(OPENCV_SUFFIX "debian9arm")
|
||||
set(OPENCV_HASH "4274f8c40b17215f4049096b524e4a330519f3e76813c5a3639b69c48633d34e")
|
||||
elseif(OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.23 AND X86_64)
|
||||
set(OPENCV_SUFFIX "ubuntu16")
|
||||
set(OPENCV_HASH "cd46831b4d8d1c0891d8d22ff5b2670d0a465a8a8285243059659a50ceeae2c3")
|
||||
# elseif((LINUX_OS_NAME STREQUAL "CentOS 8" OR
|
||||
# LINUX_OS_NAME STREQUAL "CentOS 9") AND X86_64)
|
||||
# set(OPENCV_SUFFIX "centos8")
|
||||
# set(OPENCV_HASH "db087dfd412eedb8161636ec083ada85ff278109948d1d62a06b0f52e1f04202")
|
||||
elseif(NOT DEFINED OpenCV_DIR AND NOT DEFINED ENV{OpenCV_DIR})
|
||||
message(FATAL_ERROR "OpenCV is not available on current platform (OS = ${CMAKE_SYSTEM_NAME}, glibc ${OV_GLIBC_VERSION})")
|
||||
endif()
|
||||
RESOLVE_DEPENDENCY(OPENCV
|
||||
ARCHIVE_LIN "opencv/opencv_${OPENCV_VERSION}-${OPENCV_BUILD}_${OPENCV_SUFFIX}.txz"
|
||||
TARGET_PATH "${TEMP}/opencv_${OPENCV_VERSION}_${OPENCV_SUFFIX}/opencv"
|
||||
ENVIRONMENT "OpenCV_DIR"
|
||||
VERSION_REGEX ".*_([0-9]+.[0-9]+.[0-9]+).*"
|
||||
SHA256 ${OPENCV_HASH})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
set(ocv_cmake_path "${OPENCV}/sdk/native/jni/")
|
||||
else()
|
||||
set(ocv_cmake_path "${OPENCV}/cmake")
|
||||
endif()
|
||||
|
||||
update_deps_cache(OpenCV_DIR "${ocv_cmake_path}" "Path to OpenCV package folder")
|
||||
debug_message(STATUS "opencv=" ${OPENCV})
|
||||
else()
|
||||
reset_deps_cache(OpenCV_DIR)
|
||||
endif()
|
||||
|
||||
if(ENABLE_INTEL_GNA)
|
||||
reset_deps_cache(
|
||||
GNA_EXT_DIR
|
||||
@@ -231,8 +306,8 @@ if(ENABLE_INTEL_GNA)
|
||||
GNA_LIB_DIR
|
||||
libGNA_INCLUDE_DIRS
|
||||
libGNA_LIBRARIES_BASE_PATH)
|
||||
set(GNA_VERSION "03.05.00.2116")
|
||||
set(GNA_HASH "960350567702bda17276ac4c060d7524fb7ce7ced785004bd861c81ff2bfe2c5")
|
||||
set(GNA_VERSION "03.00.00.1910")
|
||||
set(GNA_HASH "894ddbc0ae3459f04513b853b0cabc32890dd4ea37228a022b6a32101bdbb7f8")
|
||||
|
||||
set(FILES_TO_EXTRACT_LIST gna_${GNA_VERSION}/include)
|
||||
if(WIN32)
|
||||
|
||||
@@ -0,0 +1,317 @@
|
||||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
if(NOT DEFINED IEDevScripts_DIR)
|
||||
message(FATAL_ERROR "IEDevScripts_DIR is not defined")
|
||||
endif()
|
||||
|
||||
set(OLD_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_MODULE_PATH "${IEDevScripts_DIR}")
|
||||
|
||||
function(set_ci_build_number)
|
||||
set(repo_root "${CMAKE_SOURCE_DIR}")
|
||||
include(version)
|
||||
foreach(var CI_BUILD_NUMBER OpenVINO_VERSION OpenVINO_SOVERSION OpenVINO_VERSION_SUFFIX OpenVINO_VERSION_BUILD
|
||||
OpenVINO_VERSION_MAJOR OpenVINO_VERSION_MINOR OpenVINO_VERSION_PATCH)
|
||||
if(NOT DEFINED ${var})
|
||||
message(FATAL_ERROR "${var} version component is not defined")
|
||||
endif()
|
||||
set(${var} "${${var}}" PARENT_SCOPE)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
include(features)
|
||||
|
||||
set_ci_build_number()
|
||||
|
||||
#
|
||||
# Detect target
|
||||
#
|
||||
|
||||
include(target_flags)
|
||||
|
||||
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" ARCH_FOLDER)
|
||||
if(X86_64)
|
||||
set(ARCH_FOLDER intel64)
|
||||
elseif(X86)
|
||||
set(ARCH_FOLDER ia32)
|
||||
elseif(MSVC AND ARM)
|
||||
set(ARCH_FOLDER arm)
|
||||
elseif((MSVC OR APPLE) AND AARCH64)
|
||||
set(ARCH_FOLDER arm64)
|
||||
elseif(UNIVERSAL2)
|
||||
set(ARCH_FOLDER universal2)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Prepare temporary folder
|
||||
#
|
||||
|
||||
function(set_temp_directory temp_variable source_tree_dir)
|
||||
if(DEFINED OV_TEMP)
|
||||
message(STATUS "OV_TEMP cmake variable is set : ${OV_TEMP}")
|
||||
file(TO_CMAKE_PATH ${OV_TEMP} temp)
|
||||
elseif (DEFINED ENV{DL_SDK_TEMP} AND NOT $ENV{DL_SDK_TEMP} STREQUAL "")
|
||||
message(STATUS "DL_SDK_TEMP environment is set : $ENV{DL_SDK_TEMP}")
|
||||
file(TO_CMAKE_PATH $ENV{DL_SDK_TEMP} temp)
|
||||
else ()
|
||||
set(temp ${source_tree_dir}/temp)
|
||||
endif()
|
||||
|
||||
set("${temp_variable}" "${temp}" CACHE PATH "Path to temp directory")
|
||||
if(ALTERNATIVE_PATH)
|
||||
set(ALTERNATIVE_PATH "${ALTERNATIVE_PATH}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# For cross-compilation
|
||||
#
|
||||
|
||||
# Search packages for the host system instead of packages for the target system
|
||||
# in case of cross compilation these macros should be defined by the toolchain file
|
||||
if(NOT COMMAND find_host_package)
|
||||
macro(find_host_package)
|
||||
find_package(${ARGN})
|
||||
endmacro()
|
||||
endif()
|
||||
if(NOT COMMAND find_host_library)
|
||||
macro(find_host_library)
|
||||
find_library(${ARGN})
|
||||
endmacro()
|
||||
endif()
|
||||
if(NOT COMMAND find_host_program)
|
||||
macro(find_host_program)
|
||||
find_program(${ARGN})
|
||||
endmacro()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Common scripts
|
||||
#
|
||||
|
||||
include(coverage/coverage)
|
||||
include(shellcheck/shellcheck)
|
||||
|
||||
# printing debug messages
|
||||
include(debug)
|
||||
|
||||
if(OS_FOLDER)
|
||||
message ("**** OS FOLDER IS: [${OS_FOLDER}]")
|
||||
if(OS_FOLDER STREQUAL "ON")
|
||||
message ("**** USING OS FOLDER: [${CMAKE_SYSTEM_NAME}]")
|
||||
set(BIN_FOLDER "bin/${CMAKE_SYSTEM_NAME}/${ARCH_FOLDER}")
|
||||
else()
|
||||
set(BIN_FOLDER "bin/${OS_FOLDER}/${ARCH_FOLDER}")
|
||||
endif()
|
||||
else()
|
||||
set(BIN_FOLDER "bin/${ARCH_FOLDER}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "CMake build type")
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release;Debug;RelWithDebInfo;MinSizeRel")
|
||||
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||
set(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "CMake default build type")
|
||||
endif()
|
||||
|
||||
if(USE_BUILD_TYPE_SUBFOLDER)
|
||||
set(BIN_FOLDER "${BIN_FOLDER}/${CMAKE_BUILD_TYPE}")
|
||||
endif()
|
||||
|
||||
# allow to override default OUTPUT_ROOT root
|
||||
if(NOT DEFINED OUTPUT_ROOT)
|
||||
if(NOT DEFINED OpenVINO_SOURCE_DIR)
|
||||
message(FATAL_ERROR "OpenVINO_SOURCE_DIR is not defined")
|
||||
endif()
|
||||
set(OUTPUT_ROOT ${OpenVINO_SOURCE_DIR})
|
||||
endif()
|
||||
|
||||
# Enable postfixes for Debug/Release builds
|
||||
set(IE_DEBUG_POSTFIX_WIN "d")
|
||||
set(IE_RELEASE_POSTFIX_WIN "")
|
||||
set(IE_DEBUG_POSTFIX_LIN "")
|
||||
set(IE_RELEASE_POSTFIX_LIN "")
|
||||
set(IE_DEBUG_POSTFIX_MAC "d")
|
||||
set(IE_RELEASE_POSTFIX_MAC "")
|
||||
|
||||
if(WIN32)
|
||||
set(IE_DEBUG_POSTFIX ${IE_DEBUG_POSTFIX_WIN})
|
||||
set(IE_RELEASE_POSTFIX ${IE_RELEASE_POSTFIX_WIN})
|
||||
elseif(APPLE)
|
||||
set(IE_DEBUG_POSTFIX ${IE_DEBUG_POSTFIX_MAC})
|
||||
set(IE_RELEASE_POSTFIX ${IE_RELEASE_POSTFIX_MAC})
|
||||
else()
|
||||
set(IE_DEBUG_POSTFIX ${IE_DEBUG_POSTFIX_LIN})
|
||||
set(IE_RELEASE_POSTFIX ${IE_RELEASE_POSTFIX_LIN})
|
||||
endif()
|
||||
|
||||
set(CMAKE_DEBUG_POSTFIX ${IE_DEBUG_POSTFIX})
|
||||
set(CMAKE_RELEASE_POSTFIX ${IE_RELEASE_POSTFIX})
|
||||
|
||||
# Support CMake multi-configuration for Visual Studio / Ninja or Xcode build
|
||||
if (OV_GENERATOR_MULTI_CONFIG)
|
||||
set(IE_BUILD_POSTFIX $<$<CONFIG:Debug>:${IE_DEBUG_POSTFIX}>$<$<CONFIG:Release>:${IE_RELEASE_POSTFIX}>)
|
||||
else ()
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(IE_BUILD_POSTFIX ${IE_DEBUG_POSTFIX})
|
||||
else()
|
||||
set(IE_BUILD_POSTFIX ${IE_RELEASE_POSTFIX})
|
||||
endif()
|
||||
endif()
|
||||
add_definitions(-DIE_BUILD_POSTFIX=\"${IE_BUILD_POSTFIX}\")
|
||||
|
||||
macro(ov_set_if_not_defined var value)
|
||||
if(NOT DEFINED ${var})
|
||||
set(${var} ${value})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
ov_set_if_not_defined(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
|
||||
if(CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
|
||||
# to make sure that lib/<multiarch-tuple> is created on Debian
|
||||
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Cmake install prefix" FORCE)
|
||||
endif()
|
||||
|
||||
include(packaging/packaging)
|
||||
|
||||
set(CMAKE_SKIP_INSTALL_RPATH ON)
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
|
||||
|
||||
if(DEFINED OV_CPACK_LIBRARYDIR)
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OV_CPACK_LIBRARYDIR}")
|
||||
else()
|
||||
message(FATAL_ERROR "Internal error: OV_CPACK_LIBRARYDIR is not defined, while it's required to initialize RPATH")
|
||||
endif()
|
||||
|
||||
if(CPACK_GENERATOR STREQUAL "BREW")
|
||||
set(CMAKE_SKIP_INSTALL_RPATH OFF)
|
||||
endif()
|
||||
|
||||
# WA for Xcode generator + object libraries issue:
|
||||
# https://gitlab.kitware.com/cmake/cmake/issues/20260
|
||||
# http://cmake.3232098.n2.nabble.com/XCODE-DEPEND-HELPER-make-Deletes-Targets-Before-and-While-They-re-Built-td7598277.html
|
||||
set(CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY ON)
|
||||
endif()
|
||||
|
||||
# Use solution folders
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
# CMake 3.0+: Enable CMAKE_<LANG>_COMPILER_ID AppleClang
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0025 NEW)
|
||||
# CMake 3.0+: MACOSX_RPATH is enabled by default.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0026 NEW)
|
||||
# CMake 3.0+ (2.8.12): MacOS "@rpath" in target's install name
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0042 NEW)
|
||||
# CMake 3.9+: `RPATH` settings on macOS do not affect `install_name`.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0068 NEW)
|
||||
# CMake 3.12+: find_package() uses <PackageName>_ROOT variables.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0074 NEW)
|
||||
# CMake 3.13+: option() honors normal variables.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
||||
# CMake 3.22+ :cmake_dependent_option() supports full Condition Syntax
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0127 NEW)
|
||||
|
||||
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "Don't warn about obsolete cmake versions in 3rdparty")
|
||||
set(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION ON CACHE BOOL "Warn about absolute paths in destination")
|
||||
|
||||
# LTO
|
||||
|
||||
if(ENABLE_LTO)
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
|
||||
include(CheckIPOSupported)
|
||||
|
||||
check_ipo_supported(RESULT IPO_SUPPORTED
|
||||
OUTPUT OUTPUT_MESSAGE
|
||||
LANGUAGES C CXX)
|
||||
|
||||
if(NOT IPO_SUPPORTED)
|
||||
set(ENABLE_LTO "OFF" CACHE STRING "Enable Link Time Optmization" FORCE)
|
||||
message(WARNING "IPO / LTO is not supported: ${OUTPUT_MESSAGE}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# General flags
|
||||
|
||||
macro(ov_install_static_lib target comp)
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
get_target_property(target_type ${target} TYPE)
|
||||
if(${target_type} STREQUAL "STATIC_LIBRARY")
|
||||
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL FALSE)
|
||||
endif()
|
||||
install(TARGETS ${target} EXPORT OpenVINOTargets
|
||||
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
include(compile_flags/sdl)
|
||||
include(compile_flags/os_flags)
|
||||
include(compile_flags/sanitizer)
|
||||
include(compile_flags/fuzzing)
|
||||
include(download/dependency_solver)
|
||||
include(cross_compile/cross_compiled_func)
|
||||
include(faster_build)
|
||||
include(whole_archive)
|
||||
include(linux_name)
|
||||
include(models)
|
||||
include(api_validator/api_validator)
|
||||
|
||||
include(vs_version/vs_version)
|
||||
include(plugins/plugins)
|
||||
include(frontends/frontends)
|
||||
include(add_ie_target)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
if(ENABLE_FUZZING)
|
||||
enable_fuzzing()
|
||||
endif()
|
||||
|
||||
get_linux_name(LINUX_OS_NAME)
|
||||
|
||||
# macro to mark target as conditionally compiled
|
||||
|
||||
function(ie_mark_target_as_cc TARGET_NAME)
|
||||
set(cc_library openvino::conditional_compilation)
|
||||
if(TARGET IE::conditional_compilation)
|
||||
set(cc_library IE::conditional_compilation)
|
||||
endif()
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${cc_library})
|
||||
|
||||
if(NOT (SELECTIVE_BUILD STREQUAL "ON"))
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT TARGET ${TARGET_NAME})
|
||||
message(FATAL_ERROR "${TARGET_NAME} does not represent target")
|
||||
endif()
|
||||
|
||||
get_target_property(sources ${TARGET_NAME} SOURCES)
|
||||
set_source_files_properties(${sources} PROPERTIES OBJECT_DEPENDS ${GENERATED_HEADER})
|
||||
endfunction()
|
||||
|
||||
function(ov_mark_target_as_cc)
|
||||
ie_mark_target_as_cc(${ARGN})
|
||||
endfunction()
|
||||
|
||||
include(python_requirements)
|
||||
|
||||
# Code style utils
|
||||
|
||||
include(cpplint/cpplint)
|
||||
include(clang_format/clang_format)
|
||||
include(ncc_naming_style/ncc_naming_style)
|
||||
|
||||
# Restore state
|
||||
set(CMAKE_MODULE_PATH ${OLD_CMAKE_MODULE_PATH})
|
||||
@@ -1,311 +0,0 @@
|
||||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
if(NOT DEFINED OpenVINODeveloperScripts_DIR )
|
||||
message(FATAL_ERROR "OpenVINODeveloperScripts_DIR is not defined")
|
||||
endif()
|
||||
|
||||
set(IEDevScripts_DIR "${OpenVINODeveloperScripts_DIR}") # for BW compatibility
|
||||
|
||||
# disable FindPkgConfig.cmake for Android
|
||||
if(ANDROID)
|
||||
# Android toolchain does not provide pkg-config file. So, cmake mistakenly uses
|
||||
# build system pkg-config executable, which finds packages on build system. Such
|
||||
# libraries cannot be linked into Android binaries.
|
||||
set(CMAKE_DISABLE_FIND_PACKAGE_PkgConfig ON)
|
||||
endif()
|
||||
|
||||
macro(ov_set_if_not_defined var value)
|
||||
if(NOT DEFINED ${var})
|
||||
set(${var} ${value})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
set(OLD_CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
|
||||
set(CMAKE_MODULE_PATH "${OpenVINODeveloperScripts_DIR}")
|
||||
|
||||
function(ov_set_ci_build_number)
|
||||
include(version)
|
||||
ov_parse_ci_build_number("${CMAKE_SOURCE_DIR}")
|
||||
|
||||
foreach(var CI_BUILD_NUMBER OpenVINO_VERSION OpenVINO_SOVERSION OpenVINO_VERSION_SUFFIX
|
||||
OpenVINO_VERSION_MAJOR OpenVINO_VERSION_MINOR OpenVINO_VERSION_PATCH OpenVINO_VERSION_BUILD)
|
||||
if(NOT DEFINED ${var})
|
||||
message(FATAL_ERROR "${var} version component is not defined")
|
||||
endif()
|
||||
set(${var} "${${var}}" PARENT_SCOPE)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# explicitly configure FindPython3.cmake to find python3 in virtual environment first
|
||||
ov_set_if_not_defined(Python3_FIND_STRATEGY LOCATION)
|
||||
|
||||
include(features)
|
||||
|
||||
ov_set_ci_build_number()
|
||||
|
||||
#
|
||||
# Detect target
|
||||
#
|
||||
|
||||
include(target_flags)
|
||||
|
||||
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" ARCH_FOLDER)
|
||||
if(X86_64)
|
||||
set(ARCH_FOLDER intel64)
|
||||
elseif(X86)
|
||||
set(ARCH_FOLDER ia32)
|
||||
elseif(MSVC AND ARM)
|
||||
set(ARCH_FOLDER arm)
|
||||
elseif((MSVC OR APPLE) AND AARCH64)
|
||||
set(ARCH_FOLDER arm64)
|
||||
elseif(UNIVERSAL2)
|
||||
set(ARCH_FOLDER universal2)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Prepare temporary folder
|
||||
#
|
||||
|
||||
function(ov_set_temp_directory temp_variable source_tree_dir)
|
||||
if(DEFINED OV_TEMP)
|
||||
message(STATUS "OV_TEMP cmake variable is set : ${OV_TEMP}")
|
||||
file(TO_CMAKE_PATH ${OV_TEMP} temp)
|
||||
elseif (DEFINED ENV{DL_SDK_TEMP} AND NOT $ENV{DL_SDK_TEMP} STREQUAL "")
|
||||
message(STATUS "DL_SDK_TEMP environment is set : $ENV{DL_SDK_TEMP}")
|
||||
file(TO_CMAKE_PATH $ENV{DL_SDK_TEMP} temp)
|
||||
else ()
|
||||
set(temp ${source_tree_dir}/temp)
|
||||
endif()
|
||||
|
||||
set("${temp_variable}" "${temp}" CACHE PATH "Path to temp directory")
|
||||
if(ALTERNATIVE_PATH)
|
||||
set(ALTERNATIVE_PATH "${ALTERNATIVE_PATH}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
macro(set_temp_directory)
|
||||
message(WARNING "'set_temp_directory' is deprecated. Please, use 'ov_set_temp_directory'")
|
||||
ov_set_temp_directory(${ARGV})
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# For cross-compilation
|
||||
#
|
||||
|
||||
include(cross_compile/find_commands)
|
||||
include(cross_compile/native_compile)
|
||||
|
||||
#
|
||||
# Common scripts
|
||||
#
|
||||
|
||||
include(coverage/coverage)
|
||||
include(shellcheck/shellcheck)
|
||||
|
||||
# printing debug messages
|
||||
include(debug)
|
||||
|
||||
if(OS_FOLDER)
|
||||
message ("**** OS FOLDER IS: [${OS_FOLDER}]")
|
||||
if(OS_FOLDER STREQUAL "ON")
|
||||
message ("**** USING OS FOLDER: [${CMAKE_SYSTEM_NAME}]")
|
||||
set(BIN_FOLDER "bin/${CMAKE_SYSTEM_NAME}/${ARCH_FOLDER}")
|
||||
else()
|
||||
set(BIN_FOLDER "bin/${OS_FOLDER}/${ARCH_FOLDER}")
|
||||
endif()
|
||||
else()
|
||||
set(BIN_FOLDER "bin/${ARCH_FOLDER}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config")
|
||||
# 'Ninja Multi-Config' specific, see:
|
||||
# https://cmake.org/cmake/help/latest/variable/CMAKE_DEFAULT_BUILD_TYPE.html
|
||||
set(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "CMake default build type")
|
||||
elseif(NOT OV_GENERATOR_MULTI_CONFIG)
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
# default value
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
set(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "CMake build type")
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Release;Debug;RelWithDebInfo;MinSizeRel")
|
||||
endif()
|
||||
|
||||
if(USE_BUILD_TYPE_SUBFOLDER)
|
||||
set(BIN_FOLDER "${BIN_FOLDER}/${CMAKE_BUILD_TYPE}")
|
||||
endif()
|
||||
|
||||
# allow to override default OUTPUT_ROOT root
|
||||
if(NOT DEFINED OUTPUT_ROOT)
|
||||
if(DEFINED OpenVINO_SOURCE_DIR)
|
||||
# For BW compatiblity, when extra modules are built separately
|
||||
# but still write its artifacts to OpenVINO source directory
|
||||
set(OUTPUT_ROOT ${OpenVINO_SOURCE_DIR})
|
||||
else()
|
||||
set(OUTPUT_ROOT ${CMAKE_SOURCE_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Enable postfixes for Debug/Release builds
|
||||
set(OV_DEBUG_POSTFIX_WIN "d")
|
||||
set(OV_RELEASE_POSTFIX_WIN "")
|
||||
set(OV_DEBUG_POSTFIX_LIN "")
|
||||
set(OV_RELEASE_POSTFIX_LIN "")
|
||||
set(OV_DEBUG_POSTFIX_MAC "d")
|
||||
set(OV_RELEASE_POSTFIX_MAC "")
|
||||
|
||||
if(WIN32)
|
||||
set(OV_DEBUG_POSTFIX ${OV_DEBUG_POSTFIX_WIN})
|
||||
set(OV_RELEASE_POSTFIX ${OV_RELEASE_POSTFIX_WIN})
|
||||
elseif(APPLE)
|
||||
set(OV_DEBUG_POSTFIX ${OV_DEBUG_POSTFIX_MAC})
|
||||
set(OV_RELEASE_POSTFIX ${OV_RELEASE_POSTFIX_MAC})
|
||||
else()
|
||||
set(OV_DEBUG_POSTFIX ${OV_DEBUG_POSTFIX_LIN})
|
||||
set(OV_RELEASE_POSTFIX ${OV_RELEASE_POSTFIX_LIN})
|
||||
endif()
|
||||
|
||||
set(CMAKE_DEBUG_POSTFIX ${OV_DEBUG_POSTFIX})
|
||||
set(CMAKE_RELEASE_POSTFIX ${OV_RELEASE_POSTFIX})
|
||||
|
||||
# Support CMake multi-configuration for Visual Studio / Ninja or Xcode build
|
||||
if(OV_GENERATOR_MULTI_CONFIG)
|
||||
set(OV_BUILD_POSTFIX $<$<CONFIG:Debug>:${OV_DEBUG_POSTFIX}>$<$<CONFIG:Release>:${OV_RELEASE_POSTFIX}>)
|
||||
else()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(OV_BUILD_POSTFIX ${OV_DEBUG_POSTFIX})
|
||||
else()
|
||||
set(OV_BUILD_POSTFIX ${OV_RELEASE_POSTFIX})
|
||||
endif()
|
||||
endif()
|
||||
add_definitions(-DOV_BUILD_POSTFIX=\"${OV_BUILD_POSTFIX}\")
|
||||
|
||||
# for BW compatibility; removed before 2024.0
|
||||
set(IE_BUILD_POSTFIX ${OV_BUILD_POSTFIX})
|
||||
add_definitions(-DIE_BUILD_POSTFIX=\"${IE_BUILD_POSTFIX}\")
|
||||
|
||||
ov_set_if_not_defined(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
ov_set_if_not_defined(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
|
||||
|
||||
include(packaging/packaging)
|
||||
|
||||
if(APPLE)
|
||||
# WA for Xcode generator + object libraries issue:
|
||||
# https://gitlab.kitware.com/cmake/cmake/issues/20260
|
||||
# http://cmake.3232098.n2.nabble.com/XCODE-DEPEND-HELPER-make-Deletes-Targets-Before-and-While-They-re-Built-td7598277.html
|
||||
set(CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY ON)
|
||||
endif()
|
||||
|
||||
# Use solution folders
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
# CMake 3.0+: Enable CMAKE_<LANG>_COMPILER_ID AppleClang
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0025 NEW)
|
||||
# CMake 3.0+: MACOSX_RPATH is enabled by default.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0026 NEW)
|
||||
# CMake 3.0+ (2.8.12): MacOS "@rpath" in target's install name
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0042 NEW)
|
||||
# CMake 3.9+: `RPATH` settings on macOS do not affect `install_name`.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0068 NEW)
|
||||
# CMake 3.12+: find_package() uses <PackageName>_ROOT variables.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0074 NEW)
|
||||
# CMake 3.13+: option() honors normal variables.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
||||
# CMake 3.15: Modules FindPython3, FindPython2 and FindPython use LOCATION for lookup strategy
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0094 NEW)
|
||||
# CMake 3.19+: An imported target missing its location property fails during generation.
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0111 NEW)
|
||||
# CMake 3.22+ :cmake_dependent_option() supports full Condition Syntax
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0127 NEW)
|
||||
|
||||
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "Don't warn about obsolete cmake versions in 3rdparty")
|
||||
set(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION ON CACHE BOOL "Warn about absolute paths in destination")
|
||||
|
||||
# LTO
|
||||
|
||||
if(ENABLE_LTO)
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
|
||||
include(CheckIPOSupported)
|
||||
|
||||
check_ipo_supported(RESULT IPO_SUPPORTED
|
||||
OUTPUT OUTPUT_MESSAGE
|
||||
LANGUAGES C CXX)
|
||||
|
||||
if(NOT IPO_SUPPORTED)
|
||||
set(ENABLE_LTO "OFF" CACHE STRING "Enable Link Time Optimization" FORCE)
|
||||
message(WARNING "IPO / LTO is not supported: ${OUTPUT_MESSAGE}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# General flags
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
include(compile_flags/sdl)
|
||||
include(compile_flags/os_flags)
|
||||
include(compile_flags/sanitizer)
|
||||
include(compile_flags/fuzzing)
|
||||
include(download/dependency_solver)
|
||||
include(cross_compile/cross_compiled_func)
|
||||
include(faster_build)
|
||||
include(whole_archive)
|
||||
include(linux_name)
|
||||
include(models)
|
||||
include(api_validator/api_validator)
|
||||
|
||||
include(vs_version/vs_version)
|
||||
include(plugins/plugins)
|
||||
include(frontends/frontends)
|
||||
include(add_target_helpers)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
if(ENABLE_FUZZING)
|
||||
enable_fuzzing()
|
||||
endif()
|
||||
|
||||
get_linux_name(LINUX_OS_NAME)
|
||||
|
||||
# macro to mark target as conditionally compiled
|
||||
|
||||
function(ov_mark_target_as_cc TARGET_NAME)
|
||||
set(cc_library openvino::conditional_compilation)
|
||||
if(TARGET IE::conditional_compilation)
|
||||
set(cc_library IE::conditional_compilation)
|
||||
endif()
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${cc_library})
|
||||
|
||||
if(NOT SELECTIVE_BUILD STREQUAL "ON")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT TARGET ${TARGET_NAME})
|
||||
message(FATAL_ERROR "${TARGET_NAME} does not represent target")
|
||||
endif()
|
||||
|
||||
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(ie_mark_target_as_cc TARGET_NAME)
|
||||
message(WARNING "This function is deprecated. Please use ov_mark_target_as_cc(TARGET_NAME) instead.")
|
||||
ov_mark_target_as_cc(${TARGET_NAME})
|
||||
endfunction()
|
||||
|
||||
include(python_requirements)
|
||||
|
||||
# Code style utils
|
||||
|
||||
include(cpplint/cpplint)
|
||||
include(clang_format/clang_format)
|
||||
include(ncc_naming_style/ncc_naming_style)
|
||||
|
||||
# Restore state
|
||||
set(CMAKE_MODULE_PATH ${OLD_CMAKE_MODULE_PATH})
|
||||
@@ -0,0 +1,177 @@
|
||||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
#[[
|
||||
function to create CMake target and setup its options in a declarative style.
|
||||
Example:
|
||||
addIeTarget(
|
||||
NAME core_lib
|
||||
ADD_CPPLINT
|
||||
DEVELOPER_PACKAGE <component>
|
||||
TYPE <SHARED / STATIC / EXECUTABLE>
|
||||
ROOT ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
ADDITIONAL_SOURCE_DIRS
|
||||
/some/additional/sources
|
||||
EXCLUDED_SOURCE_PATHS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unnecessary_sources/
|
||||
INCLUDES
|
||||
${SDL_INCLUDES}
|
||||
/some/specific/path
|
||||
LINK_LIBRARIES
|
||||
link_dependencies
|
||||
DEPENDENCIES
|
||||
dependencies
|
||||
ie::important_plugin
|
||||
OBJECT_FILES
|
||||
object libraries
|
||||
)
|
||||
#]]
|
||||
function(addIeTarget)
|
||||
set(options
|
||||
ADD_CPPLINT # Enables code style checks for the target
|
||||
ADD_CLANG_FORMAT # Enables code style checks for the target
|
||||
)
|
||||
set(oneValueRequiredArgs
|
||||
TYPE # type of target, SHARED|STATIC|EXECUTABLE. SHARED and STATIC correspond to add_library, EXECUTABLE to add_executable
|
||||
NAME # name of target
|
||||
ROOT # root directory to be used for recursive search of source files
|
||||
)
|
||||
set(oneValueOptionalArgs
|
||||
DEVELOPER_PACKAGE # Enables exporting of the target through the developer package
|
||||
)
|
||||
set(multiValueArgs
|
||||
INCLUDES # Extra include directories
|
||||
LINK_LIBRARIES # Link libraries (in form of target name or file name)
|
||||
DEPENDENCIES # compile order dependencies (no link implied)
|
||||
DEFINES # extra preprocessor definitions
|
||||
ADDITIONAL_SOURCE_DIRS # list of directories which will be used to recursive search of source files in addition to ROOT
|
||||
OBJECT_FILES # list of object files to be additionally built into the target
|
||||
EXCLUDED_SOURCE_PATHS # list of paths excluded from the global recursive search of source files
|
||||
LINK_LIBRARIES_WHOLE_ARCHIVE # list of static libraries to link, each object file should be used and not discarded
|
||||
LINK_FLAGS # list of extra commands to linker
|
||||
)
|
||||
cmake_parse_arguments(ARG "${options}" "${oneValueRequiredArgs};${oneValueOptionalArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
|
||||
# sanity checks
|
||||
foreach(argName ${oneValueRequiredArgs})
|
||||
if (NOT ARG_${argName})
|
||||
message(SEND_ERROR "Argument '${argName}' is required.")
|
||||
endif()
|
||||
endforeach()
|
||||
if (ARG_UNPARSED_ARGUMENTS)
|
||||
message(SEND_ERROR "Unexpected parameters have passed to function: ${ARG_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
|
||||
# adding files to target
|
||||
set(includeSearch)
|
||||
set(sourceSearch)
|
||||
foreach(directory ${ARG_ROOT} ${ARG_ADDITIONAL_SOURCE_DIRS})
|
||||
list(APPEND includeSearch ${directory}/*.h ${directory}/*.hpp)
|
||||
list(APPEND sourceSearch ${directory}/*.cpp)
|
||||
endforeach()
|
||||
|
||||
file(GLOB_RECURSE includes ${includeSearch})
|
||||
file(GLOB_RECURSE sources ${sourceSearch})
|
||||
|
||||
# remove unnecessary directories
|
||||
foreach(excludedDir ${ARG_EXCLUDED_SOURCE_PATHS})
|
||||
list(FILTER includes EXCLUDE REGEX "${excludedDir}.*")
|
||||
list(FILTER sources EXCLUDE REGEX "${excludedDir}.*")
|
||||
endforeach()
|
||||
|
||||
source_group("include" FILES ${includes})
|
||||
source_group("src" FILES ${sources})
|
||||
|
||||
set(all_sources)
|
||||
list(APPEND all_sources ${sources} ${includes} ${ARG_OBJECT_FILES})
|
||||
|
||||
# defining a target
|
||||
if (ARG_TYPE STREQUAL EXECUTABLE)
|
||||
add_executable(${ARG_NAME} ${all_sources})
|
||||
elseif(ARG_TYPE STREQUAL STATIC OR ARG_TYPE STREQUAL SHARED)
|
||||
add_library(${ARG_NAME} ${ARG_TYPE} ${all_sources})
|
||||
else()
|
||||
message(SEND_ERROR "Invalid target type ${ARG_TYPE} specified for target name ${ARG_NAME}")
|
||||
endif()
|
||||
|
||||
ieTargetLinkWholeArchive(${ARG_NAME} ${ARG_LINK_LIBRARIES_WHOLE_ARCHIVE})
|
||||
|
||||
if (ARG_DEFINES)
|
||||
target_compile_definitions(${ARG_NAME} PRIVATE ${ARG_DEFINES})
|
||||
endif()
|
||||
if (ARG_INCLUDES)
|
||||
target_include_directories(${ARG_NAME} PRIVATE ${ARG_INCLUDES})
|
||||
endif()
|
||||
if (ARG_LINK_LIBRARIES)
|
||||
target_link_libraries(${ARG_NAME} PRIVATE ${ARG_LINK_LIBRARIES})
|
||||
endif()
|
||||
if (ARG_DEPENDENCIES)
|
||||
add_dependencies(${ARG_NAME} ${ARG_DEPENDENCIES})
|
||||
endif()
|
||||
if (ARG_LINK_FLAGS)
|
||||
get_target_property(oldLinkFlags ${ARG_NAME} LINK_FLAGS)
|
||||
string(REPLACE ";" " " ARG_LINK_FLAGS "${ARG_LINK_FLAGS}")
|
||||
set_target_properties(${ARG_NAME} PROPERTIES LINK_FLAGS "${oldLinkFlags} ${ARG_LINK_FLAGS}")
|
||||
endif()
|
||||
if (ARG_ADD_CPPLINT)
|
||||
# code style
|
||||
add_cpplint_target(${ARG_NAME}_cpplint FOR_TARGETS ${ARG_NAME})
|
||||
endif()
|
||||
if (ARG_ADD_CLANG_FORMAT)
|
||||
# code style
|
||||
add_clang_format_target(${ARG_NAME}_clang FOR_TARGETS ${ARG_NAME})
|
||||
endif()
|
||||
if (ARG_DEVELOPER_PACKAGE)
|
||||
# developer package
|
||||
openvino_developer_export_targets(COMPONENT ${ARG_DEVELOPER_PACKAGE}
|
||||
TARGETS ${ARG_NAME})
|
||||
endif()
|
||||
if(WIN32)
|
||||
# Provide default compile pdb name equal to target name
|
||||
set_target_properties(${ARG_NAME} PROPERTIES COMPILE_PDB_NAME ${ARG_NAME})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(ov_add_target)
|
||||
addIeTarget(${ARGV})
|
||||
endfunction()
|
||||
|
||||
#[[
|
||||
Wrapper function over addIeTarget, that also adds a test with the same name.
|
||||
You could use
|
||||
addIeTargetTest( ... LABELS labelOne labelTwo )
|
||||
also to provide labels for that test.
|
||||
Important: you MUST pass LABELS as last argument, otherwise it will consume any parameters that come after.
|
||||
#]]
|
||||
function(addIeTargetTest)
|
||||
set(options
|
||||
)
|
||||
set(oneValueRequiredArgs
|
||||
NAME
|
||||
)
|
||||
set(oneValueOptionalArgs
|
||||
COMPONENT
|
||||
)
|
||||
set(multiValueArgs
|
||||
LABELS
|
||||
)
|
||||
cmake_parse_arguments(ARG "${options}" "${oneValueRequiredArgs};${oneValueOptionalArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
if (NOT DEFINED ARG_COMPONENT)
|
||||
set(ARG_COMPONENT tests)
|
||||
endif()
|
||||
|
||||
addIeTarget(TYPE EXECUTABLE NAME ${ARG_NAME} ${ARG_UNPARSED_ARGUMENTS})
|
||||
|
||||
add_test(NAME ${ARG_NAME} COMMAND ${ARG_NAME})
|
||||
set_property(TEST ${ARG_NAME} PROPERTY LABELS ${ARG_LABELS})
|
||||
|
||||
install(TARGETS ${ARG_NAME}
|
||||
RUNTIME DESTINATION tests
|
||||
COMPONENT ${ARG_COMPONENT}
|
||||
EXCLUDE_FROM_ALL)
|
||||
endfunction()
|
||||
|
||||
function(ov_add_test_target)
|
||||
addIeTargetTest(${ARGV})
|
||||
endfunction()
|
||||
@@ -1,195 +0,0 @@
|
||||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
#[[
|
||||
function to create CMake target and setup its options in a declarative style.
|
||||
Example:
|
||||
ov_add_target(
|
||||
NAME core_lib
|
||||
ADD_CPPLINT
|
||||
ADD_CLANG_FORMAT
|
||||
TYPE <SHARED / STATIC / EXECUTABLE>
|
||||
ROOT ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
ADDITIONAL_SOURCE_DIRS
|
||||
/some/additional/sources
|
||||
EXCLUDED_SOURCE_PATHS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/unnecessary_sources/
|
||||
INCLUDES
|
||||
${SDL_INCLUDES}
|
||||
/some/specific/path
|
||||
LINK_LIBRARIES
|
||||
link_dependencies
|
||||
DEPENDENCIES
|
||||
dependencies
|
||||
openvino::important_plugin
|
||||
OBJECT_FILES
|
||||
object libraries
|
||||
DEFINES
|
||||
DEF1 DEF2
|
||||
LINK_LIBRARIES_WHOLE_ARCHIVE
|
||||
lib1 lib2
|
||||
LINK_FLAGS
|
||||
flag1 flag2
|
||||
)
|
||||
#]]
|
||||
function(ov_add_target)
|
||||
set(options
|
||||
ADD_CPPLINT # Enables code style checks for the target
|
||||
ADD_CLANG_FORMAT # Enables code style checks for the target
|
||||
)
|
||||
set(oneValueRequiredArgs
|
||||
TYPE # type of target, SHARED|STATIC|EXECUTABLE. SHARED and STATIC correspond to add_library, EXECUTABLE to add_executable
|
||||
NAME # name of target
|
||||
ROOT # root directory to be used for recursive search of source files
|
||||
)
|
||||
set(multiValueArgs
|
||||
INCLUDES # Extra include directories
|
||||
LINK_LIBRARIES # Link libraries (in form of target name or file name)
|
||||
DEPENDENCIES # compile order dependencies (no link implied)
|
||||
DEFINES # extra preprocessor definitions
|
||||
ADDITIONAL_SOURCE_DIRS # list of directories which will be used to recursive search of source files in addition to ROOT
|
||||
OBJECT_FILES # list of object files to be additionally built into the target
|
||||
EXCLUDED_SOURCE_PATHS # list of paths excluded from the global recursive search of source files
|
||||
LINK_LIBRARIES_WHOLE_ARCHIVE # list of static libraries to link, each object file should be used and not discarded
|
||||
LINK_FLAGS # list of extra commands to linker
|
||||
)
|
||||
cmake_parse_arguments(ARG "${options}" "${oneValueRequiredArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
|
||||
# sanity checks
|
||||
foreach(argName IN LISTS oneValueRequiredArgs)
|
||||
if (NOT ARG_${argName})
|
||||
message(SEND_ERROR "Argument '${argName}' is required.")
|
||||
endif()
|
||||
endforeach()
|
||||
if (ARG_UNPARSED_ARGUMENTS)
|
||||
message(SEND_ERROR "Unexpected parameters have passed to function: ${ARG_UNPARSED_ARGUMENTS}")
|
||||
endif()
|
||||
|
||||
# adding files to target
|
||||
set(includeSearch)
|
||||
set(sourceSearch)
|
||||
foreach(directory ${ARG_ROOT} ${ARG_ADDITIONAL_SOURCE_DIRS})
|
||||
list(APPEND includeSearch ${directory}/*.h ${directory}/*.hpp)
|
||||
list(APPEND sourceSearch ${directory}/*.cpp)
|
||||
endforeach()
|
||||
|
||||
file(GLOB_RECURSE includes ${includeSearch})
|
||||
file(GLOB_RECURSE sources ${sourceSearch})
|
||||
|
||||
# remove unnecessary directories
|
||||
foreach(excludedDir IN LISTS ARG_EXCLUDED_SOURCE_PATHS)
|
||||
list(FILTER includes EXCLUDE REGEX "${excludedDir}.*")
|
||||
list(FILTER sources EXCLUDE REGEX "${excludedDir}.*")
|
||||
endforeach()
|
||||
|
||||
source_group("include" FILES ${includes})
|
||||
source_group("src" FILES ${sources})
|
||||
|
||||
set(all_sources ${sources} ${includes} ${ARG_OBJECT_FILES})
|
||||
|
||||
# defining a target
|
||||
if (ARG_TYPE STREQUAL EXECUTABLE)
|
||||
add_executable(${ARG_NAME} ${all_sources})
|
||||
elseif(ARG_TYPE STREQUAL STATIC OR ARG_TYPE STREQUAL SHARED)
|
||||
add_library(${ARG_NAME} ${ARG_TYPE} ${all_sources})
|
||||
else()
|
||||
message(SEND_ERROR "Invalid target type ${ARG_TYPE} specified for target name ${ARG_NAME}")
|
||||
endif()
|
||||
|
||||
ov_target_link_whole_archive(${ARG_NAME} ${ARG_LINK_LIBRARIES_WHOLE_ARCHIVE})
|
||||
|
||||
if (ARG_DEFINES)
|
||||
target_compile_definitions(${ARG_NAME} PRIVATE ${ARG_DEFINES})
|
||||
endif()
|
||||
if (ARG_INCLUDES)
|
||||
target_include_directories(${ARG_NAME} PRIVATE ${ARG_INCLUDES})
|
||||
endif()
|
||||
if (ARG_LINK_LIBRARIES)
|
||||
target_link_libraries(${ARG_NAME} PRIVATE ${ARG_LINK_LIBRARIES})
|
||||
endif()
|
||||
if (ARG_DEPENDENCIES)
|
||||
add_dependencies(${ARG_NAME} ${ARG_DEPENDENCIES})
|
||||
endif()
|
||||
if (ARG_LINK_FLAGS)
|
||||
get_target_property(oldLinkFlags ${ARG_NAME} LINK_FLAGS)
|
||||
string(REPLACE ";" " " ARG_LINK_FLAGS "${ARG_LINK_FLAGS}")
|
||||
set_target_properties(${ARG_NAME} PROPERTIES LINK_FLAGS "${oldLinkFlags} ${ARG_LINK_FLAGS}")
|
||||
endif()
|
||||
if (ARG_ADD_CPPLINT)
|
||||
# code style
|
||||
add_cpplint_target(${ARG_NAME}_cpplint FOR_TARGETS ${ARG_NAME})
|
||||
endif()
|
||||
if (ARG_ADD_CLANG_FORMAT)
|
||||
# code style
|
||||
ov_add_clang_format_target(${ARG_NAME}_clang FOR_TARGETS ${ARG_NAME})
|
||||
endif()
|
||||
if(WIN32)
|
||||
# Provide default compile pdb name equal to target name
|
||||
set_target_properties(${ARG_NAME} PROPERTIES COMPILE_PDB_NAME ${ARG_NAME})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#[[
|
||||
Wrapper function over addIeTarget, that also adds a test with the same name.
|
||||
You could use
|
||||
ov_add_test_target( ... LABELS labelOne labelTwo )
|
||||
also to provide labels for that test.
|
||||
Important: you MUST pass LABELS as last argument, otherwise it will consume any parameters that come after.
|
||||
#]]
|
||||
function(ov_add_test_target)
|
||||
set(options
|
||||
)
|
||||
set(oneValueRequiredArgs
|
||||
NAME
|
||||
)
|
||||
set(oneValueOptionalArgs
|
||||
COMPONENT
|
||||
)
|
||||
set(multiValueArgs
|
||||
LABELS
|
||||
)
|
||||
cmake_parse_arguments(ARG "${options}" "${oneValueRequiredArgs};${oneValueOptionalArgs}" "${multiValueArgs}" ${ARGN} )
|
||||
if (NOT DEFINED ARG_COMPONENT)
|
||||
set(ARG_COMPONENT tests)
|
||||
endif()
|
||||
|
||||
ov_add_target(TYPE EXECUTABLE NAME ${ARG_NAME} ${ARG_UNPARSED_ARGUMENTS})
|
||||
|
||||
if(EMSCRIPTEN)
|
||||
set(JS_BIN_NAME "${ARG_NAME}.js")
|
||||
set(JS_APP_NAME "${ARG_NAME}_js.js")
|
||||
set(JS_TEST_APP "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${JS_APP_NAME}")
|
||||
file(WRITE ${JS_TEST_APP} "// Copyright (C) 2018-2023 Intel Corporation\n")
|
||||
file(APPEND ${JS_TEST_APP} "// SPDX-License-Identifier: Apache-2.0\n")
|
||||
file(APPEND ${JS_TEST_APP} "//\n")
|
||||
file(APPEND ${JS_TEST_APP} "// JS test app\n")
|
||||
file(APPEND ${JS_TEST_APP} "const createModule = require(\"./${JS_BIN_NAME}\");\n")
|
||||
file(APPEND ${JS_TEST_APP} "createModule().then(function(Module) {});\n")
|
||||
file(APPEND ${JS_TEST_APP} " ")
|
||||
# node version>= 16.8.0, else need add "--experimental-wasm-threads --experimental-wasm-bulk-memory" option
|
||||
add_test(NAME ${ARG_NAME} COMMAND node ${JS_TEST_APP})
|
||||
else()
|
||||
add_test(NAME ${ARG_NAME} COMMAND ${ARG_NAME})
|
||||
endif()
|
||||
if(ARG_LABELS)
|
||||
set_property(TEST ${ARG_NAME} PROPERTY LABELS ${ARG_LABELS})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${ARG_NAME}
|
||||
RUNTIME DESTINATION tests
|
||||
COMPONENT ${ARG_COMPONENT}
|
||||
EXCLUDE_FROM_ALL)
|
||||
endfunction()
|
||||
|
||||
# deprecated
|
||||
|
||||
function(addIeTarget)
|
||||
message(WARNING "'addIeTarget' is deprecated, please, use 'ov_add_target' instead")
|
||||
ov_add_target(${ARGV})
|
||||
endfunction()
|
||||
|
||||
function(addIeTargetTest)
|
||||
message(WARNING "'addIeTargetTest' is deprecated, please, use 'ov_add_test_target' instead")
|
||||
ov_add_test_target(${ARGV})
|
||||
endfunction()
|
||||
@@ -4,32 +4,27 @@
|
||||
|
||||
if(WIN32)
|
||||
set(PROGRAMFILES_ENV "ProgramFiles(X86)")
|
||||
file(TO_CMAKE_PATH $ENV{${PROGRAMFILES_ENV}} PROGRAMFILES)
|
||||
|
||||
# check that PROGRAMFILES_ENV is defined, because in case of cross-compilation for Windows
|
||||
# we don't have such variable
|
||||
if(DEFINED ENV{PROGRAMFILES_ENV})
|
||||
file(TO_CMAKE_PATH $ENV{${PROGRAMFILES_ENV}} PROGRAMFILES)
|
||||
set(WDK_PATHS "${PROGRAMFILES}/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/x64"
|
||||
"${PROGRAMFILES}/Windows Kits/10/bin/x64")
|
||||
|
||||
set(WDK_PATHS "${PROGRAMFILES}/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/x64"
|
||||
"${PROGRAMFILES}/Windows Kits/10/bin/x64")
|
||||
message(STATUS "Trying to find apivalidator in: ")
|
||||
foreach(wdk_path IN LISTS WDK_PATHS)
|
||||
message(" * ${wdk_path}")
|
||||
endforeach()
|
||||
|
||||
message(STATUS "Trying to find apivalidator in: ")
|
||||
foreach(wdk_path IN LISTS WDK_PATHS)
|
||||
message(" * ${wdk_path}")
|
||||
endforeach()
|
||||
find_host_program(ONECORE_API_VALIDATOR
|
||||
NAMES apivalidator
|
||||
PATHS ${WDK_PATHS}
|
||||
DOC "ApiValidator for OneCore compliance")
|
||||
|
||||
find_host_program(ONECORE_API_VALIDATOR
|
||||
NAMES apivalidator
|
||||
PATHS ${WDK_PATHS}
|
||||
DOC "ApiValidator for OneCore compliance")
|
||||
|
||||
if(ONECORE_API_VALIDATOR)
|
||||
message(STATUS "Found apivalidator: ${ONECORE_API_VALIDATOR}")
|
||||
endif()
|
||||
if(ONECORE_API_VALIDATOR)
|
||||
message(STATUS "Found apivalidator: ${ONECORE_API_VALIDATOR}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
function(_ov_add_api_validator_post_build_step_recursive)
|
||||
function(_ie_add_api_validator_post_build_step_recursive)
|
||||
cmake_parse_arguments(API_VALIDATOR "" "TARGET" "" ${ARGN})
|
||||
|
||||
get_target_property(LIBRARY_TYPE ${API_VALIDATOR_TARGET} TYPE)
|
||||
@@ -55,9 +50,9 @@ function(_ov_add_api_validator_post_build_step_recursive)
|
||||
continue()
|
||||
endif()
|
||||
if(TARGET "${orig_library}")
|
||||
_ov_add_api_validator_post_build_step_recursive(TARGET ${orig_library})
|
||||
_ie_add_api_validator_post_build_step_recursive(TARGET ${orig_library})
|
||||
else()
|
||||
_ov_add_api_validator_post_build_step_recursive(TARGET ${library})
|
||||
_ie_add_api_validator_post_build_step_recursive(TARGET ${library})
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -68,38 +63,16 @@ endfunction()
|
||||
set(VALIDATED_TARGETS "" CACHE INTERNAL "")
|
||||
|
||||
function(_ov_add_api_validator_post_build_step)
|
||||
if((NOT ONECORE_API_VALIDATOR) OR (WINDOWS_STORE OR WINDOWS_PHONE))
|
||||
return()
|
||||
endif()
|
||||
|
||||
# see https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/validating-windows-drivers#known-apivalidator-issues
|
||||
# ApiValidator does not run on Arm64 because AitStatic does not work on Arm64
|
||||
if(HOST_AARCH64)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(X86_64)
|
||||
set(wdk_platform "x64")
|
||||
elseif(X86)
|
||||
set(wdk_platform "x86")
|
||||
elseif(ARM)
|
||||
set(wdk_platform "arm")
|
||||
elseif(AARCH64)
|
||||
set(wdk_platform "arm64")
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown configuration: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
|
||||
endif()
|
||||
|
||||
find_file(ONECORE_API_VALIDATOR_APIS NAMES UniversalDDIs.xml
|
||||
PATHS "${PROGRAMFILES}/Windows Kits/10/build/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/universalDDIs/${wdk_platform}"
|
||||
"${PROGRAMFILES}/Windows Kits/10/build/universalDDIs/${wdk_platform}"
|
||||
PATHS "${PROGRAMFILES}/Windows Kits/10/build/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/universalDDIs/x64"
|
||||
"${PROGRAMFILES}/Windows Kits/10/build/universalDDIs/x64"
|
||||
DOC "Path to UniversalDDIs.xml file")
|
||||
find_file(ONECORE_API_VALIDATOR_EXCLUSION NAMES BinaryExclusionlist.xml
|
||||
PATHS ${WDK_PATHS}
|
||||
DOC "Path to BinaryExclusionlist.xml file")
|
||||
|
||||
if(NOT ONECORE_API_VALIDATOR_APIS)
|
||||
message(FATAL_ERROR "Internal error: apiValidator is found (${ONECORE_API_VALIDATOR}), but UniversalDDIs.xml file has not been found for ${wdk_platform} platform")
|
||||
if((NOT ONECORE_API_VALIDATOR) OR (WINDOWS_STORE OR WINDOWS_PHONE))
|
||||
return()
|
||||
endif()
|
||||
|
||||
cmake_parse_arguments(API_VALIDATOR "" "TARGET" "EXTRA" "" ${ARGN})
|
||||
@@ -113,10 +86,10 @@ function(_ov_add_api_validator_post_build_step)
|
||||
endif()
|
||||
|
||||
# collect targets
|
||||
_ov_add_api_validator_post_build_step_recursive(TARGET ${API_VALIDATOR_TARGET})
|
||||
_ie_add_api_validator_post_build_step_recursive(TARGET ${API_VALIDATOR_TARGET})
|
||||
if (API_VALIDATOR_EXTRA)
|
||||
foreach(target IN LISTS API_VALIDATOR_EXTRA)
|
||||
_ov_add_api_validator_post_build_step_recursive(TARGET ${target})
|
||||
_ie_add_api_validator_post_build_step_recursive(TARGET ${target})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
@@ -171,7 +144,7 @@ function(_ov_add_api_validator_post_build_step)
|
||||
-D ONECORE_API_VALIDATOR_EXCLUSION=${ONECORE_API_VALIDATOR_EXCLUSION}
|
||||
-D ONECORE_API_VALIDATOR_OUTPUT=${output_file}
|
||||
-D CMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
||||
-P "${OpenVINODeveloperScripts_DIR}/api_validator/api_validator_run.cmake")
|
||||
-P "${IEDevScripts_DIR}/api_validator/api_validator_run.cmake")
|
||||
list(APPEND byproducts_files ${output_file})
|
||||
|
||||
unset(target_name)
|
||||
@@ -191,15 +164,8 @@ function(_ov_add_api_validator_post_build_step)
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ov_add_api_validator_post_build_step(TARGET <name>)
|
||||
# ie_add_api_validator_post_build_step(TARGET <name>)
|
||||
#
|
||||
function(ov_add_api_validator_post_build_step)
|
||||
_ov_add_api_validator_post_build_step(${ARGN})
|
||||
endfunction()
|
||||
|
||||
# deprecated
|
||||
|
||||
function(ie_add_api_validator_post_build_step)
|
||||
message(WARNING "'ie_add_api_validator_post_build_step' is deprecated, use 'ov_add_api_validator_post_build_step' instead")
|
||||
_ov_add_api_validator_post_build_step(${ARGN})
|
||||
endfunction()
|
||||
macro(ie_add_api_validator_post_build_step)
|
||||
_ov_add_api_validator_post_build_step(${ARGV})
|
||||
endmacro()
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
import pkg_resources
|
||||
import re
|
||||
import os
|
||||
|
||||
|
||||
def check_python_requirements(requirements_path: str) -> None:
|
||||
"""
|
||||
Checks if the requirements defined in `requirements_path` are installed
|
||||
in the active Python environment, while also taking constraints.txt files
|
||||
into account.
|
||||
"""
|
||||
|
||||
constraints = {}
|
||||
constraints_path = None
|
||||
requirements = []
|
||||
|
||||
# read requirements and find constraints file
|
||||
with open(requirements_path) as f:
|
||||
raw_requirements = f.readlines()
|
||||
for line in raw_requirements:
|
||||
if line.startswith("-c"):
|
||||
constraints_path = os.path.join(os.path.dirname(requirements_path), line.split(' ')[1][:-1])
|
||||
|
||||
# read constraints if they exist
|
||||
if constraints_path:
|
||||
with open(constraints_path) as f:
|
||||
raw_constraints = f.readlines()
|
||||
for line in raw_constraints:
|
||||
if line.startswith("#") or line=="\n":
|
||||
continue
|
||||
line = line.replace("\n", "")
|
||||
package, delimiter, constraint = re.split("(~|=|<|>|;)", line, maxsplit=1)
|
||||
if constraints.get(package) is None:
|
||||
constraints[package] = [delimiter + constraint]
|
||||
else:
|
||||
constraints[package].extend([delimiter + constraint])
|
||||
for line in raw_requirements:
|
||||
if line.startswith(("#", "-c")):
|
||||
continue
|
||||
line = line.replace("\n", "")
|
||||
if re.search("\W", line):
|
||||
requirements.append(line)
|
||||
else:
|
||||
constraint = constraints.get(line)
|
||||
if constraint:
|
||||
for marker in constraint:
|
||||
requirements.append(line+marker)
|
||||
else:
|
||||
requirements.append(line)
|
||||
else:
|
||||
requirements = raw_requirements
|
||||
pkg_resources.require(requirements)
|
||||
@@ -3,23 +3,23 @@
|
||||
#
|
||||
|
||||
if(ENABLE_CLANG_FORMAT)
|
||||
set(CLANG_FORMAT_REQUIRED_VERSION 9 CACHE STRING "Clang-format version to use")
|
||||
set(CLANG_FORMAT_FILENAME clang-format-${CLANG_FORMAT_REQUIRED_VERSION} clang-format)
|
||||
set(clang_format_required_version 9)
|
||||
set(CLANG_FORMAT_FILENAME clang-format-${clang_format_required_version} clang-format)
|
||||
find_host_program(CLANG_FORMAT NAMES ${CLANG_FORMAT_FILENAME} PATHS ENV PATH)
|
||||
if(CLANG_FORMAT)
|
||||
execute_process(COMMAND ${CLANG_FORMAT} ${CMAKE_CURRENT_SOURCE_DIR} ARGS --version OUTPUT_VARIABLE CLANG_VERSION)
|
||||
if(NOT CLANG_VERSION)
|
||||
message(WARNING "Supported clang-format version is ${CLANG_FORMAT_REQUIRED_VERSION}!")
|
||||
message(WARNING "Supported clang-format version is ${clang_format_required_version}!")
|
||||
set(ENABLE_CLANG_FORMAT OFF)
|
||||
else()
|
||||
string(REGEX REPLACE "[^0-9]+([0-9]+)\\..*" "\\1" CLANG_FORMAT_MAJOR_VERSION ${CLANG_VERSION})
|
||||
if(NOT CLANG_FORMAT_MAJOR_VERSION EQUAL CLANG_FORMAT_REQUIRED_VERSION)
|
||||
if(NOT CLANG_FORMAT_MAJOR_VERSION EQUAL clang_format_required_version)
|
||||
message(WARNING "Supported clang-format version is 9! Provided version ${CLANG_FORMAT_MAJOR_VERSION}")
|
||||
set(ENABLE_CLANG_FORMAT OFF)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "Supported clang-format-${CLANG_FORMAT_REQUIRED_VERSION} is not found!")
|
||||
message(WARNING "Supported clang-format-${clang_format_required_version} is not found!")
|
||||
set(ENABLE_CLANG_FORMAT OFF)
|
||||
endif()
|
||||
endif()
|
||||
@@ -31,11 +31,7 @@ if(ENABLE_CLANG_FORMAT AND NOT TARGET clang_format_check_all)
|
||||
PROPERTIES FOLDER clang_format)
|
||||
endif()
|
||||
|
||||
#
|
||||
# ov_add_clang_format_target(FOR_TARGETS <target1 target2 ...> | FOR_SOURCES <source1 source2 ...>
|
||||
# [EXCLUDE_PATTERNS <pattern1 pattern2 ...>])
|
||||
#
|
||||
function(ov_add_clang_format_target TARGET_NAME)
|
||||
function(add_clang_format_target TARGET_NAME)
|
||||
if(NOT ENABLE_CLANG_FORMAT)
|
||||
return()
|
||||
endif()
|
||||
@@ -88,10 +84,10 @@ function(ov_add_clang_format_target TARGET_NAME)
|
||||
-D "CLANG_FORMAT=${CLANG_FORMAT}"
|
||||
-D "INPUT_FILE=${source_file}"
|
||||
-D "OUTPUT_FILE=${output_file}"
|
||||
-P "${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_check.cmake"
|
||||
-P "${IEDevScripts_DIR}/clang_format/clang_format_check.cmake"
|
||||
DEPENDS
|
||||
"${source_file}"
|
||||
"${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_check.cmake"
|
||||
"${IEDevScripts_DIR}/clang_format/clang_format_check.cmake"
|
||||
COMMENT
|
||||
"[clang-format] ${source_file}"
|
||||
VERBATIM)
|
||||
@@ -110,10 +106,10 @@ function(ov_add_clang_format_target TARGET_NAME)
|
||||
-D "CLANG_FORMAT=${CLANG_FORMAT}"
|
||||
-D "INPUT_FILES=${all_input_sources}"
|
||||
-D "EXCLUDE_PATTERNS=${CLANG_FORMAT_EXCLUDE_PATTERNS}"
|
||||
-P "${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_fix.cmake"
|
||||
-P "${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake"
|
||||
DEPENDS
|
||||
"${all_input_sources}"
|
||||
"${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_fix.cmake"
|
||||
"${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake"
|
||||
COMMENT
|
||||
"[clang-format] ${TARGET_NAME}_fix"
|
||||
VERBATIM)
|
||||
@@ -130,8 +126,3 @@ function(ov_add_clang_format_target TARGET_NAME)
|
||||
add_dependencies(clang_format_check_all ${TARGET_NAME})
|
||||
add_dependencies(clang_format_fix_all ${TARGET_NAME}_fix)
|
||||
endfunction()
|
||||
|
||||
function(add_clang_format_target)
|
||||
message(WARNING "add_clang_format_target is deprecated, use ov_add_clang_format_target instead")
|
||||
ov_add_clang_format_target(${ARGV})
|
||||
endfunction()
|
||||
|
||||
@@ -4,13 +4,8 @@
|
||||
|
||||
macro(enable_fuzzing)
|
||||
# Enable (libFuzzer)[https://llvm.org/docs/LibFuzzer.html] if supported.
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# see https://learn.microsoft.com/en-us/cpp/build/reference/fsanitize?view=msvc-160#remarks
|
||||
set(FUZZING_COMPILER_FLAGS "/fsanitize=fuzzer")
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
set(FUZZING_COMPILER_FLAGS "-fsanitize=fuzzer-no-link -fprofile-instr-generate -fcoverage-mapping")
|
||||
set(FUZZING_LINKER_FLAGS "-fsanitize-coverage=trace-pc-guard -fprofile-instr-generate")
|
||||
endif()
|
||||
set(FUZZING_COMPILER_FLAGS "-fsanitize=fuzzer-no-link -fprofile-instr-generate -fcoverage-mapping")
|
||||
set(FUZZING_LINKER_FLAGS "-fsanitize-coverage=trace-pc-guard -fprofile-instr-generate")
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FUZZING_COMPILER_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FUZZING_COMPILER_FLAGS}")
|
||||
@@ -25,10 +20,6 @@ function(add_fuzzer FUZZER_EXE_NAME FUZZER_SOURCES)
|
||||
add_executable(${FUZZER_EXE_NAME} ${FUZZER_SOURCES})
|
||||
target_link_libraries(${FUZZER_EXE_NAME} PRIVATE fuzz-testhelper)
|
||||
if(ENABLE_FUZZING)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# no extra flags are required
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
set_target_properties(${FUZZER_EXE_NAME} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer")
|
||||
endif()
|
||||
set_target_properties(${FUZZER_EXE_NAME} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer")
|
||||
endif()
|
||||
endfunction(add_fuzzer)
|
||||
|
||||
@@ -6,185 +6,158 @@ include(ProcessorCount)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
#
|
||||
# ov_disable_deprecated_warnings()
|
||||
# Disables deprecated warnings generation
|
||||
# Defines ie_c_cxx_deprecated varaible which contains C / C++ compiler flags
|
||||
#
|
||||
# Disables deprecated warnings generation in current scope (directory, function)
|
||||
# Defines ov_c_cxx_deprecated varaible which contains C / C++ compiler flags
|
||||
#
|
||||
macro(ov_disable_deprecated_warnings)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(ov_c_cxx_deprecated "/wd4996")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(ov_c_cxx_deprecated "/Qdiag-disable:1478,1786")
|
||||
else()
|
||||
set(ov_c_cxx_deprecated "-diag-disable=1478,1786")
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(ov_c_cxx_deprecated "-Wno-deprecated-declarations")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${ov_c_cxx_deprecated}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${ov_c_cxx_deprecated}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ov_c_cxx_deprecated}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ov_c_cxx_deprecated}")
|
||||
endmacro()
|
||||
|
||||
macro(disable_deprecated_warnings)
|
||||
message(WARNING "'disable_deprecated_warnings' is deprecated, use 'ov_disable_deprecated_warnings' instead")
|
||||
ov_disable_deprecated_warnings()
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_deprecated_no_errors()
|
||||
#
|
||||
# Don't threat deprecated warnings as errors in current scope (directory, function)
|
||||
# Defines ov_c_cxx_deprecated_no_errors varaible which contains C / C++ compiler flags
|
||||
#
|
||||
macro(ov_deprecated_no_errors)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# show 4996 only for /w4
|
||||
set(ov_c_cxx_deprecated_no_errors "/wd4996")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
set(ov_c_cxx_deprecated_no_errors "/Qdiag-warning:1478,1786")
|
||||
else()
|
||||
set(ov_c_cxx_deprecated_no_errors "-diag-warning=1478,1786")
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(ie_c_cxx_deprecated "/Qdiag-disable:1478,1786")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(ie_c_cxx_deprecated "/wd4996")
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(ov_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
|
||||
# Suppress #warning messages
|
||||
set(ov_c_cxx_deprecated_no_errors "${ov_c_cxx_deprecated_no_errors} -Wno-cpp")
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(ie_c_cxx_deprecated "-diag-disable=1478,1786")
|
||||
else()
|
||||
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT ie_c_cxx_deprecated)
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${ov_c_cxx_deprecated_no_errors}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${ov_c_cxx_deprecated_no_errors}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ov_c_cxx_deprecated_no_errors}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ov_c_cxx_deprecated_no_errors}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${ie_c_cxx_deprecated}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${ie_c_cxx_deprecated}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ie_c_cxx_deprecated}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ie_c_cxx_deprecated}")
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_dev_package_no_errors()
|
||||
# Don't threat deprecated warnings as errors
|
||||
# Defines ie_c_cxx_deprecated_no_errors varaible which contains C / C++ compiler flags
|
||||
#
|
||||
# Exports flags for 3rdparty modules, but without errors
|
||||
#
|
||||
macro(ov_dev_package_no_errors)
|
||||
if(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(ov_c_cxx_dev_no_errors "-Wno-all")
|
||||
if(SUGGEST_OVERRIDE_SUPPORTED)
|
||||
set(ov_cxx_dev_no_errors "-Wno-error=suggest-override")
|
||||
macro(ie_deprecated_no_errors)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(ie_c_cxx_deprecated_no_errors "/Qdiag-warning:1478,1786")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# show 4996 only for /w4
|
||||
set(ie_c_cxx_deprecated_no_errors "/wd4996")
|
||||
# WA for VPUX plugin
|
||||
set(ie_c_cxx_deprecated_no_errors "${ie_c_cxx_deprecated_no_errors} /wd4146 /wd4703")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(ie_c_cxx_deprecated_no_errors "-diag-warning=1478,1786")
|
||||
else()
|
||||
set(ie_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
|
||||
endif()
|
||||
|
||||
if(NOT ie_c_cxx_deprecated_no_errors)
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${ov_c_cxx_dev_no_errors} ${ov_cxx_dev_no_errors}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${ov_c_cxx_dev_no_errors}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ov_c_cxx_dev_no_errors} ${ov_cxx_dev_no_errors}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ov_c_cxx_dev_no_errors}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${ie_c_cxx_deprecated_no_errors}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${ie_c_cxx_deprecated_no_errors}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ie_c_cxx_deprecated_no_errors}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ie_c_cxx_deprecated_no_errors}")
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_sse42_optimization_flags(<output flags>)
|
||||
#
|
||||
# Provides SSE4.2 compilation flags depending on an OS and a compiler
|
||||
#
|
||||
macro(ov_sse42_optimization_flags flags)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# No such option for MSVC 2019
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
macro(ie_sse42_optimization_flags flags)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# No such option for MSVC 2019
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} /QxSSE4.2)
|
||||
else()
|
||||
set(${flags} -xSSE4.2)
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(${flags} -msse4.2)
|
||||
if(EMSCRIPTEN)
|
||||
list(APPEND ${flags} -msimd128)
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} -xSSE4.2)
|
||||
else()
|
||||
set(${flags} -msse4.2)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_avx2_optimization_flags(<output flags>)
|
||||
#
|
||||
# Provides AVX2 compilation flags depending on an OS and a compiler
|
||||
#
|
||||
macro(ov_avx2_optimization_flags flags)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX2)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
macro(ie_avx2_optimization_flags flags)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} /QxCORE-AVX2)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX2)
|
||||
else()
|
||||
set(${flags} -xCORE-AVX2)
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(${flags} -mavx2 -mfma)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} -xCORE-AVX2)
|
||||
else()
|
||||
set(${flags} -mavx2 -mfma)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_avx512_optimization_flags(<output flags>)
|
||||
#
|
||||
# Provides common AVX512 compilation flags for AVX512F instruction set support
|
||||
# depending on an OS and a compiler
|
||||
#
|
||||
macro(ov_avx512_optimization_flags flags)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX512)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(WIN32)
|
||||
macro(ie_avx512_optimization_flags flags)
|
||||
if(WIN32)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} /QxCOMMON-AVX512)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(${flags} /arch:AVX512)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(${flags} -xCOMMON-AVX512)
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(${flags} -mavx512f -mfma)
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(${flags} -mavx512f -mfma)
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "^(Clang|AppleClang)$")
|
||||
set(${flags} -mavx512f -mfma)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_arm_neon_optimization_flags(<output flags>)
|
||||
#
|
||||
macro(ov_arm_neon_optimization_flags flags)
|
||||
macro(ie_arm_neon_optimization_flags flags)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# nothing to define; works out of box
|
||||
# nothing
|
||||
elseif(ANDROID)
|
||||
if(ANDROID_ABI STREQUAL "arm64-v8a")
|
||||
set(${flags} -mfpu=neon -Wno-unused-command-line-argument)
|
||||
elseif(ANDROID_ABI STREQUAL "armeabi-v7a-hard with NEON")
|
||||
set(${flags} -march=armv7-a+fp -mfloat-abi=hard -mhard-float -D_NDK_MATH_NO_SOFTFP=1 -mfpu=neon -Wno-unused-command-line-argument)
|
||||
set(${flags} -march=armv7-a -mfloat-abi=hard -mhard-float -D_NDK_MATH_NO_SOFTFP=1 -mfpu=neon -Wno-unused-command-line-argument)
|
||||
elseif((ANDROID_ABI STREQUAL "armeabi-v7a with NEON") OR
|
||||
(ANDROID_ABI STREQUAL "armeabi-v7a" AND
|
||||
DEFINED CMAKE_ANDROID_ARM_NEON AND CMAKE_ANDROID_ARM_NEON))
|
||||
set(${flags} -march=armv7-a+fp -mfloat-abi=softfp -mfpu=neon -Wno-unused-command-line-argument)
|
||||
set(${flags} -march=armv7-a -mfloat-abi=softfp -mfpu=neon -Wno-unused-command-line-argument)
|
||||
endif()
|
||||
else()
|
||||
if(AARCH64)
|
||||
set(${flags} -O2)
|
||||
if(NOT CMAKE_CL_64)
|
||||
list(APPEND ${flags} -ftree-vectorize)
|
||||
endif()
|
||||
set(${flags} -O2 -ftree-vectorize)
|
||||
elseif(ARM)
|
||||
set(${flags} -mfpu=neon -Wno-unused-command-line-argument)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_disable_all_warnings(<target1 [target2 target3 ...]>)
|
||||
#
|
||||
# Disables all warnings for 3rd party targets
|
||||
#
|
||||
@@ -201,9 +174,7 @@ function(ov_disable_all_warnings)
|
||||
if(target_type STREQUAL "SHARED_LIBRARY" OR target_type STREQUAL "EXECUTABLE")
|
||||
set(link_interface LINK_OPTIONS)
|
||||
endif()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set_target_properties(${target} PROPERTIES ${link_interface} "-Wno-error=maybe-uninitialized;-Wno-maybe-uninitialized")
|
||||
endif()
|
||||
set_target_properties(${target} PROPERTIES ${link_interface} "-Wno-error=maybe-uninitialized;-Wno-maybe-uninitialized")
|
||||
elseif(UNIX AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
# 193: zero used for undefined preprocessing identifier "XXX"
|
||||
# 1011: missing return statement at end of non-void function "XXX"
|
||||
@@ -213,68 +184,71 @@ function(ov_disable_all_warnings)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ie_enable_lto()
|
||||
#
|
||||
# Enables Link Time Optimization compilation
|
||||
#
|
||||
macro(ie_enable_lto)
|
||||
message(WARNING "'ie_enable_lto' is deprecated, set 'INTERPROCEDURAL_OPTIMIZATION_RELEASE' target property instead")
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# ov_add_compiler_flags(<flag1 [flag2 flag3 ...>])
|
||||
#
|
||||
# Adds compiler flags to C / C++ sources
|
||||
#
|
||||
macro(ov_add_compiler_flags)
|
||||
macro(ie_add_compiler_flags)
|
||||
foreach(flag ${ARGN})
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(ie_add_compiler_flags)
|
||||
message(WARNING "'ie_add_compiler_flags' is deprecated, use 'ov_add_compiler_flags' instead")
|
||||
ov_add_compiler_flags(${ARGN})
|
||||
endmacro()
|
||||
function(ov_add_compiler_flags)
|
||||
ie_add_compiler_flags(${ARGN})
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ov_force_include(<target> <PUBLIC | PRIVATE | INTERFACE> <header file>)
|
||||
#
|
||||
# Forced includes certain header file to all target source files
|
||||
#
|
||||
function(ov_force_include target scope header_file)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
if(MSVC)
|
||||
target_compile_options(${target} ${scope} /FI"${header_file}")
|
||||
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
|
||||
target_compile_options(${target} ${scope} -include "${header_file}")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
target_compile_options(${target} ${scope} -include "${header_file}")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ov_abi_free_target(<target name>)
|
||||
# Compilation and linker flags
|
||||
#
|
||||
# Marks target to be compiliance in CXX ABI free manner
|
||||
#
|
||||
function(ov_abi_free_target target)
|
||||
# To guarantee OpenVINO can be used with gcc versions 7 through 12.2
|
||||
# - https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
|
||||
# - https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW64)
|
||||
target_compile_options(${target} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-Wabi=11>)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ov_python_minimal_api(<target>)
|
||||
#
|
||||
# Set options to use only Python Limited API
|
||||
#
|
||||
function(ov_python_minimal_api target)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
# to allows to override CMAKE_CXX_STANDARD from command line
|
||||
if(NOT DEFINED CMAKE_CXX_STANDARD)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
endif()
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
endif()
|
||||
|
||||
if(ENABLE_COVERAGE)
|
||||
ie_add_compiler_flags(--coverage)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
ie_add_compiler_flags(-fsigned-char)
|
||||
endif()
|
||||
|
||||
# Honor visibility properties for all target types
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
|
||||
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
||||
|
||||
function(ie_python_minimal_api target)
|
||||
# pybind11 uses a lot of API which is not a part of minimal python API subset
|
||||
# Ref 1: https://docs.python.org/3.11/c-api/stable.html
|
||||
# Ref 2: https://github.com/pybind/pybind11/issues/1755
|
||||
@@ -284,257 +258,113 @@ function(ov_python_minimal_api target)
|
||||
# endif()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# Compilation and linker flags
|
||||
#
|
||||
|
||||
if(NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
endif()
|
||||
|
||||
# to allows to override CMAKE_CXX_STANDARD from command line
|
||||
if(NOT DEFINED CMAKE_CXX_STANDARD)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
else()
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_CXX_EXTENSIONS)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_CXX_STANDARD_REQUIRED)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
endif()
|
||||
|
||||
if(ENABLE_COVERAGE)
|
||||
ov_add_compiler_flags(--coverage)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
|
||||
endif()
|
||||
|
||||
# Honor visibility properties for all target types
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
|
||||
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_C_VISIBILITY_PRESET hidden)
|
||||
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
|
||||
|
||||
if(CMAKE_CL_64)
|
||||
# Default char Type Is unsigned
|
||||
# ov_add_compiler_flags(/J)
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
ov_add_compiler_flags(-fsigned-char)
|
||||
endif()
|
||||
|
||||
file(RELATIVE_PATH OV_RELATIVE_BIN_PATH ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
|
||||
|
||||
if(CMAKE_VERSION VERSION_LESS 3.20)
|
||||
file(TO_NATIVE_PATH ${CMAKE_SOURCE_DIR} OV_NATIVE_PROJECT_ROOT_DIR)
|
||||
file(TO_NATIVE_PATH ${OV_RELATIVE_BIN_PATH} NATIVE_OV_RELATIVE_BIN_PATH)
|
||||
else()
|
||||
cmake_path(NATIVE_PATH CMAKE_SOURCE_DIR OV_NATIVE_PROJECT_ROOT_DIR)
|
||||
cmake_path(NATIVE_PATH OV_RELATIVE_BIN_PATH NATIVE_OV_RELATIVE_BIN_PATH)
|
||||
endif()
|
||||
|
||||
file(RELATIVE_PATH OV_NATIVE_PARENT_PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}/.." ${CMAKE_SOURCE_DIR})
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
#
|
||||
# Common options / warnings enabled
|
||||
#
|
||||
|
||||
ov_add_compiler_flags(/D_CRT_SECURE_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS)
|
||||
# no asynchronous structured exception handling
|
||||
ov_add_compiler_flags(/EHsc)
|
||||
# Allows the compiler to package individual functions in the form of packaged functions (COMDATs).
|
||||
ov_add_compiler_flags(/Gy)
|
||||
# This option helps ensure the fewest possible hard-to-find code defects. Similar to -Wall on GNU / Clang
|
||||
ov_add_compiler_flags(/W3)
|
||||
|
||||
# Increase Number of Sections in .Obj file
|
||||
ov_add_compiler_flags(/bigobj)
|
||||
# Build with multiple processes
|
||||
ov_add_compiler_flags(/MP)
|
||||
|
||||
if(AARCH64 AND NOT MSVC_VERSION LESS 1930)
|
||||
# otherwise, _ARM64_EXTENDED_INTRINSICS is defined, which defines 'mvn' macro
|
||||
ov_add_compiler_flags(/D_ARM64_DISTINCT_NEON_TYPES)
|
||||
endif()
|
||||
|
||||
# Handle Large Addresses
|
||||
if(WIN32)
|
||||
ie_add_compiler_flags(-D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
|
||||
ie_add_compiler_flags(/EHsc) # no asynchronous structured exception handling
|
||||
ie_add_compiler_flags(/Gy) # remove unreferenced functions: function level linking
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
|
||||
|
||||
#
|
||||
# Warnings as errors
|
||||
#
|
||||
|
||||
if(CMAKE_COMPILE_WARNING_AS_ERROR)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.24)
|
||||
ov_add_compiler_flags(/WX)
|
||||
if (CMAKE_COMPILE_WARNING_AS_ERROR)
|
||||
if (CMAKE_VERSION VERSION_LESS 3.24)
|
||||
ie_add_compiler_flags(/WX)
|
||||
endif()
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /WX")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WX")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
ie_add_compiler_flags(/Qdiag-warning:47,1740,1786)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Compiler specific flags
|
||||
|
||||
ie_add_compiler_flags(/bigobj)
|
||||
ie_add_compiler_flags(/MP)
|
||||
|
||||
# Disable noisy warnings
|
||||
#
|
||||
|
||||
# C4251 needs to have dll-interface to be used by clients of class
|
||||
ov_add_compiler_flags(/wd4251)
|
||||
# C4275 non dll-interface class used as base for dll-interface class
|
||||
ov_add_compiler_flags(/wd4275)
|
||||
|
||||
# Enable __FILE__ trim, use path with forward and backward slash as directory separator
|
||||
# github actions use sccache which doesn't support /d1trimfile compile option
|
||||
if(NOT DEFINED ENV{GITHUB_ACTIONS})
|
||||
add_compile_options(
|
||||
"$<$<COMPILE_LANGUAGE:CXX>:/d1trimfile:${OV_NATIVE_PROJECT_ROOT_DIR}\\>"
|
||||
"$<$<COMPILE_LANGUAGE:CXX>:/d1trimfile:${CMAKE_SOURCE_DIR}/>")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# C4251 needs to have dll-interface to be used by clients of class
|
||||
ie_add_compiler_flags(/wd4251)
|
||||
# C4275 non dll-interface class used as base for dll-interface class
|
||||
ie_add_compiler_flags(/wd4275)
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
# 161: unrecognized pragma
|
||||
# 177: variable was declared but never referenced
|
||||
# 556: not matched type of assigned function pointer
|
||||
# 1744: field of class type without a DLL interface used in a class with a DLL interface
|
||||
# 1879: unimplemented pragma ignored
|
||||
# 2586: decorated name length exceeded, name was truncated
|
||||
# 2651: attribute does not apply to any entity
|
||||
# 3180: unrecognized OpenMP pragma
|
||||
# 11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo
|
||||
# 15335: was not vectorized: vectorization possible but seems inefficient. Use vector always directive or /Qvec-threshold0 to override
|
||||
ie_add_compiler_flags(/Qdiag-disable:161,177,556,1744,1879,2586,2651,3180,11075,15335)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Debug information flags, by default CMake adds /Zi option
|
||||
# but provides no way to specify CMAKE_COMPILE_PDB_NAME on root level
|
||||
# In order to avoid issues with ninja we are replacing default flag instead of having two of them
|
||||
# and observing warning D9025 about flag override
|
||||
#
|
||||
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND WIN32)
|
||||
#
|
||||
# Warnings as errors
|
||||
#
|
||||
|
||||
if(CMAKE_COMPILE_WARNING_AS_ERROR AND CMAKE_VERSION VERSION_LESS 3.24)
|
||||
ov_add_compiler_flags(/Qdiag-warning:47,1740,1786)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Disable noisy warnings
|
||||
#
|
||||
|
||||
# 161: unrecognized pragma
|
||||
ov_add_compiler_flags(/Qdiag-disable:161)
|
||||
# 177: variable was declared but never referenced
|
||||
ov_add_compiler_flags(/Qdiag-disable:177)
|
||||
# 556: not matched type of assigned function pointer
|
||||
ov_add_compiler_flags(/Qdiag-disable:556)
|
||||
# 1744: field of class type without a DLL interface used in a class with a DLL interface
|
||||
ov_add_compiler_flags(/Qdiag-disable:1744)
|
||||
# 1879: unimplemented pragma ignored
|
||||
ov_add_compiler_flags(/Qdiag-disable:1879)
|
||||
# 2586: decorated name length exceeded, name was truncated
|
||||
ov_add_compiler_flags(/Qdiag-disable:2586)
|
||||
# 2651: attribute does not apply to any entity
|
||||
ov_add_compiler_flags(/Qdiag-disable:2651)
|
||||
# 3180: unrecognized OpenMP pragma
|
||||
ov_add_compiler_flags(/Qdiag-disable:3180)
|
||||
# 11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo
|
||||
ov_add_compiler_flags(/Qdiag-disable:11075)
|
||||
# 15335: was not vectorized: vectorization possible but seems inefficient.
|
||||
# Use vector always directive or /Qvec-threshold0 to override
|
||||
ov_add_compiler_flags(/Qdiag-disable:15335)
|
||||
else()
|
||||
#
|
||||
# Common enabled warnings
|
||||
#
|
||||
|
||||
# allow linker eliminating the unused code and data from the final executable
|
||||
ov_add_compiler_flags(-ffunction-sections -fdata-sections)
|
||||
# emits text showing the command-line option controlling a diagnostic
|
||||
ov_add_compiler_flags(-fdiagnostics-show-option)
|
||||
|
||||
# This enables all the warnings about constructions that some users consider questionable, and that are easy to avoid
|
||||
ov_add_compiler_flags(-Wall)
|
||||
# Warn if an undefined identifier is evaluated in an #if directive. Such identifiers are replaced with zero.
|
||||
ov_add_compiler_flags(-Wundef)
|
||||
|
||||
# To guarantee OpenVINO can be used with gcc versions 7 through 12
|
||||
# - https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
|
||||
# - https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "8")
|
||||
# Enable __FILE__ trim only for release mode
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
|
||||
endif()
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wabi=11")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "10")
|
||||
# Enable __FILE__ trim only for release mode
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Warnings as errors
|
||||
#
|
||||
|
||||
if(CMAKE_COMPILE_WARNING_AS_ERROR AND CMAKE_VERSION VERSION_LESS 3.24)
|
||||
ov_add_compiler_flags(-Werror)
|
||||
# TODO: enable for C sources as well
|
||||
# ie_add_compiler_flags(-Werror)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
|
||||
endif()
|
||||
ie_add_compiler_flags(-ffunction-sections -fdata-sections)
|
||||
ie_add_compiler_flags(-fdiagnostics-show-option)
|
||||
ie_add_compiler_flags(-Wundef)
|
||||
ie_add_compiler_flags(-Wreturn-type)
|
||||
ie_add_compiler_flags(-Wunused-variable)
|
||||
|
||||
if(OV_COMPILER_IS_APPLECLANG)
|
||||
ie_add_compiler_flags(-Wswitch)
|
||||
else()
|
||||
ie_add_compiler_flags(-Wuninitialized -Winit-self)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
ie_add_compiler_flags(-Winconsistent-missing-override
|
||||
-Wstring-plus-int)
|
||||
else()
|
||||
ie_add_compiler_flags(-Wmaybe-uninitialized)
|
||||
check_cxx_compiler_flag("-Wsuggest-override" SUGGEST_OVERRIDE_SUPPORTED)
|
||||
if(SUGGEST_OVERRIDE_SUPPORTED)
|
||||
set(CMAKE_CXX_FLAGS "-Wsuggest-override ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Disable noisy warnings
|
||||
#
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
# 177: function "XXX" was declared but never referenced
|
||||
ov_add_compiler_flags(-diag-disable=remark,177,2196)
|
||||
ie_add_compiler_flags(-diag-disable=remark,177,2196)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Linker flags
|
||||
#
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-dead_strip")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-dead_strip")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-dead_strip")
|
||||
elseif(EMSCRIPTEN)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s MODULARIZE -s EXPORTED_RUNTIME_METHODS=ccall")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s ERROR_ON_MISSING_LIBRARIES=1 -s ERROR_ON_UNDEFINED_SYMBOLS=1")
|
||||
# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_PTHREADS=1 -s PTHREAD_POOL_SIZE=4")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s ALLOW_MEMORY_GROWTH=1")
|
||||
ov_add_compiler_flags(-sDISABLE_EXCEPTION_CATCHING=0)
|
||||
# ov_add_compiler_flags(-sUSE_PTHREADS=1)
|
||||
else()
|
||||
set(exclude_libs "-Wl,--exclude-libs,ALL")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gc-sections ${exclude_libs}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--gc-sections ${exclude_libs}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gc-sections -Wl,--exclude-libs,ALL")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--gc-sections -Wl,--exclude-libs,ALL")
|
||||
if(NOT ENABLE_FUZZING)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${exclude_libs}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--exclude-libs,ALL")
|
||||
endif()
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gc-sections")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_compile_definitions(
|
||||
# Defines to trim check of __FILE__ macro in case if not done by compiler.
|
||||
OV_NATIVE_PARENT_PROJECT_ROOT_DIR="${OV_NATIVE_PARENT_PROJECT_ROOT_DIR}")
|
||||
|
||||
check_cxx_compiler_flag("-Wsuggest-override" SUGGEST_OVERRIDE_SUPPORTED)
|
||||
if(SUGGEST_OVERRIDE_SUPPORTED)
|
||||
set(CMAKE_CXX_FLAGS "-Wsuggest-override ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
|
||||
check_cxx_compiler_flag("-Wunused-but-set-variable" UNUSED_BUT_SET_VARIABLE_SUPPORTED)
|
||||
|
||||
#
|
||||
# ov_link_system_libraries(target <PUBLIC | PRIVATE | INTERFACE> <lib1 [lib2 lib3 ...]>)
|
||||
#
|
||||
# Links provided libraries and include their INTERFACE_INCLUDE_DIRECTORIES as SYSTEM
|
||||
#
|
||||
function(ov_link_system_libraries TARGET_NAME)
|
||||
function(link_system_libraries TARGET_NAME)
|
||||
set(MODE PRIVATE)
|
||||
|
||||
foreach(arg IN LISTS ARGN)
|
||||
@@ -554,17 +384,7 @@ function(ov_link_system_libraries TARGET_NAME)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ov_try_use_gold_linker()
|
||||
#
|
||||
# Tries to use gold linker in current scope (directory, function)
|
||||
#
|
||||
function(ov_try_use_gold_linker)
|
||||
# don't use the gold linker, if the mold linker is set
|
||||
if(CMAKE_EXE_LINKER_FLAGS MATCHES "mold" OR CMAKE_MODULE_LINKER_FLAGS MATCHES "mold" OR CMAKE_SHARED_LINKER_FLAGS MATCHES "mold")
|
||||
return()
|
||||
endif()
|
||||
|
||||
# gold linker on ubuntu20.04 may fail to link binaries build with sanitizer
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND NOT ENABLE_SANITIZER AND NOT CMAKE_CROSSCOMPILING)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=gold" PARENT_SCOPE)
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
if (ENABLE_SANITIZER)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# the flag is available since MSVC 2019 16.9
|
||||
# see https://learn.microsoft.com/en-us/cpp/build/reference/fsanitize?view=msvc-160
|
||||
if (WIN32)
|
||||
check_cxx_compiler_flag("/fsanitize=address" SANITIZE_ADDRESS_SUPPORTED)
|
||||
if (SANITIZE_ADDRESS_SUPPORTED)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /fsanitize=address")
|
||||
@@ -16,28 +14,26 @@ if (ENABLE_SANITIZER)
|
||||
"Please, check requirements:\n"
|
||||
"https://github.com/openvinotoolkit/openvino/wiki/AddressSanitizer-and-LeakSanitizer")
|
||||
endif()
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
else()
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=address")
|
||||
check_cxx_compiler_flag("-fsanitize-recover=address" SANITIZE_RECOVER_ADDRESS_SUPPORTED)
|
||||
if (SANITIZE_RECOVER_ADDRESS_SUPPORTED)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize-recover=address")
|
||||
endif()
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=address")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ENABLE_UB_SANITIZER)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
message(FATAL_ERROR "UndefinedBehavior sanitizer is not supported in Windows with MSVC compiler. Please, use clang-cl or mingw")
|
||||
if (ENABLE_UB_SANITIZER)
|
||||
if (WIN32)
|
||||
message(FATAL_ERROR "UndefinedBehavior sanitizer is not supported in Windows")
|
||||
endif()
|
||||
|
||||
|
||||
# TODO: Remove -fno-sanitize=null as thirdparty/ocl/clhpp_headers UBSAN compatibility resolved:
|
||||
# https://github.com/KhronosGroup/OpenCL-CLHPP/issues/17
|
||||
# Mute -fsanitize=function Indirect call of a function through a function pointer of the wrong type.
|
||||
# Sample cases:
|
||||
# call to function get_api_version through pointer to incorrect function type 'void *(*)()'
|
||||
# call to function GetAPIVersion through pointer to incorrect function type 'void *(*)()'
|
||||
# Mute -fsanitize=alignment Use of a misaligned pointer or creation of a misaligned reference. Also sanitizes assume_aligned-like attributes.
|
||||
# Sample cases:
|
||||
# VPU_FixedMaxHeapTest.DefaultConstructor test case load of misaligned address 0x62000000187f for type 'const DataType', which requires 4 byte alignment
|
||||
@@ -52,50 +48,41 @@ if(ENABLE_UB_SANITIZER)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fno-sanitize=function")
|
||||
endif()
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
# TODO: Remove -Wno-maybe-uninitialized after CVS-61143 is fixed
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
# TODO: Remove -Wno-maybe-uninitialized after CVS-61143 fix
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -Wno-maybe-uninitialized")
|
||||
endif()
|
||||
check_cxx_compiler_flag("-fsanitize-recover=undefined" SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
|
||||
if(SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
|
||||
if (SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize-recover=undefined")
|
||||
endif()
|
||||
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=undefined")
|
||||
endif()
|
||||
|
||||
if(ENABLE_THREAD_SANITIZER)
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
message(FATAL_ERROR "Thread sanitizer is not supported in Windows with MSVC compiler. Please, use clang-cl or mingw")
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=thread")
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=thread")
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
endif()
|
||||
if (ENABLE_THREAD_SANITIZER)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=thread")
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=thread")
|
||||
endif()
|
||||
|
||||
# common sanitizer options
|
||||
if(DEFINED SANITIZER_COMPILER_FLAGS)
|
||||
if (DEFINED SANITIZER_COMPILER_FLAGS)
|
||||
# ensure symbols are present
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /Oy-")
|
||||
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
if (NOT WIN32)
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -g -fno-omit-frame-pointer")
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
if(NOT OV_COMPILER_IS_CLANG)
|
||||
# GPU plugin tests compilation is slow with -fvar-tracking-assignments on GCC.
|
||||
# Clang has no var-tracking-assignments.
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fno-var-tracking-assignments")
|
||||
endif()
|
||||
# prevent unloading libraries at runtime, so sanitizer can resolve their symbols
|
||||
if(NOT OV_COMPILER_IS_APPLECLANG)
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -Wl,-z,nodelete")
|
||||
if(OV_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fuse-ld=lld")
|
||||
endif()
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -Wl,-z,nodelete")
|
||||
|
||||
if(OV_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
|
||||
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fuse-ld=lld")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
|
||||
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /Oy-")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_COMPILER_FLAGS}")
|
||||
@@ -103,4 +90,4 @@ if(DEFINED SANITIZER_COMPILER_FLAGS)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SANITIZER_LINKER_FLAGS}")
|
||||
endif()
|
||||
endif()
|
||||
@@ -2,67 +2,48 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG OR
|
||||
(UNIX AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel"))
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -Wformat -Wformat-security")
|
||||
|
||||
if(UNIX)
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -Wformat -Wformat-security")
|
||||
if (NOT ENABLE_SANITIZER)
|
||||
if(EMSCRIPTEN)
|
||||
# emcc does not support fortification, see:
|
||||
# https://stackoverflow.com/questions/58854858/undefined-symbol-stack-chk-guard-in-libopenh264-so-when-building-ffmpeg-wit
|
||||
else()
|
||||
# ASan does not support fortification https://github.com/google/sanitizers/issues/247
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
|
||||
endif()
|
||||
# ASan does not support fortification https://github.com/google/sanitizers/issues/247
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
|
||||
endif()
|
||||
if(NOT APPLE)
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pie")
|
||||
endif()
|
||||
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pie")
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(IE_LINKER_FLAGS "${IE_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-all")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-all")
|
||||
else()
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
endif()
|
||||
if (NOT ENABLE_SANITIZER)
|
||||
# Remove all symbol table and relocation information from the executable
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -s")
|
||||
endif()
|
||||
if(NOT MINGW)
|
||||
set(OV_LINKER_FLAGS "${OV_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -s")
|
||||
endif()
|
||||
elseif(OV_COMPILER_IS_CLANG)
|
||||
if(EMSCRIPTEN)
|
||||
# emcc does not support fortification
|
||||
# https://stackoverflow.com/questions/58854858/undefined-symbol-stack-chk-guard-in-libopenh264-so-when-building-ffmpeg-wit
|
||||
else()
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-all")
|
||||
endif()
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-all")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if (NOT ENABLE_SANITIZER)
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -Wl,--strip-all")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -Wl,--strip-all")
|
||||
endif()
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
set(OV_LINKER_FLAGS "${OV_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-strong")
|
||||
set(IE_LINKER_FLAGS "${IE_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
endif()
|
||||
else()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} /sdl")
|
||||
endif()
|
||||
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} /guard:cf")
|
||||
if(ENABLE_INTEGRITYCHECK)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /INTEGRITYCHECK")
|
||||
endif()
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} /sdl /guard:cf")
|
||||
endif()
|
||||
|
||||
if(ENABLE_QSPECTRE)
|
||||
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} /Qspectre")
|
||||
endif()
|
||||
|
||||
if(ENABLE_INTEGRITYCHECK)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /INTEGRITYCHECK")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${OV_C_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${OV_C_CXX_FLAGS}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
|
||||
|
||||
unset(OV_C_CXX_FLAGS)
|
||||
unset(OV_LINKER_FLAGS)
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${IE_C_CXX_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${IE_C_CXX_FLAGS}")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
|
||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
|
||||
|
||||
@@ -16,7 +16,7 @@ endif()
|
||||
|
||||
|
||||
set(OV_COVERAGE_REPORTS "${CMAKE_BINARY_DIR}/coverage")
|
||||
set(OV_COVERAGE_SCRIPT_DIR "${OpenVINODeveloperScripts_DIR}/coverage")
|
||||
set(OV_COVERAGE_SCRIPT_DIR "${IEDevScripts_DIR}/coverage")
|
||||
|
||||
include(CMakeParseArguments)
|
||||
|
||||
@@ -171,9 +171,9 @@ function(ov_coverage_genhtml)
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ov_coverage_remove(INPUT <info_file> OUTPUT <output_file> PATTERNS <patterns ...>)
|
||||
# ie_coverage_remove(INPUT <info_file> OUTPUT <output_file> PATTERNS <patterns ...>)
|
||||
#
|
||||
function(ov_coverage_remove)
|
||||
function(ie_coverage_remove)
|
||||
cmake_parse_arguments(OV_COVERAGE "" "INPUT;OUTPUT" "PATTERNS" ${ARGN})
|
||||
|
||||
set(input_file "${OV_COVERAGE_REPORTS}/${OV_COVERAGE_INPUT}.info")
|
||||
@@ -199,9 +199,9 @@ function(ov_coverage_remove)
|
||||
endfunction()
|
||||
|
||||
#
|
||||
# ov_coverage_merge(OUTPUT <output file> INPUTS <input files ...>)
|
||||
# ie_coverage_merge(OUTPUT <output file> INPUTS <input files ...>)
|
||||
#
|
||||
function(ov_coverage_merge)
|
||||
function(ie_coverage_merge)
|
||||
cmake_parse_arguments(OV_COVERAGE "" "OUTPUT" "INPUTS" ${ARGN})
|
||||
|
||||
set(output_file "${OV_COVERAGE_REPORTS}/${OV_COVERAGE_OUTPUT}.info")
|
||||
@@ -227,8 +227,6 @@ function(ov_coverage_merge)
|
||||
add_dependencies(ov_coverage_${OV_COVERAGE_OUTPUT}_info ${dependencies})
|
||||
endfunction()
|
||||
|
||||
# deprecated
|
||||
|
||||
if(NOT TARGET ie_coverage)
|
||||
add_custom_target(ie_coverage)
|
||||
set_target_properties(ie_coverage PROPERTIES FOLDER coverage)
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
#
|
||||
|
||||
if(ENABLE_CPPLINT)
|
||||
find_host_package(Python3 QUIET COMPONENTS Interpreter)
|
||||
find_host_package(PythonInterp 3 QUIET)
|
||||
|
||||
if(NOT Python3_Interpreter_FOUND)
|
||||
if(NOT PYTHONINTERP_FOUND)
|
||||
message(WARNING "Python3 interpreter was not found (required for cpplint check)")
|
||||
set(ENABLE_CPPLINT OFF)
|
||||
endif()
|
||||
@@ -14,6 +14,7 @@ endif()
|
||||
if(ENABLE_CPPLINT AND NOT TARGET cpplint_all)
|
||||
add_custom_target(cpplint_all ALL)
|
||||
set_target_properties(cpplint_all PROPERTIES FOLDER cpplint)
|
||||
set(CPPLINT_ALL_OUTPUT_FILES "" CACHE INTERNAL "All cpplint output files")
|
||||
endif()
|
||||
|
||||
function(add_cpplint_target TARGET_NAME)
|
||||
@@ -57,7 +58,6 @@ function(add_cpplint_target TARGET_NAME)
|
||||
endif()
|
||||
|
||||
file(RELATIVE_PATH source_file_relative "${CMAKE_CURRENT_SOURCE_DIR}" "${source_file}")
|
||||
file(RELATIVE_PATH source_file_relative_root "${CMAKE_SOURCE_DIR}" "${source_file}")
|
||||
set(output_file "${CMAKE_CURRENT_BINARY_DIR}/cpplint/${source_file_relative}.cpplint")
|
||||
string(REPLACE ".." "__" output_file "${output_file}")
|
||||
get_filename_component(output_dir "${output_file}" DIRECTORY)
|
||||
@@ -68,25 +68,30 @@ function(add_cpplint_target TARGET_NAME)
|
||||
"${output_file}"
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}"
|
||||
-D "Python3_EXECUTABLE=${Python3_EXECUTABLE}"
|
||||
-D "CPPLINT_SCRIPT=${OpenVINODeveloperScripts_DIR}/cpplint/cpplint.py"
|
||||
-D "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
|
||||
-D "CPPLINT_SCRIPT=${IEDevScripts_DIR}/cpplint/cpplint.py"
|
||||
-D "INPUT_FILE=${source_file}"
|
||||
-D "OUTPUT_FILE=${output_file}"
|
||||
-D "WORKING_DIRECTORY=${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
-D "SKIP_RETURN_CODE=${ENABLE_CPPLINT_REPORT}"
|
||||
-D "CUSTOM_FILTER=${custom_filter}"
|
||||
-P "${OpenVINODeveloperScripts_DIR}/cpplint/cpplint_run.cmake"
|
||||
-P "${IEDevScripts_DIR}/cpplint/cpplint_run.cmake"
|
||||
DEPENDS
|
||||
"${source_file}"
|
||||
"${OpenVINODeveloperScripts_DIR}/cpplint/cpplint.py"
|
||||
"${OpenVINODeveloperScripts_DIR}/cpplint/cpplint_run.cmake"
|
||||
"${IEDevScripts_DIR}/cpplint/cpplint.py"
|
||||
"${IEDevScripts_DIR}/cpplint/cpplint_run.cmake"
|
||||
COMMENT
|
||||
"[cpplint] ${source_file_relative_root}"
|
||||
"[cpplint] ${source_file}"
|
||||
VERBATIM)
|
||||
|
||||
list(APPEND all_output_files "${output_file}")
|
||||
endforeach()
|
||||
|
||||
set(CPPLINT_ALL_OUTPUT_FILES
|
||||
${CPPLINT_ALL_OUTPUT_FILES} ${all_output_files}
|
||||
CACHE INTERNAL
|
||||
"All cpplint output files")
|
||||
|
||||
add_custom_target(${TARGET_NAME} ALL
|
||||
DEPENDS ${all_output_files}
|
||||
COMMENT "[cpplint] ${TARGET_NAME}")
|
||||
|
||||
+4
-4
@@ -641,7 +641,7 @@ _repository = None
|
||||
# Files to exclude from linting. This is set by the --exclude flag.
|
||||
_excludes = None
|
||||
|
||||
# Whether to suppress PrintInfo messages
|
||||
# Whether to supress PrintInfo messages
|
||||
_quiet = False
|
||||
|
||||
# The allowed line length of files.
|
||||
@@ -752,7 +752,7 @@ def ParseNolintSuppressions(filename, raw_line, linenum, error):
|
||||
'Unknown NOLINT error category: %s' % category)
|
||||
|
||||
|
||||
def ProcessGlobalSuppressions(lines):
|
||||
def ProcessGlobalSuppresions(lines):
|
||||
"""Updates the list of global error suppressions.
|
||||
|
||||
Parses any lint directives in the file that have global effect.
|
||||
@@ -780,7 +780,7 @@ def IsErrorSuppressedByNolint(category, linenum):
|
||||
"""Returns true if the specified error category is suppressed on this line.
|
||||
|
||||
Consults the global error_suppressions map populated by
|
||||
ParseNolintSuppressions/ProcessGlobalSuppressions/ResetNolintSuppressions.
|
||||
ParseNolintSuppressions/ProcessGlobalSuppresions/ResetNolintSuppressions.
|
||||
|
||||
Args:
|
||||
category: str, the category of the error.
|
||||
@@ -6203,7 +6203,7 @@ def ProcessFileData(filename, file_extension, lines, error,
|
||||
ResetNolintSuppressions()
|
||||
|
||||
CheckForCopyright(filename, lines, error)
|
||||
ProcessGlobalSuppressions(lines)
|
||||
ProcessGlobalSuppresions(lines)
|
||||
RemoveMultiLineComments(filename, lines, error)
|
||||
clean_lines = CleansedLines(lines)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ file(MAKE_DIRECTORY "${REPORT_DIR}")
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
"${Python3_EXECUTABLE}"
|
||||
"${PYTHON_EXECUTABLE}"
|
||||
"${CONVERT_SCRIPT}"
|
||||
"--file=${INPUT_FILE}"
|
||||
"--report-dir=${REPORT_DIR}"
|
||||
|
||||
@@ -25,7 +25,7 @@ set(FILTER "${DEFAULT_FILTER}${CUSTOM_FILTER}")
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
"${Python3_EXECUTABLE}"
|
||||
"${PYTHON_EXECUTABLE}"
|
||||
"${CPPLINT_SCRIPT}"
|
||||
"--linelength=160"
|
||||
"--counting=detailed"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
"${Python3_EXECUTABLE}"
|
||||
"${PYTHON_EXECUTABLE}"
|
||||
"${CONVERT_SCRIPT}"
|
||||
INPUT_FILE "${INPUT_FILE}"
|
||||
OUTPUT_FILE "${OUTPUT_FILE}"
|
||||
|
||||
@@ -101,4 +101,4 @@ function(_generate_call_line_from_signature SIGNATURE RESULT_NAME)
|
||||
set (${RESULT_NAME} "${_name}(${_arg_names})" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
_generate_dispatcher()
|
||||
_generate_dispatcher()
|
||||
@@ -13,4 +13,4 @@
|
||||
#
|
||||
# =================================================================
|
||||
|
||||
@_GEN_ARGS_LIST@
|
||||
@_GEN_ARGS_LIST@
|
||||
@@ -19,9 +19,9 @@ set(_DEFINE_AVX2 "HAVE_AVX2" ${_DEFINE_AVX})
|
||||
set(_DEFINE_AVX512F "HAVE_AVX512F" ${_DEFINE_AVX2})
|
||||
|
||||
## Arch specific compile options
|
||||
ov_avx512_optimization_flags(_FLAGS_AVX512F)
|
||||
ov_avx2_optimization_flags (_FLAGS_AVX2)
|
||||
ov_sse42_optimization_flags (_FLAGS_SSE42)
|
||||
ie_avx512_optimization_flags(_FLAGS_AVX512F)
|
||||
ie_avx2_optimization_flags (_FLAGS_AVX2)
|
||||
ie_sse42_optimization_flags (_FLAGS_SSE42)
|
||||
set(_FLAGS_AVX "") ## TBD is not defined for IE project yet
|
||||
set(_FLAGS_ANY "") ##
|
||||
|
||||
|
||||
@@ -1,160 +0,0 @@
|
||||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Search packages for the host system instead of packages for the target system
|
||||
# in case of cross compilation these macros should be defined by the toolchain file
|
||||
|
||||
if(CMAKE_CROSSCOMPILING AND NOT (OV_ARCH STREQUAL OV_HOST_ARCH AND
|
||||
CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME))
|
||||
# don't look at directories which are part of PATH (with removed bin / sbin at the end)
|
||||
# like /opt/homebrew on macOS where we cannot use system env path, because brew's
|
||||
# dependencies will be found, but at the same time we need to find flatbufffers and
|
||||
# other build system dependencies
|
||||
# ov_set_if_not_defined(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH OFF)
|
||||
ov_set_if_not_defined(CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY OFF)
|
||||
# it contains /usr and if we set this var to OFF, then CMAKE_FIND_ROOT_PATH is ignored
|
||||
# ov_set_if_not_defined(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH OFF)
|
||||
if(LINUX)
|
||||
# set root paths (overridden to /usr/lib/<CMAKE_LIBRARY_ARCHITECTURE>/cmake)
|
||||
# CMAKE_LIBRARY_ARCHITECTURE is defined automatically by cmake after trying the compilers
|
||||
# ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH "/usr")
|
||||
endif()
|
||||
|
||||
# controling CMAKE_FIND_ROOT_PATH usage
|
||||
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
endif()
|
||||
|
||||
macro(__ov_cmake_find_system_path_save_and_reset)
|
||||
foreach(v
|
||||
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
|
||||
CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
|
||||
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
|
||||
)
|
||||
if(DEFINED ${v})
|
||||
set(__ov_save_${v} ${${v}})
|
||||
else()
|
||||
set(__ov_save_${v} ON)
|
||||
endif()
|
||||
set(${v} ON)
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__ov_cmake_find_system_path_restore)
|
||||
foreach(v
|
||||
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
|
||||
CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
|
||||
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
|
||||
)
|
||||
set(${v} ${__ov_save_${v}})
|
||||
unset(__ov_save_${v})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__ov_cmake_find_root_save_and_reset)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(__ov_save_${v} ${${v}})
|
||||
set(${v} NEVER)
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__ov_cmake_find_root_restore)
|
||||
foreach(v
|
||||
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
|
||||
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
|
||||
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
|
||||
)
|
||||
set(${v} ${__ov_save_${v}})
|
||||
unset(__ov_save_${v})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
macro(__ov_cmake_target_flags_save_and_reset)
|
||||
foreach(v WIN32 UNIX LINUX APPLE ANDROID BSD)
|
||||
set(__ov_target_save_${v} ${${v}})
|
||||
unset(${v})
|
||||
endforeach()
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
set(WIN32 1)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
set(APPLE 1)
|
||||
set(UNIX 1)
|
||||
elseif(CMAKE_HOST_LINUX)
|
||||
set(LINUX 1)
|
||||
set(UNIX 1)
|
||||
elseif(CMAKE_HOST_UNIX)
|
||||
set(UNIX 1)
|
||||
elseif(CMAKE_HOST_BSD)
|
||||
set(BSD 1)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(__ov_cmake_target_flags_restore)
|
||||
foreach(v WIN32 UNIX LINUX APPLE ANDROID BSD)
|
||||
set(${v} ${__ov_target_save_${v}})
|
||||
unset(__ov_target_save_${v})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
# macro to find programs on the host OS
|
||||
if(NOT COMMAND find_host_package)
|
||||
macro(find_host_package)
|
||||
__ov_cmake_find_root_save_and_reset()
|
||||
__ov_cmake_target_flags_save_and_reset()
|
||||
__ov_cmake_find_system_path_save_and_reset()
|
||||
find_package(${ARGN})
|
||||
__ov_cmake_find_system_path_restore()
|
||||
__ov_cmake_target_flags_restore()
|
||||
__ov_cmake_find_root_restore()
|
||||
endmacro()
|
||||
endif()
|
||||
if(NOT COMMAND find_host_program)
|
||||
macro(find_host_program)
|
||||
__ov_cmake_find_root_save_and_reset()
|
||||
__ov_cmake_target_flags_save_and_reset()
|
||||
__ov_cmake_find_system_path_save_and_reset()
|
||||
find_program(${ARGN})
|
||||
__ov_cmake_find_system_path_restore()
|
||||
__ov_cmake_target_flags_restore()
|
||||
__ov_cmake_find_root_restore()
|
||||
endmacro()
|
||||
endif()
|
||||
if(NOT COMMAND find_host_library)
|
||||
macro(find_host_library)
|
||||
__ov_cmake_find_root_save_and_reset()
|
||||
__ov_cmake_target_flags_save_and_reset()
|
||||
__ov_cmake_find_system_path_save_and_reset()
|
||||
find_library(${ARGN})
|
||||
__ov_cmake_find_system_path_restore()
|
||||
__ov_cmake_target_flags_restore()
|
||||
__ov_cmake_find_root_restore()
|
||||
endmacro()
|
||||
endif()
|
||||
else()
|
||||
if(NOT COMMAND find_host_package)
|
||||
macro(find_host_package)
|
||||
find_package(${ARGN})
|
||||
endmacro()
|
||||
endif()
|
||||
if(NOT COMMAND find_host_program)
|
||||
macro(find_host_program)
|
||||
find_program(${ARGN})
|
||||
endmacro()
|
||||
endif()
|
||||
if(NOT COMMAND find_host_library)
|
||||
macro(find_host_library)
|
||||
find_library(${ARGN})
|
||||
endmacro()
|
||||
endif()
|
||||
endif()
|
||||
@@ -1,134 +0,0 @@
|
||||
# Copyright (C) 2018-2023 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
include(ExternalProject)
|
||||
|
||||
#
|
||||
# ov_native_compile_external_project(
|
||||
# TARGET_NAME <name>
|
||||
# NATIVE_INSTALL_DIR <source dir>
|
||||
# NATIVE_TARGETS <target1 target2 ..>
|
||||
# [NATIVE_SOURCE_SUBDIR <subdir>]
|
||||
# [CMAKE_ARGS <option1 option2 ...>]
|
||||
# )
|
||||
#
|
||||
function(ov_native_compile_external_project)
|
||||
set(oneValueRequiredArgs NATIVE_INSTALL_DIR TARGET_NAME NATIVE_SOURCE_SUBDIR)
|
||||
set(multiValueArgs CMAKE_ARGS NATIVE_TARGETS)
|
||||
cmake_parse_arguments(ARG "" "${oneValueRequiredArgs};${oneValueOptionalArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(YOCTO_AARCH64 OR EMSCRIPTEN)
|
||||
# need to unset several variables which can set env to cross-environment
|
||||
foreach(var SDKTARGETSYSROOT CONFIG_SITE OECORE_NATIVE_SYSROOT OECORE_TARGET_SYSROOT
|
||||
OECORE_ACLOCAL_OPTS OECORE_BASELIB OECORE_TARGET_ARCH OECORE_TARGET_OS CC CXX
|
||||
CPP AS LD GDB STRIP RANLIB OBJCOPY OBJDUMP READELF AR NM M4 TARGET_PREFIX
|
||||
CONFIGURE_FLAGS CFLAGS CXXFLAGS LDFLAGS CPPFLAGS KCFLAGS OECORE_DISTRO_VERSION
|
||||
OECORE_SDK_VERSION ARCH CROSS_COMPILE OE_CMAKE_TOOLCHAIN_FILE OPENSSL_CONF
|
||||
OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX PKG_CONFIG_SYSROOT_DIR PKG_CONFIG_PATH)
|
||||
if(DEFINED ENV{${var}})
|
||||
list(APPEND cmake_env --unset=${var})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
# set root path
|
||||
if(YOCTO_AARCH64)
|
||||
set(root_path "$ENV{OECORE_NATIVE_SYSROOT}")
|
||||
elseif(EMSCRIPTEN)
|
||||
set(root_path "$ENV{EMSDK}")
|
||||
endif()
|
||||
|
||||
# filter out PATH from yocto locations
|
||||
string(REPLACE ":" ";" custom_path "$ENV{PATH}")
|
||||
foreach(path IN LISTS custom_path)
|
||||
if(DEFINED root_path AND NOT path MATCHES "^${root_path}")
|
||||
list(APPEND clean_path "${path}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
find_host_program(NATIVE_CMAKE_COMMAND
|
||||
NAMES cmake
|
||||
PATHS ${clean_path}
|
||||
DOC "Host cmake"
|
||||
REQUIRED
|
||||
NO_DEFAULT_PATH)
|
||||
else()
|
||||
set(NATIVE_CMAKE_COMMAND "${CMAKE_COMMAND}")
|
||||
endif()
|
||||
|
||||
# if env has CMAKE_TOOLCHAIN_FILE, we need to skip it
|
||||
if(DEFINED ENV{CMAKE_TOOLCHAIN_FILE})
|
||||
list(APPEND cmake_env --unset=CMAKE_TOOLCHAIN_FILE)
|
||||
endif()
|
||||
|
||||
# compile flags
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
set(compile_flags "-Wno-undef -Wno-error -Wno-deprecated-declarations")
|
||||
endif()
|
||||
|
||||
if(ARG_NATIVE_SOURCE_SUBDIR)
|
||||
set(ARG_NATIVE_SOURCE_SUBDIR SOURCE_SUBDIR ${ARG_NATIVE_SOURCE_SUBDIR})
|
||||
endif()
|
||||
|
||||
if(OV_GENERATOR_MULTI_CONFIG)
|
||||
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_CONFIGURATION_TYPES=${CMAKE_DEFAULT_BUILD_TYPE}")
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_DEFAULT_BUILD_TYPE=${CMAKE_DEFAULT_BUILD_TYPE}")
|
||||
endif()
|
||||
else()
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.21)
|
||||
if(DEFINED CMAKE_CXX_LINKER_LAUNCHER)
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_CXX_LINKER_LAUNCHER=${CMAKE_CXX_LINKER_LAUNCHER}")
|
||||
endif()
|
||||
if(DEFINED CMAKE_C_LINKER_LAUNCHER)
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_C_LINKER_LAUNCHER=${CMAKE_C_LINKER_LAUNCHER}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(compile_flags)
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_CXX_FLAGS=${compile_flags}" "-DCMAKE_C_FLAGS=${compile_flags}")
|
||||
endif()
|
||||
|
||||
if(DEFINED CMAKE_CXX_COMPILER_LAUNCHER)
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}")
|
||||
endif()
|
||||
if(DEFINED CMAKE_C_COMPILER_LAUNCHER)
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}")
|
||||
endif()
|
||||
|
||||
if(DEFINED CMAKE_MAKE_PROGRAM)
|
||||
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}")
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(${ARG_TARGET_NAME}
|
||||
# Directory Options
|
||||
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
PREFIX "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/build"
|
||||
INSTALL_DIR "${ARG_NATIVE_INSTALL_DIR}"
|
||||
# Configure Step Options:
|
||||
CMAKE_COMMAND
|
||||
"${NATIVE_CMAKE_COMMAND}" -E env ${cmake_env}
|
||||
"${NATIVE_CMAKE_COMMAND}"
|
||||
CMAKE_ARGS
|
||||
"-DCMAKE_POLICY_DEFAULT_CMP0069=NEW"
|
||||
"-DCMAKE_INSTALL_PREFIX=${ARG_NATIVE_INSTALL_DIR}"
|
||||
${ARG_CMAKE_ARGS}
|
||||
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
|
||||
${ARG_NATIVE_SOURCE_SUBDIR}
|
||||
# Build Step Options:
|
||||
BUILD_COMMAND
|
||||
"${NATIVE_CMAKE_COMMAND}"
|
||||
--build "${CMAKE_CURRENT_BINARY_DIR}/build"
|
||||
--config Release
|
||||
--parallel
|
||||
-- ${ARG_NATIVE_TARGETS}
|
||||
# Test Step Options:
|
||||
TEST_EXCLUDE_FROM_MAIN ON
|
||||
# Target Options:
|
||||
EXCLUDE_FROM_ALL ON
|
||||
)
|
||||
endfunction()
|
||||
@@ -136,8 +136,6 @@ function (RESOLVE_DEPENDENCY NAME_OF_CMAKE_VAR)
|
||||
endfunction(RESOLVE_DEPENDENCY)
|
||||
|
||||
function (resolve_model_dependency network archive network_model_path)
|
||||
message(WARNING "DEPRECATED: 'resolve_model_dependency' must not be used")
|
||||
|
||||
RESOLVE_DEPENDENCY(${network_model_path}
|
||||
ARCHIVE "models_archives/${archive}"
|
||||
TARGET_PATH "${MODELS_PATH}/${network}")
|
||||
|
||||
@@ -31,7 +31,15 @@ function (GetNameAndUrlToDownload name url archive_name_unified archive_name_win
|
||||
endif()
|
||||
|
||||
set (${name} ${archive_name} PARENT_SCOPE)
|
||||
set (${url} "thirdparty/${PLATFORM_FOLDER}/${archive_name}" PARENT_SCOPE)
|
||||
|
||||
set(HDDL_DEPENDENCIES "")
|
||||
string(REGEX MATCH "hddl_.*_19.*" HDDL_DEPENDENCIES ${archive_name})
|
||||
|
||||
if(NOT ${HDDL_DEPENDENCIES} EQUAL "")
|
||||
set (${url} "${archive_name}" PARENT_SCOPE)
|
||||
else()
|
||||
set (${url} "thirdparty/${PLATFORM_FOLDER}/${archive_name}" PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
endfunction(GetNameAndUrlToDownload)
|
||||
|
||||
|
||||
@@ -4,25 +4,23 @@
|
||||
|
||||
include(CMakeParseArguments)
|
||||
|
||||
function(ov_build_target_faster TARGET_NAME)
|
||||
function(ie_faster_build TARGET_NAME)
|
||||
if(NOT ENABLE_FASTER_BUILD)
|
||||
return()
|
||||
endif()
|
||||
|
||||
cmake_parse_arguments(FASTER_BUILD "UNITY" "" "PCH" ${ARGN})
|
||||
cmake_parse_arguments(IE_FASTER_BUILD "UNITY" "" "PCH" ${ARGN})
|
||||
|
||||
if(FASTER_BUILD_UNITY)
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES UNITY_BUILD ON)
|
||||
if(IE_FASTER_BUILD_UNITY)
|
||||
set_target_properties(${TARGET_NAME}
|
||||
PROPERTIES
|
||||
UNITY_BUILD ON
|
||||
)
|
||||
endif()
|
||||
|
||||
if(FASTER_BUILD_PCH)
|
||||
target_precompile_headers(${TARGET_NAME} ${FASTER_BUILD_PCH})
|
||||
if(IE_FASTER_BUILD_PCH)
|
||||
target_precompile_headers(${TARGET_NAME}
|
||||
${IE_FASTER_BUILD_PCH}
|
||||
)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# deprecated
|
||||
|
||||
function(ie_faster_build)
|
||||
message(WARNING "ie_faster_build is deprecated, use ov_build_target_faster instead")
|
||||
ov_build_target_faster(${ARGV})
|
||||
endfunction()
|
||||
|
||||
@@ -5,82 +5,76 @@
|
||||
include(options)
|
||||
include(target_flags)
|
||||
|
||||
set (CPACK_GENERATOR "TGZ" CACHE STRING "Cpack generator for OpenVINO")
|
||||
list (APPEND OV_OPTIONS CPACK_GENERATOR)
|
||||
|
||||
# FIXME: there are compiler failures with LTO and Cross-Compile toolchains. Disabling for now, but
|
||||
# this must be addressed in a proper way
|
||||
ov_dependent_option (ENABLE_LTO "Enable Link Time Optimization" OFF
|
||||
"LINUX;EMSCRIPTEN OR NOT CMAKE_CROSSCOMPILING;CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9" OFF)
|
||||
ie_dependent_option (ENABLE_LTO "Enable Link Time Optimization" OFF
|
||||
"LINUX OR (APPLE AND AARCH64);NOT CMAKE_CROSSCOMPILING;CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9" OFF)
|
||||
|
||||
ov_option (OS_FOLDER "create OS dedicated folder in output" OFF)
|
||||
ie_option (OS_FOLDER "create OS dedicated folder in output" OFF)
|
||||
|
||||
if(OV_GENERATOR_MULTI_CONFIG)
|
||||
ov_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" OFF)
|
||||
ie_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" OFF)
|
||||
else()
|
||||
ov_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" ON)
|
||||
ie_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" ON)
|
||||
endif()
|
||||
|
||||
if(DEFINED ENV{CI_BUILD_NUMBER} AND NOT (WIN32 OR CMAKE_CROSSCOMPILING))
|
||||
set(CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT ON)
|
||||
if(CI_BUILD_NUMBER)
|
||||
set(TREAT_WARNING_AS_ERROR_DEFAULT ON)
|
||||
else()
|
||||
set(CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT OFF)
|
||||
set(TREAT_WARNING_AS_ERROR_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
ov_option (CMAKE_COMPILE_WARNING_AS_ERROR "Enable warnings as errors" ${CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT})
|
||||
ie_dependent_option (TREAT_WARNING_AS_ERROR "WILL BE REMOVED SOON, NEED TO FIX PRIVATE COMPONENTS" ON "X86_64 OR X86" OFF)
|
||||
|
||||
ov_dependent_option (ENABLE_QSPECTRE "Enable Qspectre mitigation" OFF "CMAKE_CXX_COMPILER_ID STREQUAL MSVC" OFF)
|
||||
if(NOT DEFINED CMAKE_COMPILE_WARNING_AS_ERROR)
|
||||
set(CMAKE_COMPILE_WARNING_AS_ERROR ${TREAT_WARNING_AS_ERROR_DEFAULT})
|
||||
endif()
|
||||
|
||||
ov_dependent_option (ENABLE_INTEGRITYCHECK "build DLLs with /INTEGRITYCHECK flag" OFF "CMAKE_CXX_COMPILER_ID STREQUAL MSVC" OFF)
|
||||
ie_dependent_option (ENABLE_INTEGRITYCHECK "build DLLs with /INTEGRITYCHECK flag" OFF "CMAKE_CXX_COMPILER_ID STREQUAL MSVC" OFF)
|
||||
|
||||
ov_option (ENABLE_SANITIZER "enable checking memory errors via AddressSanitizer" OFF)
|
||||
ie_option (ENABLE_SANITIZER "enable checking memory errors via AddressSanitizer" OFF)
|
||||
|
||||
ov_option (ENABLE_UB_SANITIZER "enable UndefinedBahavior sanitizer" OFF)
|
||||
ie_option (ENABLE_UB_SANITIZER "enable UndefinedBahavior sanitizer" OFF)
|
||||
|
||||
ov_option (ENABLE_THREAD_SANITIZER "enable checking data races via ThreadSanitizer" OFF)
|
||||
ie_option (ENABLE_THREAD_SANITIZER "enable checking data races via ThreadSanitizer" OFF)
|
||||
|
||||
ov_dependent_option (ENABLE_COVERAGE "enable code coverage" OFF "CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG" OFF)
|
||||
ie_dependent_option (ENABLE_COVERAGE "enable code coverage" OFF "CMAKE_CXX_COMPILER_ID STREQUAL GNU OR OV_COMPILER_IS_CLANG" OFF)
|
||||
|
||||
# Defines CPU capabilities
|
||||
|
||||
ov_dependent_option (ENABLE_SSE42 "Enable SSE4.2 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
|
||||
ie_dependent_option (ENABLE_SSE42 "Enable SSE4.2 optimizations" ON "X86_64 OR X86" OFF)
|
||||
|
||||
ov_dependent_option (ENABLE_AVX2 "Enable AVX2 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
|
||||
ie_dependent_option (ENABLE_AVX2 "Enable AVX2 optimizations" ON "X86_64 OR X86" OFF)
|
||||
|
||||
ov_dependent_option (ENABLE_AVX512F "Enable AVX512 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
|
||||
ie_dependent_option (ENABLE_AVX512F "Enable AVX512 optimizations" ON "X86_64 OR X86" OFF)
|
||||
|
||||
# Type of build, we add this as an explicit option to default it to ON
|
||||
get_property(BUILD_SHARED_LIBS_DEFAULT GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
|
||||
ov_option (BUILD_SHARED_LIBS "Build as a shared library" ${BUILD_SHARED_LIBS_DEFAULT})
|
||||
ie_option (BUILD_SHARED_LIBS "Build as a shared library" ON)
|
||||
|
||||
# Android does not support SOVERSION
|
||||
# see https://www.opengis.ch/2011/11/23/creating-non-versioned-shared-libraries-for-android/
|
||||
ov_dependent_option (ENABLE_LIBRARY_VERSIONING "Enable libraries versioning" ON "NOT WIN32;NOT ANDROID;BUILD_SHARED_LIBS" OFF)
|
||||
ie_dependent_option (ENABLE_LIBRARY_VERSIONING "Enable libraries versioning" ON "NOT WIN32;NOT ANDROID" OFF)
|
||||
|
||||
ov_dependent_option (ENABLE_FASTER_BUILD "Enable build features (PCH, UNITY) to speed up build time" OFF "CMAKE_VERSION VERSION_GREATER_EQUAL 3.16" OFF)
|
||||
ie_dependent_option (ENABLE_FASTER_BUILD "Enable build features (PCH, UNITY) to speed up build time" OFF "CMAKE_VERSION VERSION_GREATER_EQUAL 3.16" OFF)
|
||||
|
||||
if(CMAKE_CROSSCOMPILING OR WIN32)
|
||||
set(STYLE_CHECKS_DEFAULT OFF)
|
||||
else()
|
||||
if(UNIX AND NOT ANDROID)
|
||||
set(STYLE_CHECKS_DEFAULT ON)
|
||||
else()
|
||||
set(STYLE_CHECKS_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
ov_option (ENABLE_CPPLINT "Enable cpplint checks during the build" ${STYLE_CHECKS_DEFAULT})
|
||||
ie_option (ENABLE_CPPLINT "Enable cpplint checks during the build" ${STYLE_CHECKS_DEFAULT})
|
||||
|
||||
ov_dependent_option (ENABLE_CPPLINT_REPORT "Build cpplint report instead of failing the build" OFF "ENABLE_CPPLINT" OFF)
|
||||
ie_dependent_option (ENABLE_CPPLINT_REPORT "Build cpplint report instead of failing the build" OFF "ENABLE_CPPLINT" OFF)
|
||||
|
||||
ov_option (ENABLE_CLANG_FORMAT "Enable clang-format checks during the build" ${STYLE_CHECKS_DEFAULT})
|
||||
ie_option (ENABLE_CLANG_FORMAT "Enable clang-format checks during the build" ${STYLE_CHECKS_DEFAULT})
|
||||
|
||||
ov_option (ENABLE_NCC_STYLE "Enable ncc style check" ${STYLE_CHECKS_DEFAULT})
|
||||
ie_option (ENABLE_NCC_STYLE "Enable ncc style check" ${STYLE_CHECKS_DEFAULT})
|
||||
|
||||
ov_option (ENABLE_UNSAFE_LOCATIONS "skip check for MD5 for dependency" OFF)
|
||||
ie_option (VERBOSE_BUILD "shows extra information about build" OFF)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER_EQUAL 1930)
|
||||
# Visual Studio 2022: 1930-1939 = VS 17.0 (v143 toolset)
|
||||
set(_msvc_version_2022 ON)
|
||||
endif()
|
||||
ie_option (ENABLE_UNSAFE_LOCATIONS "skip check for MD5 for dependency" OFF)
|
||||
|
||||
ov_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG OR _msvc_version_2022" OFF)
|
||||
ie_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG;NOT WIN32" OFF)
|
||||
|
||||
#
|
||||
# Check features
|
||||
@@ -102,3 +96,5 @@ if(ENABLE_AVX512F)
|
||||
set(ENABLE_AVX512F OFF CACHE BOOL "" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(CMAKE_VERBOSE_MAKEFILE ${VERBOSE_BUILD} CACHE BOOL "" FORCE)
|
||||
|
||||
@@ -15,8 +15,8 @@ set(OV_FRONTEND_MAP_DEFINITION " FrontendsStaticRegistry registry = {")
|
||||
|
||||
foreach(frontend IN LISTS FRONTEND_NAMES)
|
||||
# common
|
||||
set(_OV_FRONTEND_DATA_FUNC "get_front_end_data_${frontend}")
|
||||
set(_OV_VERSION_FUNC "get_api_version_${frontend}")
|
||||
set(_OV_FRONTEND_DATA_FUNC "GetFrontEndData${frontend}")
|
||||
set(_OV_VERSION_FUNC "GetAPIVersion${frontend}")
|
||||
|
||||
# declarations
|
||||
set(OV_FRONTEND_DECLARATIONS "${OV_FRONTEND_DECLARATIONS}
|
||||
|
||||
@@ -38,7 +38,7 @@ function(ov_generate_frontends_hpp)
|
||||
ov_target_link_frontends(openvino)
|
||||
|
||||
set(ov_frontends_hpp "${CMAKE_BINARY_DIR}/src/frontends/common/src/ov_frontends.hpp")
|
||||
set(frontends_hpp_in "${OpenVINODeveloperScripts_DIR}/frontends/ov_frontends.hpp.in")
|
||||
set(frontends_hpp_in "${IEDevScripts_DIR}/frontends/ov_frontends.hpp.in")
|
||||
|
||||
add_custom_command(OUTPUT "${ov_frontends_hpp}"
|
||||
COMMAND
|
||||
@@ -46,10 +46,10 @@ function(ov_generate_frontends_hpp)
|
||||
-D "OV_FRONTENDS_HPP_HEADER_IN=${frontends_hpp_in}"
|
||||
-D "OV_FRONTENDS_HPP_HEADER=${ov_frontends_hpp}"
|
||||
-D "FRONTEND_NAMES=${FRONTEND_NAMES}"
|
||||
-P "${OpenVINODeveloperScripts_DIR}/frontends/create_frontends_hpp.cmake"
|
||||
-P "${IEDevScripts_DIR}/frontends/create_frontends_hpp.cmake"
|
||||
DEPENDS
|
||||
"${frontends_hpp_in}"
|
||||
"${OpenVINODeveloperScripts_DIR}/frontends/create_frontends_hpp.cmake"
|
||||
"${IEDevScripts_DIR}/frontends/create_frontends_hpp.cmake"
|
||||
COMMENT
|
||||
"Generate ov_frontends.hpp for static build"
|
||||
VERBATIM)
|
||||
@@ -85,13 +85,12 @@ unset(protobuf_installed CACHE)
|
||||
# FILEDESCRIPTION <description> # used on Windows to describe DLL file
|
||||
# [LINKABLE_FRONTEND] # whether we can use FE API directly or via FEM only
|
||||
# [SKIP_INSTALL] # private frontend, not for end users
|
||||
# [PROTOBUF_REQUIRED] # options to denote that protobuf is used
|
||||
# [PROTOBUF_LITE] # requires only libprotobuf-lite
|
||||
# [SKIP_NCC_STYLE] # use custom NCC rules
|
||||
# [LINK_LIBRARIES <lib1 lib2 ...>])
|
||||
#
|
||||
macro(ov_add_frontend)
|
||||
set(options LINKABLE_FRONTEND PROTOBUF_REQUIRED PROTOBUF_LITE SKIP_NCC_STYLE SKIP_INSTALL)
|
||||
set(options LINKABLE_FRONTEND PROTOBUF_LITE SKIP_NCC_STYLE SKIP_INSTALL)
|
||||
set(oneValueArgs NAME FILEDESCRIPTION)
|
||||
set(multiValueArgs LINK_LIBRARIES PROTO_FILES)
|
||||
cmake_parse_arguments(OV_FRONTEND "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
@@ -113,6 +112,17 @@ macro(ov_add_frontend)
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE LIBRARY_SRC ${frontend_root_dir}/src/*.cpp)
|
||||
if (WIN32)
|
||||
# Remove linux specific files
|
||||
file(GLOB_RECURSE LIN_FILES ${frontend_root_dir}/src/os/lin/*.cpp
|
||||
${frontend_root_dir}/src/os/lin/*.hpp)
|
||||
list(REMOVE_ITEM LIBRARY_SRC "${LIN_FILES}")
|
||||
else()
|
||||
# Remove windows specific files
|
||||
file(GLOB_RECURSE WIN_FILES ${frontend_root_dir}/src/os/win/*.cpp
|
||||
${frontend_root_dir}/src/os/win/*.hpp)
|
||||
list(REMOVE_ITEM LIBRARY_SRC "${WIN_FILES}")
|
||||
endif()
|
||||
file(GLOB_RECURSE LIBRARY_HEADERS ${frontend_root_dir}/src/*.hpp)
|
||||
file(GLOB_RECURSE LIBRARY_PUBLIC_HEADERS ${frontend_root_dir}/include/*.hpp)
|
||||
|
||||
@@ -126,53 +136,30 @@ macro(ov_add_frontend)
|
||||
source_group("public include" FILES ${LIBRARY_PUBLIC_HEADERS})
|
||||
|
||||
# Generate protobuf file on build time for each '.proto' file in src/proto
|
||||
set(protofiles_root_dir "${frontend_root_dir}/src/proto")
|
||||
file(GLOB_RECURSE proto_files ${protofiles_root_dir}/*.proto)
|
||||
file(GLOB proto_files ${frontend_root_dir}/src/proto/*.proto)
|
||||
|
||||
foreach(proto_file IN LISTS proto_files)
|
||||
# filter out standaard google proto files
|
||||
if(proto_file MATCHES ".*google.*")
|
||||
continue()
|
||||
endif()
|
||||
|
||||
file(RELATIVE_PATH proto_file_relative "${CMAKE_SOURCE_DIR}" "${proto_file}")
|
||||
get_filename_component(FILE_WE ${proto_file} NAME_WE)
|
||||
file(RELATIVE_PATH relative_path ${protofiles_root_dir} ${proto_file})
|
||||
get_filename_component(relative_path ${relative_path} DIRECTORY)
|
||||
set(OUTPUT_PB_SRC ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.cc)
|
||||
set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.h)
|
||||
foreach(INFILE IN LISTS proto_files)
|
||||
get_filename_component(FILE_DIR ${INFILE} DIRECTORY)
|
||||
get_filename_component(FILE_WE ${INFILE} NAME_WE)
|
||||
set(OUTPUT_PB_SRC ${CMAKE_CURRENT_BINARY_DIR}/${FILE_WE}.pb.cc)
|
||||
set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${FILE_WE}.pb.h)
|
||||
set(GENERATED_PROTO ${INFILE})
|
||||
add_custom_command(
|
||||
OUTPUT "${OUTPUT_PB_SRC}" "${OUTPUT_PB_HEADER}"
|
||||
COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file}
|
||||
DEPENDS ${PROTOC_DEPENDENCY} ${proto_file}
|
||||
COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${proto_file_relative}"
|
||||
COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${FILE_DIR} ${FILE_WE}.proto
|
||||
DEPENDS ${PROTOC_DEPENDENCY} ${GENERATED_PROTO}
|
||||
COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${GENERATED_PROTO}"
|
||||
VERBATIM
|
||||
COMMAND_EXPAND_LISTS)
|
||||
list(APPEND PROTO_SRCS "${OUTPUT_PB_SRC}")
|
||||
list(APPEND PROTO_HDRS "${OUTPUT_PB_HEADER}")
|
||||
endforeach()
|
||||
|
||||
file(GLOB flatbuffers_schema_files ${frontend_root_dir}/src/schema/*.fbs)
|
||||
foreach(flatbuffers_schema_file IN LISTS flatbuffers_schema_files)
|
||||
file(RELATIVE_PATH flatbuffers_schema_file_relative "${CMAKE_SOURCE_DIR}" "${flatbuffers_schema_file}")
|
||||
get_filename_component(FILE_WE "${flatbuffers_schema_file}" NAME_WE)
|
||||
set(OUTPUT_FC_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${FILE_WE}_generated.h)
|
||||
add_custom_command(
|
||||
OUTPUT "${OUTPUT_FC_HEADER}"
|
||||
COMMAND ${flatbuffers_COMPILER} ARGS -c --gen-mutable -o ${CMAKE_CURRENT_BINARY_DIR} ${flatbuffers_schema_file}
|
||||
DEPENDS ${flatbuffers_DEPENDENCY} ${flatbuffers_schema_file}
|
||||
COMMENT "Running C++ flatbuffers compiler (${flatbuffers_COMPILER}) on ${flatbuffers_schema_file_relative}"
|
||||
VERBATIM
|
||||
COMMAND_EXPAND_LISTS)
|
||||
list(APPEND PROTO_HDRS "${OUTPUT_FC_HEADER}")
|
||||
endforeach()
|
||||
|
||||
# Disable all warnings for generated code
|
||||
set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} PROPERTIES COMPILE_OPTIONS -w GENERATED ON)
|
||||
set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} PROPERTIES COMPILE_OPTIONS -w GENERATED TRUE)
|
||||
|
||||
# Create library
|
||||
add_library(${TARGET_NAME} ${LIBRARY_SRC} ${LIBRARY_HEADERS} ${LIBRARY_PUBLIC_HEADERS}
|
||||
${PROTO_SRCS} ${PROTO_HDRS} ${flatbuffers_schema_files} ${proto_files})
|
||||
add_library(${TARGET_NAME} ${LIBRARY_SRC} ${LIBRARY_HEADERS} ${LIBRARY_PUBLIC_HEADERS} ${PROTO_SRCS} ${PROTO_HDRS})
|
||||
|
||||
if(OV_FRONTEND_LINKABLE_FRONTEND)
|
||||
# create beautiful alias
|
||||
@@ -180,20 +167,28 @@ macro(ov_add_frontend)
|
||||
endif()
|
||||
|
||||
# Shutdown protobuf when unloading the frontend dynamic library
|
||||
if(OV_FRONTEND_PROTOBUF_REQUIRED AND BUILD_SHARED_LIBS)
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE openvino::protobuf_shutdown)
|
||||
if(proto_files AND BUILD_SHARED_LIBS)
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ov_protobuf_shutdown)
|
||||
endif()
|
||||
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
# override default function names
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE
|
||||
"-Dget_front_end_data=get_front_end_data_${OV_FRONTEND_NAME}"
|
||||
"-Dget_api_version=get_api_version_${OV_FRONTEND_NAME}")
|
||||
"-DGetFrontEndData=GetFrontEndData${OV_FRONTEND_NAME}"
|
||||
"-DGetAPIVersion=GetAPIVersion${OV_FRONTEND_NAME}")
|
||||
endif()
|
||||
|
||||
# remove -Wmissing-declarations warning, because of frontends implementation specific
|
||||
if(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
|
||||
target_compile_options(${TARGET_NAME} PRIVATE -Wno-missing-declarations)
|
||||
# enable LTO
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
|
||||
|
||||
if(OV_FRONTEND_SKIP_NCC_STYLE)
|
||||
# frontend's CMakeLists.txt must define its own custom 'ov_ncc_naming_style' step
|
||||
else()
|
||||
ov_ncc_naming_style(FOR_TARGET ${TARGET_NAME}
|
||||
SOURCE_DIRECTORY "${frontend_root_dir}/include"
|
||||
ADDITIONAL_INCLUDE_DIRECTORIES
|
||||
$<TARGET_PROPERTY:frontend_common::static,INTERFACE_INCLUDE_DIRECTORIES>)
|
||||
endif()
|
||||
|
||||
target_include_directories(${TARGET_NAME}
|
||||
@@ -203,84 +198,47 @@ macro(ov_add_frontend)
|
||||
${frontend_root_dir}/src
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
ov_add_vs_version_file(NAME ${TARGET_NAME}
|
||||
ie_add_vs_version_file(NAME ${TARGET_NAME}
|
||||
FILEDESCRIPTION ${OV_FRONTEND_FILEDESCRIPTION})
|
||||
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES} PUBLIC openvino::runtime)
|
||||
target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime)
|
||||
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES})
|
||||
ov_add_library_version(${TARGET_NAME})
|
||||
|
||||
if(OV_FRONTEND_PROTOBUF_REQUIRED)
|
||||
# WA for TF frontends which always require protobuf (not protobuf-lite)
|
||||
# if TF FE is built in static mode, use protobuf for all other FEs
|
||||
if(FORCE_FRONTENDS_USE_PROTOBUF)
|
||||
set(OV_FRONTEND_PROTOBUF_LITE OFF)
|
||||
endif()
|
||||
# if protobuf::libprotobuf-lite is not available, use protobuf::libprotobuf
|
||||
if(NOT TARGET protobuf::libprotobuf-lite)
|
||||
set(OV_FRONTEND_PROTOBUF_LITE OFF)
|
||||
endif()
|
||||
# WA for TF frontends which always require protobuf (not protobuf-lite)
|
||||
# if TF FE is built in static mode, use protobuf for all other FEs
|
||||
if(FORCE_FRONTENDS_USE_PROTOBUF)
|
||||
set(OV_FRONTEND_PROTOBUF_LITE OFF)
|
||||
endif()
|
||||
|
||||
if(proto_files)
|
||||
if(OV_FRONTEND_PROTOBUF_LITE)
|
||||
set(protobuf_target_name libprotobuf-lite)
|
||||
set(protobuf_install_name "protobuf_lite_installed")
|
||||
else()
|
||||
set(protobuf_target_name libprotobuf)
|
||||
set(protobuf_install_name "protobuf_installed")
|
||||
endif()
|
||||
if(ENABLE_SYSTEM_PROTOBUF)
|
||||
# use imported target name with namespace
|
||||
set(protobuf_target_name "protobuf::${protobuf_target_name}")
|
||||
endif()
|
||||
|
||||
ov_link_system_libraries(${TARGET_NAME} PRIVATE ${protobuf_target_name})
|
||||
|
||||
# protobuf generated code emits -Wsuggest-override error
|
||||
if(SUGGEST_OVERRIDE_SUPPORTED)
|
||||
target_compile_options(${TARGET_NAME} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-Wno-suggest-override>)
|
||||
endif()
|
||||
|
||||
# install protobuf if it is not installed yet
|
||||
if(NOT ${protobuf_install_name})
|
||||
if(ENABLE_SYSTEM_PROTOBUF)
|
||||
# we have to add find_package(Protobuf) to the OpenVINOConfig.cmake for static build
|
||||
# no needs to install protobuf
|
||||
else()
|
||||
ov_install_static_lib(${protobuf_target_name} ${OV_CPACK_COMP_CORE})
|
||||
set("${protobuf_install_name}" ON CACHE INTERNAL "" FORCE)
|
||||
if(NOT protobuf_lite_installed)
|
||||
ov_install_static_lib(${Protobuf_LITE_LIBRARIES} ${OV_CPACK_COMP_CORE})
|
||||
set(protobuf_lite_installed ON CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
link_system_libraries(${TARGET_NAME} PRIVATE ${Protobuf_LITE_LIBRARIES})
|
||||
else()
|
||||
if(NOT protobuf_installed)
|
||||
ov_install_static_lib(${Protobuf_LIBRARIES} ${OV_CPACK_COMP_CORE})
|
||||
set(protobuf_installed ON CACHE INTERNAL "" FORCE)
|
||||
endif()
|
||||
link_system_libraries(${TARGET_NAME} PRIVATE ${Protobuf_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# prptobuf generated code emits -Wsuggest-override error
|
||||
if(SUGGEST_OVERRIDE_SUPPORTED)
|
||||
target_compile_options(${TARGET_NAME} PRIVATE -Wno-suggest-override)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(flatbuffers_schema_files)
|
||||
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${flatbuffers_INCLUDE_DIRECTORIES})
|
||||
endif()
|
||||
|
||||
ov_add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}
|
||||
EXCLUDE_PATTERNS ${PROTO_SRCS} ${PROTO_HDRS} ${proto_files} ${flatbuffers_schema_files})
|
||||
|
||||
# enable LTO
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO})
|
||||
|
||||
if(OV_FRONTEND_SKIP_NCC_STYLE)
|
||||
# frontend's CMakeLists.txt must define its own custom 'ov_ncc_naming_style' step
|
||||
else()
|
||||
ov_ncc_naming_style(FOR_TARGET ${TARGET_NAME}
|
||||
SOURCE_DIRECTORIES "${frontend_root_dir}/include"
|
||||
"${frontend_root_dir}/src"
|
||||
ADDITIONAL_INCLUDE_DIRECTORIES
|
||||
$<TARGET_PROPERTY:${TARGET_NAME},INTERFACE_INCLUDE_DIRECTORIES>
|
||||
$<TARGET_PROPERTY:${TARGET_NAME},INCLUDE_DIRECTORIES>)
|
||||
endif()
|
||||
add_clang_format_target(${TARGET_NAME}_clang FOR_TARGETS ${TARGET_NAME}
|
||||
EXCLUDE_PATTERNS ${PROTO_SRCS} ${PROTO_HDRS} ${proto_files})
|
||||
|
||||
add_dependencies(ov_frontends ${TARGET_NAME})
|
||||
|
||||
# must be called after all target_link_libraries
|
||||
ov_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
|
||||
|
||||
# since frontends are user-facing component which can be linked against,
|
||||
# then we need to mark it to be CXX ABI free
|
||||
ov_abi_free_target(${TARGET_NAME})
|
||||
ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
|
||||
|
||||
# installation
|
||||
|
||||
@@ -293,11 +251,12 @@ macro(ov_add_frontend)
|
||||
set(dev_component "${OV_CPACK_COMP_CORE_DEV}")
|
||||
|
||||
# TODO: whether we need to do it configuralbe on Windows installer?
|
||||
ov_cpack_add_component(${lib_component} HIDDEN)
|
||||
ie_cpack_add_component(${lib_component} HIDDEN)
|
||||
|
||||
if(OV_FRONTEND_LINKABLE_FRONTEND)
|
||||
set(export_set EXPORT OpenVINOTargets)
|
||||
set(archive_dest ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${lib_component})
|
||||
set(archive_dest ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR}
|
||||
COMPONENT ${lib_component})
|
||||
set(namelink NAMELINK_COMPONENT ${dev_component})
|
||||
else()
|
||||
set(namelink NAMELINK_SKIP)
|
||||
@@ -307,12 +266,6 @@ macro(ov_add_frontend)
|
||||
${archive_dest}
|
||||
LIBRARY DESTINATION ${OV_CPACK_LIBRARYDIR} COMPONENT ${lib_component}
|
||||
${namelink})
|
||||
|
||||
# export to build tree
|
||||
if(OV_FRONTEND_LINKABLE_FRONTEND)
|
||||
export(TARGETS ${TARGET_NAME} NAMESPACE openvino::
|
||||
APPEND FILE "${CMAKE_BINARY_DIR}/OpenVINOTargets.cmake")
|
||||
endif()
|
||||
else()
|
||||
ov_install_static_lib(${TARGET_NAME} ${OV_CPACK_COMP_CORE})
|
||||
endif()
|
||||
@@ -324,8 +277,9 @@ macro(ov_add_frontend)
|
||||
COMPONENT ${dev_component}
|
||||
FILES_MATCHING PATTERN "*.hpp")
|
||||
|
||||
# public target name
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES EXPORT_NAME frontend::${OV_FRONTEND_NAME})
|
||||
export(TARGETS ${TARGET_NAME} NAMESPACE openvino::
|
||||
APPEND FILE "${CMAKE_BINARY_DIR}/OpenVINOTargets.cmake")
|
||||
endif()
|
||||
else()
|
||||
# skipped frontend has to be installed in static libraries case
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
|
||||
namespace {
|
||||
|
||||
using get_front_end_data_func = void*();
|
||||
using get_api_version_func = ov::frontend::FrontEndVersion();
|
||||
using GetFrontEndDataFunc = void*();
|
||||
using GetAPIVersionFunc = ov::frontend::FrontEndVersion();
|
||||
|
||||
struct Value {
|
||||
get_front_end_data_func* m_dataFunc;
|
||||
get_api_version_func* m_versionFunc;
|
||||
GetFrontEndDataFunc* m_dataFunc;
|
||||
GetAPIVersionFunc* m_versionFunc;
|
||||
};
|
||||
|
||||
using FrontendsStaticRegistry = std::vector<Value>;
|
||||
|
||||
@@ -2,6 +2,38 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
function(get_linux_name res_var)
|
||||
set(${res_var} NOTFOUND PARENT_SCOPE)
|
||||
endfunction()
|
||||
include(target_flags)
|
||||
|
||||
if(LINUX)
|
||||
function(get_linux_name res_var)
|
||||
if(EXISTS "/etc/lsb-release")
|
||||
# linux version detection using cat /etc/lsb-release
|
||||
file(READ "/etc/lsb-release" release_data)
|
||||
set(name_regex "DISTRIB_ID=([^ \n]*)\n")
|
||||
set(version_regex "DISTRIB_RELEASE=([0-9]+(\\.[0-9]+)?)")
|
||||
else()
|
||||
execute_process(COMMAND find -L /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \;
|
||||
OUTPUT_VARIABLE release_data
|
||||
RESULT_VARIABLE result)
|
||||
string(REPLACE "Red Hat" "CentOS" release_data "${release_data}")
|
||||
set(name_regex "NAME=\"([^ \"\n]*).*\"\n")
|
||||
set(version_regex "VERSION=\"([0-9]+(\\.[0-9]+)?)[^\n]*\"")
|
||||
endif()
|
||||
|
||||
string(REGEX MATCH ${name_regex} name ${release_data})
|
||||
set(os_name ${CMAKE_MATCH_1})
|
||||
|
||||
string(REGEX MATCH ${version_regex} version ${release_data})
|
||||
set(os_name "${os_name} ${CMAKE_MATCH_1}")
|
||||
|
||||
if(os_name)
|
||||
set(${res_var} ${os_name} PARENT_SCOPE)
|
||||
else ()
|
||||
set(${res_var} NOTFOUND PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction()
|
||||
else()
|
||||
function(get_linux_name res_var)
|
||||
set(${res_var} NOTFOUND PARENT_SCOPE)
|
||||
endfunction()
|
||||
endif ()
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
if(ENABLE_DATA)
|
||||
find_package(Git REQUIRED)
|
||||
endif()
|
||||
|
||||
set(MODELS_LST "")
|
||||
set(MODELS_LST_TO_FETCH "")
|
||||
|
||||
function (add_models_repo add_to_fetcher model_name)
|
||||
message(WARNING "DEPRECATED: 'add_models_repo' must not be used")
|
||||
|
||||
list(LENGTH ARGV add_models_args)
|
||||
if (add_models_args EQUAL 3)
|
||||
list(GET ARGV 2 branch_name)
|
||||
@@ -26,8 +28,6 @@ function (add_models_repo add_to_fetcher model_name)
|
||||
endfunction()
|
||||
|
||||
function(add_lfs_repo name prefix url tag)
|
||||
message(WARNING "DEPRECATED: 'add_lfs_repo' must not be used")
|
||||
|
||||
if(TARGET ${name})
|
||||
return()
|
||||
endif()
|
||||
@@ -44,8 +44,6 @@ function(add_lfs_repo name prefix url tag)
|
||||
INSTALL_COMMAND ""
|
||||
LOG_DOWNLOAD ON)
|
||||
|
||||
find_package(Git REQUIRED)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} lfs install --local --force
|
||||
WORKING_DIRECTORY ${prefix}/src/${name}
|
||||
@@ -61,8 +59,6 @@ function(add_lfs_repo name prefix url tag)
|
||||
endfunction()
|
||||
|
||||
function (fetch_models_and_validation_set)
|
||||
message(WARNING "DEPRECATED: 'fetch_models_and_validation_set' must not be used")
|
||||
|
||||
foreach(loop_var ${MODELS_LST_TO_FETCH})
|
||||
string(REPLACE ":" ";" MODEL_CONFIG_LST ${loop_var})
|
||||
|
||||
|
||||
@@ -6,37 +6,32 @@ if(NOT COMMAND ov_check_pip_packages)
|
||||
message(FATAL_ERROR "Internal error: ncc_naming_style.cmake must be included after ov_check_pip_packages")
|
||||
endif()
|
||||
|
||||
set(ncc_style_dir "${OpenVINODeveloperScripts_DIR}/ncc_naming_style")
|
||||
set(ncc_style_dir "${IEDevScripts_DIR}/ncc_naming_style")
|
||||
set(ncc_style_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/ncc_naming_style")
|
||||
|
||||
# find python3
|
||||
|
||||
if(ENABLE_NCC_STYLE)
|
||||
find_host_package(Python3 QUIET COMPONENTS Interpreter)
|
||||
if(NOT Python3_Interpreter_FOUND)
|
||||
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
|
||||
set(ENABLE_NCC_STYLE OFF)
|
||||
endif()
|
||||
find_host_package(PythonInterp 3 QUIET)
|
||||
if(NOT PYTHONINTERP_FOUND)
|
||||
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
|
||||
set(ENABLE_NCC_STYLE OFF)
|
||||
endif()
|
||||
|
||||
if(ENABLE_NCC_STYLE)
|
||||
if(Python3_VERSION_MINOR EQUAL 6)
|
||||
set(clang_version 10)
|
||||
elseif(Python3_VERSION_MINOR EQUAL 7)
|
||||
set(clang_version 11)
|
||||
elseif(Python3_VERSION_MINOR EQUAL 8)
|
||||
set(clang_version 12)
|
||||
elseif(Python3_VERSION_MINOR EQUAL 9)
|
||||
set(clang_version 12)
|
||||
elseif(Python3_VERSION_MINOR EQUAL 10)
|
||||
set(clang_version 14)
|
||||
elseif(Python3_VERSION_MINOR EQUAL 11)
|
||||
set(clang_version 14)
|
||||
else()
|
||||
message(WARNING "Cannot suggest clang package for python ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}")
|
||||
endif()
|
||||
if(PYTHON_VERSION_MINOR EQUAL 6)
|
||||
set(clang_version 10)
|
||||
elseif(PYTHON_VERSION_MINOR EQUAL 7)
|
||||
set(clang_version 11)
|
||||
elseif(PYTHON_VERSION_MINOR EQUAL 8)
|
||||
set(clang_version 12)
|
||||
elseif(PYTHON_VERSION_MINOR EQUAL 9)
|
||||
set(clang_version 12)
|
||||
elseif(PYTHON_VERSION_MINOR EQUAL 10)
|
||||
set(clang_version 14)
|
||||
else()
|
||||
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
|
||||
endif()
|
||||
|
||||
|
||||
if(ENABLE_NCC_STYLE)
|
||||
# try to find_package(Clang QUIET)
|
||||
# ClangConfig.cmake contains bug that if libclang-XX-dev is not
|
||||
@@ -61,22 +56,10 @@ endif()
|
||||
# Since we were able to find_package(Clang) in a separate process
|
||||
# let's try to find in current process
|
||||
if(ENABLE_NCC_STYLE)
|
||||
if(CMAKE_HOST_WIN32)
|
||||
find_host_program(libclang_location NAMES libclang.dll
|
||||
PATHS $ENV{PATH}
|
||||
NO_CMAKE_FIND_ROOT_PATH)
|
||||
elseif(CMAKE_HOST_APPLE)
|
||||
set(_old_CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES})
|
||||
set(_old_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib")
|
||||
if(APPLE)
|
||||
find_host_library(libclang_location NAMES clang
|
||||
PATHS /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
|
||||
DOC "Path to clang library"
|
||||
NO_DEFAULT_PATH
|
||||
NO_CMAKE_FIND_ROOT_PATH)
|
||||
set(CMAKE_FIND_LIBRARY_PREFIXES ${_old_CMAKE_FIND_LIBRARY_PREFIXES})
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_old_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
DOC "Path to clang library")
|
||||
else()
|
||||
find_host_package(Clang QUIET)
|
||||
endif()
|
||||
@@ -123,14 +106,12 @@ endif()
|
||||
|
||||
#
|
||||
# ov_ncc_naming_style(FOR_TARGET target_name
|
||||
# [SOURCE_DIRECTORIES dir1 dir2 ...]
|
||||
# [STYLE_FILE style_file.style]
|
||||
# SOURCE_DIRECTORY dir
|
||||
# [ADDITIONAL_INCLUDE_DIRECTORIES dir1 dir2 ..]
|
||||
# [DEFINITIONS def1 def2 ..])
|
||||
#
|
||||
# FOR_TARGET - name of the target
|
||||
# SOURCE_DIRECTORIES - directory to check sources from
|
||||
# STYLE_FILE - path to the specific style file
|
||||
# SOURCE_DIRECTORY - directory to check sources from
|
||||
# ADDITIONAL_INCLUDE_DIRECTORIES - additional include directories used in checked headers
|
||||
# DEFINITIONS - additional definitions passed to preprocessor stage
|
||||
#
|
||||
@@ -140,53 +121,49 @@ function(ov_ncc_naming_style)
|
||||
endif()
|
||||
|
||||
cmake_parse_arguments(NCC_STYLE "FAIL"
|
||||
"FOR_TARGET;STYLE_FILE" "SOURCE_DIRECTORIES;ADDITIONAL_INCLUDE_DIRECTORIES;DEFINITIONS" ${ARGN})
|
||||
"FOR_TARGET;SOURCE_DIRECTORY" "ADDITIONAL_INCLUDE_DIRECTORIES;DEFINITIONS" ${ARGN})
|
||||
|
||||
foreach(var FOR_TARGET SOURCE_DIRECTORIES)
|
||||
foreach(var FOR_TARGET SOURCE_DIRECTORY)
|
||||
if(NOT DEFINED NCC_STYLE_${var})
|
||||
message(FATAL_ERROR "${var} is not defined in ov_ncc_naming_style function")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(NOT DEFINED NCC_STYLE_STYLE_FILE)
|
||||
set(NCC_STYLE_STYLE_FILE ${ncc_style_dir}/openvino.style)
|
||||
endif()
|
||||
file(GLOB_RECURSE sources
|
||||
RELATIVE "${NCC_STYLE_SOURCE_DIRECTORY}"
|
||||
"${NCC_STYLE_SOURCE_DIRECTORY}/*.hpp"
|
||||
"${NCC_STYLE_SOURCE_DIRECTORY}/*.cpp")
|
||||
|
||||
foreach(source_dir IN LISTS NCC_STYLE_SOURCE_DIRECTORIES)
|
||||
file(GLOB_RECURSE local_sources "${source_dir}/*.hpp" "${source_dir}/*.cpp")
|
||||
list(APPEND sources ${local_sources})
|
||||
endforeach()
|
||||
list(APPEND NCC_STYLE_ADDITIONAL_INCLUDE_DIRECTORIES "${NCC_STYLE_SOURCE_DIRECTORY}")
|
||||
# without it sources with same name from different directories will map to same .ncc_style target
|
||||
file(RELATIVE_PATH source_dir_rel ${CMAKE_SOURCE_DIR} ${NCC_STYLE_SOURCE_DIRECTORY})
|
||||
|
||||
list(APPEND NCC_STYLE_ADDITIONAL_INCLUDE_DIRECTORIES ${NCC_STYLE_SOURCE_DIRECTORIES})
|
||||
|
||||
foreach(source_file IN LISTS sources)
|
||||
get_filename_component(source_dir "${source_file}" DIRECTORY)
|
||||
file(RELATIVE_PATH source_dir_rel "${CMAKE_SOURCE_DIR}" "${source_dir}")
|
||||
get_filename_component(source_name "${source_file}" NAME)
|
||||
set(output_file "${ncc_style_bin_dir}/${source_dir_rel}/${source_name}.ncc_style")
|
||||
foreach(source IN LISTS sources)
|
||||
set(output_file "${ncc_style_bin_dir}/${source_dir_rel}/${source}.ncc_style")
|
||||
set(full_source_path "${NCC_STYLE_SOURCE_DIRECTORY}/${source}")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${output_file}
|
||||
COMMAND
|
||||
"${CMAKE_COMMAND}"
|
||||
-D "Python3_EXECUTABLE=${Python3_EXECUTABLE}"
|
||||
-D "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
|
||||
-D "NCC_PY_SCRIPT=${ncc_script_py}"
|
||||
-D "INPUT_FILE=${source_file}"
|
||||
-D "INPUT_FILE=${full_source_path}"
|
||||
-D "OUTPUT_FILE=${output_file}"
|
||||
-D "DEFINITIONS=${NCC_STYLE_DEFINITIONS}"
|
||||
-D "CLANG_LIB_PATH=${libclang_location}"
|
||||
-D "STYLE_FILE=${NCC_STYLE_STYLE_FILE}"
|
||||
-D "STYLE_FILE=${ncc_style_dir}/openvino.style"
|
||||
-D "ADDITIONAL_INCLUDE_DIRECTORIES=${NCC_STYLE_ADDITIONAL_INCLUDE_DIRECTORIES}"
|
||||
-D "EXPECTED_FAIL=${NCC_STYLE_FAIL}"
|
||||
-P "${ncc_style_dir}/ncc_run.cmake"
|
||||
DEPENDS
|
||||
"${source_file}"
|
||||
"${full_source_path}"
|
||||
"${ncc_style_dir}/openvino.style"
|
||||
"${ncc_script_py}"
|
||||
"${ncc_style_dir}/ncc_run.cmake"
|
||||
COMMENT
|
||||
"[ncc naming style] ${source_dir_rel}/${source_name}"
|
||||
"[ncc naming style] ${source}"
|
||||
VERBATIM)
|
||||
list(APPEND output_files ${output_file})
|
||||
endforeach()
|
||||
@@ -202,6 +179,6 @@ endfunction()
|
||||
|
||||
if(TARGET ncc_all)
|
||||
ov_ncc_naming_style(FOR_TARGET ncc_all
|
||||
SOURCE_DIRECTORIES "${ncc_style_dir}/self_check"
|
||||
SOURCE_DIRECTORY "${ncc_style_dir}/self_check"
|
||||
FAIL)
|
||||
endif()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
foreach(var NCC_PY_SCRIPT Python3_EXECUTABLE OUTPUT_FILE DEFINITIONS EXPECTED_FAIL
|
||||
foreach(var NCC_PY_SCRIPT PYTHON_EXECUTABLE OUTPUT_FILE DEFINITIONS EXPECTED_FAIL
|
||||
INPUT_FILE ADDITIONAL_INCLUDE_DIRECTORIES STYLE_FILE CLANG_LIB_PATH)
|
||||
if(NOT DEFINED ${var})
|
||||
message(FATAL_ERROR "${var} is not defined for ncc_run.cmake")
|
||||
@@ -17,7 +17,7 @@ endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND
|
||||
"${Python3_EXECUTABLE}"
|
||||
"${PYTHON_EXECUTABLE}"
|
||||
"${NCC_PY_SCRIPT}"
|
||||
--path ${INPUT_FILE}
|
||||
--style ${STYLE_FILE}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# custom OpenVINO values
|
||||
CppMethod: '^(operator\W+|[a-z_\d]+|signaling_NaN|quiet_NaN)$'
|
||||
ClassName: '^([A-Z][\w]+|b?float16|numeric_limits|ngraph_error|stopwatch|unsupported_op)$'
|
||||
StructName: '^([A-Z][\w]+|element_type_traits|hash|oi_pair|stat)$'
|
||||
StructName: '^([A-Z][\w]+|element_type_traits|hash|oi_pair)$'
|
||||
FunctionName: '^(operator\W+|[a-z_\d]+)|PrintTo$'
|
||||
Namespace: '^([a-z\d_]*|InferenceEngine)$'
|
||||
NamespaceAlias: '^([a-z\d_]+|InferenceEngine)$'
|
||||
@@ -12,13 +12,13 @@ TemplateNonTypeParameter: '^\w*$'
|
||||
ClassTemplate: '^([A-Z][\w]+|element_type_traits)$'
|
||||
TemplateTypeParameter: '^\w*$'
|
||||
ParameterName: '^\w*$'
|
||||
FunctionTemplate: '^(operator.+|[\w]+|SoPtr.+|Impl<.*>)$'
|
||||
FunctionTemplate: '^(operator.+|[\w]+|Impl<.*>)$'
|
||||
TypeAliasName: '^\w+$'
|
||||
VariableReference: '^\w+$'
|
||||
|
||||
EnumName: '^[A-Z][\w]+$'
|
||||
# excepts element_type
|
||||
EnumConstantName: '^([A-Z\d_]+|undefined|dynamic|boolean|bf16|f16|f32|f64|i4|i8|i16|i32|i64|u1|u4|u8|u16|u32|u64|nf4|asymmetric|align_corners|round_prefer_floor|round_prefer_ceil|floor|ceil|simple|nearest|linear|linear_onnx|cubic|area|scales|sizes|half_pixel|tf_half_pixel_for_nn|pytorch_half_pixel|asymetric)$'
|
||||
EnumConstantName: '^([A-Z\d_]+|undefined|dynamic|boolean|bf16|f16|f32|f64|i4|i8|i16|i32|i64|u1|u4|u8|u16|u32|u64|asymmetric|align_corners|round_prefer_floor|round_prefer_ceil|floor|ceil|simple|nearest|linear|linear_onnx|cubic|area|scales|sizes|half_pixel|tf_half_pixel_for_nn|pytorch_half_pixel|asymetric)$'
|
||||
# TODO: align
|
||||
UsingDeclaration: '^.*$'
|
||||
TypedefName: '^.*$'
|
||||
@@ -27,7 +27,7 @@ CxxDynamicCastExpression: '^.*$'
|
||||
# not needed values
|
||||
ClassTemplatePartialSpecialization: '^.*$'
|
||||
ConversionFunction: '^.*$'
|
||||
UsingDirective: '^.*$'
|
||||
UsingDirective: 'XXXX'
|
||||
ClassAccessSpecifier: '^.*$' # looks like can be fixed
|
||||
TypeReference: '^.*$' # looks like can be fixed
|
||||
CxxBaseSpecifier: '^.*$' # looks like can be fixed
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
clang==11.1.0; python_version == '3.7'
|
||||
clang==12.0.1; python_version == '3.8'
|
||||
clang==12.0.1; python_version == '3.9'
|
||||
clang==14.0; python_version == '3.10'
|
||||
|
||||
@@ -2,73 +2,55 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
# Usage: ie_option(<option_variable> "description" <initial value or boolean expression> [IF <condition>])
|
||||
|
||||
include (CMakeDependentOption)
|
||||
|
||||
if(POLICY CMP0127)
|
||||
cmake_policy(SET CMP0127 NEW)
|
||||
endif()
|
||||
|
||||
macro(ov_option variable description value)
|
||||
macro (ie_option variable description value)
|
||||
option(${variable} "${description}" ${value})
|
||||
list(APPEND OV_OPTIONS ${variable})
|
||||
list(APPEND IE_OPTIONS ${variable})
|
||||
endmacro()
|
||||
|
||||
macro(ov_dependent_option variable description def_value condition fallback_value)
|
||||
# Usage: ov_option(<option_variable> "description" <initial value or boolean expression> [IF <condition>])
|
||||
macro (ov_option variable description value)
|
||||
ie_option(${variable} "${description}" ${value})
|
||||
endmacro()
|
||||
|
||||
macro (ie_dependent_option variable description def_value condition fallback_value)
|
||||
cmake_dependent_option(${variable} "${description}" ${def_value} "${condition}" ${fallback_value})
|
||||
list(APPEND OV_OPTIONS ${variable})
|
||||
list(APPEND IE_OPTIONS ${variable})
|
||||
endmacro()
|
||||
|
||||
macro(ov_option_enum variable description value)
|
||||
macro (ie_option_enum variable description value)
|
||||
set(OPTIONS)
|
||||
set(ONE_VALUE_ARGS)
|
||||
set(MULTI_VALUE_ARGS ALLOWED_VALUES)
|
||||
cmake_parse_arguments(OPTION_ENUM "${OPTIONS}" "${ONE_VALUE_ARGS}" "${MULTI_VALUE_ARGS}" ${ARGN})
|
||||
cmake_parse_arguments(IE_OPTION_ENUM "${OPTIONS}" "${ONE_VALUE_ARGS}" "${MULTI_VALUE_ARGS}" ${ARGN})
|
||||
|
||||
if(NOT ${value} IN_LIST OPTION_ENUM_ALLOWED_VALUES)
|
||||
message(FATAL_ERROR "Internal error: variable must be one of ${OPTION_ENUM_ALLOWED_VALUES}")
|
||||
if(NOT ${value} IN_LIST IE_OPTION_ENUM_ALLOWED_VALUES)
|
||||
message(FATAL_ERROR "variable must be one of ${IE_OPTION_ENUM_ALLOWED_VALUES}")
|
||||
endif()
|
||||
|
||||
list(APPEND OV_OPTIONS ${variable})
|
||||
list(APPEND IE_OPTIONS ${variable})
|
||||
|
||||
set(${variable} ${value} CACHE STRING "${description}")
|
||||
set_property(CACHE ${variable} PROPERTY STRINGS ${OPTION_ENUM_ALLOWED_VALUES})
|
||||
|
||||
unset(OPTIONS)
|
||||
unset(ONE_VALUE_ARGS)
|
||||
unset(MULTI_VALUE_ARGS)
|
||||
unset(OPTION_ENUM_ALLOWED_VALUES)
|
||||
set_property(CACHE ${variable} PROPERTY STRINGS ${IE_OPTION_ENUM_ALLOWED_VALUES})
|
||||
endmacro()
|
||||
|
||||
function (ov_print_enabled_features)
|
||||
if(NOT COMMAND ov_set_ci_build_number)
|
||||
function (print_enabled_features)
|
||||
if(NOT COMMAND set_ci_build_number)
|
||||
message(FATAL_ERROR "CI_BUILD_NUMBER is not set yet")
|
||||
endif()
|
||||
|
||||
message(STATUS "OpenVINO Runtime enabled features: ")
|
||||
message(STATUS "")
|
||||
message(STATUS " CI_BUILD_NUMBER: ${CI_BUILD_NUMBER}")
|
||||
foreach(_var IN LISTS OV_OPTIONS)
|
||||
foreach(_var ${IE_OPTIONS})
|
||||
message(STATUS " ${_var} = ${${_var}}")
|
||||
endforeach()
|
||||
message(STATUS "")
|
||||
endfunction()
|
||||
|
||||
# deprecated
|
||||
|
||||
macro (ie_option variable description value)
|
||||
message(WARNING "'ie_option' is deprecated, please, use 'ov_option' instead")
|
||||
ov_option(${variable} "${description}" ${value})
|
||||
endmacro()
|
||||
|
||||
macro(ie_dependent_option variable description def_value condition fallback_value)
|
||||
message(WARNING "'ie_dependent_option' is deprecated, please, use 'ov_dependent_option' instead")
|
||||
ov_dependent_option(${variable} "${description}" ${def_value} "${condition}" ${fallback_value})
|
||||
endmacro()
|
||||
|
||||
function(print_enabled_features)
|
||||
message(WARNING "'print_enabled_features' is deprecated, please, use 'ov_print_enabled_features' instead")
|
||||
ov_print_enabled_features()
|
||||
endfunction()
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user