Compare commits

...
Author SHA1 Message Date
dependabot[bot] 3adb3d03a0 Bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 05:31:45 +00:00
David Nam 23fae3b1bc [GPU] fix strided_slice axis in case of dynamic shape (#21460)
* [GPU] fix strided_slice axis in case of dynamic shape

* Modify indexing and add description

* Modify indexing
2023-12-14 17:39:00 -08:00
PuQingandXiuchuan Zhai a28fd2e009 【Hackathon 5th No.95】add paddle unique op (#20077)
* add unique

* fix args

* Refactor unique() function to handle dtype
correctly

---------

Co-authored-by: Xiuchuan Zhai <xiuchuan.zhai@intel.com>
2023-12-15 08:28:40 +08:00
Kelvin Choi 6f0db3330a [GPU] Skip remove reorder in case input padding is different from output padding (#21619) 2023-12-15 09:25:46 +09:00
Alina Kladieva c01f50e3ff [GHA] Set SSL_CERT_FILE for model downloading (#21668)
* [GHA] Set SSL_CERT_FILE for model downloading

* Run Win CC in precommits

* Move setting SSL_CERT_FILE before calling CMake

* Set SSL_CERT_FILE for model downloading in windows.yml

* Wording

* Revert "Run Win CC in precommits"

This reverts commit 94126aab1c.
2023-12-15 01:34:43 +04:00
Alina Kladieva 8bc724d160 [GHA] Add workflow_dispatch trigger to coverity (#21676)
To be able to trigger it via GitHub API from Jenkins nightly
2023-12-14 23:11:13 +04:00
Zlobin Vladimir bbddb89171 Update open_model_zoo submodule (#21662) 2023-12-14 18:01:51 +00:00
Karol Blaszczak 6367206ea8 [DOCS] NPU articles (#21430)
merging with the reservation that additional changes will be done in a follow-up PR
2023-12-14 17:31:44 +01:00
Przemyslaw WysockiandKarol Blaszczak f4b2f950f2 [Docs] Add a single-point starter guide for contributors (#21322)
Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-12-14 16:22:24 +00:00
Mikhail Ryzhov 59e9f50ec6 [GHA] Windows pytest optimizations (#21650)
* parallel runs

* enabled pip cache

* pip cache fix
2023-12-14 16:14:51 +00:00
Anastasia Kuporosova 0a21205ad4 [PyOV] move rest of start_async tests to test_async (#21643) 2023-12-14 15:51:42 +01:00
Vitaliy Urusovskij 4fde957689 Additional changes in src/ to API2.0 (#21601)
* `src/core/` to API2.0

* `src/plugins/auto/` to API2.0

* `src/plugins/hetero/` to API2.0

* ClangFormat

* Fix build
2023-12-14 14:13:18 +00:00
Roman Lyamin 6a50ea3c74 [GPU] Using a cpu impl type for NMS in a dynamic case (#21648) 2023-12-14 17:22:01 +04:00
Georgy Krivoruchko 88c8143dd8 [ONNX] Refactoring tests on API 2.0 (#21596)
* Applied common functions to tests in conversion.cpp

* Refactored convert_partially_tests

* Refactored convert_tests.cpp

* Removed usage of ngraph namespace in load_from.cpp

* Replaced definition in model_support_tests.cpp

* Fixed codestyle
2023-12-14 14:03:21 +01:00
Evgeny Kotov f094ef81f0 remove tests (#21654) 2023-12-14 16:54:37 +04:00
Mikhail Ryzhov de81bbbbc2 enabled triggers for release branches (#21651) 2023-12-14 16:50:04 +04:00
Alexander Suvorov 9faf18b0ff Update 2023.2.0 Selector Tool with nightly archive (#21629)
* Update selector tool

* Trigger CI
2023-12-14 16:49:19 +04:00
Maxim Vafin 1d03b0813b [PT FE] Remove unique names from FE, rely on ResolveNameCollisions (#21636)
* [PT FE] Remove unicalisation from FE, rely on ResolveNameCollisions

* Fix build
2023-12-14 12:49:46 +01:00
Ekaterina Aidova 27bf494355 [PT FE]: support aten::take_along_dim (#21625) 2023-12-14 12:42:32 +01:00
Tomasz Jankowski 9f6c3e997f [core] Migrate Select operator to new API (#21249)
* Drop legacy stuff

* Repalce HostTensor with ov::Tensor

* Reduce binary size

* Revert "Reduce binary size"

This reverts commit 4f69f98357.

* Fix mistype in bounds evaluation

* Drop redundant check

* Fix shape in bounds evaluation

* Fix interval bound evaluate

* Add IF_TYPE_OF to enable CC

* Fix shape of scalar bound evaluation
2023-12-14 12:02:20 +01:00
Tingqian Li 7965213014 [CPU] support QWen RoPE (#21519) 2023-12-14 10:37:13 +00:00
Evgenya Nugmanova e5a6077877 Enables SharedOpOptimization for v1 and v3 Broadcasts (#21635) 2023-12-14 10:33:00 +01:00
Tomasz Jankowski 0649865372 [Core] Move validation util into dev API (#21501)
* Move infer_convolution_forward to dev API

* Move infer_auto_padding to dev API

* Move evaluate_as_partial_shape to dev API

* Move default_label_evaluator to dev API

* Move generate_transpose_default_order to dev API

* Move is_valid_axes_order to dev API

* Move has_no_labels to dev API

* Remove usage of legacy get_constant_from_source

from core and transformations

* Move normalize_axes to dev API

* Move normalize_axis to dev API

* Deprecate functions to be removed later
2023-12-14 10:10:46 +01:00
Gorokhov Dmitriy 32b6362076 [CPU] Improve first token latency for 4bit compressed models (#21547) 2023-12-14 09:06:09 +00:00
Ilya Lavrenov 17008c9389 Escape pip command with apostrophe (#21645) 2023-12-14 10:29:38 +04:00
Wanglei Shen 5f2045909e [CPU] Change default latency mode of MTL to Pcore + Ecore (#20659) 2023-12-14 10:19:56 +04:00
Sergey Shlyapnikov a04d59d779 [GPU] Gemm tiled opt add dynamic padding support (#21640) 2023-12-14 09:38:16 +04:00
Alina Kladieva 926a0591ff Add overall status check to more workflows (#21644) 2023-12-14 01:43:42 +04:00
Anastasia KuporosovaandMichal Lukaszewski 1aa0c0ca0d [PyOV] OVDict as input for infer/call methods (#21275)
* [PyOV] OVDict as input for infer/call methods

* for copied inputs

* improvement

* add test

* apply comments

* add test assert

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-12-13 18:13:18 +00:00
Maxim Vafin 4752237871 [PT FE] Support aten::pow_ (#21630)
* [PT FE] Support aten::pow_

* Fix tests
2023-12-13 18:54:53 +01:00
Mateusz Mikolajczyk 336a69ec24 Enable BitwiseOps to LogicalOps transform for static bool dtype on CPU plugin (#21510)
* Re-enable bitwise-logical transform in CPU plugin

* Update docstrings
2023-12-13 18:39:40 +01:00
Maxim Vafin be7c70c8c4 [PT FE] Support aten::scatter_add (#21633) 2023-12-13 17:54:33 +01:00
65439eda5d [Core][CPU] Add transformation for i64 support for Multinomial (#21469)
* [CORE] Add transformation for i64 support for Multinomial

* [CPU][TESTS] Apply test suggestions, remove unnecessary override - comment from cpu PR

* Update src/common/transformations/src/transformations/convert_precision.cpp

Co-authored-by: Mateusz Tabaka <mateusz.tabaka@intel.com>

* Update src/common/transformations/src/transformations/convert_precision.cpp

Co-authored-by: Mateusz Tabaka <mateusz.tabaka@intel.com>

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
Co-authored-by: Mateusz Tabaka <mateusz.tabaka@intel.com>
2023-12-13 20:22:34 +04:00
Surya Siddharth PemmarajuandMaxim Vafin 1b2eed0bbe Enable options for openvino backend in torch.compile (#20946)
* Added backend options for openvino torch.compile

* Added config options to enable openvino configs

* Fixed linter issues

* Addressed review comments

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-12-13 20:10:48 +04:00
Vitaliy Urusovskij dcf9247bc8 Clean up of tests/ov_helpers leftovers (#21416)
* CLean up ov_helpers headers from ngraph/

* Move `ngraph/` includes from ov_helpers to tests

* Remove include of all opsets in builders.hpp

* Remove opsets includes from ov_helpers

* Fix GNA tests

* Delete comments

* ClangFormat

* Fix build

* Fix `-fpermissive`

* Fix build #2

* Fix `<` && `>` in includes

* Fix build #3

* Build fix
2023-12-13 14:45:19 +00:00
Vladislav Golubev adb4703d82 [Snippets] LIR serialization improvements (#21291) 2023-12-13 14:22:10 +00:00
Oleg Pipikin d18d8a457f Update create_and_fill_tensor to work with InputGenerateData (#20008)
* Update create_and_fill_tensor to work with InputGenerateData
2023-12-13 15:21:23 +01:00
Pavel Esir 20ad8b43a1 Enable dinov2-base (#21626)
with the newest transformers dinov-2-base started to pass
2023-12-13 13:52:52 +00:00
Vladimir Paramuzov 2bcc94064f [GPU] Fixed stateful KV cache issues (#21618) 2023-12-13 16:15:00 +04:00
Maciej SmykandKarol Blaszczak 3e2037c943 [DOCS] Troubleshooting note for WINOGRAD convolutions in GPU for master (#21623)
* Update GPU.rst

* Update GPU.rst

* Update docs/articles_en/openvino_workflow/running_inference_with_openvino/Device_Plugins/GPU.rst

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>

---------

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-12-13 13:03:11 +01:00
Yaroslav Torziuk ea639a8c48 Enable GroupNormalizationDecomposition transformation (#21600) 2023-12-13 12:10:24 +01:00
Wang, Yang 7e88a9d6c8 [AUTO] Fix the issue of querying the optional property unsupported by HW plugin via AUTO compiled model (#21518)
* 1. Update the logic for handling the unsupported property querying from hw device.
2. Add test cases.

* Updated.

* Updated.

* Updated.

* Updated.
2023-12-13 18:06:59 +08:00
Andrew Kwangwoong Park 71e7015d39 [GPU] Reduce host time overhead in ReadValue execution for stateful model (#21521) 2023-12-13 14:06:30 +04:00
Oleg Pipikin 3fb60dc41c Subgraph builders refactor (#21373)
* Refactor subgraph builders

* Refactor make_conv_pool_relu builder

* Refactor make_conv_pool_relu_no_reshapes builder

* Refactor make_conv_pool2_relu2 and make_conv_pool_relu_non_zero

* Refactor make_split_conv_concat builders

* Refactor make_kso_function

* Refactor make_split_multi_conv_concat

* Refactor make_ti_with_lstm_cell

* Refactor make_single_conv

* Refactor make_detection_output

* Refactor make_multi_single_conv

* Refactor make_2_input_subtract

* Refator make_nested_branch_conv_concat

* Refactor make_nested_split_conv_concat

* Refactor make_conv_bias

* Refactor make_read_concat_split_assign

* Refactor make_matmul_bias

* Refactor make_convert_transpose

* Refactor make_multiple_input_output_double_concat
2023-12-13 10:46:31 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 47939684df Bump actions/setup-python from 4 to 5 (#21515)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-13 13:42:52 +04:00
Sebastian Golebiewski 82cdc116c1 Updating Interactive Tutorials (#21548) 2023-12-13 10:33:50 +01:00
River Li e07fe02cb9 [CPU tests] migrate single layer test cases to be API 2.0 - part 8 (#21568)
* [CPU tests] migrate single layer test cases to be API 2.0 - part 8

* [CPU tests] migrate single layer test cases to be API 2.0 - part 8

* Fix skipped testcase issue

* Remove unused ie header files
2023-12-13 13:18:41 +04:00
Xuejun Zhai b7745a1895 [CPU tests] migrate single layer test cases to be API 2.0 - part 9 (#21587)
* [CPU tests] migrate single layer test cases to be API 2.0 - part 9

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU tests] migrate single layer test fix error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU tests] fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-13 08:48:10 +00:00
Haiqi PanandChen Peter e2e9d6056f add FailedAsyncInferWithNegativeTimeForWait test case (#21392)
* add FailedAsyncInferWithNegativeTimeForWait

* add getTestCaseName

* skip FailedAsyncInferWithNegativeTimeForWait in gna

* skip FailedAsyncInferWithNegativeTimeForWait in gna

* Update src/plugins/intel_gna/tests/functional/shared_tests_instances/skip_tests_config.cpp

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-12-13 12:20:04 +04:00
Tomasz Adamowicz 9fe38f1a9c [GNA] Properly obtain all subsequent layers for memory layer connection (#21602) 2023-12-13 08:55:32 +01:00
Vitaliy Urusovskij ef14b50d79 src/common/*transformations/ API1.0 clean up (#21574)
* `src/common/transformations/` API1.0 cleanup

* `src/common/low_precision_transformations/` API1.0 cleanup

* Fix comments

* Fix
2023-12-13 10:50:42 +04:00
Maxim Vafin 34b2b66b69 [PT FE] Report unsupported operations with model list (#21607)
* [PT FE] Report unsupported operations with model list

* Continue on error

* Disable more models

* Check if file exists

* continue of error

* Fix on failure

* Fix file path

* Apply suggestions from code review
2023-12-12 21:25:27 +00:00
Oleg Pipikin 358cd4b709 Refactor GPU single layer tests (#21527)
* Refactor GPU single layer tests
2023-12-12 21:03:09 +00:00
Andrey Babushkin 5a4f632680 [workflows] New path for volumes (#21604) 2023-12-13 00:56:24 +04:00
Ivan Tikhonov ff8d8a5b16 Introduced "reset_state" method to reset all model states in one line (#21595)
* added reset_state method to simplify the user API

* using reset_state method in the tests
2023-12-13 00:55:49 +04:00
Ahmad Chalhoub 942bc8b1ba support pytorch efrc op (#21567)
* support pytorch efrc op

* allow dynamic case & fix code format

* fix code style, use space 4
2023-12-12 21:54:29 +01:00
Andrey Kashchikhin 9ab0a6d2f1 change trigger (#21609) 2023-12-13 00:46:16 +04:00
Ekaterina Aidova 5b655d3c50 [PT FE]: fix aten::index_put type alignmnet (#21606) 2023-12-12 20:34:05 +00:00
Irina Efode 8e52742f86 [CONFORMANCE] Specify validation entity as arg of run_conformance (#21610)
* [CONFORMANCE] Specify validation entity as arg of

* Readme + op_summary
2023-12-12 20:07:11 +00:00
Maxim Vafin 182b44f6cc [PT FE] Support dict on input (#21450)
* [PT FE] Support dict on input

* Check that keys are strings

* Revert changes in PtFrameworkNode
2023-12-12 18:58:04 +01:00
Anastasia Kuporosova 3e42ddbde5 [PyOV] support Type as arg in convert op (#21603)
* [PyOV] support Type as arg in convert op

* add test

* fix linter
2023-12-12 18:21:47 +01:00
River Li a2cc6a036f [CPU Test] use internal_properties for snippets_mode (#21549) 2023-12-12 14:13:22 +00:00
Sergey Shlyapnikov 15421001fc [GPU] Add missed override keyword in typed_primitive_onednn_impl struct (#21593) 2023-12-12 14:01:34 +00:00
Andrey Kashchikhin 79ca3d2fb9 [CI] [GHA] Introduce Coverity pipeline (#21599)
* add coverity pipeline

* report less progress

* add curl installation

* change trigger to post-commit
2023-12-12 16:55:58 +04:00
2f65827f9f [DOCS] Moving files to new location for master (#21575)
* repo update

* repo update

* repo update

* Update LowPrecisionModelRepresentation.rst

* Update LowPrecisionModelRepresentation.rst

* Update CMakeLists.txt

* Update QuantizedNetworks.rst

* separate location for pypi publishing files

* Update src/bindings/python/CMakeLists.txt

fixing path in src/bindings/python/CMakeLists.txt

---------

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-12-12 16:27:01 +04:00
Xuejun Zhai f7d8bdef46 [CPU tests] migrate single layer test about logical (#21589)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-12 11:55:52 +00:00
Chenhu Wang 14639d292d [CPU] Fixed block layout tails process on SSE for MVN impl (#21534) 2023-12-12 11:52:11 +01:00
Maksim Kutakov b31aad78b0 [CPU] Apply parallel copy of IO tensors when possible (#21546)
* Apply parallel copy of IO tensors when possible

* Add sanity check for the precisions
2023-12-12 10:21:55 +01:00
Oleg Pipikin 2fb683d667 GPU remote tensor tests update. Get rid of API 1.0 (#21553)
* GPU remote tensor tests update. Get rid of API 1.0

* Apply comments

* Apply comments
2023-12-12 12:43:49 +04:00
Min, Byungil 42c33ac7b1 [GPU] Bugfix optimized slice_mem (#21452)
Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-12-12 17:17:49 +09:00
Wang, YangandChen Peter 521da22797 [AUTO] update logic of checking if device with ID is proxy (#21493)
* the proxy device with id should be also a proxy device.

* 1. using real name in the logic of checking if device is proxy.
2. Disable the added test case.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* enable test case

---------

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-12-12 14:10:14 +08:00
Asthestarsfalll e51ba62831 【Hackathon 5th No.97】add paddle tanh_shrink op (#20067)
* Add paddle tanh_shrink conversion

* update

* update

* restore CMakeLists.txt and waitting for PD test build enabled

* update for unittests

* remove code

* Add paddle tanh_shrink conversion
2023-12-12 05:49:49 +01:00
Sungeun Kim 0b49bb99d0 [GPU] dump graphs during execution (#21411)
* dump graphs during execution
2023-12-12 13:16:02 +09:00
Anastasia Kuporosova 889f2f54a2 [PyOV] Improve warning throwing in Const op (#21576)
* [PyOV] Improve warning throwing in Const op

* wrap warn to lambda

* fix linter
2023-12-11 23:18:59 +01:00
Sofya Balandina cc8aeb0c09 Add [rename conformance ir] input shape to hash name for Convolution (#21484) 2023-12-11 23:32:07 +04:00
Maxim Vafin e1b9d8c167 [PT FE] Fix constant type in aten::square (#21580)
* Fix constant type in aten::square

* Add test

* Simplify test
2023-12-11 19:29:02 +00:00
Maxim VafinandRoboreptile 0f6b9abee8 Support aten::lstm, aten::gru and aten::rnn_{relu,tanh} operations (#21579)
* [PT FE] Initial LSTM impl

* Support aten::lstm operation

* Support aten::gru and aten::rnn_{relu,tanh}

* Apply suggestions from code review

* Fix build

* Simplify implementation

* More simplification

* Update src/frontends/pytorch/src/op/lstm.cpp

* Simplification

* Use default LSTM helpers

---------

Co-authored-by: Roboreptile <piotr.krzeminski@intel.com>
2023-12-11 19:06:51 +00:00
Oleg Pipikin df029eb9c7 Move negative shared tests (#21582) 2023-12-11 19:25:59 +01:00
Vishniakov Nikolai f3fc503288 Revert core component extra exclude (#21583) 2023-12-11 19:02:21 +04:00
Ilya Lavrenov 02dec1c2d9 Added more exclude markers for install rules (#21561) 2023-12-11 17:05:09 +04:00
Wanglei Shen 9e2bd77abb fix parse_freq_info_linux for wrong cpu frequency information (#21387) 2023-12-11 19:54:29 +08:00
Pavel EsirandMaxim Vafin 948fc265b4 [tests] resolve skipped HF models: 2nd batch (#21526)
* resolve skipped HF models: 2nd batch

* commented out models with no info and less than 10 downloads

* Revert "commented out models with no info and less than 10 downloads"

This reverts commit a55861ed69.

* replace with self.image

* resolve todo

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-12-11 15:12:12 +04:00
Aleksandr Voron f49f84a4b1 the fix (#21577) 2023-12-11 14:59:37 +04:00
Aleksandr Voron ddb4902c33 [CPU] [ARM] Disable gemm_acl tests on 32-bit arm platforms (#21551) 2023-12-11 10:21:02 +01:00
Ilya Lavrenov 8e69f2c278 Add CPU tests as required for Linux arm64 (#21562) 2023-12-11 13:16:15 +04:00
Ilya Lavrenov 402d251483 Removed legacy cmake utils from IE 1.0 (#21559) 2023-12-11 11:26:16 +04:00
yanlan songandIlya Lavrenov f66c9492d3 enable load from file in proxy (#21495)
* enable load from file in proxy

Signed-off-by: fishbell <bell.song@intel.com>

* enable test

Signed-off-by: fishbell <bell.song@intel.com>

* clang

Signed-off-by: fishbell <bell.song@intel.com>

---------

Signed-off-by: fishbell <bell.song@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-12-11 11:09:42 +04:00
River Li df7b047de6 [CPU] Remove duplicated string terminator from device full name (#21512) 2023-12-11 11:09:25 +04:00
Sergey Shlyapnikov 8d77a52e81 [GPU] Add callback function for MarkDequantizationSubgraph pass to skip non FC-related subgraphs (#21552) 2023-12-11 08:59:46 +04:00
Georgy Krivoruchko 8960da9014 [ONNX] Preparing environment for moving ONNX tests to API2.0 (#21528)
* Added common functions for onnx tests
* Removed test cases which are non-related to ONNX
Extended convert_model by extension
* Extended test utils by convert_partially
* Added model convertion using istream as input
* Moved common functionality to a ov namespace
* Removed unused function
2023-12-09 11:06:15 +04:00
Wanglei Shen 04c9a52b7f update parse_processor_info_macos for macOS ver 11 (#21517)
* update parse_processor_info_macos for wrong macos info

* update default setting

* update default setting

* update for comment

* fix typo

* update test data

* update init order
2023-12-09 14:10:28 +08:00
Alina Kladieva 06a27e7b31 [GHA] Add Smart CI to Windows pipeline (#21558)
* [GHA] Add Smart CI to Windows pipeline

* Remove Smart CI from Python API units due to 127101

* Rename overall GHA status check for Windows
2023-12-09 01:50:14 +04:00
Andrey Babushkin a84d615abd Switch Windows Conditional Compilation workflow to AKS runners (#21375)
* Switch Windows Conditional Compilation workflow to AKS runners

* Fix YAML syntax

* Limit number of threads for CC build

* Split build stages to two to avoid step being successful when it's not

* Install python to conditional compilation job

* Combine both build commands into a single step

* Trying to work around sccache port issue

Sometimes build hangs and then ends by timeout. The only error message
in the logs is "sccache: error: An attempt was made to access a socket in a way forbidden by its access permissions. (os error 10013)"

* Temporary disable ctest step

* Revert "Temporary disable ctest step"

This reverts commit 8714200994.

* Disable Windows conditional compilation for PRs
2023-12-08 14:45:36 +00:00
Anastasia Kuporosova ba34fa77e8 [PyOV] Expose result op (#21482)
* [PyOV] Expose result op

* update docs with op.Result

* codestyle

* add test and fix flake8 errors

* add result test

* fix transformation tests

* update return type
2023-12-08 13:57:11 +00:00
Georgy Krivoruchko a3de4c17a1 [ONNX] QDQ uint16 support (#21278)
* [ONNX] QDQ uint16 verification
* Added tests
2023-12-08 17:04:40 +04:00
Sergey Shlyapnikov 0ad0a6bfaa [GPU] Improve fake alignment logic and fix missed zero point value (#21530)
* [GPU] Improve fake alignment logic and fix missed zero point value

* Add tests
2023-12-08 12:20:35 +00:00
River Li c565bf0c37 [CPU tests] migrate single layer test cases to be API 2.0 - part 7 (#21538) 2023-12-08 14:43:39 +04:00
River Li 04db11e921 [CPU] CPU plugin api 2.0 migration for TensorDesc (#21002)
* [CPU] CPU API 2.0 migration for TensorDesc

* Fixed CustomOpCPUTest issue

* Cleanup unused code

1. normalize_preprocess
2. MemoryDescUtils::convertToBlockedMemoryDesc
3. Fix a typo issue

* Fix zero dim with none zero strides issue

* Fix Expected and actual shape are different: [] VS [1]

* Remove InferenceEngine::Layout

* Solve rebase issues

* Update for code reviewer's comments

* Keep ov::intel_cpu::node::Generic for legacy compatibility

* Solve scalar data issue

* Solve reviewer's comments

* Restore Generic registeration
2023-12-08 11:28:52 +01:00
Ilya Lavrenov fbec7be5e0 Try to run arm64 without system tbb (#21524)
* Try to run arm64 without system tbb

* Moved files

* Moved cmake files for auto batch
2023-12-08 13:59:48 +04:00
Maciej Smyk 89e4cb4252 Update learn_openvino.rst (#21539) 2023-12-08 10:58:05 +01:00
Ilya Lavrenov 3481568a39 Fixed Linux CC (#21540) 2023-12-08 13:51:06 +04:00
River Li 8eb26dce6c [CPU tests] migrate single layer test cases to be API 2.0 - part 6 (#21497)
* [CPU tests] migrate single layer test cases to be API 2.0 - part 6

* Fix duplication issue

* Remove ov::Layout from PriorBox test cases
2023-12-08 13:24:19 +04:00
Xuejun Zhai 9866bc4d37 [CPU tests] migrate single layer test cases to be API 2.0 - part 2 (#21441)
* [CPU tests] migrate single layer test cases to be API 2.0 - part 2

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU][Single layer test] fix tests error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Update augru_sequence.cpp

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-08 13:22:10 +04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> df2ff92d21 Bump actions/stale from 8 to 9 (#21535)
Bumps [actions/stale](https://github.com/actions/stale) from 8 to 9.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-08 12:58:56 +04:00
_bhaskar365 4c67ab7381 Merge changes from upstream/master referencing - test_infer_request.py renamed to test_sync_infer_request.py and new f… #21436 (#21516) 2023-12-08 09:48:13 +01:00
Anastasia Kuporosova 5e3176d617 [PyOV] Hide warning in const op (#21529) 2023-12-08 09:36:10 +01:00
Vladislav Golubev 261cf4e4dc [Snippets] Brgemm blocking by KN dims at the LIR level (#19335) 2023-12-08 11:58:35 +04:00
Fang XuandChen Peter 488abd0ad2 fix coredump with numactl (#21393)
* fix coredump with numactl

* record original socketid and numaid

* update comment

* update comments

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-12-08 14:20:35 +08:00
Aleksandr Voron 2086041552 [CPU] Fix XmlModelWithExtensionFromDSO test (#21507) 2023-12-08 09:21:16 +04:00
River Li 072dcea299 [CPU Test] fix any_layout test (#21490) 2023-12-08 03:30:52 +00:00
Taylor Yeonbok Lee 68d4ed91ed minor fix on the help message (#21327) 2023-12-08 02:13:33 +00:00
Andrey Kashchikhin dfc91186a1 [CI] [GHA] Extract test jobs into reusable workflows (#21395)
* extract cpu func tests into a reusable workflow

* add needs

* check paths

* correct paths

* rm usage of setupvars

* extract samples

* use yaml string

* split mac workflow

* check variables

* try github workspace

* check full dir

* set variables

* try with sub directory

* Revert "try with sub directory"

This reverts commit d891ee3f28.

* extract c++ tests from linux

* change

* use cxx workflow in mac workflows

* add noninteractive

* extract cpu func tests

* rm unused

* enable mac

* fix reusable workflow name

* correct path for sparse-checkout

* extract python UT

* remove unnecessary asterisk

* remove another unnecessary asterisk

* use reusable action for linux cc

* add check for setupvars existence

* check with manually installed opencl

* add components input to samples workflow; rm pr triggers for mac workflows

* add missing needs

* add missing option for deps install  script

* use disables in test themselves instead of ifs in workflows

* use reusable workflow for cxx tests in linux arm

* use python reusable workflow in linux arm

* add missing endif

* use self-hosted for samples, add x86_64 constraint for jax

* check paths

* find gompby partial name

* skip failing tests on arm; correct gomp finding for ovc

* check tests

* add debian packages job; use job_ prefix for reusable workflows with jobs

* extract tf hub model tests

* extract tf model hub perf tests

* extract pytorch models tests

* do not use container on GHA runners

* extract onnx runtime

* add missing deps

* skip test for linux arm

* rm always()s

* fix quotes

* correct paths

* correct ifs, check dir for onnxruntime

* correct path for onnxruntime utils folder; install python3

* use self-hosted as input

* check for self-hosted runner via name, pass version

* skip cpu plugin unittest

* check cxx tests

* rm pr trigger
2023-12-07 23:44:45 +04:00
Aleksandr Voron 9cdf1a17ad [CPU] [ARM] Enable Conv SLT tests on ARM (#18061) 2023-12-07 20:50:51 +04:00
Ahmad ChalhoubandRoman Kazantsev aa69f00e8d support MulNoNan for TF (#21459)
* support MulNoNan for TF

* update test_tf_MulNoNan

* Update src/frontends/tensorflow_common/src/op/mul_no_nan.cpp

* update zeros const method

* Update src/frontends/tensorflow_common/src/op/mul_no_nan.cpp

* Update src/frontends/tensorflow_common/src/op/mul_no_nan.cpp

* Update src/frontends/tensorflow_common/src/op/mul_no_nan.cpp

* Update src/frontends/tensorflow_common/src/op/mul_no_nan.cpp

* Update src/frontends/tensorflow_common/src/op/mul_no_nan.cpp

* Update tests/layer_tests/tensorflow_tests/test_tf_MulNoNan.py

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-12-07 16:31:41 +00:00
Maxim Vafin 056282b7ef [PT FE] Unroll lists in a same way as tuples when on input (#21505)
* [PT FE] Unroll lists in a same way as tuples when on input

* Fix codestyle
2023-12-07 16:09:43 +01:00
Irina Efode fef3d0d3aa [CONFORMANCE] Fix incorrect comparation model in (#21461) 2023-12-07 18:03:30 +04:00
Mikhail Ryzhov aa2dcb1f46 [GHA] Test command length excess (#21502)
* debug

* enabled pre-commit

* Disabled shell on Win

* remove shell length

* remove debug print
2023-12-07 18:01:19 +04:00
Maxim Vafin dd8f4f3661 Fix ClampFusion for case when min is greater then max (#21509) 2023-12-07 17:58:38 +04:00
Roman Kazantsev ec40652cea [TF FE] Switch on ConvLSTM2D layer tests in pre-commit (#21520)
* [TF FE] Switch on ConvLSTM2D layer tests in pre-commit

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Remove extra blank line

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-12-07 13:46:58 +00:00
Xuejun Zhai e393678590 [CPU tests] migrate single layer test cases to be API 2.0 - part 4 (#21488)
* [CPU tests] migrate single layer test cases to be API 2.0 - part 4

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU tests] fix test error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Func Test] revert single_layer_tests/group_convolution_backprop_data.cpp change

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-07 17:19:46 +04:00
River Li 23424ab73c [CPU tests] migrate single layer test cases to be API 2.0 - part 1 (#21420)
* [CPU tests] migrate single layer test cases to be API 2.0 - part 1

* Remove LayerTestsDefinitions
2023-12-07 16:45:31 +04:00
River Li 886e0b9f59 [CPU Tests] Migrate subgraph_test to be api 2.0 - part 1 (#21358)
* [CPU Tests] Migrate subgraph_test to be api 2.0 - part 1

* Update

* Handle ngraph::pass::ConvertPrecision issue

* Remove unused config variable
2023-12-07 16:33:54 +04:00
Evgenya Nugmanova dde7e70771 [DOCS] Reduce Min / Max -- Reducing empty tensor would result in an undefined behavior (#20736) 2023-12-07 13:06:02 +01:00
Pavel EsirandIlya Lavrenov b71906c672 [PT FE] [ONNX FE] Partially upcast random_normal to f32 (#21400)
* upcast randn to fp32

* style fix

* corrected tests

* add layer tests with statistics

* style-fix

* move make_random_normal to cmmmon

* style-fix

* added randn layer tests; updated CMakeLists.txt

* moved to inline

* fix problem with _USE_MATH_DEFINES on Win

* pass NodeRegistry as reference; some other minor corrections

* adjust thresholds to avoid sporadicity

* move random_normal_helper and hide from public api

* fix install

* fix install: 2nd try

* Frontend common

* remove last frontend_common::static

* build fix

* try to fix mock1 build: 2nd attempt

* try to fix mock1 build: 3rd attempt

* Update src/core/tests/CMakeLists.txt

* Fixed build: attemp 2

* Update src/plugins/intel_cpu/tests/unit/CMakeLists.txt

* Update CMakeLists.txt

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-12-07 15:23:03 +04:00
Georgy Krivoruchko c61de14c66 Aligned reporting with latest implemenration (#21503) 2023-12-07 15:08:05 +04:00
b29a08d15c RPE operation and fusing transformation (#20734)
* RPE operation and fusing transformation

* Correct includes

* Apply suggestions from code review

Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>

* Comments adressed

* Misprints

* Update src/common/transformations/src/transformations/common_optimizations/fuse_rotary_positional_embeddings.cpp

Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>

* Ivan comments adressed

* Update src/common/transformations/src/transformations/common_optimizations/fuse_rotary_positional_embeddings.cpp

Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>

* Fix includes and adds comments

---------

Co-authored-by: Pavel Durandin <pavel.durandin@intel.com>
Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
2023-12-07 11:37:43 +01:00
Oleg Pipikin a8a493accf Refactor gpu tests (#21448)
* Refator gpu beh tests

* Refactor concurency tests

* Refactor gpu dynamic tests

* Refactor gpu subgraph tests

* Refactor gpu single layer tests

* Fix

* Fix
2023-12-07 14:35:56 +04:00
Vitaliy Urusovskij 8ef3834fe9 ngraph leftovers in CPU shared single_layer and subgraph (#21499)
tests
2023-12-07 14:34:11 +04:00
Pawel Raasz 25e5818645 Fix temporary axes remove from MatMul shape_infer (#21474) 2023-12-07 10:36:00 +01:00
Pawel Raasz 320e2bad57 [shape_infer] Fix Equal upper bound calculation (#21453)
* Fix Equal upper bound calculation

* Correct test name
2023-12-07 09:27:06 +00:00
Evgeny Kotov 90087dbb48 Use time limits instead of number iterations limits in GHA performance tests (#21407)
* use perf_counter_ns to measure performance; meausure within time not count

* fixes

* remove nightly

* set 60 secs by default

* fix output html

* code review fixes

* fix runtime duration

* remove unneeded inference

* cleanup
2023-12-07 11:53:27 +04:00
fd0809ead4 [AUTO] Enable round robin policy for cumulative throughput mode of AUTO plugin (#20439)
* Add and implement the logic of property SCHEDULE_POLICY for MULTI plugin.

* Updated.

* Enable test case for schedule policy test.

* enable test case for property ov::intel_auto::schedule_policy.

* Update.

* Updated.

* Updated.

* Update.

* Update the lock logic here by considering the runtime fallback case.

* Update.

* Update.

* Update.

* Update default value of schedule policy to DEVICE_PRIORITY

* Enable the function test case for schedule policy.

* Add description for inference requests schedule policy within AUTO plugin cumulative mode.

* Updated.

* Python bindings for enum SchedulePolicy and property ov::intel_auto::schedule_policy.

* Update.

* Update.

* Update.

* Updated.

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
Co-authored-by: Wanglei Shen <wanglei.shen@intel.com>
2023-12-07 07:04:56 +01:00
Roman Kazantsev 33b2e6bb51 [TF FE] Allow any model format extension (#21508)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-12-07 09:21:38 +04:00
Luo Cheng 0a7d1d770f [CPU] Optimize ScaledDotProductAttention performance (#21412) 2023-12-07 00:24:49 +01:00
rghvshandRoman Kazantsev 55d7765704 [TF FE] Support Atan2 operation for TensorFlow models (#21076)
* Create atan2.cpp

* Update common_op_table.hpp

Adds atan2 operation to the list

* Update op_table.cpp

Adds atan2 to the list of BinaryOp.

* Create test_tf_Atan2.py

Adds test for Atan2.

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Update src/frontends/tensorflow/src/op_table.cpp

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Update atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Update atan2.cpp

declares x and y , explicitly mentions conditions

* Update atan2.cpp

* Update atan2.cpp

Adds versions.

* Update atan2.cpp

adds namespace

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update atan2.cpp

Clang format

* Update atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

* Update test_tf_Atan2.py

fixes the datatype of y

* Update tests/layer_tests/tensorflow_tests/test_tf_Atan2.py

* Update test_tf_Atan2.py

shape to float

* Update tests/layer_tests/tensorflow_tests/test_tf_Atan2.py

* Update tests/layer_tests/tensorflow_tests/test_tf_Atan2.py

* Update tests/layer_tests/tensorflow_tests/test_tf_Atan2.py

* Update test_tf_Atan2.py

Makes the range of input inclusive for x<0 and y<0.

* Update src/frontends/tensorflow_common/src/op/atan2.cpp

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-12-06 21:57:07 +01:00
Roman Kazantsev 148daf035b [TF FE] Avoid reinterpret_cast for non-standard types (#21506)
Clean-up translator for Placeholder

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-12-06 19:55:59 +00:00
Roman Kazantsev cac6aadcc8 [TF FE] Support object removal and Pad for complex type (#21498)
* [TF FE] Support object removal and Pad for complex type

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add test for Pad on complex type

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-12-06 20:03:43 +01:00
Aleksandr Voron 60109caf63 [CPU] FP16 support in EmbeddingBagOffsetSum and EmbeddingBagSum (#21433) 2023-12-06 22:21:02 +04:00
Sergey ShlyapnikovandKim, Eddy <eddy.kim@intel.com> 152b4dfc0d [GPU] Add SLM support for FC bf tiled kernel (#21435)
* [GPU] Add SLM support for FC bf tiled kernel

* Fix unaligned IFM leftovers processing in case of compressed weights and add decompression scale post op support

* added FullyConnected_bf_tiled::GetUpdateDispatchDataFunc

* updated FullyConnected_bf_tiled::GetUpdateDispatchDataFunc for two types of kernels

---------

Co-authored-by: Kim, Eddy <eddy.kim@intel.com>
2023-12-06 18:18:01 +01:00
Maxim Vafin 8a0317101c [PT FE] Disable freezing (#20679)
* Disable freezing

* Add rules for freezing

* Update src/bindings/python/src/openvino/frontend/pytorch/ts_decoder.py

* Update src/bindings/python/src/openvino/frontend/pytorch/ts_decoder.py
2023-12-06 15:39:54 +01:00
Xuejun Zhai 275e14d94a [CPU tests] migrate single layer test cases to be API 2.0 - part 5 (#21489)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-06 17:05:44 +04:00
Xuejun Zhai 6391b0c9f6 [CPU tests] migrate single layer test cases to be API 2.0 - part 3 (#21445)
* [CPU tests] migrate single layer test cases to be API 2.0 - part 3

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU tests] migrate single layer test cases to be API 2.0 - part 3

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-06 16:55:44 +04:00
Haiqi PanandRiver Li ddc395b6cb API 2.0 infer request io blob test case (#20336)
* add failToSetUninitializedInputBlob, failToSetUninitializedOutputBlob and canInferWithGetOut

* FailedAsyncInferWithNegativeTimeForWait

* Revert "FailedAsyncInferWithNegativeTimeForWait"

This reverts commit 3b6780102f.

* Update src/tests/functional/plugin/shared/src/behavior/ov_infer_request/io_tensor.cpp

Co-authored-by: River Li <river.li@intel.com>

* Update src/tests/functional/plugin/shared/src/behavior/ov_infer_request/io_tensor.cpp

Co-authored-by: River Li <river.li@intel.com>

---------

Co-authored-by: River Li <river.li@intel.com>
2023-12-06 16:38:10 +04:00
Irina Efode 1f01036997 [CONFORMANCE] Fix reg exp to find models (#21496) 2023-12-06 13:29:03 +01:00
Pawel Raasz 635f5d373d [core]Migrate Gathers operators to new API (#21390)
* Migrate Gather operators to new API

* Remove redundant code form reference

* Use IF_TYPE_OF macro

* Remove unused include

* Use common utils in gather base

* Fix normalize after merge issues
2023-12-06 16:27:14 +04:00
Vitaliy UrusovskijandIlya Lavrenov e4c38e3afd Port tests/ to API2.0 (#21476)
* Port properties in time and stress tests to API2.0

* Port CC tests infer_tool.py to API2.0

* Update tests/conditional_compilation/tools/infer_tool.py

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-12-06 14:36:43 +04:00
6d3fbf4237 【Hackathon 5th No.113】Support paddle 2.5.1 (#20161)
* Fixed comments for linux-riscv64 GHA workflow

* Try to enable PDPD tests back

* support paddle 2.5

* fix op test errors

* fix op test errors

* recover openvino/src/core/src/op/swish.cpp

* recover thirdparty open_model_zoo

* update cmakelist

* disable some tests

* fix code style

* enable paddle ci tests

* disable some tests

* fix np.long error

* recover reverse op

* update ci config

* recover set_value test codes

* rm linux_debian.yml

* Compatible with cases where different paddle versions have different output shapes

* remove set_value tests

* recover save_model.py

* Added ctest labels for FE tests only if FW is found

* recover thirdparty

* Update CMakeLists.txt

Fixed creation of paddle_tests target two times

* update paddle v2.5.1 proto file

* recover thirdparty

* fix Paddle_Reader_Tests.LoadModelMemoryToCore error

* fix Paddle_Places test issue in v2.5.1

* support some tests for low version paddle

* fix paddle FrontEndCutModelTest issue

* fix

* support all other tests for low version paddle

* fix codestyle

* fix codestyle

* Update generate_multi_tensor_split.py

* fix build error

* add testUnloadLibBeforeDeletingDependentObject into paddle skip tests config

* remove PROTOBUF_LITE from paddle CmakeList.txt

* fix path error

* add debug info

* add debug codes

* use make_model_path

* recover

* add option optimize_for

* use FrontEndTestUtils in read_paddle_model_test.cpp

* use FrontEndTestUtils in read_paddle_model_test.cpp

* fix grid_sample error when using dynamic shape

* fix error tests for 2.4 version

* add paddle version judge for floor_div

* fix grid_sample and add tests

* fix

* fix

* recover

* recover grid_sampler

* Apply suggestions from code review

* fix

* Apply suggestions from code review

* Apply suggestions from code review

* fix build error

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: meiyang-intel <yang.mei@intel.com>
2023-12-06 13:59:50 +04:00
Irina Efode bbfe22732f [CONFORMANCE] Change downgrade coefficient logic for conformance reports (#21475)
* [CONFORMANCE] Change downgrade coefficient logic for conformance reports

* Remove extra reports
2023-12-06 13:02:04 +04:00
Ilya Lavrenov d217847714 Allow to load extension by relative path in frontends, node factory (#21486) 2023-12-06 10:21:30 +04:00
Wanglei Shen 0520216481 fix streams calculation issue for latency mode with big threads input (#21437)
* fix streams calculation issue for latency mode with big threads input

* update for typo

* update for typo

* add test cases

* update for comments
2023-12-06 11:53:58 +08:00
Fang Xu ea1ffbaf7f [CPU] Output correct streams and threads number (#21421) 2023-12-05 22:52:15 +04:00
River LiandVitaliy Urusovskij bd315f4b6a [CPU Tests] migrate matmul test cases to be api 2.0 (#21332)
* [CPU Tests] migrate matmul test cases to be api 2.0

* Update

* Handle convert2OutputVector inplace

---------

Co-authored-by: Vitaliy Urusovskij <vitaliy.urusovskij@intel.com>
2023-12-05 14:42:47 +00:00
River LiandVitaliy Urusovskij 65b8bdf892 [CPU Tests] migrate sub_graph test cases - part 2 (#21379)
* [CPU Tests] migrate sub_graph test case - part 2

* remove unused header files

---------

Co-authored-by: Vitaliy Urusovskij <vitaliy.urusovskij@intel.com>
2023-12-05 14:18:16 +00:00
Chenhu Wang f80793e420 [SnippetS] Perf count nodes and emitters (#19493) 2023-12-05 15:49:27 +04:00
Vladislav Golubev 791762fb19 Tests compilation fix (#21473) 2023-12-05 15:47:35 +04:00
Pawel RaaszandMichal Lukaszewski c18041ab53 [core] Remove tensor conversion utils from new API (#21396)
* Remove usage of util::wrap_tensor

* Remove tensor conversion utils
make it local in model to remove with legacy evaluate

* Make only output tensor dynamic if Shape{0}

* Evaluate fixes on HostTensor

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-12-05 15:11:43 +04:00
Mikhail Ryzhov 725aae4dbd partly reverted d6f7664 (#21454) 2023-12-05 13:28:17 +04:00
Andrey Kashchikhin 62f5bd6570 [CI] [GHA] Introduce the Linux ARM64 workflow (#20809)
* add arm as a matrix for build job

* uncomment

* comment

* try inside pipeline

* check location

* another dirs

* try to privide correct action path

* use corrected action

* use newer commit

* use newer commit

* use newer commit

* use newer action commit

* add setting

* rm from pipeline, adapt action iteslf

* add missing deps

* enable samples and debian jobs

* correct yml

* correct image name

* correct syntax, use self-hosted option

* enable onnx runtime and c++, use newer action

* enable Python and CPU Func tests

* add missing deps for arm64

* increase timeout for python tests

* disable some tests, add more time

* skip failing tests

* skip speech sample test on arm

* dummy chang

* skip mxnet mo on arm, run all tests

* rm quotes

* separate linux x86 and arm64 workflows

* rm unused matrix refs, add timeouts

* add skips for c++ tests and some Python tests

* correct cache keys, extend timeout

* skip more python tests

* add more skips: for python and CPU func

* extend cpu func list with skips

* disable cpu func tests and python api 2.0 tests

* rm disable job

* styling, rm pr trigger, rm always(), rm unnecessary changes

* revert

* use ifs instead of comments, provide better wording for skips
2023-12-05 12:14:02 +04:00
Evgenya Nugmanova a6903b8398 [Symbolic Transformation] DeReshape FullyConnected (#21419) 2023-12-05 12:05:03 +04:00
Pawel Raasz 24209239bf Restore CC feature in operators evaluate (#21446) 2023-12-05 11:23:19 +04:00
Roman Kazantsev f9d20d5aa0 [TF FE] Support different types: tf.i8, u8, i16, u16, i32, u32, i64, u64, f16, f32, bf16 (#21439)
* [TF FE] Support different types: u16, u64, u32, boolean

Support constants of different types and dtype attribute values

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Use map instead of unordered_map

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add tests with different types

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-12-05 11:08:46 +04:00
River Li 2c6a2a1102 [CPU tests] migrate sub_graph test cases to be 2.0 - part 3 (#21386) 2023-12-05 10:55:55 +04:00
Xuejun Zhai 9c94873842 Upgrade CPU func tests to 2.o (#21357)
* [CPU Plugin][Func Test] Upgrade AddConvertToReorderTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade AlignMatMulInputRanksTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade GatherAddAvgpool to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade InputNoReorderEltwiseBF16 to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-05 10:24:55 +04:00
Xuejun Zhai 5dda9f333b Upgrade CPU func tests to 2.0 (#21384)
* [CPU Plugin][Func Test] Upgrade NonInputInPlaceTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade InputOutputTensorReuse to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade InputTensorROI to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade IntertactionCPUTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade EdgeWithSameNameInTwoModels to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade MHATest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade NgramCPUTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade ParameterResultCustomBlobTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade RemoveUselessBF16ConvertCPUTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] remove ngraph & opset

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] fix snippets mode error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-05 09:44:42 +04:00
Yuan Hu 0d05f87004 [CPU] fix issue that reshape node didn't update last second input value (#21369)
* fix didn't udpate last second input issue

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* to match master code

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* fix review comment

use parametrized test case instead of creating new test case

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

---------

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>
2023-12-04 18:23:42 +01:00
Tatiana Savina 94d1d7a033 [DOCS] Add legacy notes pot (#21449)
* add note to pot

* change header
2023-12-04 16:36:03 +01:00
Anastasia Kuporosova ca87784a29 [PyOV] Missed variable API in Model class (#21434)
* [PyOV] Missed variable API in Model class

* fixes in model docstr and codestyle

* add test

* fix ci

* fix ci
2023-12-04 15:44:23 +01:00
Tingqian Li fcbb80d372 [CPU] Support chatglm RoPE (#21295) 2023-12-04 13:18:01 +01:00
Pawel RaaszandMichal Lukaszewski 15ff4e6596 [core]Correct Constant creation from string (#21099)
* Improve Constant creation from string values

* Optimize Constant creation from vector<T>
binary size reduction

* Fix code style

* Add tests to check there is no precision los

* Fix conversion for string -> integral numbers

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-12-04 10:57:47 +01:00
Tatiana Savina f37cf22db8 add legacy note to mo section (#21432) 2023-12-04 10:19:38 +01:00
Anastasiia Pnevskaia 525c031959 Fixed Trackable import. (#21429) 2023-12-04 12:25:41 +04:00
jmacekx c759f8df86 [DOCS] update documentation build instruction (#21427) 2023-12-04 08:39:47 +01:00
Roman Kazantsev 35330d5320 [MO] Fix version of MO deprecation (#21438)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-12-04 10:13:21 +04:00
Sun Xiaoxia 9cca05def8 Only use current thread with TBB when -nstreams=0 (#20975)
* only use current thread when -nstreams=0 with TBB

* add comments

* fix building issue

* fix comments

* only use current thread when -nstreams=0 with TBB

* add comments

* fix building issue

* fix comments
2023-12-04 13:52:52 +08:00
Wilson Seok e3988cd6a8 [GPU] Fix scatter update axis name (#21398)
* fix scatter update axis name
* Remove _exec_deps control for backedge_from because this is not required after PR-21333
  * Previously, we organized execution order based on dependency for input-output buffer sharing from loop-body
  * With PR-21333, we are not sharing buffer between input and output when loop input has multiple outputs.
  * Therefore, there is no need to adjust exec order.
2023-12-04 13:49:58 +09:00
Wang, YangandChen Peter 1e2b7c66f7 [AUTO] Update AUTO logic to support state-full model (#21061)
* 1. Update the logic for filtering out the device that supports the stateful model.
2. Enable the function to create stateful model in the test case.

* 1. Enable unit test cases for stateful model support.
2. disable accelerator device(CPU_HELP) if model is stateful.

Signed-off-by: Wang, Yang <yang4.wang@intel.com>

* Update.

* Updated.

* Updated.

* Updated.

---------

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-12-04 10:51:10 +08:00
44f7bf7e3f [CPU] Multinomial implementation (#20406)
* [CPU] Temp save commit

* [CPU] Add initial CPU implementation of Multinomial

* [CPU] Add parallel implementation with mock randomuniform

* [CPU] Fix accumulate incorrect iterator provided

* [CPU] Add tests for multinomial

* [CORE] Add lost tests

* [CPU] Add dynamic shape inference and descriptors init

* [CPU] Revamp tests to multiple files

* [CPU/SPEC] Apply suggested changes

* [CPU] Fix test compilation issues, clang fix

* Update multinomial.cpp

* [CPU] Fix Incorrect Primitive Descriptor for multiple combinations

* [CPU] Change params to inputs in testing function

* [CPU] Fix dynamic shape inference tensor access error

* [CPU] Save stable version

* [CPU] Add template execute for different input dtypes

* [CPU] Introduce new method of loading data to tests, fix dynamic shape inference

* [CPU] Improve parralelism

* [CPU] Improve pararrelism - fix indexes

* [CPU] Fix no_replacement tests, fix randomness in tests

* [CPU] Split tests into log and no_log version to avoid rounding when values are close to 0

* [CPU] Add mersenne-twister seed and random_uniform distribution as source for randomness, add debug prints

* [CPU] Apply suggestions from review, fix 4x4 log tests

* [CPU] Force i32 convert format

* [CPU] Fix double to float conversion warning

* [CPU] Remove debugging prints, fix CIs float error

* [CPU] Fix for convert_type in CIs

* Update src/plugins/intel_cpu/src/shape_inference/custom/multinomial.hpp

Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>

* Update src/plugins/intel_cpu/src/nodes/multinomial.hpp

Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>

* Update src/plugins/intel_cpu/src/shape_inference/custom/multinomial.hpp

Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>

* [CPU] Migrate to CPU API 2.0

* [Ref/CPU] Remove support for 1D tensors, use Core Shape Inference

* [CPU] Remove unnecessary symbols

* Update multinomial.cpp

* Update multinomial.cpp

* Update ops.py

* [CPU] Fix const identifier missing after reinterpret cast

* [CPU] Fix Mac cpplint error

* [CPU] Apply recommended changes - 0-seed nondeterminism, casts in testsshape_infer optimization

* [CPU] Apply iterator optimization suggestion

* [CPU] Replace casts with class constructors in tests

* [CPU] Remove unnecessary static_casts to void*

* Update multinomial.cpp

* [CPU] Apply suggestions from review - move template, fix i64 precision, redturn off shape precision for const inputs, set always-execute for const inputs

* [CPU] Relocate tests to shared, remove using namespace from header files

* [CPU] Add definitions for files eaten by clang fix

* [CPU] Fix seed for Mersenne Twister Engine

* [CPU] Try fix incorrect 1x3 for 3 samples test (bf16)

* [CPU] Use only mersenne for seed generation

* [CPU] Relocate test, add debug prints

* [CPU] Add relocated test that got eaten

* [CPU] Remove uniform distribution, replace with division by max value

* Update multinomial.cpp

* Update multinomial.cpp

* [CPU] Add explicit float cast for CIs

* Update multinomial.cpp

* [CPU] Use intel_cpu::bfloat16 to reduce innacuracies

* [CPU] Remove debug caps, all tests pass

* [CPU] Clang fix

* [GPU] Remove GPU 1D test case

* [CPU] Modify tests to add seed=0 case, add ignore statement for this test and add subtask to complete after current release

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>
2023-12-02 12:46:17 +01:00
Roman KazantsevandSergey Lyalin d4c342fc79 [MO] Recommend to use OVC from MO message (#21431)
* [MO] Recommend to use OVC from MO message

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update tools/mo/openvino/tools/mo/utils/get_ov_update_message.py

Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>

* Update tools/mo/openvino/tools/mo/utils/get_ov_update_message.py

Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>

* Update tools/mo/openvino/tools/mo/utils/get_ov_update_message.py

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
2023-12-02 11:17:26 +00:00
Sergey Shlyapnikov 009951d969 [GPU] Allow to set empty tensor for inner network of condition primitive (#21415) 2023-12-01 21:21:21 +00:00
Katarzyna MitrusandMichal Lukaszewski 0a271c136a [Opset13][Docs] FakeConvert cpp class docstring (#21324)
* Add code docs

* Remove redundant headers from ref

* Remove redundant eval return

* Empty new line style cleanup

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-12-01 20:37:24 +01:00
Maxim Vafin 7d2afa4d38 ConcatFusion: check that replacing input has only 1 consumer (#21425)
* ConcatFusion: check that replacing input has only 1 consumer

* Add test
2023-12-01 16:58:19 +00:00
Mikhail Ryzhov ba735c9149 [GHA] Updated 2-cores runner name (#21426)
* updated the name

* manual trigger
2023-12-01 16:46:20 +00:00
8427493446 [PyOV] Limit protobuf version for conditional compilation tests (#21130)
* Initial commit

* Add protobuf version bound

* Revert "Initial commit"

This reverts commit 5fd6b521df.

* Cleanup of accidental commits

* Cleanup of accidental commits

---------

Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-12-01 16:13:12 +00:00
Paul Youngsoo Ahn 734bc400ec [GPU] Fix failures for loop and condition operation (#21333)
* [GPU] union 1D and scalar output dim for subgraph is skipped in condition

* Set friendly name using primitive_id for debugging.

* Do not share memory between internal input and external input when internal input has  backedge in loop

* Set backedge mode to SINGLE when backedge_from_prim has multiple users

* Add condition unit test to check empty inner body

* Fix functional test failures

* Fix unit test failure on dg2

* Follow up code review - rename function
2023-12-01 16:13:20 +01:00
Tomasz Adamowicz 04f2485334 [GNA] Use OV thread_local implementation (#21284)
* [GNA] Use OV thread_local implementation
2023-12-01 14:39:26 +00:00
Tatiana Savina ad12f114f4 change wording (#21428) 2023-12-01 15:18:56 +01:00
Ekaterina Aidova bf760b663e PT FE - aten::alias, aten::alias_copy, aten::cross, aten::linalg_cross (#21265)
* [PT FE]: support aten::alias, aten::alias_copy, aten::cross, aten::linalg_cross

* add type alignment

* fix code style
2023-12-01 14:59:03 +01:00
Anastasia Kuporosova 0e642e984b [PyOV] tests refactoring (#21410)
* [PyOV] tests refactoring

* remove ngraoh mentioning

* codestyle

* replace func
2023-12-01 14:53:33 +01:00
Evgenya Nugmanova 055e3d274f Symbolic review leftovers (#21388)
* Correct include pragmas in symbolic transformations

* Allow for more Reshapes to be optimized via symbolic Reshape Optimization
2023-12-01 15:50:47 +04:00
Kelvin Choi ed0ce165ce [GPU] Support negative indice for static (#20909) 2023-12-01 11:04:50 +00:00
Ekaterina Aidova d1f72e2d01 add gptq model test in pytorch hub tests (#21399)
* conflict

* refactor test

* fix for case if can not instantiate config
2023-12-01 10:56:05 +00:00
Xuejun Zhai 0e2bde2397 [CPU Plugin][Func Test] Upgrade reshape related to API 2.0 (#21361)
* [CPU Plugin][Func Test] Upgrade reshape related to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-12-01 13:53:51 +04:00
Mikhail Ryzhov 27adf58220 [GHA] Switched CPU functional test runner (#21346)
* switched runners to 32gb

* increased onnx timeout
2023-12-01 12:50:06 +04:00
Maxim Vafin db6aeb7a65 [PT FE] Add torchbenchmark models to GHA tests (#21401)
* [PT FE] Add torchbenchmark models to GHA tests

* Fix teardown

* Fix requirements

* Update tests/model_hub_tests/torch_tests/torchbench_models

* Update tests/model_hub_tests/torch_tests/torchbench_models

* Update tests/model_hub_tests/torch_tests/test_torchbench.py
2023-12-01 09:44:12 +01:00
Roman Kazantsev 9ecebdd202 [Common Frontend] Move ComplexTypeMark into common frontend (#21409)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-12-01 12:12:19 +04:00
abfbdd1b96 [Core] Support String Tensors (#21244)
* [Core] Support String Tensors

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add String Constant implementation

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix build issue in tests

* Add cast_vector for Constant of ov::string type

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix build issue

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix build issue: ambiguous type in GNA

* Fix ambiguous build issue in GNA tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix code-style

* Fix code-style

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix ambiguous build issue in GNA tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix ambiguous build issue in TF FE tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update openvino.style for naming convention check

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix compilation error in core unit tests - need typename

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add test for new element_type

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix code-style

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update src/inference/src/dev/make_tensor.cpp

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* Add support of string Tensors for Constant

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix copying string tensor value for Constant

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Complete template methods for Constant

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Improve performance for initialization and destruction of string Tensor for set_shape

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add check for string value in test

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Remove unused variable

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update src/inference/src/dev/make_tensor.cpp

* Fix copy_to for ITensor of string type and add tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add tests for Constant of string type and serialization

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Use memset_allocation to switch initialization

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add additional documentation for host_ptr

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update src/core/src/op/constant.cpp

* Use OPENVINO_THROW

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update src/core/include/openvino/op/constant.hpp

* Update src/core/include/openvino/op/constant.hpp

Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>

* Apply code-review feedback: use string_size

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Apply code-review feedback

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Recover evaluate impl for non-string type

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix code for creating of string constant for legacy non HostTensor tensor

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix build issue

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Apply code-review feedback: simplify copy_to method

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix build issue

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Use StringAlignedBuffer to store string Constant values

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Remove not needed methods in StringAlignedBuffer

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor set_shape method

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
2023-12-01 11:17:53 +04:00
Pawel RaaszandIlya Lavrenov 7bb542fa70 [shape infer]Use ShapeOf node output type to evaluate bound (#21189)
* Use ShapeOf node output type to evaluate bound
- lower bound is not set to 0 when only upper is above inf
- update test where lower bound was set to 0 previously
- re-factor label evaluation

* Remove `max_et_val` from capture list

* Fix constexpr capture for MSVC

* Restore clear lower bound if upper is infinite

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-12-01 08:16:56 +01:00
Kelvin Choi 4c40716e95 [GPU] Prevent fusing for eltwise which is not broadcastable from input to fused output (#20974) 2023-12-01 16:11:59 +09:00
Pawel Raasz c608771e03 [core]Migrate get_node_input_partial_shapes to dev API (#21302)
* Migrate `get_node_input_partial_shapes` to dev API
and use it instead deprecated

* Remove deprecated version

* Remove not required header
2023-12-01 06:12:16 +01:00
Eddy Kim 3e2c2c06af [GPU] cldnn::program serialization (#21290)
* cldnn::program serialization

* fixed to set a stream in a outputbuffer

* removed unnecessary comments

* replaced emplace_back with push_back

* updated bool vector serializer

* fixed several bugs

* removed m_model from compiled_model

* fixed streams_test for model caching

* updated mutable_data handling logic

* added a new API SetUpdateDispatchDataFunc

* updated to serialize weights_reorder_param

* added functional tests for dynamic model caching

* renamed to GetUpdateDispatchDataFunc

* added dynamic model caching tests
2023-11-30 20:16:51 -08:00
Maxim Vafin 7ff517466c [PT FE] Fix issue with inf produced by normal distribution (#21403) 2023-12-01 00:46:53 +00:00
Roman Kazantsev c1cfb00f81 [TF Hub] Fix typo in test file name (#21408)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-30 23:49:01 +00:00
Mikhail Ryzhov 1e959c7473 [GHA] Changed risc-v cache dir 2023-11-30 21:23:57 +01:00
Maxim Vafin fa7a4f44b5 [PT FE] Update torch to 2.1 in GHA tests (#21391)
* [PT FE] Update torch to 2.1 in GHA tests

* Adjust requirements for natten

* Add upper bound

* Use sys.executable
2023-11-30 17:48:40 +00:00
Kristián KörmöndiandAnastasia Kuporosova 74bf3d4e38 Extend Python API with ScatterNDUpdate-3 (#21325)
Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>
2023-11-30 15:32:45 +00:00
Pavel EsirandMaxim Vafin d5d9fd11b3 [tests] resolve skipped HF tests: 1st batch (#21305)
* initial

* some corrections for the first batch

* corrected classes for generate, corrected xfail

* leave only models with correct example input

* remove an obsolete line

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* update musicgen

* cleanup test_hf_transformers.py

* typo fix

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

* move to up: corrected xfail

* revert back accidentally deleted elif

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-11-30 14:37:41 +00:00
Alexandra Sidorova df03b0437a [Snippets] Refactored work with Buffers (#19644)
[Snippets] BufferManager is not derived from PassPipeline now

[Snippets] Added MemorySolver support

[Snippets] Made as static class

[Snippets] Added one-level inplace support

[Snippets] Added optimization bits

[Snippets] Small cosmetic fixes

[Snippets] Renamed to BufferSolver

[Snippets] Refactored

[Snippets] Fixed IdendifyBuffers

[Snippets] Add inplace multi + identify buffers

[Snippets] Made common pass

[Snippets] Added PassPipeline::get_pass<>()

[Snippets] Added comments, briefs, refactored smth

[Snippets] Fixed win build

[Snippets] Not allow to have the same Buffer ID for multi level Buffers

[Snippets] Moved CleanupRepeatedPtrShifts to common pioeline

[Snippets] Made IdentifyBuffers::ShiftPtrParams

[Snippets] Fixed window sliding mode

[Snippets] Refactored nested clusters

[Snippets] Adde normalized buffer regs

[Snippets] Not allowed to have the same ID for nested Buffers in IdentifyBuffers

[Snippets] Fixed DefineBufferClusters::are_buffer_neighbours::find

[Snippets] Removed useless method from InitLoops

[Snippets] Fixed CC build

[Snippets] Applied Ivan comments

[Snippets] Applied Ivan comment: refactored pass classes

[Snippets] Applied Vladislav comments

[Snippets] Applied Ivan comments 2

[Runtime] Moved MemorySolver to API2.0

[Snippets] Created common buffer allocation pass AllocateBuffers

[Snippets][Tests] Added InplaceEltwise unit test

[Snippets] fixed NormalizeBufferIDs

[Snippets][CPU] Fixed BrgemmBlocking lowered pass: move wsp for AMX to brgemm

[Snippets][CPU][Tests] Covered AMX MHA buffer allocation by unit tests
2023-11-30 17:46:35 +04:00
Andrey Kashchikhin 6ab5ef72d5 [CI] [GHA] Skip failing tests in the Windows workflow (#21349)
* always run tests, enable pr trigger

* skip tests

* provide ticket numbers

* rm pr trigger; rm unused schedule trigger
2023-11-30 15:50:01 +04:00
Anastasiia Pnevskaia b0b28e3853 Disable memory sharing for GPU. (#21370) 2023-11-30 11:05:25 +00:00
Tomasz Jankowski a9d2dd0b02 [core] Migrate ShuffleChannels operator to new API (#21340)
* Drop legacy stuff

* Repalce HostTensor with ov::Tensor

* Remove redundant call

* Revert safer axis normalilzation
2023-11-30 11:43:01 +01:00
River Li ec239b3d5f [Fixing]Fix some scan coverity issues (#21378)
* Fix some scan coverity issues

* Fix an error
2023-11-30 14:39:55 +04:00
Maksim Kutakov 405d97e4a5 [CPU] Add optimized memory management for SDPA KV cache (#21242) 2023-11-30 14:07:43 +04:00
Vitaliy Urusovskij 718b5a60bf Remove legacy API from tests/ov_helpers/ (#21254)
* Remove legacy API from `tests/ov_helpers/`

* Build fix

* `ngraph::Function`->`ov::Model`

* ClangFormat

* Remove extra `#include <ngraph/ngraph.hpp>`

* Clean up headers

* `NGRAPH_CHECK` -> `OPENVINO_ASSERT`

* Refactor includes

* Fix precommit
2023-11-30 12:40:52 +04:00
Evgenya Nugmanova 243898560f Reducing ShapeOf sub-graphs for Flatten-like Reshapes (#21365)
* Extends SharedOpsOptimization with ScatterUpdate support

* Introduces Flatten operation symbolic optimization

* Code Style: tests

* Test fix

* Refactor
2023-11-30 12:21:18 +04:00
Pawel Raasz 51b5bc5ec4 [core]Add IF_TYPE_OF to enable CC for IfTypeOf class (#21240)
* Integrate `IfTypeOf` class with CC
- Add macro to warp class to add support for CC
- Update `ccheader.py` to created PP symbols for template parameter list
- Use new macro in Convert operator

* Correct symbols generation

* Update OV PP macros

* Wrap TestVisitor into namespace{}

* Removed not required macros, update comments

* Update element_visitor.hpp
2023-11-30 11:28:45 +04:00
Pawel Raasz 8ee8f4e112 [core]Migrate Range operator to new API (#21259)
* Migrate Range operator to new API
- remove legacy function an duplicated shape inference
- Minor change range reference implementation

* Move accessing tensors after validation
2023-11-30 11:27:08 +04:00
Tomasz Jankowski eec370a88b [core] Migrate StridedSlice operator to new API (#21342)
* Drop legacy stuff

* Repalce HostTensor with ov::Tensor
2023-11-30 11:26:22 +04:00
Sofya Balandina fa1cc89cf3 [sibgraph_dumper] Fix sporadic cache volume growth (#21352) 2023-11-30 11:05:43 +04:00
Maxim Vafin 3cae6e7aea [PT FE] Fix timm model list according to newest version (#21376)
* [PT FE] Fix timm model list according to newest version

* Remove xfail for hf model passed in latest nightly

* Fix code for loading vit_h model

* Restore torchvision
2023-11-30 08:17:21 +04:00
Maxim Vafin 007b6fd82c [PT FE] Add support for GFPGAN model (#21371)
* [PT FE] Add support for GFPGAN model

* Remove logs

* Fix codestyle

* Add support for aten::normal
2023-11-29 23:05:46 +00:00
Roman Kazantsev cb5377fb1d [TF FE] Correct ArgMinMax translators and add tests (#21364)
* [TF FE] Correct ArgMinMax translators and add tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update tests/layer_tests/tensorflow_tests/test_tf_ArgMinMax.py

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-30 00:00:43 +04:00
Maxim Vafin b3a13af9ef [PT FE] Support aten::softplus (#21367)
* [PT FE] Support aten::softplus

* Fix name
2023-11-29 14:38:31 +00:00
jmacekx 54e61ac9f5 refactor docs build process (#21239) 2023-11-29 15:30:05 +04:00
Xuejun ZhaiandRiver Li a6ea22ad0e [CPU Plugin][Func Test] Upgrade Fuse related to API 2.0 (#21359)
* [CPU Plugin][Func Test] Upgrade Fuse related to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Update src/plugins/intel_cpu/tests/functional/subgraph_tests/src/fuse_non0_output_port.cpp

Co-authored-by: River Li <river.li@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
Co-authored-by: River Li <river.li@intel.com>
2023-11-29 10:43:10 +00:00
Ekaterina Aidova 2b14ea97fc [PT FE]: support aten:resolve_neg, aten::resolve_conj (#21362)
* [PT FE]: support aten:resolve_neg, aten::resolve_conj

* Update src/frontends/pytorch/src/op_table.cpp
2023-11-29 10:34:46 +00:00
Xuejun Zhai 97588dc118 Xuejun/concat related tests 2.0 (#21334)
* [CPU Plugin][Func Test] Upgrade ConcatConstantInPlaceTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade ReLuConcatConvSumInPlaceTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade ConcatReorderInPlaceTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] fix enforce_bf16

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Update concat_conv_sum_inplace.cpp

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-29 10:31:11 +00:00
River Li 0ab0d42f2b [CPU Tests] migrate ConcatResizeConcatTest to be 2.0 (#21300)
* [CPU Tests] migrate ConcatResizeConcatTest to be 2.0

* [CPU Tests] migate matmul test cases to be api 2.0

* Update

* Revert "[CPU Tests] migate matmul test cases to be api 2.0"

This reverts commit b5fe09b3fa.

* Remove Node type
2023-11-29 10:23:21 +00:00
Maxim Vafin 258c72555c [PT FE] Support bool in aten::prod (#21351) 2023-11-29 11:07:21 +01:00
Sungeun Kim 07bcb8b6ed This case will check the layout of condition in these conditions. (#21335)
- it re-allocated at primitive_inst::realloc_if_needed().
- it can be skip subgraph.
2023-11-29 09:42:16 +00:00
Xuejun Zhai c1a28d0942 Upgrade CPU func tests to 2.o (#21344)
* [CPU Plugin][Func Test] Upgrade ConvPoolActivTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade Conv3dReshapeTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade ConvsAndSums to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade FQScaleshiftWithConstantShiftTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade FullyConnectedStridedInputsOutputsTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade FuseScaleShiftAndFakeQuantizeTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade FuseSplitConcatPairToInterpolateTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] remove ngraph namespace

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] fix error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-29 13:32:05 +04:00
Nesterov Alexander 1b43b3c566 [ARM CPU] Fix debug fails in acl tbb scheduler (#20842) 2023-11-29 13:06:44 +04:00
Ilya Lavrenov d553d4cd55 Fixed extensions loading on Windows (#21355) 2023-11-29 12:40:42 +04:00
Maksim Proshin 39ba1ed03f [DOCS] Update reference in quantization_w_accuracy_control.md (#21337)
* Update quantization_w_accuracy_control.md

avoid 404

* Update quantization_w_accuracy_control.md
2023-11-29 09:40:25 +01:00
Maxim Vafin f3fe6b3f00 [PT FE] Add EDSR models to GHA tests (#21350)
* [PT FE] Add EDSR models to GHA tests

* Apply suggestions from code review
2023-11-28 21:05:33 +00:00
Sofya Balandina 0aa466e094 [apiConformance] Update expected err message for inference_precision (#21156) 2023-11-28 19:56:11 +01:00
Ilya Lavrenov 28208c6c9a Fixed conan RISC-V build (#21280) 2023-11-28 19:02:43 +04:00
Nikolay Shchegolev c6d78def6e [CPU] Fixed NMS output memory redifinition logic (#21126)
CPU graph always adds Result node for outputs which don't have consumers. If Conversion is inserted between such output and Result this Conversion became consumer and require defined memory.
2023-11-28 13:58:33 +00:00
Edward Shogulin d3d3ee55ef [CPU] Skip 32 bit tests for i32 Bitwise (#21328) 2023-11-28 17:06:16 +04:00
Roman Kazantsev 7c590bf180 [Hub Tests] Apply Python code formatting (#21286)
* Apply Python code formatting

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Apply Python code formatting

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-28 16:54:02 +04:00
Andrey Babushkin a7de95a8a4 Rename AKS runners' labels for consistency (#21282) 2023-11-28 12:13:28 +00:00
Roman Kazantsev 42245fc7c3 [OVC] Apply Python code formatting to OVC (#21339)
* [OVC] Apply Python code formatting to OVC

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Recover init.py file

* Update tools/ovc/openvino/__init__.py

* Update tools/ovc/openvino/__init__.py

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-28 12:06:46 +00:00
Pawel Raasz 0905c763dd [core]Migrate ReadValue operator to new API (#21336)
* Migrate ReadValue to new API

* Fix build errors
2023-11-28 13:02:39 +01:00
Xuejun Zhai 409ed190de [CPU Plugin][Func Test] Upgrade FuseMulAddAndEwSimpleTest to API 2.0 (#21331)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-28 12:06:20 +01:00
Vladimir Paramuzov 7ab79be0f6 [GPU] Stateful LLMs initial support (#21235) 2023-11-28 14:59:54 +04:00
Pawel Raasz 76b1861f86 Remove old API leftovers in Reshape operator (#21298) 2023-11-28 10:47:45 +01:00
Maxim Vafin f90a4b9d31 Add transformation to fuse Concat sequence (#21310)
* Add transformation to fuse Concat sequence

* Update src/common/transformations/src/transformations/common_optimizations/concat_fusion.cpp
2023-11-28 13:34:27 +04:00
Pawel Raasz 685ac0d0a1 Migrate Reverse operator to new API (#21277) 2023-11-28 09:41:56 +01:00
Tomasz Jankowski 21201833ec [core] Migrate ScatterUpdate operator to new API (#21241)
* Drop legacy stuff

* Repalce HostTensor with ov::Tensor

* Use dedicated function to obtain Tensor data
2023-11-28 12:34:43 +04:00
Tomasz Jankowski cf58a83094 [core] Migrate ScatterElementsUpdate operator to new API (#21212)
* Remove redundant code

* Repalce HostTensor with ov::Tensor for v12

* Repalce HostTensor with ov::Tensor for v3

* Add Tensors count assertion

* Rename

* Revert axis normalization

* Don't duplicate the code
2023-11-28 12:32:30 +04:00
Katarzyna Mitrus 37bac6ebcd [Opset13][FP8][Spec] FakeConvert op specification (#21039)
* FakeConvert spec init

* Add spec files to the opset docs

* Remove apply_scale attribute and update inputs description

* Experimental op notice

* Update short description

* Update detailed description.

* Add BF16 type to supported inputs

* Update  note about "Fake"

* Add more details

* Add formula of the operation
2023-11-28 09:14:06 +01:00
Alexander Suslov be5c755c32 migrate to new convert API (#21323) 2023-11-28 11:36:25 +04:00
Ilya Lavrenov c241405c5e Update docs (#21326) 2023-11-28 11:26:09 +04:00
Xuejun Zhai 441427abc8 [CPU Plugin][Func Test] Upgrade ConvWithZeroPointFuseSubgraphTest to API 2.0 (#21330)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-28 10:52:09 +04:00
Pawel Raasz 164d101295 [core]Refactor leftovers after migration to new API (#21304)
* Refactor leftovers after migration to new API

* Restore output tensors count check
2023-11-28 10:48:12 +04:00
Wanglei Shen acecf31642 [CPU][ARM] Enable multi-stream execution (#21009) 2023-11-28 10:41:56 +04:00
Xuejun Zhai 9320fa7c86 [CPU Plugin][Func Test] Upgrade ConvConcatSubgraphTest to API 2.0 (#21301)
* [CPU Plugin][Func Test] Upgrade ConvConcatSubgraphTest to API 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Func Test] Upgrade ConvConcatSubgraphTest, remove ngraph namespace

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-28 10:39:29 +04:00
Pawel Raasz 53baeacc2e [core]Remove deprecated function from Loop (#21299)
* Migrate leftovers in Loop operator to new API
- use new version of `get_constant_from_source`
- migrate `is_rank_compatible_any_of` to dev API
- Improve rank compatibility checks

* Use new version of `is_rank_compatible_any_of`
instead deprecated to reduce bin-size

* Remove deprecated `is_rank_compatible_any_of`
2023-11-28 10:37:15 +04:00
Roman Lyamin 01b4faf47f [GPU] Enable CPU pinning for compilation tasks executor (#21261) 2023-11-28 09:40:00 +04:00
David Nam f84d1c531a [GPU] Fix constant dimension in case of node from if-op internal body (#21214)
* [GPU] Fix constant dimension in case of node from if-op internal body

* Add a condition to restrict to case where allow_new_shape_infer is false

* Add a condition to restrict to case where allow_new_shape_infer is false

* Add functional test

* Add a condition to retrict to case where the program is inner program
2023-11-27 15:11:07 -08:00
Artyom Anokhov 80feb465f6 [packaging] Fixed python component naming format for APT (#21321)
* debian.cmake: Updated python naming format, added conflict versions for python-samples

* Updated naming format for RPM python comp as well
2023-11-27 23:27:14 +04:00
Jan Iwaszkiewicz bc78fd359e [PyOV] Dynamic attributes for Python based operators (#21256) 2023-11-27 16:16:02 +01:00
4804ff8b1e [DOCS] Update of Sample Articles for master (#20957)
* Sample Articles Update

* Update get_started_demos.md

* Update get_started_demos.md

* Update get_started_demos.md

* Update get_started_demos.md

* Update docs/articles_en/learn_openvino/openvino_samples/get_started_demos.md

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>

* Update docs/articles_en/learn_openvino/openvino_samples/get_started_demos.md

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>

* Update docs/articles_en/learn_openvino/openvino_samples/get_started_demos.md

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>

* adding python code

* applying suggested changes

* Apply suggestions from code review

* Update docs/articles_en/learn_openvino/openvino_samples/get_started_demos.md

* Update docs/articles_en/learn_openvino/openvino_samples/get_started_demos.md

* Update docs/articles_en/learn_openvino/openvino_samples/get_started_demos.md

* Update docs/articles_en/learn_openvino/openvino_samples/get_started_demos.md

* Update get_started_demos.md

* fix notes

* fix synching of tabs

---------

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
Co-authored-by: sgolebiewski-intel <sebastianx.golebiewski@intel.com>
2023-11-27 16:15:31 +01:00
Sun Xiaoxia 0bdd658317 Remove legacy threading code (#21279)
* remove legacy threading code

* fix code style
2023-11-27 18:45:34 +04:00
Alina Kladieva d722e42052 [GHA] Smart CI for more pipelines (#21307)
* Add Smart CI for more pipelines. Refactor logic for workflow skip

Since different workflows may have different requirements for skipping them, I suggest to move these requirements to parameters instead of hardcoding them

* Use patterns for skipping pipeline for conformance-only

* Remove path filters for Android

* Return mistakenly deleted param

* Propagate params to Python script

* Add missing outputs mapping

* Return push trigger

* Skip CC CPU func when CPU is not affected

* Fix variable name
2023-11-27 18:43:54 +04:00
Andrey Kashchikhin ca4c276072 [CI] [GHA] Increase precommit timeouts for TF Hub jobs (#21308)
* increase timeouts

* add more
2023-11-27 18:41:11 +04:00
Ivan Tikhonov 57d794c810 ConvertPrecision transformation: handle Assign, ReadValue and Variable (#21266)
* ConvertPresicion transformation: handle Assign, ReadValue and Variable

* revert debug code

* use correct commit for onednn_gpu

* codestyle
2023-11-27 18:34:31 +04:00
Oleg Pipikin eaa3098920 Refactor ConvReshapeAct (#21219) 2023-11-27 14:33:03 +00:00
Karol Blaszczak 558e713043 [DOCS] fixes lts disclaimer master 2023-11-27 14:58:10 +01:00
Vitaliy Urusovskij 6dd448d9cc Fix COPY_INSTEAD_OF_MOVE and AUTO_CAUSES_COPY (#21267)
* Fix `AUTO_CAUSES_COPY` for hetero compiled_model

* Fix `COPY_INSTEAD_OF_MOVE`

* Fix `AUTO_CAUSES_COPY` in template comp_model
2023-11-27 16:31:32 +04:00
Mateusz TabakaandIvan Tikhonov b027766b0a Stop constantfold_subgraph on nonconstfoldable ShapeOf (#21171)
* Stop constantfold_subgraph on nonconstfoldable ShapeOf

Ticket: CVS-124628

* pass tensor to Constant constructor

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-11-27 12:30:54 +01:00
River Li b02ddc5831 [CPU] API 2.0 migration for cpu plugin properties (#20022) 2023-11-27 15:02:41 +04:00
River Li 45d6aa2171 [CPU Tests] migrate FuseTransposeAndReorderTest to API 2.0 (#21297) 2023-11-27 10:18:23 +00:00
Vladislav Golubev 598da6e5c0 [Transformations] Leftovers: FuseU4WeightsAndZeroPoint transformation (#20709)
* util::visit_constant_path

* ConvertU4WeightsZeroPointToScalar: avoid unnecessary insert

* Review comments applied

* codestyle fix
2023-11-27 10:38:05 +01:00
Vladislav Golubev c50bd2b55f [Snippets] MHA tests: bf16 inputs generation restored (#21250) 2023-11-27 13:20:05 +04:00
Sungeun Kim 1a235ffe79 get layout from get_output_layout in primitive_inst (#21294) 2023-11-27 13:02:02 +04:00
Maxim Vafin e52f922d35 [PT FE] Unify hub tests, add marks for timm models (#21283)
* Unify hub tests, add marks for timm models

* Fix hf tests
2023-11-27 12:22:13 +04:00
Xuejun Zhai 4fdbb2d4e8 Xuejun/snippet remove inference engine (#21293)
* [CPU Plugin][Snippet] remove InferenceEngine, replace with ov

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin][Snippet] remove ngraph namespace

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-27 12:00:58 +04:00
Anastasia Kuporosova 815980f290 [PyOV] Replace legacy assert (#21268)
* [PyOV] Replace legacy assert

* codestyle

* apply comments

* Update src/bindings/python/src/pyopenvino/graph/dict_attribute_visitor.cpp
2023-11-27 11:51:01 +04:00
Mateusz Mikolajczyk ed061d5179 [Opset13][FP8] FakeConvert-13 input validation improvements (#21226)
* Improve shape type infer for FakeConvert-13

* Fix formatting

* Formatting + missing test

* Implement requested changes

* Improve type merge

* Fix formatting

* Add requested type_prop tests

* Implement requested changes

* Fix formatting

* Implement requested changes

* Use template type
2023-11-27 07:38:08 +00:00
Chenhu Wang 6b898fc8d9 [CPU] Interpolate extend to rank 3 input support (#21003) 2023-11-27 07:32:18 +00:00
Ekaterina AidovaandMaxim Vafin eaae00c2ca [PT FE]: support aten::empty_like (#21258)
* [PT FE]: support aten::empty_like

* Update src/frontends/pytorch/src/op/full.cpp

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-11-27 07:15:19 +00:00
Ekaterina Aidova a5d53aeaef [PT FE]: fix for aten::index_put_ if values.r > indices.r (#21255)
* [PT FE]: fix for aten::index_put_ if values.r > indicies.r

* add more complex test case
2023-11-27 07:01:16 +00:00
Roman Kazantsev 9421f4cf2d [TF FE] Speed up compilation - part 5 (#21288)
* [TF FE] Speed up compilation - part 5

Avoid usage of heavy opsetX header

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Complete constant.hpp template methods for string Tensor

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Revert "Complete constant.hpp template methods for string Tensor"

This reverts commit 8f86ab2e7b.

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-27 10:51:18 +04:00
River LiandDurandin, Pavel <pavel.durandin@intel.com> a6463c1ac6 [Core]lstm test api20 (#21031)
* [Core] lstm api fix

* Fix LSTMCell failure issues

* Solve GNA failures

* Update for comments

* Minor update

* Use new ov::test::utils::makeEltwise

---------

Co-authored-by: Durandin, Pavel <pavel.durandin@intel.com>
2023-11-27 10:25:58 +04:00
Xuejun Zhai 058001eb84 [Coverity Scan Issue] fix cs issues in scaled_attn.cpp (#21270)
* [Coverity Scan Issue] fix cs issues in scaled_attn.cpp

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-27 10:25:02 +04:00
Wanglei Shen 72cb4e4820 add additional checks for bad cache information in VM (#21059)
* add additional checks for bad cache information in VM

* update implementation
2023-11-27 07:51:44 +08:00
Luo Cheng 91660b1c05 [CPU] Fix ScaledDotProductAttension accuracy problem (#21217) 2023-11-26 14:47:04 +04:00
Pavel Esir 493a338ad2 resolve TODO in efficient compression: return hashing compression back (#21141)
* turn on compression by searching duplicate blobs (by hash) for fp16

* style-fix

* apply comments

* added multimap

* style fix
2023-11-25 08:35:35 +00:00
Tomasz Jankowski 8231d57c38 [core] Migrate ScatterNDUpdate operator to new API (#21231)
* Drop legacy stuff

* Repalce HostTensor with ov::Tensor
2023-11-25 11:33:28 +04:00
Roman Kazantsev 9f87f72ca6 [TF FE] Speed up compilation - part 4 (#21269)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-25 01:06:20 +04:00
965313ba0b [TF Hub][Perf Tests]Implement performance tests in precommit to compare read_model and convert_model paths (#21023)
* begin

* fixes

* measure time and compare

* fix bug + update precommint models

* cleanup

* add wget to install requirements; add to linux.yml

* fixes + improvements

* output results to html

* remove unneeded code

* fix

* code review fixes

* store downloaded models in cache

* use 1000 runs

* use model paths from tf-hub tests

* use tf hub api to download instead of wget; measure some time stats

* small fixes

* remove unneeded files

* use own list of models

* remove uneeded if

* remove unstable models

* remove unstable models

* fix requirements

* code review fixes

* Update .github/workflows/linux.yml

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* fix round_num function

* remove unstable network

* Update tests/model_hub_tests/models_hub_common/test_performance_model.py

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* code review fixes

* build fix

* code review fixes

* code review fixes

* code review fixes

* Update tests/model_hub_tests/models_hub_common/test_performance_model.py

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Update tests/model_hub_tests/performance_tests/test_tf_hub_perfomance_model.py

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Update tests/model_hub_tests/performance_tests/test_tf_hub_perfomance_model.py

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Update tests/model_hub_tests/models_hub_common/test_performance_model.py

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* code review fixes: use autoflake

* remove unneeded tensorflow_text

* Update .github/workflows/linux.yml

* Update linux.yml

Added TensorFlow_Hub_Performance_Models_Tests to final status check

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-11-24 18:13:44 +04:00
Ilya Lavrenov e087ed083c Revert "the proxy device with id should be also a proxy device. (#21248)" (#21271)
This reverts commit c491381a0d.
2023-11-24 17:49:37 +04:00
Andrzej Kopytko 758524978b [DOCS] tabs styling (#21272) 2023-11-24 13:11:50 +01:00
Maxim Vafin fe6ae4fbdd [PT FE] Get input dtype for aten::sum from graph (#21262) 2023-11-24 15:45:42 +04:00
Georgy Krivoruchko 71836a959d [TFLite] Moved tests to a separate file 2023-11-24 13:20:10 +04:00
Georgy Krivoruchko a8e9989383 [CMAKE] Keep frontend's folder structure for Visual Studio (#21222) 2023-11-24 13:16:10 +04:00
Xuejun Zhai 807b77c38e [Func Test] Upgrade func test of QuantizedConvolutionBatchNorm related to 2.0 (#21053)
* [Func Test] Upgrade func test of QuantizedConvolutionBatchNorm related to 2.0

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Func Test] fix QuantizedConvolutionBatchNorm test error, caused by error input

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Func Test] fix format issue

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Func Test] Fix errors

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Func Test] Fix format issue

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Func Test] Fix TransformationTestsF test error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Func Test] Fix test error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [Func Test] Fix review comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-24 13:07:15 +04:00
Katarzyna Mitrus 63e7e2dd3e [Opset13][FP8] FakeConvert evaluate and reference impl (#21034)
* FakeConvert op init

* Update dest types names

* Update op hpp

* Update opset ops number

* Init type_prop tests

* Add attributes tests

* Add op check test

* Update namespace in fc cpp

* Update getters

* Refactor static member

* Make destination_type lower case

* Update type in test

* Move get_valid_types out of class

* Update ops number in opset

* Evaluate init

* Init poc evaluate

* Update types name

* Style update

* FakeConvert eval tests

* Add support for FP16 input

* Remove unused functions

* Use const auto and constexpr

* Create fake_convert reference file and move ref functions

* FakeConvert eval and reference update

* Remove unused is_normal variable

* Add bf16 tests

* Update construtor in tests

* adjust convert helper name

* Update comments

* Make func params as constexpr

* Update types

* Non scalar scale shape tests

* Use autobrodacast_select

* Use single autobroadcast_select

* Check scale_shape size

* Add var to keep scale_shift lambda

* Use lamda only for autobroadcast

* More checks for per channel scale

* Remove union half_t

* Change template to fp16 type for emulate

* Use f8e4m3_min_val as constexpr

* Update unsigned short to uint16_t

* Minor style refactor

* Minor comments update

* Update fake_convert_details namespace to func

* Update apply_conversion return type

* Add doxygen text

* Update supported type assert

* Remove duplicated tests

* Update namespace move to cpp

* Fill init with zeroes instead of reserve

* Use add div mul sub reference for applying scale

* Use autobroadcast_select for applying scale

* Bring back opt broacast cases

* Reuse scale_shift as func

* Adjust s and o var names

* Update multiplication in loop tu accumulate
2023-11-24 09:54:19 +01:00
Katarzyna MitrusandMichal Lukaszewski 65c3c7c20a [Opset13] Fix NMSRotated-13 reference sorting across batch (#20669)
* Add sort to test params

* Add more tests, batch, classes, sort

* test_sort_batch

* Fix sorting if sort_result_desc true

* Diable clang for test data

* Reenable type tests

* Fix comment

* Use std tie for values comparison

* Update var names to lhs and rhs

* Apply alignment with nms patch for GPU

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-11-24 09:51:40 +01:00
Wang, Yang c491381a0d the proxy device with id should be also a proxy device. (#21248) 2023-11-24 12:09:46 +04:00
Maxim Vafin 44310535ff Remove fp32 aligning for aten::round (#21257) 2023-11-24 12:09:34 +04:00
Anastasia Kuporosova ccfe58cf84 [PyOV] Update imports in py api tests (#21252)
* [PyOV] Update imports in py api tests

* update year and back test_compression_4bit.py

* missed import
2023-11-24 11:16:57 +04:00
Sun Xiaoxia b7edd5df69 migrate threading related interface from API 1.0 to 2.0 (#21167)
* migrate threading related interface from API 1.0 to 2.0

* fix code style

* fix @ref issue in doc

* change <> to quotation marks

* restore threading related interface API 1.0

* restore the changes of legacy code
2023-11-24 10:52:44 +04:00
Alina Kladieva cf0c141e12 [GHA] Add GPU stub job to collect statistics (#21260) 2023-11-24 10:49:12 +04:00
rdorrepaal 0ea23ec538 adding resnet_50_prune and quantize_script for ov2023.1 (#21213) 2023-11-24 10:47:34 +04:00
Tomasz Jankowski 0829e8262d [core] Migrate NonZero operator to new API (#21109)
* Drop ngraph remains

* Use ov::Tensor

instaed of ngraph::HostTensor

* Refactor NonZero reference implementation

* Align code

* Refactor NonZero reference implementation

* Reduce binary size

* Reduce binary size

* Use proper type name
2023-11-24 07:00:41 +01:00
Alina Kladieva 613e4f5fac [GHA] Rename overall status check (#21227) 2023-11-23 17:12:58 +01:00
Pawel Raasz 94de12b19d [CI]Correct assertion in PlainTensor::slice (-Wsign-compare) (#21246)
* Correct assertion in PlainTensor member functions
- PlainTensor::size
- PlainTensor::stride

* Correct assertion in PlainTensor::slice
2023-11-23 12:15:56 +01:00
Maxim Vafin 0e08ba1edc [PT FE] Support aten::prod and aten::fmod (#21243) 2023-11-23 11:26:08 +01:00
Sergey Shlyapnikov e23704ef5e [GPU] Update FC batch blocking for INT4 weights (#21228) 2023-11-23 13:24:14 +04:00
Fang XuandWanglei Shen 03d54a579e binding pcore for stream calculation (#19550)
* binding pcore for stream calculation

* remove useless branch

* modify the function of query cache size

* fix compilation error

* use MT2.0 interface

* bind core when there is ecore

* initialize Xbyak::util::Cpu object at the begining of compile_model

* restore the file

* initialize Xbyak::util::Cpu object at the beginning of cpu plugin

* remove unused header

* extract task executor creation into a separate function

---------

Co-authored-by: Wanglei Shen <wanglei.shen@intel.com>
2023-11-23 12:14:36 +08:00
Vitaliy Urusovskij bd7b6b3358 CPU func/beh tests to API 2.0 (#21236) 2023-11-22 22:51:29 +01:00
Edward Shogulin 9ee5d867d6 [CPU] Bitwise operations: x64 JIT implementation (#20664) 2023-11-22 18:16:12 +01:00
Andrey Babushkin 57425b934f Switch Windows workflow to self-hosted runners in AKS (#20972)
* Switch Windows workflow to self-hosted runners in AKS

* Uncomment 'pull_request' event

* Fix YAML indentation

* Fix YAML indentation again

* trying to pre-create sccache dir

* Fix yaml syntax

* Add sccache blob storage prefix

* sccache directory creation seems unneeded

The issue was in the usage of bsdtar instead of GNU tar - the former
is in C:\Windows\System32, which is the first entry in the PATH

* Fix sccache --zero-stats command for Linux

* [windows] Replace ccache-action with sccache-action sccache install

We don't need to use GitHub Actions cache feature as we have sccache
and Azure Blob Storage

* Switch the rest of the stages to AKS runners

* Hardcode VS Build Tools version

* Revert "Hardcode VS Build Tools version"

This reverts commit ea9ae1fb33.

* Increase timeout for C++ Unit tests

* Increase timeout for particular step

* Further increase of timeout

* Switch Windows Conditional Compilation workflow to AKS runners

* Fix YAML syntax

* Revert "Increase timeout for C++ Unit tests"

This reverts commit e9a00c41ad.

* Revert "Fix YAML syntax"

This reverts commit ecc1b15552.

* Revert "Switch Windows Conditional Compilation workflow to AKS runners"

This reverts commit d5969d58cd.

* Disable PR trigger for Windows workflow

Let's run this in test mode on master branch only for a while
2023-11-22 16:43:14 +00:00
Anastasiia Pnevskaia 823d327476 Fixed verbose param. (#21234) 2023-11-22 17:32:20 +04:00
Helena Kloosterman 309539667a Add hint to install patchelf with pip (#21237) 2023-11-22 16:19:11 +04:00
Mingyu Kimandhyunback 712c5fbd39 [GPU] Onednn 3.4pc (#21064)
* Update onednn to 3.4pc branch
* [GPU] Add os_yx_is_osv16_isv2 for onednn weight format.
* Add os_y_is_x_osv16_isv4, g_os_yx_is_osv16_isv2

Signed-off-by: hyunback <hyunback.kim@intel.com>
Co-authored-by: hyunback <hyunback.kim@intel.com>
2023-11-22 20:54:20 +09:00
Ilya Lavrenov 5bab612ecc Allow to build and use OpenVINO with Python 3.12 (#21233) 2023-11-22 15:48:09 +04:00
Oleg Pipikin 08fa27762e Refactor ngraph builders 6 (#21133)
* Refactor make_convolution builders

* refactor make_activation builders

* Refactor make_eltwise builder

* Refactor make_embedding_bag_offsets_sum

* Refactor make_embedding_bag_packed_sum

* Refactor make_embedding_segments_sum

* Fix

* Apply comments
2023-11-22 15:47:33 +04:00
Min, Byungil 7f5ba4e074 [GPU] Update space_to_depth to use nGraph shape inference (#21135)
* [GPU] Update space_to_depth to use nGraph shape inference

+ Added calc_output_layouts to use shape_infer
+ Added relevant test-cases for static and dynamic
+ Modified typo of filename

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-11-22 20:47:16 +09:00
Georgy Krivoruchko a0614c4cb8 [TFLite] Initial support of Densify operation
* Added Densify
2023-11-22 15:34:10 +04:00
Maxim Vafin 1a288f0e9a [PT FE] Recognize empty non-frozen lists (#21224)
* [PT FE] Recognize empty non-frozen lists

* Do not produce alias for aten::clone
2023-11-22 11:58:53 +01:00
Pawel Raasz 97381e0b63 Correct assertion in PlainTensor member functions (#21199)
- PlainTensor::size
- PlainTensor::stride
2023-11-22 09:41:53 +01:00
NetPunkandYour Name d85e6c34a7 【Hackathon 5th No.96】add paddle unstack op (#20080)
* add paddle mapping

* develop test sampes

* remove redundant code

* revoke code change

* add type mapping

* add test sample

* format code

---------

Co-authored-by: Your Name <you@example.com>
2023-11-22 16:02:31 +08:00
Vitaliy Urusovskij b66488e4ff Ngraph to ov (#21185) 2023-11-22 09:44:17 +04:00
Anastasia Kuporosova 0137fd7008 [Docs][PyOV] add missing docs (#21201)
* [Docs][PyOV] add missing docs

* more dirs

* one more missed
2023-11-22 01:33:02 +04:00
Vitaliy Urusovskij 242336c97f Refactor functional/plugin/conformance/ and functional/plugin/shared/ (#21221)
* Refactor conformance/ folder

* Refactor functional/plugin/shared/
2023-11-21 17:34:08 +00:00
Vitaliy Urusovskij bbb06c4f76 Remove InferenceEngine && ngraph from tools/ (#21215) 2023-11-21 21:14:53 +04:00
Ivan Tikhonovandcecilia peng a329611349 Support dynamic shapes in ReadValue/Assign ops and MakeStateful transformation (#20404)
* Support for dynamic shapes in ReadValue/Assign ops and MakeStateful transformation

* fix unit tests

* codestyle

* fix warning

* fix visitors test

* Fix lowLatency transformation, fix functional tests

* fix LowLatency2

* codestyle

* Fix CPU/GNA tests

* fix shape inference of assign operation

* fix python API

* fix mypy error

* Fix read_value operation version in python API for opsets7-13

* Update python API and fix tests

* set the same Varibable obj to Assign/ReadValue in py API, disable fp16 memory tests

* Update shape inference methods of Assign, ReadValue; update tests; fix codestyle

* fix python codestyle

* fix tests

* Resolve review comments

* codestyle

* resolve review comments

* codestyle

* Update ReadValue op in kaldi frontend, fix GNA tests

* fix Assign/ReadValue bindings, fix read_value test

* Apply suggestions from code review

Co-authored-by: cecilia peng <cecilia.peng@intel.com>

* Fix functional tests, add ov::Type support as an argument for read_value py binding

* temporary disable test_query_state_write_buffer fp16 tests

* Fix backward compatibility with the IRs with ReadValue/Assign ops generated via prev versions of OV; fix func tests

* fix python test, support type as str in read_value/assign bindings

* fix model binding

* fix pre-commit tests: variables vector cleanup

* fix integration with cpu changes

* codestyle

* fix warning

* Fix type/shape validation for read_value op

* fix a type_prop test for assign op

---------

Co-authored-by: cecilia peng <cecilia.peng@intel.com>
2023-11-21 20:59:36 +04:00
Vladimir Paramuzov eb94c80804 [GPU] Enable BroadcastTransition before CommonOptimizations (#21198) 2023-11-21 16:54:04 +01:00
Roman Kazantsev d1f71ee233 [TF FE] Speed up compilation - part 3 (#21211)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-21 14:44:21 +00:00
54a68c8a13 [Opset13][pyAPI] Python API FakeConvert-13 (#21155)
* [Opset13][pyAPI] Python API FakeConvert-13

* Fix typo

* Add experimental warning

* Add missing py opset in docs

* Fix flake

* Apply suggestions from code review

Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>

* Apply suggestions from code review

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Apply requested changes

---------

Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>
Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2023-11-21 14:25:02 +00:00
Irina Efode 4237de6bf1 [CONFORMANCE] Remove old-named conformance exec files (#21128)
* [CONFORMANCE] Remove old-named conformance exec files

* fix_GHA
2023-11-21 17:06:05 +04:00
Sofya Balandina aaddfb3a00 [op_conformance] Fix not removing of crash for cases with several ops (#21194) 2023-11-21 17:03:20 +04:00
Sofya Balandina 1fd65ce0f9 [apiConformance] Update analyze_confomance_fails.py to use with sw plugins (#21163) 2023-11-21 17:02:17 +04:00
Maciej Smyk 95accde9df [DOCS] README files for Samples + name update for Get Started for master (#21157) 2023-11-21 13:20:25 +01:00
Sebastian Golebiewski 90437f7efa Update reference to Supported Model Formats (#21216) 2023-11-21 13:18:38 +01:00
Sebastian Golebiewski 7150a98d95 Fix math formula in Elu_1 (#21203) 2023-11-21 12:14:25 +01:00
Sebastian Golebiewski a530a53eee Fixing links in notebooks (#21208) 2023-11-21 12:09:19 +01:00
Tingqian Li 61c5a80fa6 [CPU] General pattern & matcher & RoPE (with EliminateStridedSlice fixed) (#21196) 2023-11-21 10:56:56 +00:00
Vladimir Paramuzov a6e4d8fc30 [GPU] Cleanup buffer optimization code (#21012) 2023-11-21 14:43:14 +04:00
Oleg PipikinandIlya Lavrenov 6607e5b8c2 Refactor ngraph builders 7 (#21181)
* Refactor make_reduce builder

* Refactor make_comparison builder

* Refactor make_logical builder

* Refactor make_fully_connected

* Refactor make_lstm builder

* Refactor make_gru builder

* Refactor make_rnn builder

* refactor make_augru builder

* Refactor make_gather_nd builders

* Refactor make_dft builder

* Refactor make_rdft builder

* Fix code style

* Fix

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-11-21 13:36:51 +04:00
Oleg Pipikin 165f574d8f Refactor ngraph builders 2 (#21043)
* Deprecate makeBatchToSpace

* Deprecate makeSpaceToBatch

* Remove makeStridedSlice

* Remove and deprecate makeSlice

* Remove and deprecate makeMVN

* Fix
2023-11-21 13:03:39 +04:00
River Li aaa08d013a [Core]Remove macro CONFIG from core_impl (#21142)
* Remove macro CONFIG from core_impl

* Fix errors

* Solve AutoBatching_Test_DetectionOutput failure issue
2023-11-21 12:51:30 +04:00
Oleg PipikinandIlya Lavrenov a7edeb53d1 Refactor negative ProposalBehTest (#21190)
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-11-21 11:28:49 +04:00
Pawel RaaszandIlya Lavrenov 5d6d6a2cfe [core]Optimize OV assert macors to reduce CPU plugin binary size (#21180)
* Optimize OV assertions to reduce bin-size of libs

* Migrate assertion leftovers in CPU plugin

* Add NotImplemented::create to support use with macro
OPENVINO_ASSERT_HELPER

* Remove CheckLocInfo struct

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-11-21 07:16:30 +01:00
Wilson Seok d2dcdf86ba [GPU] Fix issues in dynamic loops newly created by TF FE support (#21060)
* implementation of loop for new tf fe

* fix loop dynamic shape func test case failure

* backedge memory validation for static shape

* update checking user of backedge_to_prim

* avoid opt out of loop body network reorder result

* fix for batch 2 case

* fix batch2 case for loop

* fix build error

* fix missing condition
2023-11-20 16:15:02 -08:00
Kelvin Choi adbfc53374 [GPU] Add an unittest to check reorder with trucation mode after reshape node not to split (#20783) 2023-11-21 09:00:12 +09:00
Meet Patel 20af42cfd9 Add python bindings for PILLOW interpolation modes (#21188) 2023-11-20 22:39:05 +00:00
Maxim VafinandRoman Kazantsev 570817998d Update reverse infer to allow changing shape if it already partially defined (#21073)
* Update reverse infer to allow changing shape if it already partially defined

* Update tests

* Remove changes in If

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-11-20 21:57:43 +00:00
Ilya Lavrenov 0f33a77a27 Fixed compilation after merging 2 conflicting PRs (#21192) 2023-11-20 21:21:54 +04:00
Ilya Lavrenov 21a90f4e78 Smart CI: specializations for preprocessing and LPT (#21186)
* Smart CI: specializations for preprocessing and LPT

* Added PROXY component
2023-11-20 19:08:45 +04:00
Anastasia Kuporosova 56301d8878 [PyOV] add param-result to offline transformation (#21140) 2023-11-20 15:59:02 +01:00
Jan Iwaszkiewicz 0c041d7ebc [PyOV] Adjust opset13 Constant to utilize runtime.op.Constant functionalities (#21046) 2023-11-20 15:29:46 +01:00
Alina Kladieva 23462aea6b [GHA] Fix validation of dependent components in Smart CI config (#21187)
Use new syntax
2023-11-20 15:08:24 +01:00
Vitaliy Urusovskij b700040e29 Remove legacy API from ov_cpu_unit_tests (#21184)
* Remove `InferenceEngine` usage

* Remove use of `ie_ngraph_utils.hpp`

* Rename `ng_transormations` to `transformations`

* Remove `ngraph` usage

* Misprint
2023-11-20 17:49:56 +04:00
Liu d9e04c3b9e [ONNX] Extend ONNX Frontend with Function LessOrEqual (#21102)
* Implement less_or_equal in set_1 and set_16

* Create tests for ONNX frontend less_or_equal operator
2023-11-20 17:16:03 +04:00
Ilya Lavrenov a5e33f10ff Revert "[CPU] Add general pattern serialization & matcher & RoPE (#20729)" (#21182)
This reverts commit a61a9be495.
2023-11-20 16:37:15 +04:00
Ilya Lavrenov 2ee8b29f64 Smart CI: CPU triggers tests for PT and TF FEs (#21183) 2023-11-20 15:35:40 +04:00
Tomasz Jankowski ffa6e8458d [core] Migrate ShapeOf operator to new API (#21143)
* Drop legacy stuff

* Drop HostTensor

* Remove unused element types support

* Revert "Remove unused element types support"

This reverts commit 2ca8280c56.

* Improve style
2023-11-20 15:06:30 +04:00
Pawel Raasz af27b6f16a Add checking compatible types for Gathers GroupedGatherElimination (#20979)
* Check Gathers 2nd input type to avoid Concat exception
in GroupedGatherElimination transformation

* Add indices conversion if possible
2023-11-20 14:59:37 +04:00
Evgeny KotovandIvan Tikhonov ecd1972c24 don't fold ShapeOf in TransposeSinking (#20742)
* add to DisableShapeOfConstantFolding flag; set it in ts_gather; add unit test

* fix ts_general; use check_shape flag in EnableShapeOfConstantFolding

* set EnableShapeOfConstantFolding constructor explicit

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-11-20 14:57:19 +04:00
Alina Kladieva 7931938ea4 [GHA] Alternative way to handle required pipeline checks (#21164) 2023-11-20 11:14:58 +01:00
Roman Kazantsev bb773137f1 [TF Hub] Move all nightly scope to Kaggle links (#21169)
7 models are skipped since they are not moved there. Now they are not available.

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-20 13:33:21 +04:00
Przemyslaw Wysocki dddc85f68f Add lower bound to sympy (#21127) 2023-11-20 10:17:47 +01:00
Przemyslaw Wysocki bd5bd56d29 Remove failing mxnet test (#21151) 2023-11-20 10:17:22 +01:00
Zlobin Vladimir e965bea8fe benchmark_app: allow dla_benchmark for FPGA to override show_available_devices() for --help (#20945)
It's possible now to have in main.py:
parser = parse_args()
import argparse, openvino
core = openvino.Core()
class print_help(argparse.Action):
    def __call__(self, parser, namespace, values, option_string):
        parser.print_help()
        print("\nAvailable target devices:  ", ("  ".join(core.available_devices)))
        sys.exit()
parser.add_argument('-h', '--help', action=print_help, nargs='?', default=argparse.SUPPRESS, help='Show this help message and exit.')
args = parser.parse_args()

The details are in https://github.com/openvinotoolkit/openvino/pull/20098
2023-11-20 13:00:37 +04:00
Roman Kazantsev ab3452ce59 [TF FE] Speed up compilation - part 2 (#21170)
Avoid use of heavy header

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-20 12:51:35 +04:00
Alina Kladieva f7f8636fe4 [GHA] Workaround for some non-repo components in Smart CI (#21134)
* Workaround for some non-repo components in Smart CI

* Add possibility to add all components as dependent

* Remove extra check

* Add test case for "all" key
2023-11-20 12:44:50 +04:00
Pawel Raasz 43bb86d384 [core]Migrate Power operator to new API (#21150)
* Migrate Power operator to new API

* Refactor ref implementation to reduce bin size
2023-11-20 08:48:38 +01:00
Maksim Kutakov 5203d3483b [CPU] Dynamic shapes support for memory states with zero copy (#20368) 2023-11-20 09:58:38 +04:00
Tingqian Li a61a9be495 [CPU] Add general pattern serialization & matcher & RoPE (#20729) 2023-11-20 09:50:50 +04:00
Min, Byungil 081f5aad8a [GPU] Fix perf regression from dynamic tensor iterator (#21065)
+ Not to use reference::split. It is very slow.

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-11-20 10:03:39 +09:00
Min, Byungil 8181f30a67 [GPU] Fix accuracy issue of blocked format batching on iGPU (#20890)
* [GPU] Fix accuracy issue for blocked format batching on iGPU

+ Bugfix GET_INDEX for batching of b_fs_zyx_fsv16 of target model
+ Updated fetch_data.cl
+ Minor fix of error message

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-11-20 09:46:37 +09:00
Maxim Vafin 276153d1ce [PT FE] Support aten::_weight_norm and aten::full with scalar size (#21160)
* Support aten::_weight_norm and aten::full with scalar size

* Add op_table changes

* Add comments
2023-11-17 19:13:15 +00:00
Sebastian Golebiewski 44d56b9dc7 [DOCS] New page design for notebooks (#20996)
New design and new directive for notebooks
2023-11-17 16:34:34 +01:00
Oleg Pipikin a9dffa8d70 Refactor ngraph builders (#20998)
* Remove makeInputLayer builders

* Refactor makeBroadcast builder

* Deprecated makeCTC builders

* Fix for broadcast builder

* Remove and deprecate makeSplit builder

* fix

* Fix
2023-11-17 16:10:19 +01:00
Maxim Vafin b2e14f9fad [PT FE] Fix pad value dtype for pooling (#21139)
* [PT FE] Fix pad value dtype for pooling

* Apply suggestions from code review

* Apply suggestions from code review
2023-11-17 16:09:56 +01:00
Oleg Pipikin 71af0eef38 Refactor ngraph builders 4 (#21100)
* Remove and deprecate some ngraph builders
2023-11-17 14:51:56 +00:00
Andrzej Kopytko d29207e201 [DOCS] update benchmark files 2023-11-17 14:02:43 +01:00
Karol Blaszczak fa0a6ab9d1 [DOCS] fix npu mention (#21147) 2023-11-17 13:50:05 +01:00
Tatiana Savina c01fdc9276 [DOCS] Port release docs to master (#21154)
* update links (#21118)

* change install (#21117)

* deprecate deployment manager (#21089)
2023-11-17 13:47:00 +01:00
Georgy Krivoruchko c71ee333f8 [TFLite] Extended verification of supported files (#21006)
* [TFLite] Fix for crash in case of zero-length file

* Extended verification using FourCC check in the header

* Fix for Linux build

* Fixes for Linux

* Some platforms may miss SizePrefixed... method

* Fixed path preparation
2023-11-17 15:03:31 +04:00
Roman Kazantsev b380eb06ee [TF FE] Speed up compilation - part 1 (#21144)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-17 10:26:28 +00:00
Luo Cheng e4311aae46 [CPU] Fix ScaledDotProductAttention build failure on ubuntu18 (#21123) 2023-11-17 10:14:01 +00:00
Maxim Vafin 6bdc1597ed [PT FE] Align types for aten::clamp_max and aten::clamp_min (#21137)
* Align types for aten::clamp_max and aten::clamp_min

* Add tests
2023-11-17 10:26:44 +01:00
Paul Youngsoo Ahn 8b5b7a627b [GPU] Fix loop issues (#21091)
* [GPU] Fix loop issues
* if loop does not run inner body, return zero dimension layout for dynamic dimension layout

* Support dynamic sliced input in inner body in creaet concate mapping

* Modify update_shape to call reset_shape_changed() when inputs of loop are not changed
* Add unit test

* Follow-up codereview
2023-11-17 00:16:58 -08:00
Aleksandr Voron 60730f61a4 [CPU][ARM] Call to_string() method of ov::element::Type in ACL Convert executor (#21136) 2023-11-17 07:02:13 +00:00
Taylor Yeonbok Lee cc463a7757 [GPU] Skip empty subgraph of If operator (#21087)
* Skip empty subgraph of If operator

* Added test
Applied review comment

* Fix for the following case:
1) body network output has only constant input
2) body network output itself is the constant
2023-11-17 09:39:03 +04:00
Pratham IngawaleandPrzemyslaw Wysocki a1416ed68f pytest special test case 3 (#20313)
* pytest:- freeze_placeholder_test.py

* trying with classmethod

---------

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>
2023-11-16 19:48:41 +04:00
Artyom Anokhov 4cf85dbda0 Added 2023.2.0 to APT/YUM conflicts (#21129) 2023-11-16 18:07:51 +04:00
Oleg Pipikin 819feeb56d Refactor NMS shared tests (#20897)
* Refactor MatrixNmsLayerTest

* Refactor MulticlassNmsLayerTest

* Refactor NmsLayerTest

* Apply comments

* Apply comments
2023-11-16 13:57:56 +00:00
Sofya Balandina b6f1ffceca [apiConformance] Update reports to avoid sw plugins over all devices (#20222) 2023-11-16 17:51:34 +04:00
Sebastian Golebiewski 908fa51742 Fixing versions in Install Openvino (#21124) 2023-11-16 13:38:21 +01:00
Alexander SuslovandKarol Blaszczak 2a33f35c43 DOCS Update optimization docs with ov.save_model() instead of ov.serialize() (#20711)
* introduced ov.save_model(...) to the ptq code examples

* replied to comments

* fixed rendering

---------

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-11-16 13:34:33 +01:00
Irina Efode d1e1555f2f [CONFORMANCE] Cleaning up (#20835)
* 1. Add Op_conformance_utils lib.
2.rename targets.
3. Remove behavior folder from api conformance
4. Remove ov1.0 from opImplCheck
5. move tests and insts to one file
6. small refactoring for op conformance test names

* align namespaces, remove test_utils from subgraphs_dumper

* update target names

* Remove extra

* Fix the tests without shapes in meta

* fix failed test names

* Add attribute reader

* Fix buils

* Check the registered lib

* try

* add comparator

* Revert "try"

This reverts commit 27eaa4ea0f.

* try to fix win build

* types

* tr

* remove pragma once
2023-11-16 16:27:44 +04:00
Ilya Lavrenov 3fbef0d498 Fixed install rules for case when only ONNX FE is enabled (#21114) 2023-11-16 16:26:05 +04:00
Sebastian GolebiewskiandKarol Blaszczak bed6eeb94b [DOCS] final update of relnotes (#21115)
Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-11-16 12:49:48 +01:00
Roman Kazantsev 2928b6bfed [TF Hub] Move pre-commit to Kaggle model links (#21113)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-16 14:24:45 +04:00
Andrzej Kopytko fa1ca27576 [DOCS] GraphJs refactor (#21110)
* [DOCS]InitGraphChanges

* [DOCS] Benchmark files update

* [DOCS] update files from 0635

* [DOCS] fix

* [DOCS ]fix2
2023-11-16 11:09:39 +01:00
Alexander Suvorov 023f6b8682 Update 2023.2.0 Selector Tool (#21097)
* Update selector tool

* update ov version title
2023-11-16 11:06:28 +01:00
Pawel Raasz 78bbe03ae8 [core]Migrate Convert operator to new API (#20961)
* Migrate Convert operator to new API

* Unify Convert reference for non-LP types

* Correct evaluate when output tensor not allocated

* Correct input type name

* Restore static_cast for bool as char
2023-11-16 09:06:07 +00:00
Ilya Lavrenov aee4865b2f Try to fix code snippets on macOS (#21111) 2023-11-16 13:05:16 +04:00
Maksim Kutakov 315c916ced [CPU] Postpone throwing error for dnnl memory until it's requested (#20082)
* Postpone throwing excp when dnnl memory has error

* Change test name

* Enable tests

* Fix the exception macro

* Fix after merge
2023-11-16 09:38:04 +01:00
Wang Wangwang 1693ef17f0 [HETERO] Fix split subgraphs with parameter of different affinity (#21026) 2023-11-16 12:37:00 +04:00
Pawel Raasz e72afbec7e Migrate PReLU operator to new API (#21098) 2023-11-16 12:18:06 +04:00
yanlan song f78d0950d6 resolve dependency (#21105)
Signed-off-by: fishbell <bell.song@intel.com>
2023-11-16 11:42:42 +04:00
Haiqi Pan 4d685194fe remove similar test cases (#21104) 2023-11-16 06:48:26 +00:00
Oleg Pipikin 76459a316f Refactor ngraph builders 5 (#21101)
* Remove makeGatherElements builder

* Remove makeTile builder

* Remove makeNormalizeL2 builder

* Deprecate makeNms buider

* Remove makeOneHot builder

* Remove makeEinsum
2023-11-16 10:29:48 +04:00
Xuejun Zhai 83ef7d7ff9 [Func Test] Upgrade func test of QuantMatMulTest related to 2.0 (#21103)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-16 06:29:10 +00:00
Sergey Shlyapnikov af34891750 [GPU] Add more flexible check if user's buffer is USM Host and can be reused (for iGPUs only) (#21018) 2023-11-16 09:46:10 +04:00
Luo Cheng 0061d0b286 [CPU] ScaledDotProductAttention op support (#20506) 2023-11-16 05:30:30 +00:00
Yaroslav Torziuk f45dccad15 [GPU] Multinomial-13 (#20616)
* Update random_uniform in multinomial reference implementation to generate values of the same type as the first input

* Add kernel selector for multinomial

* Add multinomial primitive and its instantiation

* Add calc_outut_layout implementation for slice_inst

* Multinomial builder

* Add multinomial kernel

* Add multinomial single layer test class

* Add GPU multinomial tests instantiation
2023-11-15 16:20:43 -08:00
Xuejun Zhai 8eb529ceac [Func Test] Upgrade func test of QuantGroupConvBackpropDataLayerTest related to 2.0 (#21094)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-15 18:14:25 +00:00
Xuejun Zhai 6755a7e3a8 [Func Test] Upgrade func test of QuantGroupConvLayerTest related to 2.0 (#21092)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-15 17:28:07 +00:00
Karol Blaszczak 7e5f491459 [DOCS] home-tile-removal (#21096) 2023-11-15 16:21:25 +01:00
Irina Efode eedc8d814c [IE TESTS ]Checking path of TEMPLATE plugin for OV_PLUGIN_CACHE (#20960)
* [IE TESTS] Change path of TEMPLATE plugin for OV_PLUGIN_CACHE

* fix code style

* partial revert revert

* Update ov_plugin_cache.cpp
2023-11-15 19:19:47 +04:00
Karol Blaszczak 4b078f698d [DOCS] sys req update (#20953) 2023-11-15 16:00:36 +01:00
Przemyslaw WysockiandKarol Blaszczak 2c3535355d [PyOV] Add torchvision to OpenVINO preprocessing converter docs (#20770)
Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-11-15 15:25:36 +01:00
Ivan Novoselov 9e7deba8da [Snippets] Deep copy interface (#20242) 2023-11-15 15:06:12 +01:00
Anastasiia Pnevskaia d304be0bd7 [OVC] Fixed error in --output_model param. (#20969)
* Fixed error in get_model_name_from_args(), added tests.

* Corrected output_model description.

* Corrected test.
2023-11-15 17:42:14 +04:00
Tomasz Jankowski 3558f09c3d [core] Migrate OneHot operator to new API (#21038)
* Drop ngraph remains

* Use ov::Tensor

instaed of ngraph::HostTensor

* Set output shape
2023-11-15 14:13:14 +01:00
Xuejun Zhai 00d0c0ad0d [Func Test] Upgrade func test of QuantConvBackpropDataLayerTest related to 2.0 (#21082)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-15 14:12:33 +01:00
Alexandra Sidorova aef989f585 [CPU][Tests] Fixed linking of specific tests (#21084) 2023-11-15 13:35:16 +01:00
79c9f4ad44 migrate executable_network test case to compiled_model (#19541)
* add get property test case

* add CanCreateTwoExeNetworksAndCheckFunction and pluginDoesNotChangeOriginalNetwork

* tmp

* add canSetInputPrecisionForNetwork and canSetOutputPrecisionForNetwork

* fix code style

* tmp

* Revert "tmp"

This reverts commit ff3f8d56d5.

* tmp

* add CanCompileModelWithEmptyProperties

* remove comment

* add infer request

* add CanLoadNetworkWithCustomLocale

* add CanLoadNetworkWithCustomLocale

* fix error

* remove case in io_tensor.cpp

* fix Unsupported metric key: OPTIMAL_BATCH_SIZE

* Update src/tests/functional/plugin/conformance/test_runner/api_conformance_runner/include/api_conformance_helpers.hpp

Co-authored-by: Chen Peter <peter.chen@intel.com>

* fix batch size

* remove useless code

* remove failed case CanCompileModelWithEmptyProperties, CanLoadNetworkWithCustomLocale and LoadNetworkWithBigDeviceIDThrows to test

* Revert "remove failed case CanCompileModelWithEmptyProperties, CanLoadNetworkWithCustomLocale and LoadNetworkWithBigDeviceIDThrows to test"

This reverts commit 1317d0773c.

* Revert "remove useless code"

This reverts commit b3dd0ffaab.

* Revert "fix batch size"

This reverts commit 2afd673cff.

* Revert "Update src/tests/functional/plugin/conformance/test_runner/api_conformance_runner/include/api_conformance_helpers.hpp"

This reverts commit 9d6030952f.

* Revert "fix Unsupported metric key: OPTIMAL_BATCH_SIZE"

This reverts commit 2de26547ea.

* try to add optimal_batch_size in cpu plugin

* return model when optimal_batch_size not found in apply_auto_batching

* revert cpu plugin

* gna cannot support some model

* update test case name

* skip CanCreateTwoCompiledModelsAndCheckRuntimeModel in gna

* Update src/inference/src/dev/core_impl.cpp

Co-authored-by: Chen Peter <peter.chen@intel.com>

* Update src/inference/src/dev/core_impl.cpp

Co-authored-by: Chen Peter <peter.chen@intel.com>

* replace deviceName.substr(pos + 1) with deviceNameWithoutBatch

* fix bug

* Update src/inference/src/dev/core_impl.cpp

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* Update src/tests/functional/plugin/shared/include/behavior/compiled_model/compiled_model_base.hpp

Co-authored-by: River Li <river.li@intel.com>

* Update src/tests/functional/plugin/shared/include/behavior/compiled_model/compiled_model_base.hpp

Co-authored-by: River Li <river.li@intel.com>

* Update src/plugins/intel_gna/tests/functional/shared_tests_instances/skip_tests_config.cpp

Co-authored-by: River Li <river.li@intel.com>

* Update src/plugins/intel_gna/tests/functional/shared_tests_instances/skip_tests_config.cpp

Co-authored-by: River Li <river.li@intel.com>

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: River Li <river.li@intel.com>
2023-11-15 13:27:42 +01:00
Oleg Pipikin c7765c91f5 Refactor ExperimentalDetectron tests (#20846)
* Refactor ExperimentalDetectronDetectionOutputLayerTest

* Refactor ExperimentalDetectronGenerateProposalsSingleImageLayerTest

* Refactor ExperimentalDetectronPriorGridGeneratorLayerTest

* ExperimentalDetectronROIFeatureExtractorLayerTest

* Refactor ExperimentalDetectronTopKROIsLayerTest

* Apply comments

* Aplly comments
2023-11-15 13:16:37 +01:00
Xuejun Zhai 66a8600564 [CPU Plugin 2.0] replace ie::precision with ov::element (#21041)
* [CPU Plugin 2.0] replace ie::precision with ov::element

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin 2.0] fix MatmulWeightsDecompression.CompareWithRefs test error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin 2.0] fix compiler error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin 2.0] fix compiler error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [CPU Plugin 2.0] fix review comment

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-11-15 12:32:43 +01:00
Wilson Seok 0180078c70 [GPU] Fix permute reorder fusing bfzyx (#20896)
* fix accuracy issue of permute reorder fusing

* add func test

* remove debug code

* use unit test

* simplify condition

* add additionall condition
2023-11-15 09:33:12 +00:00
Siddhant Chauhan aa1fcbbad1 [ONNX] Extend ONNX Frontend with Function GreaterOrEqual
* ONNX greater_or_equal enabled
2023-11-15 00:34:31 -08:00
Sungeun Kim 5365bfe0a7 [GPU] remove setting threshold manually for dynamic 1d conv (#21028) 2023-11-15 16:54:22 +09:00
Oleg Pipikin 534ec2e9ab Refactor ngraph builders 3 (#21077)
* Remove and deprecate makeSqueezeUnsqueeze

* Remove and deprecate  makeMinMax makeProposal

* Remove makeCumSum makeSelect builders

* Remove makeSpaceToDepth builder

* Remove makeShuffleChannels builder

* Remove makeMatMul builder
2023-11-15 10:41:45 +04:00
Sergey Shlyapnikov c360de0f07 [GPU] Optimize Condition operation by better integrating its subnetwork primitives with the main network (#21062)
* [GPU] Optimize Condition operation by better integrating its subnetwork primitives with the main network

* Reuse main network's stream in sub-networks
2023-11-15 08:47:36 +04:00
Wang, Yang 859319e2a5 [AUTO] Fix segment fault appeared in the compiled model.get_property() of AUTO (#20777)
* disable CPU_HELP context if it released.

* Enable test case.

* Updated.

* Updated.

* Updated.
2023-11-15 10:20:35 +08:00
Katarzyna Mitrus afc599563e [Opset13][FP8] Introduce FakeConvert op core (#20930)
* FakeConvert op init

* Update dest types names

* Update op hpp

* Update opset ops number

* Init type_prop tests

* Add attributes tests

* Add op check test

* Update namespace in fc cpp

* Update getters

* Refactor static member

* Make destination_type lower case

* Update type in test

* Move get_valid_types out of class

* Update ops number in opset

* Remove apply_scale attribute

* Additional constructor to make `shift` input optional
2023-11-14 20:22:45 +00:00
Oleksii Khovan 7c027fe19a [GPU] Fix ShapeOf primitive (#20983)
* Determine rank via input layout instead of primitive's member

* Remove unused primitive's member

* fix shape_of() usage - remove unused parameter
2023-11-14 11:09:52 -08:00
Paul Youngsoo Ahn da2a886477 [GPU] Fix acc issue for LSTMSequence w/ -1 seq_length (#21054)
* [GPU] Fix acc issue for LSTMSequence w/ -1 seq_length
* add output port for multiple outputs of node
* add functional test for lstm_sequence

* Fix CI test failures
2023-11-14 10:47:03 -08:00
River Li a720b43041 [CPU] CPU plugin API 2.0 migration for IE_THROW and Exception (#21005)
* Replace IE_THROW with OPENVINO_THROW

   1. IE_THROW() is replaced by OPENVINO_THROW
   2. IE_THROW(NOTIMPLEMENT) is replaced by OPENVINO_THROW_NOT_IMPLEMENT
   3. IE_ASSERT is replaced by OPENVINO_ASSERT

* Minor update
2023-11-14 21:50:31 +04:00
Maxim Vafin 369831caef [PT FE] Use system model cache when running torch hub tests locally (#21047)
* Use system model cache when running torch hub tests locally

* Update tests/model_hub_tests/torch_tests/test_torchvision_models.py

* Update tests/model_hub_tests/torch_tests/test_torchvision_models.py
2023-11-14 11:43:06 +01:00
Pawel Raasz 5ef7c02bdf Remove unused function from build (#21057)
if Paddle FE is disabled to avoid build failures `-Werror=unused-function`
2023-11-14 11:27:09 +01:00
Pawel Raasz c974c9a478 Remove limit for Loop inputs in bindings (#21055) 2023-11-14 11:18:40 +01:00
Vladislav Golubev b43b9f9d50 [CPU] Weights decompression support for hybrid models (#20973) 2023-11-14 13:27:42 +04:00
Zhang Yi 7cb3bf5610 [CPU] Enable bf16 acdb layout for transpose (#21030) 2023-11-14 10:24:54 +04:00
Piotr Krzemiński bb3ed2d42e [SPEC] Apply changes from release branch (#20986) 2023-11-14 06:56:06 +01:00
River Li 89494ab412 [CPU] CPU plugin API 2.0 migration for ngraph namespace (#21013)
* [CPU] cleanup misc IE and ngraph

1. InferenceEngine::SizeVector
2. InferenceEngine::parallel_for
3. All ngraph namespace except ngraph::op

* [CPU] clean ngraph opset namespace and header files

* Remove unused header files

1. ngraph/ngraph.hpp
2. ngraph/ops.hpp
3. blob_factory.hpp
3. using namespace ngraph

* Cleanup ie_parallel

* Fix compile error
2023-11-14 00:37:27 +04:00
Alina Kladieva f0c0bf89e2 Smart CI for docs (#21021)
* Handle Smart CI for docs

* Remove path filters

* Fix quotes

* Fix logic

* Revert unneeded change

* Add md_files_only to components configuration

* Get rid of custom output

* Try to fix condition

* Add manual handling of some docs changes

* Remove helper label
2023-11-14 00:00:51 +04:00
Maksim Kutakov 75acdac5f9 Extend the existing IO binding subgraph tests (#20987) 2023-11-13 15:22:41 +01:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 8b7537a30d Update networkx requirement from <=3.1 to <=3.2.1 in /tools/pot (#20751)
Updates the requirements on [networkx](https://github.com/networkx/networkx) to permit the latest version.
- [Release notes](https://github.com/networkx/networkx/releases)
- [Commits](https://github.com/networkx/networkx/compare/networkx-0.23...networkx-3.2.1)

---
updated-dependencies:
- dependency-name: networkx
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 17:44:08 +04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 03a1ba1f81 Bump pytest-html from 3.2.0 to 4.1.1 in /src/bindings/python (#20948)
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html) from 3.2.0 to 4.1.1.
- [Release notes](https://github.com/pytest-dev/pytest-html/releases)
- [Changelog](https://github.com/pytest-dev/pytest-html/blob/master/docs/changelog.rst)
- [Commits](https://github.com/pytest-dev/pytest-html/compare/v3.2.0...4.1.1)

---
updated-dependencies:
- dependency-name: pytest-html
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 17:43:45 +04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> fd403e552a Bump pytest-html from 3.2.0 to 4.1.1 in /tests (#20949)
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html) from 3.2.0 to 4.1.1.
- [Release notes](https://github.com/pytest-dev/pytest-html/releases)
- [Changelog](https://github.com/pytest-dev/pytest-html/blob/master/docs/changelog.rst)
- [Commits](https://github.com/pytest-dev/pytest-html/compare/v3.2.0...4.1.1)

---
updated-dependencies:
- dependency-name: pytest-html
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 17:43:35 +04:00
Roman Kazantsev 75c72157dd [TF Hub] Add yamnet with complex tensors into precommit (#21035)
After fixing ov.Tensor creation for empty numpy array, we are ready to support yamnet

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-13 17:42:13 +04:00
Xuejun ZhaiandChen Peter 4563f71ffc [Func Test] remove ngraph::helpers::QuantizationGranularity, replaced with ov::test::utils::QuantizationGranularity (#20985)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-11-13 13:29:36 +00:00
River Li 5dd317c733 [CPU] cleanup misc IE and ngraph (#21007)
1. InferenceEngine::SizeVector
2. InferenceEngine::parallel_for
3. All ngraph namespace except ngraph::op
2023-11-13 17:06:59 +04:00
Zlobin Vladimir f97e7f1c9d setupvars.sh: ignore cd output (#20657)
* `setupvars.sh`: ignore `cd` output

Having `function cd() { builtin cd "$@" && l; }` defined in bash breaks `setupvars.sh`

* Use `builtin cd` to enable `function cd() { builtin cd "$@" && l; }`, remove wrapping `echo $()` because `pwd` already prints
2023-11-13 16:15:30 +04:00
Zlobin Vladimir 0125c89738 Fix --mean_values and --scale_values prohibition to align with C++ (#20910) 2023-11-13 16:15:02 +04:00
hyunback kim 03e48f3c17 [GPU] Fix LCM notebook failure issue for int8 model. (#20944)
Fix to use partial_shape in dynamic case. Not get_dims().

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-11-13 20:39:02 +09:00
Maciej Smyk 5a04359200 [DOCS] Updating links for master 2023-11-13 12:23:23 +01:00
Zlobin VladimirandAndrei Kochin e79e5122f8 benchmark_app: is_file->is_file() (#21016)
Close https://github.com/openvinotoolkit/openvino/issues/21000

Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
2023-11-13 11:04:14 +00:00
Tomasz Jankowski 70a2736695 [core] Migrate Log operator to new API (#20917)
* Drop ngraph remains

* Use ov::Tensor

instaed of ngraph::HostTensor

* Remove useless code
2023-11-13 11:00:09 +00:00
Roman Kazantsev 7c595f8773 [TF FE] Refactor ops translators to check complex type and speed-up compilation (#21025)
* [TF FE] Refactor AddN translator

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor ArgMin/ArgMax

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add default check for binary operations

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor Cast translator

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor Const translator

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor Einsum, Elu, and Fill operations

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor MatMul translator

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor Relu6 and Placeholder

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Refactor Round, Square, and unary operation translators

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update src/frontends/tensorflow_common/src/op/relu_6.cpp

* Update src/frontends/tensorflow_common/src/op/const.cpp

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-13 14:29:18 +04:00
Jan Iwaszkiewicz 6650b8750a [PyOV] Support Tensor creation from empty numpy arrays (#20964) 2023-11-13 11:25:58 +01:00
Maksim Kutakov fb3751717f [Inference] Return state ptr by value (#21011)
* Return state ptr by value

* Fix mock class
2023-11-13 14:24:54 +04:00
Jan Iwaszkiewicz 212a9bc852 [PyOV] Support Constant creation from empty numpy arrays (#20967)
* [PyOV] Support Constant creation from empty numpy arrays

* Return 0 when shape is 0

* Add missing file...
2023-11-13 10:11:12 +00:00
Anastasiia Pnevskaia 5fa53aa715 Input and output order Keras tests. (#20902)
* Input/output order Keras tests.

* Added precommit mark.

* Added xfail.

* Small correction.

* Check input/outputs by names in FW.

* Moved output order tests to Python API group.

* Corrected comments.
2023-11-13 14:01:35 +04:00
Vitaliy Urusovskij 1a5b0b70f9 Remove castOps2Nodes and convert2OutputVector (#21015) 2023-11-13 13:29:53 +04:00
Pawel Raasz c451a94572 Fix compile warning regarding ABI changes (#20990)
and using std::true_type/false_type
2023-11-13 07:44:54 +01:00
River Li fef0df6ee1 [CPU] Add deprecation message to extension API (#20970) 2023-11-13 10:37:35 +04:00
Sergey Shlyapnikov 306137f86b [GPU] Make ShapePredictor instance unique for each InferRequest instead of the cldnn::network (#21019) 2023-11-13 08:52:07 +04:00
Paul Youngsoo AhnandAndrew Park 51da30b48d Support LSTMSequence with -1 sequence length (#20935)
* [GPU] Support LSTMSequence w/ -1 seq_length

Co-authored-by:Taylor Yeonbok Lee <taylor.lee@intel.com>
Co-authored-by:Andrew Park <andrew.park@intel.com>

* Fix GetInputInfo to retrieve input pid from LSTMCell

* LSTMCell use ov::PartialShape instead of cldnn::tensor
* implement lstm_elt_inst::calc_output_layouts
* implement lstm_elt_impl::static_canonicalize_shapes

* Add functional tests

* Fix unit test failure

---------

Co-authored-by: Andrew Park <andrew.park@intel.com>
2023-11-11 00:06:08 -08:00
Maxim VafinandAlina Kladieva c08e01d6d7 [PT FE] Optimize reverseprop in pytorch frontend (#20989)
* [PT FE] Optimize reverseprop in pytorch frontend

* Add transformation

* Improve readability

---------

Co-authored-by: Alina Kladieva <alina.kladieva@intel.com>
2023-11-10 18:00:04 +01:00
Tatiana Savina e446dac727 [DOCS] Add content to about ov page (#21010)
* add about ov info

* fix format

* fill ov page
2023-11-10 16:28:09 +01:00
Roman Kazantsev b64d6be8ba [TF FE] Fix TF1 OD SSD PPN model conversion (#20994)
* [TF FE] Fix TF1 SSD PPN model conversion

It contains a case when one Merge node eliminated different conditional flows.

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add layer test

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-10 11:44:28 +00:00
Alina Kladieva e8d28f7f6d Make conformance wait for Smart CI step (#21014) 2023-11-10 12:10:36 +01:00
Pawel Raasz 641d3ab351 Migrate Constant operator to new API (#20760)
* Migrate Constant operator to new API
- refactor to reduce binary size

* Fix code style

* Fix build issues

* Apply corrections after review:
- Restore mem_size calculation for bit widths >= 8
- Remove element type helpers functions

* Use float cast for floating types except f64
2023-11-10 12:49:08 +04:00
Irina Efode ebf1874eee [GHA] Check OpImplCheck conformance for template plugin (to make sure that all functions are checked by conformance) (#20712)
* [CONFROMANCE] Fix Template OpImplCheck on Win

* Update windows.yml

* check win

* Update windows.yml

* remove extra changes
2023-11-10 12:39:58 +04:00
Ilya Lavrenov d4dd169ca3 Added more smart CI conditions (#20999) 2023-11-09 23:40:26 +04:00
Alina Kladieva 51a17ba642 Workaround failing MO unit when Python API unit are skipped (#20997) 2023-11-09 18:07:57 +01:00
Tatiana Savina 8034d1795f change structure (#20988) 2023-11-09 15:03:01 +01:00
Sungeun Kim b1705e8bd3 [GPU] clean up for extend pad/stride/dilation (#20828)
* clean up for extend pad/stride/dilation
2023-11-09 20:48:34 +09:00
Sungeun Kim 9cc4c25e48 [GPU] print datashape of input for benchmark_app (#20943)
* print datashape of input for benchmark_app
2023-11-09 20:46:50 +09:00
Zhang Yi 09a45bceae [CPU][MLAS]Apply lower bound protection for K stride (#20873) 2023-11-09 15:14:27 +04:00
Aleksandr Voron 3c88a9cf58 [CPU] [ARM] Enable MatMul SLT tests on ARM (#20923) 2023-11-09 15:12:22 +04:00
Alina Kladieva fa22836cfb Fix no match files change case (#20981) 2023-11-09 12:07:47 +01:00
Ilya Lavrenov c851d643b3 Fixed smart CI (#20980) 2023-11-09 11:28:32 +01:00
Pawel Raasz d6852598ce Fix Ubuntu20 build error on relu operator (#20965) 2023-11-09 07:42:06 +00:00
Alina KladievaandIlya Lavrenov 000966660c Smart CI POC (#19825)
* Try using a custom action directly from repo

* Run smart CI under ubuntu-latest

* Set output + add a sample step

* Update linux.yml

* Add components.yml

* Add some conditions

* Just to check if reference to "needs" work in job context

* Update linux.yml

* More example cases

* Dummy change to CPU

* Fix typo

* Fix SAMPLES_AFFECTED variable

* Use more correct dependents key

* Fighting with messy GHA conditions

* No brackets and no double quotes in conditions

* Revert "Dummy change to CPU"

This reverts commit 4eae09e5b5.

* Use refactored action

* Move action implementation to openvino repo

* Extend components.yml config

* Update labeler.yml

* Dummy change to TF FE

* Fix indentation

* Add missing needs

* Add missing records

* Allow missing records for components in validation

* install_openvino_dependencies as a separate step for Python_Unit_Tests

* Improve config validation

* Revert "Dummy change to TF FE"

This reverts commit 01190864d1.

* Dummy change to model hub tests

* Update CPU component config

* Dummy change to Python API

* Dummy change to Python API

* Revert "Dummy change to Python API"

This reverts commit 3fce0bb3fb.

* Dummy change to Python API

* Simplify conditions. Cover "no components changed" case

* Update components.yml

* Update .gitignore

* Revert "Dummy change to Python API"

This reverts commit e57ea9852c.

* Fix dependencies scopes

* Add simple unit tests for smart ci functionality

* Revert "Dummy change to model hub tests"

This reverts commit c3d6837e22.

* Use ghapi module with permissive license

* Cover install_build_dependencies.sh script by labeler

* More labels

* Use ghapi. Apply review comments

* Enable dot files to be matched by labeler

* Warning instead of error in artifacts upload where smart ci is enabled

* Fix master merge

* Fix condition for TF FE common tests

* Fix condition for Pytorch FE tests

* Remove condition for pytorch model tests

* Allow any label as a component

* Refactor tests log handling

* Allow any defined label as a component

* Rearrange config structure. Fill the config with actual data

* Run full scope on changes to non-matching files

* Add missing conditions

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-11-09 11:38:58 +04:00
Tomasz Jankowski 6e073b1165 [core] Migrate SoftSign operator to new API (#20958)
* Align code style

* Use Evaluate in place of switch case

* Use std::transform in place of for loop
2023-11-09 11:10:37 +04:00
Oleg Pipikin 4bde741de4 Refactor StaticShapeLoopLayerTest (#20963) 2023-11-09 11:08:18 +04:00
Vitaliy Urusovskij bcb38796ce Ngraph helpers/builders cleaning (#20819)
* Delete `getNodeSharedPtr()`

* Remove `makeRoll` ng::builder

* Delete `makeSelect` ng::builder

* Delete `makeDepthToSpace` ng::builder

* Remove `CompareFunctions` and `getConstData` from ng::helpers

* Return `makeSelect` for compatibility with NPU

* Port `QuantizationGranularity`, `MemoryTransformation`

* Restore ng::helpers::QuantGranularity for BWD CMP
2023-11-09 10:51:00 +04:00
Vladimir Paramuzov 8f406067d1 [GPU] Remove binary convolution primitive and all related code (#20889) 2023-11-09 09:54:46 +04:00
Mingyu Kim 319a6584a2 [GPU] Decompose test combination to reduce test time (#20968) 2023-11-09 13:10:08 +09:00
854158612f Scaled dot product attention (#20492)
* Added experimental ScaledDotProductAttention operation in opset12. Supported in PT FE for aten::scaled_dot_product_attention translation. Decomposed in the common optimizations as functional reference.

* Better ScaledDotProductAttention

- Moved decomposition to the decomposing transformation
- Implemented more ctors for the op
- Renamed is_causal to causal
- Shape/type inference native code instead of using decomposition
- Moved the op from opset12 to opset13
- Added Python wrapper for ScaledDotProductAttention

* Fix test that counts ops in the opsets

* Update src/core/src/op/scaled_dot_product_attention.cpp

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update src/core/src/op/scaled_dot_product_attention.cpp

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Move ScaledDotProductAttentionDecomposition from fusions to decompositions.

* Remove not used legacy shape inference in ScaledDotProductAttention

* Better namespace usage

* Register all nodes in ScaledDotProductDecomposition for correct tracking of nodes and running next mather passes on all new nodes.

* Don't use register_new_node_

* ScaledDotProductAttention specification (with an extra scale argument)

* Code style fix

* Scale input implementation for ScaledDotProductAttention

* Handle attention_mask=0 case in the op spec

* Better description of scale input

* N->M in scale description

* Code style fix, remove debug print.

* Apply suggestions from code review

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>

* Fix for case when is_causal is not passed

* Extended description of ScaledDotProduct op

* Better description in py op wrapper

* Basic shape propagation tests for ScaledDotProductAttention

* Added ScaledDotProductAttention to toc.

* Add op impl check

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>
2023-11-08 20:17:13 +01:00
Alina Kladieva f627172e5a Add separate label for docs snippets (#20966) 2023-11-08 22:19:35 +04:00
Andrey Kashchikhin 24cd7283e3 make cache space showing optional (#20962) 2023-11-08 17:28:08 +00:00
Mikhail Ryzhov 9616c8f510 corrected timeouts (#20954) 2023-11-08 17:45:53 +01:00
Vladislav Golubev c2d09b9a15 FuseU4WeightsAndZeroPoint tests: avoid std::vector<std::int8_t> usage (#20918) 2023-11-08 19:54:23 +04:00
Sofya Balandina 25d94bd98b [conformance] Skip empty test cache error (#20924) 2023-11-08 15:50:49 +00:00
Ilya Lavrenov 68e6484ecb Fixed version detection without git (#20951) 2023-11-08 14:30:15 +01:00
fdaa4b5d03 [DOCS] Small fixes in articles for master (#20947)
* Fixes

* Update deployment_intro.md

* Update docs/articles_en/openvino_workflow/deployment_intro.md

Co-authored-by: Sebastian Golebiewski <sebastianx.golebiewski@intel.com>

---------

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
Co-authored-by: Sebastian Golebiewski <sebastianx.golebiewski@intel.com>
2023-11-08 13:40:52 +01:00
Oleksii Khovan d07f272054 [GPU] Fix cum_sum_partial_sum implementation for dimensions >= BLOCK_SIZE (#20855)
- fix cum_sum_partial_sum kernel;
- add unit test and func test for big shapes;
- add test to compare Partial vs Ref performance;
- change kernels' priorities according to performance measurements;
- move common profiling helpers to test_utils.

Ticket: CVS-123590
2023-11-08 11:26:51 +00:00
Oleg Pipikin 588e96bc37 Refactor MemoryLayerTest (#20914)
* Refactor MemoryLayerTest

* Apply comments
2023-11-08 14:43:53 +04:00
Oleg Pipikin ace986cac0 Refactor GenerateProposalsLayerTest, GridSampleLayerTest (#20772)
* Refactor GenerateProposalsLayerTest

* Refactor GridSampleLayerTest

* Fix

* Apply comments

* Apply comments
2023-11-08 14:06:28 +04:00
Pawel RaaszandTomasz Jankowski b8eea7bf84 [core]Migrate Multiply operator to new API (#20853)
* Migrate Multiply operator to new API

* Add comment explain use of custom multiply

* Update custom multiply comment

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>

---------

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
2023-11-08 13:53:20 +04:00
Pawel Raasz 6210deba49 [core]Migrate FakeQuantize operator to new API (#20895)
* Migrate FakeQuantize operator to new API

* Minor refactor in FakeQuantize reference
re-use existing functions in `get_inner_stride`
2023-11-08 13:52:21 +04:00
Andrei Gorbachev 87cef53088 [GPU] Refactor (#20938)
* maxmin

* mvn

* normalize_l2 and fix mvn

* prior_box_clustered

* prior_box

* pad

* roi_align

* scatter_update

* select

* shape_of

* shuffle_channels

* space_to_batch

* space_to_depth

* split

* squeeze_unsqueeze

* tile

* transpose

* variadic_split

* scatter_nd_update
2023-11-08 13:42:44 +04:00
LiuandMichal Lukaszewski 9e7243d67c fix typo (#20906)
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-11-08 13:10:11 +04:00
Ilya Lavrenov d6cc3d7058 Disable warnings about API 1.0 in GNA, Python API 1.0 (#20933) 2023-11-08 12:45:22 +04:00
0f260c2ccd [DOC]: Added INT4 weight compression description (#20812)
* Added INT4 information into weight compression doc

* Added GPTQ info. Fixed comments

* Fixed list

* Fixed issues. Updated Gen.AI doc

* Applied comments

* Added additional infor about GPTQ support

* Fixed typos

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/optimization_guide/nncf/code/weight_compression_openvino.py

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Applied changes

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/model_optimization_guide/weight_compression.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/model_optimization_guide/weight_compression.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/model_optimization_guide/weight_compression.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/model_optimization_guide/weight_compression.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/model_optimization_guide/weight_compression.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Added table with results

* One more comment

---------

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2023-11-08 10:17:57 +04:00
Paul Youngsoo Ahn c42a88a190 Support dynamic tensor_iterator (#20869)
* [GPU] Support dynamic tensoriterator with -1  num_iteration
- remove redundant codes

* [GPU] Refactoring methods for pre_process / post_process for body_network

* Add unit test for dynamic tensoriterator wo trip_count_id

* Follow-up code review
* Set inner network in loading of model cache
* Fix legacy loop unit tests
2023-11-07 15:11:08 -08:00
Roman Kazantsev c6ca7865fb [TF FE] Fix conversion of TF1 OD models out-of-the-box (#20916)
* [TF FE] Fix conversion of TF1 OD models out-of-the-box

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add test While with nested If operation

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update tests/layer_tests/tensorflow_tests/test_tf_While.py

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-07 17:44:09 +00:00
Sebastian Golebiewski ac1fb7b955 Fixing OS list in System Requirements for YUM (#20934) 2023-11-07 17:18:18 +01:00
River LiBell, Song <bell.song@intel.com>Chen Peter
a0849edca1 [CPU] migrate cpu plugin api 2.0 (#18124)
* [CPU] CPU plugin migrates to plugin API 2.0

* Fix legacy config/metric issue

* Fix some issue of ov_cpu_func_tests

1. set_tensors_impl segment fault
2. ov::loaded_from_cache unsupported issue

* Resolve some comments

1. ov::loaded_from_cache issue
2. throw_if_cancelled issue
3. import_model issue
4. set_tensor_impl issue
5. batched_inference issue

* Fix dynamic shape inference issue

* Fix build error

* keep original model info in infer_request

* Fix minor error

* cache internal tensors for input/output precision change

* Disable import model test cases with precision changes

* fix precision issue

* Fix issue for import model

* Fix InferRequestCancellationTests exception issue

* Skip InferRequestIOBBlobTest.*secondCallGetInputDoNotReAllocateData due to new plugin api have different behavior

* Fix graph name issue

* Fix ROI issues

* Fix Transpose shape issue

* Skip vie::Version test due to change to ov::Version

* Solve input port name changes issue

* Solve preprocess layout issue

* Fix minor issue

* tidy up code

* Fix conflict after rebase

* Fix Windows build warning

* Add aux tensors for precision change issue

* Fix import/export model issue

* WA single layer name changed by preprocess

* Revert "WA single layer name changed by preprocess"

This reverts commit bc8fcdd43c.

* Skip some legacy tests due to plugin api 2.0 is enabled

1. skip some python legacy tests for plugin api 2.0 some different behaviors
2. skip some smoke tests due to output port name was changed

* Fix 2 build warnings

* Skip some AUTO plugin tests

* Fix property issue caused by AUTO plugin

* Skip PSROIPooling issues

* Follow header files reference policy

* Split out transformation fixing for nop_elimination

* Fix AUTO plugin mismatch issue for get_tensor function

* Fix aux tensor shape issue

* Fix tensor shape issue

* WA python sync inference sample's segmentfault issue

* Fix reshape issue for dynamic inference

* Fixed incorrect tensor name in e2e test

Fixe issue: e2e ONNX_Customized_Cascade_Rcnn_api_2_True_batch_1_device_CPU_precision_FP325den8cnk

* Fix python segmentfault issue of plugin api 2.0

* Fix python segmentfault issue of plugin api 2.0

* Revert "Fix python segmentfault issue of plugin api 2.0"

This reverts commit 6f502e5d86.

* Fix onnx_duplicated_output_name due to empty tensor

Co-authored-by: Bell, Song <bell.song@intel.com>

* Remove redundant code

* Remove python segment fault WA

* Keep rt_info to fix test failure in case of legacy public api

* Fix output port names missing issue

* Adress some reviewers' comments

* Restore OnnxBackendNodeModelTest::test_maxpool_with_argmax_2d_precomputed_pads_cpu after fixing has been merged

* Resolve tensor sharing issue when there are same name output port name

In some case, model has 2 or more same name input/output ports, they aslo have the same
precision and partial_shape. Compiled_model will share the same ov::Descriptor::Tensor pointer
and ov::Tensor between multiple such ports.
Considered solving python segment fault issue to create seperated input/output ports, which also
need handle such tensor shared case, this patch will do it.

* Resolve tensor sharing issue when there are same name output port name

In some case, model has 2 or more same name input/output ports, they aslo have the same
precision and partial_shape. Compiled_model will share the same ov::Descriptor::Tensor pointer
and ov::Tensor between multiple such ports.
Considered solving python segment fault issue to create seperated input/output ports, which also
need handle such tensor shared case, this patch will do it.

* Better method to find shrared tensor desc

* rename with snake_case style

* Remove ngraph header files

* Keep external_ptr naming

* Add OPENVINO_SUPPRESS_DEPRECATED for some legacy code

* Use port's tensor_ptr to replace creating new tensor_ptr

* Resolve some reviewer comments

* Implement ov::IInferRequestInternalWrapper::GetPreProcess to recover python GetPrepProcess tests

* Remove unnecessary header files reference

* Assert the risk of precision change and reorder at the same time

* Modify legacy python test to fit plugin api 2.0 behavior

* Recover smoke_Transpose(2|4|5|6)D/TransposeLayerTest.CompareWithRefs due to fixing is merged

* Fix typo issue

* Address reviewer's comments

* Disable precision coversion

* Fix error when CpuBlockedMemoryDesc

* Remove precision mismatch WA

* WA precision issue for query_model

* Solve precision mismatch between compiled model and graph

* Fixe failure of query_model

* Rebase to new plugin api update

* Recover the test cases of precision mismatch

* Try to fix name changing for graph model

* Remove tets code

* Remove fp64

* Rebase to new plugin api update

* Update for some failure cases

* Fix bert_benchmark failure issue

* Avoid segment fault in arm acl

Legacy public api + cpu plugin api will add convert op by preprocess by default for unsupported precision,
but ACLConvertExecutor cannot support dimension > 6, so this test will be segment fault due to dimension > 6

smoke_TestNumpyBroadcastNgraphEvaluate/BroadcastLayerTest.CompareWithRefs/targetShape=(1.2.3.4.5.6.7.8.9.10)_axesMapping=()_mode=numpy_inShape=(1.2.1.4.1.6.1.8.1.10)_inNPrec=I8_trgDev=CPU
smoke_TestNumpyBroadcastNgraphEvaluate/BroadcastLayerTest.CompareWithRefs/targetShape=(1.2.3.4.5.6.7.8.9.10)_axesMapping=()_mode=numpy_inShape=(1.2.1.4.1.6.1.8.1.10)_inNPrec=U8_trgDev=CPU

* Remove precision change from preprocess to avoid ACL unsupport convert dim > 6

* ACLConvertExecutor cannot support dimension > 6, don't let preprocess to add Convert

* Revert "ACLConvertExecutor cannot support dimension > 6, don't let preprocess to add Convert"

This reverts commit fd7a8b35af.

* Revert "Remove precision change from preprocess to avoid ACL unsupport convert dim > 6"

This reverts commit 3c2d9a5f17.

* Debug

* Debug incorrect precision checking issue

* Debug Eltwise FP64 unsupported issue

* Add logs for precision

* debug log

* Update for new dependent PRs merged

* Fix failure caused by preprocess

Fix below failures due to cannot find ops by name
     smoke_LPT/ReduceMaxTransformation.CompareWithRefImpl/f32_[1,3,10,10]_CPU_f32__256*

* Fix build error

* Fix failure caused by missing code during rebase

* Add debug

* Fix precision unsupport issue

* U16/I16/U64 precision support

* Resolve the issue of f64 reorder

Fix below issue:
Cannot create reorder primitive: unsupported reorder case

* Fix convert multiple child edge issue

* Solve ROI tensor failure issues

* Temporarily disable num_nodes comparison

* Only change convert precision for fp64

* Put convert precision change before reorder to avoid confusion

* Add debug log for transformation

* Fix rebase confilict

* Fix clang issue

* Temporarily disable test_infer_mixed_values python test of bf16

* Solve issue of smoke_ConvertCPULayerTest_BOOL_Dynamic_inputPRC=BF16 choose FP32 primType rather than BP16 primType

* Fix issue of pytorch_tests/test_outer.py

There are 2 output ports, but with the same port name, they should share the same tensor.

* Fix arm cannot find Eltwise executor issue

smoke_SetBlobCPU/SetBlobTest.CompareWithRefs/Type=INPUT_Device=CPU_PrecisionInNet=FP16_PrecisionInNgraph=BOOL
will report below error:
	 [ GENERAL_ERROR ] Supported Eltwise executor is not found
It need change convert precision to avoid such problem.

* Fix memory overwritten issue

* Temporarily skip arm fp16 SetBlobTest

* Fix compile error after rebase

* Restore smoke_IsOp test due to fixing pr merged

* Fix float to bf16 issue in avx2 isa

* solve onnx test xfail issue

* Skip test cases that ARM Eltwise executor FP16 is not supported

smoke_SetBlobCPU/SetBlobTest.CompareWithRefs/Type=INPUT_Device=CPU_PrecisionInNet=FP16_PrecisionInNgraph=BOOL
smoke_SetBlobCPU/SetBlobTest.CompareWithRefs/Type=BOTH_Device=CPU_PrecisionInNet=FP16_PrecisionInNgraph=BOOL

      [ GENERAL_ERROR ] Supported Eltwise executor is not found

* [CPU] improve reorder to support any precision

* Implement ReorderExecutor

* Fix builld error

* Not cache executor due to its primitive has been cached

* Keep convert one time at most

At most insert one convert if needed, if still cannot do reorder it will throw exception rather than insert the second convert
For example, below reorder will not be supported:
   FP64<->I64/U64/U32
   U32<->I64/U64
   U32<->I16/U16
   FP64<->FP64
   BIN<->BIN

* Only do conversion if layout is same

* update for only convert case

* Update for reviewer comments

* update for failure cases

* Address reviewer comments

* Update rebase issue

* minor update

* Solve unsupported precision issue in tranfromation rather than init_edge

* Remove unnecessary convert in init_edge

* Minor changes

* Update Reorder::reorderData

* Solve issue if only coversion without reorder

* Address reviewer comments

* Address reviewer comments

* Keep exception for unsuported precision

* update

* Revert reorder executor implement

* Solve float->bool issue on transformation pipeline

* Solve I64 is not supported issues

* Solve reviewer's comments

* Fixed dynamic top_k node issue

* Skip nhwc and nChw16c test cases for ConvertLayer

* Update for reviewers' comments

* Fix some failures

* Update for several failure cases

* Update for apiConformanceTests failures

* Fix incorrect node name after import model

* update

* update comments

* Solve issue of smoke_MatMul_NoTranspose and smoke_MatMul_BothTranspose

* Fixed AlignMatMulInputRanks scalar issue

* Address reviewers' comments, remove redundant path in graph.cpp

* Remove test_div_uint8_cpu from xfail_issue_58676

* Solve invalid number of nodes for smoke_Snippets_BroadcastSelect

* ConstantResultSubgraphTest of u16/i16/u32/i64/u64

* restore smoke_SetBlobCPU BOOL tests for arm

* [CPU] Fix ARM precision issue

ARM64 ACL prefers fp16 than fp32, API 2.0 requires input/output precision not changes,
then fp32 input will trigger convert node is added to convert fp32 to fp16.

* Solve some ARM64 failures

* Fix arm64 InferRequestVariableStateTest tests out of memory issue

ARM64 will force fp16 precision, which cause states memory can be fp16, so memcpy to state_memory
cannot use float * element_size, else it will be out of memory bound.

* Skip 2 arm64 tests caused by forcing fp16 precision

* Revert "Fix arm64 InferRequestVariableStateTest tests out of memory issue"

This reverts commit 3e12bd48c2.

* Fix python test_get_profiling_info failure issue

---------

Co-authored-by: Bell, Song <bell.song@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-11-07 15:25:05 +01:00
Sebastian Golebiewski 3f7989a817 [DOCS] Fixing link in Get Started article (#20881)
* Updating Get Started section

Addressing JIRA ticket: 124289

* Update get_started.md
2023-11-07 14:37:24 +01:00
Vitaliy Urusovskij e3d7dffa83 Remove legacy API from FEs (except ONNX) (#20849)
* Remove `ngraph` from PT FE and FE tests utils

* Remove `ngraph` from Paddle FE

* Remove `InferenceEngine` from some ONNX FE test

* Port `generate_embedding.py` to API2.0

* CLangFormat

* Fix comments
2023-11-07 14:01:39 +01:00
Pawel Raasz 95aef4bf51 [core]Migrate Exp operator to new API (#20893)
* Migrate Exp operator to new API

* Add missing includes
2023-11-07 13:43:13 +01:00
Pawel Raasz e82283cf85 [core]Migrate Mish operator to new API (#20892)
* Migrate Mish operator to new API

* Remove `visit_attributes` is same as base class

* Refactor Mish reference implementation

* Add cast as function is generic
-mish calculation is floating-point but return type can be integral.
2023-11-07 13:05:39 +01:00
Tomasz Jankowski e8b6e17429 [core] Migrate Softplus operator to new API (#20900)
* Drop ngraph remains

* Use ov::Tensor

instaed of ngraph::HostTensor
2023-11-07 12:19:34 +01:00
Alina Kladieva f17f17acc7 Use custom labeler to label changes not matching any pattern (#20888)
Needed for Smart CI (https://github.com/openvinotoolkit/openvino/pull/19825)
2023-11-07 12:16:32 +01:00
Pawel Raasz 368e6bfb8a Fix constant folding in MulMulMulFusion (#20803)
* Fix constant folding in MulMulMulFusion
by add f64 precision in Multiply to perform evaluate for const folding

* Do not transform if input has not supported type
2023-11-07 11:57:29 +01:00
Anastasia KuporosovaandRoman Kazantsev 4a0098b26a [PyOV] ngraph linter check update (#20870)
* [PyOV] ngraph linter check update

* Update src/bindings/python/requirements_test.txt

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-11-07 10:42:46 +00:00
Aleksandr Voron 681331d3d7 [CPU] Increase RandomUniform test mean and variance thresholds 2023-11-07 14:37:37 +04:00
Aleksandr Voron c3948ca799 [nGraph Transformations] NMS convert precisions - change sequence of checks (#20795) 2023-11-07 14:34:12 +04:00
Pawel Raasz cb53ee5db7 [core]Migrate ReLU operator to new API (#20874)
* Migrate ReLU operator to new API

* Optimize ReLU reference implementation

* Correct define const value in ReLU
2023-11-07 11:29:43 +01:00
Ilya Lavrenov c0381ab08d Updated labeler config (#20913) 2023-11-07 14:05:03 +04:00
Maxim Vafin cdd342ea49 [PT FE] Add ALIKED to model tests (#20899)
* Add ALIKED to model tests

* Update tests/model_hub_tests/torch_tests/test_aliked.py

* Update tests/model_hub_tests/torch_tests/test_aliked.py
2023-11-07 09:34:26 +01:00
Pawel Raasz 8f30470199 [core]Migrate MatMul operator to new API (#20857)
* Migrate MatMul operator to new API

* Correct get shapes references
2023-11-07 09:12:37 +01:00
Maxim Vafin e976e7b90c [PT FE] Add tests for Speech-Transformer (#20847)
* Add tests for Speech-Transformer

* Update tests/model_hub_tests/torch_tests/test_speech-transformer.py

* Update tests/model_hub_tests/torch_tests/test_speech-transformer.py
2023-11-07 08:32:22 +01:00
Pawel Raasz dcdf6750a7 [core]Migrate Sign operator to new API (#20875)
* Migrate Sign operator to new API

* Optimize Sign reference implementation

* Fix code style
2023-11-07 08:31:04 +01:00
Tomasz Jankowski a304f03852 [core] Migrate Softmax operator to new API (#20894)
* Drop ngraph remains

* Use ov::Tensor

instaed of ngraph::HostTensor
2023-11-07 08:26:58 +01:00
Roman Kazantsev 494a9cf9a9 [TF FE] Refine tests for complex tensors support (#20905)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-07 10:29:45 +04:00
Tomasz Jankowski 5cd9659033 [core] Migrate HSwish operator to new API (#20854)
* Drop ngraph remains

* Use ov::Tensor

instaed of ngraph::HostTensor
2023-11-06 20:56:52 +01:00
Anastasiia Pnevskaia 64c21fd6f9 [MO] Fixed MO fallback unit test. (#20868)
* Fixed MO unit test to import paddle conditionally.

* Replace generate with pytest.mark.parametrize.
2023-11-06 22:13:53 +04:00
Karol Blaszczak 3036a3d249 [DOCS] improving the "conversion" section v2 (#20887)
adjustments to conversion and workflow
2023-11-06 18:17:44 +01:00
Roman Kazantsev d0eb27bd3b [TF FE] Support Complex Tensors (#20860)
* [TF FE] Support complex tensors

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Align output type for Real and Imag operations

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update decoding complex types

* Add support for ComplexAbs, FFT and IFFT operations

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Correct axes based on a number of inner-most dimensions

* Add layer tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update supported ops documentation

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add a comment for ComplexTypeMark

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-06 16:57:05 +04:00
Pawel Raasz 1083b3b58c [core]Migrate Erf operator to new API (#20867)
* Migrate Erf operator to new API

* Remove `visit_attributes`  is same as base class

* Optimize reference implementation for size
2023-11-06 13:46:03 +01:00
Mikhail Ryzhov 28279013af aligned lin build timeouts (#20885) 2023-11-06 14:07:24 +04:00
Sebastian Golebiewski a554611644 Updating notebooks (#20865) 2023-11-06 10:08:58 +01:00
Pawel Raasz 7d74dac3ee [core]Migrate GridSample operator to new API (#20852)
* MIgrate GridSample to new API

* Refactor GridSample to reduce binary size
- use function pointer instead std::function (simpler less code size)
- use RoundingGuard instead manual set/restore rounding mode
- move interpolate selection outside main data processing loop
2023-11-06 06:31:02 +01:00
Pawel Raasz ae343a0178 [core]Migrate FloorMod operator to new API (#20829)
* Migrate FloorMod operator to new API

* Remove `visit_attributes` is same as base class

* Restore FloorMod calculation for signed values
floating-point and integral
2023-11-06 06:26:47 +01:00
Vitaliy Urusovskij 47cdbb9df5 Template plugin folder to API2.0 (#20862)
* Remove unused IE namespace from template plugin

* Remove unused `ngraph::HostTensor`

* Template `ConvolutionLayerTest` to API2.0

* Template `ReshapeLayerTest` to API2.0

* Template `SplitLayerTest` to API2.0

* Remove extra `InferenceEngine::PluginConfigParams`

* CLangFormat
2023-11-04 12:36:16 +04:00
Andrey Kashchikhin fda1fd9dc1 [CI] [GHA] Add missing setup-python action checkout; use custom action across all pipelines (#20863)
* use unified setup-python actions across all pipelines

* rm triggers
2023-11-04 11:58:01 +04:00
Anastasiia Pnevskaia cc389c23ca Removed logic of building example_input by shape. (#20859) 2023-11-03 20:45:34 +04:00
Alina Kladieva 86c638a595 Temporarily restrict flake8_builtins version (#20864) 2023-11-03 16:59:47 +01:00
Tomasz Jankowski 09010657e2 [core] Migrate Gelu operator to new API (#20833)
* Drop HostTensor

* Remove useless overwrite method
2023-11-03 12:16:51 +00:00
Sergey Lyalin 1960536e8e Fix GPTQ model conversion after two breaking changes (#20823)
* Fix GPTQ model conversion after two breaking changes

* Code style fix

* Remove redundant check
2023-11-03 13:47:51 +04:00
Tomasz Jankowski 3386b85c08 [core] Migrate Divide operator to new API (#20766)
* Use ov:: namespace

* Drop HostTensor

* Use ov::util::make_tensor_of_max_value

instead of ngraph::get_constant_max_of_type

* Use ov::util::make_tensor_of_min_value instead of

ngraph::get_constant_min_of_type

* Refactor get_constant_min_of_type
2023-11-03 10:35:43 +01:00
Anatoliy TalamanovandZlobin Vladimir f890bf7930 Extend throughput benchmark with device CLI parameter (#20816)
* Extend throughput benchmark CLI parameters

* Added device name as the second CLI parameter with default CPU value

* Update samples/cpp/benchmark/throughput_benchmark/main.cpp

Co-authored-by: Zlobin Vladimir <vladimir.zlobin@intel.com>

* Fix comments to review

* Modified python version
* Modified documentation

* Fix comments to review

* Fixed the comment
* Modified python doc
* Fixed device name handling in python version

* Update main.cpp

* Update throughput_benchmark.py

---------

Co-authored-by: Zlobin Vladimir <vladimir.zlobin@intel.com>
2023-11-03 09:57:04 +01:00
Anatoliy Talamanov c20d52dc4f Extend sync benchmark CLI parameters (#20844) 2023-11-03 09:51:22 +01:00
Tomasz Jankowski 0effa37811 [core] Migrate HSigmoid operator to new API (#20836)
* Drop ngraph remains

* Use ov::Tensor

instaed of ngraph::HostTensor
2023-11-03 09:10:32 +01:00
Vitaliy Urusovskij 0955faef93 Remove use of convertOps2Nodes() & convert2OutVect() (#20837) 2023-11-03 11:00:33 +04:00
Vitaliy Urusovskij caa81a0b3c Remove use of legacy ng/runtime/shared_buffer.hpp (#20840) 2023-11-03 09:09:49 +04:00
Andrei Gorbachev ff7b49c14d add a few tests (#20824) 2023-11-02 16:40:47 +00:00
Pawel RaaszandTomasz Jankowski 8e4c4c3510 [core]Drop host tensor support in TensorAccessor (#20831)
* Remove functions`get_tensor_data_as for HostTensor

* Remove HostTensor support in TA

* Update doxy comments

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>

---------

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
2023-11-02 16:15:52 +00:00
Aleksandr Voron e8f21eefae [CPU] Add FP16 support to MatrixNms (#20804) 2023-11-02 14:40:32 +00:00
Anastasiia PnevskaiaandRoman Kazantsev 3f5f923a70 [DOC] Update list of TF formats imported from memory. (#20834)
* Update list of TF formats.

* Minor correction.

* Added comment.

* Update docs/articles_en/openvino_workflow/model_preparation/Convert_Model_From_TensorFlow.md

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Model changed.

* Update docs/articles_en/openvino_workflow/model_preparation/Convert_Model_From_TensorFlow.md

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-11-02 17:31:08 +04:00
Pawel Raasz f8cd53bb77 [core]Migrate Floor operator to new API (#20830)
* Migrate Floor operator to new API

* Remove `visit_attributes` is same as base class
2023-11-02 12:35:05 +00:00
Anastasiia Pnevskaia 4e70b3b33b Remove WA with double loading of FE. (#20794) 2023-11-02 12:57:24 +04:00
Roman Kazantsev 4a6e6e64c5 [TF FE] Fix conversion of FILM of keras.Model format (#20825)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-11-02 12:46:57 +04:00
Gorokhov Dmitriy 3ff85ae70a [CPU] Fixed port mismatch in Eltwise fusion graph optimization (#20782) 2023-11-02 11:33:37 +04:00
Vladimir Paramuzov 2afb64b9ea [GPU] Refactor KV cache test (#20802) 2023-11-02 09:54:19 +04:00
Zhang Yi 88c3171742 [CPU] Fix avx2 gather of bfloat16 (#20683) 2023-11-02 09:46:03 +04:00
Andrey Kashchikhin eea49f3c9e [CI] [GHA] Remove full cloning of the OV repository in the Python unittests job in the Win and Mac workflows (#20810)
* rm full cloning of the OV repo in win and mac workflows

* skip tests on mac

* increase timeout for win C++ tests; skip more mac tests

* rm triggers
2023-11-01 22:20:22 +04:00
Mateusz Tabaka 4084e9acc0 Handle Reshape's special zero in SimplifySecondInputOfReshape (#20785)
* Handle Reshape's special zero in SimplifySecondInputOfReshape

SimplifySecondInputOfReshape detects ShapeOf->Gather->Concat
subgraphs on Reshape's second input and replaces ShapeOf->Gather
with a Constant with zero(s). Currently it works only with Reshapes
that have special_zero set to true, but it can work for Reshapes
with special_zero == false if non-Gather inputs to Concat are Constants
and don't contain any zero.

Ticket: CVS-123434

* fix no default output
2023-11-01 18:02:36 +04:00
Nikolay Shchegolev e6ff5edc3d [CPU] Empty tensor used with a custom op leads to CPU plugin exception. (#19733) 2023-11-01 15:42:25 +04:00
Andrey Kashchikhin 03f23ae57a [CI] [GHA] Fix openvino.test_utils imports for Mac and Win Python unittests (#20786)
* add platform-agnostic setup python action

* use specific version

* rm debug message, checkout action

* correct path

* add checkout of the action, correct paths

* correct path; enclose into brackets

* transfer linux pipelines to local setup-python action

* transfer pipelines

* use newer version

* account for fedora, add missing cache path

* correct name

* use 3.9 for fedora

* rm python install from fedora

* mv fetch and setup together, set pip_cache_dir

* correct order

* rm triggers

* add missing pythonpaths

* correct path

* add one more pythonpath

* add paths to ov package libs

* Revert "add paths to ov package libs"

This reverts commit a775881f3e.
2023-11-01 12:07:40 +04:00
Surya Siddharth Pemmaraju bb0e4f8ecf Fixed issue with cat in fx backend (#20744)
* Added fix for cat in torchfx

* Added batch_norm_legit_no_training op

* Fixed coding style

* Fixed clang format

* Addressed PR comments
2023-11-01 08:36:19 +01:00
Roman Kazantsev 26c9c41b8e Revert "[TF FE] Switch off TF1 While support totally (#20774)" (#20800)
This reverts commit 38b6092120.
2023-10-31 22:53:35 +04:00
Andrey Kashchikhin 703e911321 [CI] [GHA] Increase job timeouts (#20797)
* increase job timouts

* increase further
2023-10-31 16:46:52 +00:00
Irina Efode dd10a520e3 [DO NOT REVIEW OR MERGE] LLM in SubgraphsDumper (#20756) 2023-10-31 16:57:41 +01:00
Sofya Balandina 65f6950f56 [apiConformance][TEMPLATE] Add too get_profiling_info info about ops (#20697) 2023-10-31 16:14:36 +01:00
Irina Efode 8eee1b52ed [IE TESTS] ImportExport reporting + extension of base class (#20765)
* [IE TESTS] ImportExport reporting + extension of base class

* reuse dynamic check
2023-10-31 19:00:36 +04:00
Roman Kazantsev 8d6f56dd12 [TF FE] Fix translators for multiple output operations (#20787)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-31 13:22:09 +00:00
Mateusz Tabaka 48c9598892 Handle Reshape in SplitSqueezeConcatFusion (#20345)
* Handle Reshape in SplitSqueezeConcatFusion

Ticket: CVS-122455

* move check for squeeze/reshape

* add some comments

* review comments

* add use_shapes flag to SplitSqueezeConcatFusion
2023-10-31 17:05:21 +04:00
Nikolay Shchegolev 57571d36e6 [CPU] NMSRotated operation implementation. (#20410) 2023-10-31 12:10:52 +00:00
Pawel Raasz 3077bad26f [core]Migrate Sigmoid operator to new API (#20780)
* Migrate Sigmoid operator to new API

* Add missing include
2023-10-31 12:11:29 +01:00
Vladislav Golubev 2932e9e938 ReshapeBMatMul and ReshapeAMatMul: avoid circular dependencies creation (#20771) 2023-10-31 15:00:52 +04:00
Ilya Lavrenov da1f0199a0 Removed WA for static protobuf for vcpkg installation path (#20784) 2023-10-31 14:55:28 +04:00
Roman Kazantsev a20c9a5a22 [TF FE] Update TF FE dev docs with Inv (#20788)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-31 14:45:54 +04:00
Kelvin Choi bb28b71849 [GPU] if the reorder which is an user of reshpae has truncation mode, it should not split the reorder node (#20749) 2023-10-31 19:21:56 +09:00
Anastasiia Pnevskaia 1f961f903c Fixed info logs in OVC (#20586)
* Corrected memory consumption log, removed unused log_level info.

* Minor correction.

* Trace memory only if verbose is set.

* Use get_traced_memory().
2023-10-31 13:05:54 +04:00
Roman Kazantsev 38b6092120 [TF FE] Switch off TF1 While support totally (#20774)
* [TF FE] Switch off TF1 While support totally

This is a total switch off due to GPU limitation

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Need additional fallback in Enter to avoid shapes problem

* Disable tests with While op

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Disable layer test for TF1 While

* Remove extra spaces

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-31 12:46:36 +04:00
Pawel Raasz 38cd138d0d [core]Migrate Sqrt operator to new API (#20632)
* Migrate Sqrt operator to new API

* Remove 'visit_attributes' is same as base
2023-10-31 08:34:49 +00:00
Min, Byungil 00705e6e58 [GPU] Bugfix adjust padding size for reshape optimizing (#20773)
Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-10-31 17:24:35 +09:00
Vitaliy Urusovskij 1b46c73b51 Remove commented code from Proposal layer test (#20781) 2023-10-31 11:42:44 +04:00
rsato10andRoman Kazantsev 53820c0cf2 [TF FE]Support Inv operation for TensorFlow models (#20720)
* [TF FE]Support Inv operation for TensorFlow models

* added test tests/layer_tests/tensorflow_tests/test_tf_Inv.py and src/frontends/tensorflow_common/src/op/inv.cpp

* Update tests/layer_tests/tensorflow_tests/test_tf_Inv.py

* Update tests/layer_tests/tensorflow_tests/test_tf_Inv.py

* Update tests/layer_tests/tensorflow_tests/test_tf_Inv.py

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-10-31 11:39:16 +04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 7f04ad69c2 Bump awalsh128/cache-apt-pkgs-action from 1.3.0 to 1.3.1 (#20779)
Bumps [awalsh128/cache-apt-pkgs-action](https://github.com/awalsh128/cache-apt-pkgs-action) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/awalsh128/cache-apt-pkgs-action/releases)
- [Commits](https://github.com/awalsh128/cache-apt-pkgs-action/compare/v1.3.0...v1.3.1)

---
updated-dependencies:
- dependency-name: awalsh128/cache-apt-pkgs-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-31 11:33:51 +04:00
Katarzyna Mitrus 1384471849 [ONNX][Code refactor] ONNX GroupNormalization - Optimize getting inputs
* Optimize getting inputs and use more const

* Fix typo
2023-10-31 11:19:11 +04:00
Ilya Lavrenov b13cb8ce12 Make RPM packages compatible with wide range of RHEL systems (#20762) 2023-10-31 10:25:35 +04:00
Vitaliy Urusovskij 991b9848fa PSROIPooling and Proposal layer tests to API2.0 (#20761)
* `PSROIPoolingLayerTest` to API2.0

* `ProposalLayerTest` to API2.0
2023-10-31 10:21:20 +04:00
River Li 9e97d7ef1a [C-API] add ov_get_last_error_msg() API (#20643) 2023-10-31 13:53:47 +08:00
Andrei GorbachevandPavel Durandin 44925b580f [GPU] Refactor Comparison, Conversion, ConvertColorI420 (#20374)
* Comparison

* Conversion

* ConvertColorI420

* fix

* Comparison

* Conversion

* ConvertColorI420

* fix

* fix after review

* fix after review

* fix after review

* fixed comparison

---------

Co-authored-by: Pavel Durandin <pavel.durandin@intel.com>
2023-10-31 09:50:20 +04:00
Anton Voronov d90e23fc30 [CPU] Sparse weights decompression feature: changed comp_tile_len data type from int16_t to int (#20707) 2023-10-31 09:34:27 +04:00
Wanglei Shen 78f11965d8 [CPU] Fix user setting num_streams=0 (#20469) 2023-10-31 09:23:58 +04:00
Roman Lyamin 50b6c5f0d7 [GPU] Fix for SoftmaxKernel_bf in dynamic case (#20769) 2023-10-31 09:02:03 +04:00
Roman Kazantsev fc4fe07a0e [TF FE] Fix CTCLoss translator (#20775)
* Fix CTCLoss translator

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Expend layer tests for CTCLoss

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-31 08:51:18 +04:00
Xiuchuan Zhai 0076f7fc00 [PD FE] loading weight from ov::tensor (#20044)
* fix paddle load model from memory

* fix coding style

* ignore the deprecated api

* fix a istream bug; add test case

* simplify func variant_to_stream_ptr

* restore the previous impl for less memory affect

* fix memory leak
2023-10-31 11:17:38 +08:00
Pawel RaaszandMichal Lukaszewski 246410b0dd [core]Migrate NotEqual operator to new API (#20648)
* Migrate NotEqual operator to new API

* Remove `visit_attributes` is same as base

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-31 00:01:27 +00:00
Mateusz MikolajczykandKatarzyna Mitrus ce8ac6f478 [Opset13][TF FE] Enable tensorflow bitwise operators (#20340)
* Add opset-13 bitwise ops

* Fix issue in BinaryOps test

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2023-10-30 23:18:28 +00:00
Pawel Raasz ac176beb33 [core]Migrate Clamp operator to new API (#20676)
* Migrate Clamp operator to new API

* Remove not used function add comment
2023-10-30 22:58:35 +00:00
Przemyslaw Wysocki 31f6a95122 [PyOV] Set inference precision explicitly to fp32 for torchvision tests (#20713)
* Set fp32

* Fix flake

* use properties api
2023-10-30 20:06:55 +01:00
Anastasia Kuporosova 5b583276b2 [PyOV] Add get_byte_size to const node (#20759) 2023-10-30 19:46:07 +01:00
Ekaterina Aidova c21fd2ea61 [PT FE]: fix object has no attribute 'dtype' (#20755)
* [PT FE]: fix  object has no attribute 'dtype'

* add model in tests

* update test
2023-10-30 18:36:08 +00:00
Roman Lyamin 7eb53586f5 [GPU] Added WA for MarkDequantizationSubgraph to work correctly in the plugin (#20767) 2023-10-30 17:58:34 +00:00
Wilson Seok df3e51f818 add comments about origin of reference implementation (#20763) 2023-10-30 21:54:19 +04:00
Katarzyna Mitrus fdec7fb7ee [Opset13][ONNX] NMSRotated-13 test and sort update (#20670)
* Set sort_result_descending attr false for nms

* Add onnx test

* Tmp exclude for CPU

* Update test values

* Update test vals to avoid cast warning

* Fix typo
2023-10-30 17:14:37 +01:00
Roman Kazantsev a4c47bf6ab [TF FE] Fix body graph injection, CumSum and SparseFillEmptyRows (#20680)
* [TF FE] Fix body graph injection, CumSum and SparseFillEmptyRows

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Do not handle non-parameters in body

* Update layer test to cover default parameter and attribute values

* Fix layer tests

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-30 18:40:09 +04:00
Ilya LavrenovandHelena Kloosterman 34467ef45e Improved warning message for BA + OpenCL case (#20725)
* Improved warning message for BA + OpenCL case

* Update samples/cpp/benchmark_app/CMakeLists.txt

Co-authored-by: Helena Kloosterman <helena.kloosterman@intel.com>

---------

Co-authored-by: Helena Kloosterman <helena.kloosterman@intel.com>
2023-10-30 18:33:04 +04:00
Maxim Vafin bc9b52ef7e Increase timeout for hub tests (#20764) 2023-10-30 18:27:00 +04:00
Sofya Balandina 061d6b5b62 [apiConformance] Move sw plugin to run with Template only (#20084)
* [apiConformance] Move sw plugin to run over TEMPLATE

* Fix set_property

* update

* add configs for sw plugins
2023-10-30 17:45:46 +04:00
Maxim Vafin 439b7e57c7 [GHA] Add torch.compile layer tests to GHA (#20655)
* [GHA] Add torch.compile layer tests to GHA

* Update pytorch_layer_test_class.py
2023-10-30 17:23:02 +04:00
Maxim Vafin 56cb121e8a Fix coverity issues (#20743) 2023-10-30 14:17:02 +01:00
Mateusz MikolajczykandKatarzyna Mitrus fdb22c8610 [Opset13][PT FE] Update torch bitwise operators (#20339)
* Add opset-13 bitwise implementation

* Improvements in test

* Add transformation BitwiseOps->LogicalOps for bool

* Improve existing tests to better tests dtypes

* Disable transformatiions for supported bitwise ops

* Improvebitwise test inputs

* Update src/common/transformations/src/transformations/op_conversions/convert_bitwise_to_logical_bool.cpp

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update src/common/transformations/src/transformations/op_conversions/convert_bitwise_to_logical_bool.cpp

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update src/common/transformations/src/transformations/op_conversions/convert_bitwise_to_logical_bool.cpp

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update src/common/transformations/src/transformations/op_conversions/convert_bitwise_to_logical_bool.cpp

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update to REGISETR_PASS

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2023-10-30 13:11:14 +00:00
Tomasz JankowskiandMichal Lukaszewski 142a72d0f0 [core] Migrate SpaceToBatch operator to new API (#20510)
* Drop HostTensor and move to ov namespace

* Style

* Optimize vector assignment

* Optimize vector assignment

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-30 12:52:56 +00:00
Wilson Seok 6dce6cc599 [GPU] Fix va surface sharing issue (#20730) 2023-10-30 16:27:50 +04:00
Przemyslaw Wysocki c3a90f8f70 [PyOV] Add lower bound to datasets (#20674) 2023-10-30 11:24:37 +00:00
Pawel RaaszandMichal Lukaszewski e2ea571926 Migrate Maximum operator to new API (#20602)
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-30 12:08:26 +01:00
Pawel RaaszandMichal Lukaszewski 7cfeb413d4 [core]Migrate Concat operator to new API (#20600)
* Migrate Concat op to new API

* Move shape validation to shape_infer

* Fix getting concat axis in shape inference

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-30 12:07:36 +01:00
Sungeun Kim 4512141111 [GPU] fix axis for pad/stride/dilation when 1d conv (#20746)
* fix axis for pad/stride/dilation when 1d conv
* add test-cases for 1d conv with explicit pad
2023-10-30 19:06:29 +09:00
Sebastian Golebiewski 81dbe4aedd [DOCS] Fixing formatting in Model Preparation (#20752)
* Update model_preparation.md

* Update installing-openvino-from-archive-windows.md
2023-10-30 10:46:46 +01:00
Maxim Vafin 7b9db3d81b [PT FE] Add torch.int16 dtype support (#20735)
* Add torch.int16 dtype support

* Add test
2023-10-30 10:12:55 +01:00
Fang XuandWanglei Shen 82f191b0e7 choose Pcore to compile model for GPU plugin (#20472)
* choose Pcore to compile model for GPU plugin

* provide function to update executor config

* set callback executor to nullptr for GPU plugin

* fix code style

* fix warning

* optimize duplicate code

* set callback executor to nullptr for another gpu compile_model

* add description for new function

* add smoke test

* fix code style

* modify function definition

---------

Co-authored-by: Wanglei Shen <wanglei.shen@intel.com>
2023-10-30 16:24:36 +08:00
Pawel RaaszandMichal Lukaszewski cec6535eaa [core]Migrate Transpose operator to new API (#20647)
* Migrate Transpose to new API

* Move shape validation to shape_infer

* Remove visit_attributes is same as base

* Correct transpose order shape check
for static shapes
- correct creation of order shape for static shape tests

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-30 07:05:17 +01:00
Roman Lyamin 5c6b7a5ed4 [GPU] Allow softmax_bf kernel for axis=X 4d case (#20699) 2023-10-30 09:11:32 +04:00
Ekaterina Aidova 53c9a0f3d4 update pytorch layer tests for torch 2.1 compatibility (#20264)
* update pytorch layer tests for torch 2.1 compatibility
2023-10-30 08:30:01 +04:00
Pavel EsirandAndrei Kochin 539b5a83ba keep disable_fp16_compression rt_info (#20625)
* keep disable_fp16_compression rt_info

* style fix

* style fix 2

* cleanup init_node_info.cpp; redefining a class for rt_info in Serialize

* move rt_info refreshing inside serialize.cpp

* rename rt_info name in IR

* add rt_info serialize test

* add ticket number

* updated comments

* code style fix

---------

Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
2023-10-27 22:41:37 +00:00
Alexandra Sidorova 1d4520e60d [Snippets][CPU] Disabled SplitDimensionM CPU Func tests (#20741) 2023-10-27 21:05:06 +04:00
Maxim Vafin f029ebb8e2 [PT FE] Fix mask2former model marks in tests (#20717)
* [PT FE] Fix mask2former model marks in tests

* Use better machine

* Add more models

* Update .github/workflows/linux.yml
2023-10-27 21:04:30 +04:00
Vladimir Paramuzov cde757d66a [GPU] Adjust in/out layouts in codition prim to handle prealloc (#20740) 2023-10-27 16:54:57 +00:00
Vladimir Paramuzov 79f90839b9 [GPU] Int4 utils fix (#20726) 2023-10-27 20:14:08 +04:00
Pawel Raasz 751d844b24 [shape infer]Review Reshape class for shape inference aspects (#18679)
* Add static shape adapter
- Adapters holds CPU dimension which can be reference to it or vector
- Add ov::optional for holding optional result from shape inference
- Add new `infer` function in `IStaticShapeInfer`

* Temporary support of StaticShape

* Minor corrections in ShapeInferenceTA

* Migrate shape_infer to new interface version

* Replace StaticShape by adapter implementation

* Replace IShapeInferCommon by IStaticShapeInfer

* Correct code formatting

* Fix build issues

* NodeValidationFailure::create for StaticShapeRef

* Review shape inference for reshape operator
- review shape_infer implementation
- add more unit test for static and dynamic shapes

* Fix build issues

* Correct minus one dim calculation

* Fix build issues on windows

* Improve resolving special minus one

* Use NODE_SHAPE_INFER_CHECK

* Update product in/out calculations

* Temporary add ngraph header to solve build issue

* Correct minus one dim calc when static part same

* Add check for scalar input

* Remove debug message

* Fix `minus one` dynamic dimension calculation

* Fix `minus one` dynamic dimension calculation

* Fix merge issues in reshape
Minor refactor reshape evaluate

* Don't pass input label on minus one pattern
when input dimension will be modified.
2023-10-27 16:56:25 +02:00
Ivan Tikhonov 69e1258cc5 Support dynamic seq lenghts in ConvertSequenceToTensorIterator transformation (#20671) 2023-10-27 16:55:52 +04:00
Ilya Lavrenov 620a0fc289 Fixed compilation with C++23 (#20724) 2023-10-27 16:29:40 +04:00
River Li b75f2e67de [CAPI] add correct return value for wait_for() (#20723) 2023-10-27 15:45:37 +04:00
Siddhant ChauhanandMaxim Vafin ae15f35f07 [PT FE] Add aten::is_nonzero (#20589)
* Add is_nonzero operator and test

* fix

* Update is_nonzero.cpp

* Update is_nonzero.cpp

* requested changes

* Update is_nonzero.cpp

* Update is_nonzero.cpp

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-27 15:04:57 +04:00
603d61b488 GNA plugin transformations documentation (#19232)
* add transformations.md

* code review fixes

* Apply suggestions from code review

Co-authored-by: Ryszard Jezierski <ryszard.jezierski@intel.com>

* Update src/plugins/intel_gna/docs/transformations.md

* Update src/plugins/intel_gna/docs/transformations.md

* Apply suggestions from code review

* Update src/plugins/intel_gna/docs/transformations.md

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>

* Update src/plugins/intel_gna/docs/transformations.md

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>

---------

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Co-authored-by: Ryszard Jezierski <ryszard.jezierski@intel.com>
2023-10-27 12:50:36 +02:00
Nesterov Alexander 9decbb538b [ARM CPU] Avg Pooling, ROI Pooling fix for fp16 precision (#20658) 2023-10-27 14:01:38 +04:00
Alexandra Sidorova 4e41678502 [Snippets] Fixed Convert elimination in AlignElementType (#20701) 2023-10-27 13:50:51 +04:00
Andrey KashchikhinandMikhail Ryzhov b1ce297bde [CI] [GHA] Add system information print action (#20710)
* added action

* test action

* fixed typo

* move action to test flow

* fixed pipeline

* changed description

* add action to common pipeline

* changed actions path

* use bash syntax

* path

* fix

* reordered

* update

* revert unused changes

* update path

* Revert "update path"

This reverts commit bff8ac2396.

* mac and win

* print system info

* correct pathg

* use relative path

* run mac

* add print sysinfo step, enable triggers

* use win agnostic func

* rm triggers

* mv sysinfo check after checkouts; rm tools versions info printing

* correct desc

* add sysinfo dep for fedora

* mv pre-requisite installation

---------

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
2023-10-27 11:25:01 +02:00
Vladislav Golubev e177412615 [CPU] Added several ops to type_relaxed_opset (#18872) 2023-10-27 13:03:16 +04:00
River Li 9e987a4341 [CC] solve assert issue due to cannot create convolution_backward_data::primitive in CC selective build binaries (#20571)
Deconvolution::createDescriptor will call createDescriptorInternalDefault() to create fwd_conv_pd,
sometimes ref_convolution_fwd_t will be chosen to return its primitive_desc, but ref_convolution_fwd_t
primitive will not be created finally, then CC will not put this primitive into convolution_impl_list
in selective build stage, the final CC package will fail due to cannot create fwd_conv_pd of ref_convolution_fwd_t.
2023-10-27 12:58:20 +04:00
Tatiana Savina fbcb58127a fix headers (#20728) 2023-10-27 10:41:54 +02:00
Paul Youngsoo Ahn 9cc1e992f4 [GPU] Fix outputs are not allocated in loop_inst (#20585)
* [GPU] Fix outputs are not allocated in loop_inst
* Fill empty padding when the number of output paddings is less than num_outputs
* Fill empty data types when the number of output data types is less than num_outputs
* Modify postprocess_output_memory to set output memory without set_output_memory function
* In postprocess_output_memory, get concatenated_output_mem using input_info including output idx
* Modify gpu functional tests for dynamic loop to check multiple outputs of dynamic loop

* update postprocessing for condition

* Fix empty dimension issue for scalar value

* change code to get output paddings and output data type in primitive

* allocate memory for scalar data type with zero dimension

* Fix mismatch issue of input layout with shape and data types in body_network

* Fix output setting in post-processing
* pass bytes_count to gpu_usm params

* Fix condition gpu functional test issue

* Revert "allocate memory for scalar data type with zero dimension"

This reverts commit 2f10f3687c78406b20d52b6e37b1be2a30b4b73f.

* reinterpret one dimension memory buffer to zer dimension memor buffer to avoid zero byte memory allocation issue
2023-10-27 01:17:52 -07:00
Irina Efode 0139fffc18 [CONFORMANCE] Revert Real Op versions to Opsets (#20714) 2023-10-27 09:27:18 +02:00
Alexandra Sidorova fd88a6b455 [Snippets] Added Transpose support to SplitDimensionM (#20013) 2023-10-27 10:06:07 +04:00
Vladimir Paramuzov cc10b14bab [GPU] Share compilation context with sub-networks (#20706) 2023-10-27 09:58:49 +04:00
River Li be25d9038e Fix stride issue for ZeroDims (#20686)
* Fix stride issue for ZeroDims

* Add test case

* Fix ITensor::is_continuous() issue

* Fix the same issue in gpu plugin and template plugin
2023-10-27 09:27:53 +04:00
Katarzyna Mitrus 14d51de93c [ONNX] Add support for standard ONNX GroupNormalization (#20694)
* Add support for ONNX GroupNormalization

* Enable onnx compliance tests

* Add f to the test values to avoid cast warning

* Use tolerance as fp instead of bits
2023-10-27 09:24:07 +04:00
Maxim Vafin b06a0010ea [PT FE] Disable failing pytorch layer test (#20719)
* [PT FE] Disable test

* Update tests/layer_tests/pytorch_tests/test_convnd.py
2023-10-27 07:54:30 +04:00
Pawel Raasz a8a14eba9d [core]Migrate Equal operator to new API (#20688)
* Migrate Equal to new API

* Remove `visit_attributes` is same as base

* Remove i4, u4 from evaluate in Equal
reference implementation not handle binary precisions correctly

* Sync precisions in `has_evaluate` with `evaluate`

* Fix all equal check for lower bound
- make broadcast test assertion more strict
- remove deprecated functions from broadcast test
2023-10-27 07:27:11 +04:00
Maxim Vafin 5b8433ffbe [PT FE] Fix issue with adding Result to mutated tensor (#20690)
* [PT FE] Fix issue with adding Result to mutated tensor

* Add test
2023-10-26 22:25:28 +02:00
Ilya Churaev 52d3588358 Move create model sample to the last opset (#20333)
* Move create model sample to the last opset

* Downgrade to opset8

* Migrate sample to the last opset

* Fixed code style
2023-10-26 19:24:24 +00:00
Edward Shogulin 2e76be18e2 [CPU] Bitwise operations (reference implementation) (#20474) 2023-10-26 17:07:13 +00:00
Andrei GorbachevandSergeys Shlyapnikov 66dca04b45 [GPU] Refactor CumSum, DeformableConvolution, DeformablePSROIPooling, DepthToSpaceBS (#20499)
* CumSum

* deformable_convolution

* DeformablePSROIPooling

* DepthToSpaceBS

* smoke_DetectionOutput3In, smoke_DetectionOutput5In

* tmp

* refactor 3 embedding

* extract_image_patches and fake_quantize

* gather_nd and gather_tree

* gather_elements

* Gather

* dft

* CumSum

* deformable_convolution

* DeformablePSROIPooling

* DepthToSpaceBS

* smoke_DetectionOutput3In, smoke_DetectionOutput5In

* tmp

* refactor 3 embedding

* extract_image_patches and fake_quantize

* gather_nd and gather_tree

* gather_elements

* Gather

* dft

* restore dft

* fix after review

---------

Co-authored-by: Sergeys Shlyapnikov <sergey.shlyapnikov@intel.com>
2023-10-26 20:00:51 +04:00
Aleksandr Voron 1e4f3f18fe [CPU][ARM] Restore ACL cache variables (#18996)
* Update CMakeLists.txt

* Update CMakeLists.txt

* updated cmake f16 enabling condition

* updated condition
2023-10-26 14:40:45 +00:00
Karan JakharandMaxim Vafin 26632d1cd9 [PT FE] Add aten::__xor__ (#20662)
* Add __xor__

* Add xor tests

* add more xfail tests

* Update src/frontends/pytorch/src/op_table.cpp

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Update src/frontends/pytorch/src/op_table.cpp

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* fix code style

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-26 18:28:47 +04:00
Irina Efode 7720135f58 [SUBGRAPHS DUMPER] Fix Application Crash for Subgraphs Dumper (#20698)
* [SUBGRAPHS DUMPER] Fix Application Crash for Subgraphs Dumper

* Update model.hpp
2023-10-26 15:03:03 +02:00
Anastasia Kuporosova 3b9606f217 [PyOV] fix set_node_friendly_name (#20695) 2023-10-26 14:35:57 +02:00
Sofya Balandina c482e5f807 [apiConformance] Add test CheckInferIsNotChangeInput to io_tensor (#20159) 2023-10-26 15:57:33 +04:00
Maxim Vafin bec011cf1d Fix TupleUnpackInBodyReplacer transformation to run inside body (#20681) 2023-10-26 12:22:13 +02:00
Ilya Lavrenovanddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 0d458f086d Dependabot/pip/src/bindings/python/paddlepaddle 2.5.2 (#20708)
* Bump paddlepaddle from 2.5.1 to 2.5.2 in /src/bindings/python

Bumps [paddlepaddle](https://github.com/paddlepaddle/paddle) from 2.5.1 to 2.5.2.
- [Release notes](https://github.com/paddlepaddle/paddle/releases)
- [Changelog](https://github.com/PaddlePaddle/Paddle/blob/develop/RELEASE.md)
- [Commits](https://github.com/paddlepaddle/paddle/compare/v2.5.1...v2.5.2)

---
updated-dependencies:
- dependency-name: paddlepaddle
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Removed WA for Ubuntu 22.04 and PDPD

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-26 14:06:34 +04:00
Andrey Kashchikhin 5a1b13a069 fix parent job name (#20702) 2023-10-26 13:17:52 +04:00
Andrey Kashchikhin f86d80e14c increase timeout (#20705) 2023-10-26 13:15:52 +04:00
Fang Xu 4aa6899b07 update linux oneTBB with version 2021.2.4 (#20675) 2023-10-26 13:14:43 +04:00
Mikhail RyzhovandMaxim Vafin 4078bd9c19 [GHA] Speed up PyTorch Layer unit tests (#20613)
* test

* fixed tests

* typo

* fixed tests

* rest of the tests

* fixed rsub test

* tmp fix

* Revert "tmp fix"

This reverts commit b8bf1e9492e13497895da488612c9a137ef840bc.

* fixed test params

* reset thirdparty/pugixml

* Revert "fixed rsub test"

This reverts commit 9b6be34b8666936e8124b6622fcc5185b640de92.

* fixed typo

* fixed test data

* reset test_rsub

* removed unused param

* reverrted runner

* simplified call

* fixed random

* changed logical to auto mode

* Revert "fixed random"

This reverts commit 8a4f20b24641144f823a7e1f1ff92038634acf32.

* fixed test_all

* replaced random_sample with randn

* fixed rebase issue

* reverted logical splitting

* Update tests/layer_tests/pytorch_tests/test_repeat_interleave.py

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Update tests/layer_tests/pytorch_tests/test_all.py

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Apply suggestions from code review

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* fixed merge conflict

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-26 13:10:51 +04:00
cecilia pengandMaksim Kutakov 3a67d2a722 [CPU] Fix mergeTransposeAndReorder when Transpose and Reorder do oppos… (#20537)
* [CPU]fix mergeTransposeAndReorder when Transpose and Reorder do opposite permutation to each other as expected, but isOptimized is false due to some reason like inPlace memory. The permuation is asked because the dnnl  reorder primitive requires the source and destination tensors to have the same shape.

* add unit test

* Update src/plugins/intel_cpu/src/graph_optimizer.cpp

Co-authored-by: Maksim Kutakov <maxim.kutakov@gmail.com>

* simplify unit test

* update comments

---------

Co-authored-by: Maksim Kutakov <maxim.kutakov@gmail.com>
2023-10-26 10:41:34 +02:00
Vitaliy Urusovskij d532d14540 Range, RDFT, RandormUniform, ReduceOps layer tests to API2.0 (#20692)
* `Range` to API2.0

* `RDFTLayerTest` to API2.0

* `RandomUniformLayerTest` to API2.0

* `ReduceOpsLayerTest` to API2.0
2023-10-26 11:07:23 +04:00
Tomasz JankowskiandMichal Lukaszewski 301ea0beb0 [core] Migrate SpaceToDepth operator to new API (#20530)
* Drop HostTensor and move to ov namespace

* Drop HostTensor

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-26 08:35:38 +02:00
Sun Xiaoxia b9c64370fb Fix memory leak on windows (#20590) 2023-10-26 09:42:50 +04:00
Vladimir Paramuzov d9c4ca3021 [GPU] Allow setting remote output for dynamic model (#20608) 2023-10-26 09:09:54 +04:00
Gorokhov Dmitriy 63299ec217 [CPU] FullyConnected acceleration with 4bit weights decompression (#20607) 2023-10-26 01:08:07 +04:00
Mikhail Ryzhov 00e2381d04 [GHA] Jobs timeouts (#20601)
* set linux timeouts

* set win timeouts

* other timeouts

* reverted pugixml

* fixed conformance timeout

* reset omz
2023-10-26 00:39:31 +04:00
Mikhail Ryzhov 49c5099f5e [GHA] Removed dependency on git repo in python tests (#20390)
* Removed repo deps in py tests

* fixed typo

* changed test cmd

* add test_utils to pythonpath

* set test_utils to LD_LIBRARY_PATH

* changed path

* changed path

* source python site-packages

* fixed LD_LIBRARY_PATH

* print pip dir

* changed python install path

* source all openvino dir

* isolate test_utils

* system deps

* reordered deps

* dep conflict

* tests reorder

* changed test_utils path

* cpack test dir

* rebase fix

* fixed env

* frontend tests fix

* removed already installed reqs

* debug

* debug 2

* added python action path

* test

* reset 3rdparties

* set pip install path globally

* reset 3rdparties

* removed parallel code

* moved doc snippets

* switched back 4-core runner

* removed global unused vars

* removed unused requirements.txt

* removed unused requirements

* test

* Revert "test"

This reverts commit bdf22d22fd6ec5d488930bc362bdb0741c5bea76.
2023-10-25 20:16:01 +00:00
Andrey KashchikhinandIlya Lavrenov 214e08599b [CI] [GHA] Switch Windows pipeline to dynamic build and to VS 2019 (#20630)
* build dynamic in win main; transfer win main to MSVC 2019; use toolchain for win cc

* Update windows_conditional_compilation.yml

use cmake toolchain globally in build stage

* Update windows_conditional_compilation.yml

* Update windows_conditional_compilation.yml

* use quotes

* try w/o protobuf

* do not restore cache

* return

* revert

* add missing shell

* skip Template OpImpl tests

* skip OV C API tests

* rm pr trigger

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-25 22:36:25 +04:00
Irina Efode e4f4714fca [CONFORMANCE] Prepare model filelist for SubgraphsDumper (#20617)
* [CONFORMANCE] Prepare model filelist for SubgraphsDumper

* Improve default and custom scenario

* Update constants.py

* remove extra file

* improveemnt
2023-10-25 21:52:45 +04:00
Ilya Lavrenov 0d68bb3c14 OpenVINO library expose requirement for C++11 (#20691) 2023-10-25 15:07:48 +00:00
Katarzyna MitrusandMichal Lukaszewski daa2c9ded0 [MO][Opset13] NMSRotated-13 support in MO IR Reader (#20354)
* nms_rotated mo ir read init

* Fix type infer and clean up

* Update tests

* Update tests

* update package BOM file

* Update type_infer

* Avoid files collision in tests

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-25 12:04:17 +00:00
Siddhant ChauhanandMaxim Vafin bc463e886b [PT FE] Add aten::log10 (#20621)
* Add log10 operator and test

* fix

* Update test_log.py

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-25 14:14:22 +04:00
Vitaliy Urusovskij 04c766e9f1 ReverseSequence, RNNCell, Reverse to API2.0 (#20569)
* `ReverseSequence` to API2.0

* `RNNCell` to API2.0

* `Reverse` GPU test to API2.0

* Alignment fix
2023-10-25 09:37:36 +00:00
Evgenya Nugmanova f2b26962fa De-Reshape MatMul (#20396)
* De-Reshape MatMul

* Fixed includes

* Comments resolved

* Style

* comment adressed
2023-10-25 09:04:04 +00:00
68538b2b3f docs 📝 : add the take issue workflow [19006] (#19027)
* docs 📝 : add the take issue workflow

* chore: add the latest tag from action

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>

* Update .github/workflows/triage.yml

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>

* docs(readme): more descriptive message

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>

* docs(triage): more descriptive message in action

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>

* chore: .github/workflows/triage.yml

Co-authored-by: Andrey Kashchikhin <andrey.kashchikhin@intel.com>

* chore:🌻 rename the file and add new secret

---------

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>
Co-authored-by: Andrey Kashchikhin <andrey.kashchikhin@intel.com>
2023-10-25 12:50:53 +04:00
Fang Xu 361011c75e fix coverity scan issue (#20678) 2023-10-25 12:48:43 +04:00
Vladimir Paramuzov 307176e5c6 [GPU] Fixed surfaces shape in create_tensor_nv12 helpers (#20539) 2023-10-25 12:46:47 +04:00
Vladimir Paramuzov 3313d1ce7a [GPU] FC with 4-bit weights compression support for iGPU (#20572) 2023-10-25 12:45:31 +04:00
Pawel RaaszandMichal Lukaszewski b3eb2810d7 [core]Migrate Negative operator to new API (#20609)
* Migrate Negative operator to new API

* Remove `visit_attributes` is same as base

* Use std::negate instead of lambda

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-25 10:39:50 +02:00
Irina Efode d138dd2f08 [CONFORMANCE][SUBGRAPHS DUMPER] Fix issue connected with fused_names extractor (#20522)
* [CONFORMANCE][SUBGRAPHS DUMPER] Fix issue connected with  extractor

* fix build
2023-10-25 12:37:04 +04:00
Pawel RaaszandTomasz Jankowski e1a33f10d5 [core]Migrate Slice to new API (#20417)
* Migrate slice to new API

* Remove visit_attributes, is same as base class

* Move shape checks to shape_infer
- minor refactor Slice op

* Move `get_tensors_partial_shapes` to dev API

* Correct comment

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>

---------

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
2023-10-25 08:19:14 +00:00
Evgenya Nugmanova 7874adb58e [Symbolic SI] Refactor Table of Equivalence (#20627) 2023-10-25 09:54:47 +02:00
Nikolay Shchegolev dc4240bc61 [CPU] Removed custom ShapeInference impl for RandomUniform (#20599) 2023-10-25 09:15:03 +02:00
Maciej Smyk 706d657637 [DOCS] Install Guide Update for master (#20677)
* missing info

* System Requirements

* Update installing-openvino-from-archive-macos.md

* system requirements update
2023-10-25 09:12:41 +02:00
Wilson Seok c70f0ca45d [GPU] skip excessive mem alloc request in build (#20399)
* skip excessive mem alloc request in build

* update mem check function

* fix os behavior

* update mem size check location

* only dynamic shape case takes check_allocatable

* update check condition
2023-10-25 09:09:11 +02:00
Wilson Seok 9d56c31581 [GPU] add shape infer in scatter elements update (#20250)
* add shape infer in scatter elements update

* output shape is same with input shape in dynamic case
2023-10-25 09:01:52 +02:00
Vitaliy Urusovskij a71283ea94 RNNSequence, Result, Reshape, ReorgYolo, RegionYolo layer tests to API2.0 (#20644)
* `RNNSequenceTest` to API2.0

* `Result` to API2.0

* `Reshape` to API2.0

* `ReorgYolo` to API2.0

* `RegionYolo` to API2.0

* Alignment fixes

* Skip more `RNNSequenceTest` cases
2023-10-25 08:16:28 +02:00
Maxim Vafin 46f46c6cc6 [PT FE] Fix xmod model test (#20682) 2023-10-25 08:00:34 +02:00
Oleg Pipikin 30260e3c7c Refaсtor ActivationLayerTest (#20180)
* Refator ActivationLayerTest
2023-10-25 09:37:29 +04:00
Tomasz JankowskiandMichal Lukaszewski 973b194776 [core] Migrate DepthToSpace operator to new API (#20515)
* Move into ov namespace

* Use ov::Tensor in place of HostTensor

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-25 07:10:54 +02:00
Pawel RaaszandMichal Lukaszewski 84732515b4 Fix check repeats in values in Tile (#20654)
- no action if any of repeats is zero

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-25 07:27:21 +04:00
Eddy Kim 6fa4f9fd78 [GPU] fixed to create Graphs with different stream_ids (#20626)
* fixed to create Graphs with different stream_ids

* added num_streams config for auto batch test
2023-10-24 20:26:36 -07:00
Pawel RaaszandMichal Lukaszewski 5fee2ef67e Migrate LessEqual and GreaterEqual to new API (#20645)
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-25 07:26:31 +04:00
Pawel RaaszandMichal Lukaszewski 2b65855793 [core]Migrate Less and Greater operators to new API (#20628)
* Migrate Less operator to new API

* Migrate Greater operator to new API
- use less implementation in greater to reduce bin size

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-25 07:25:05 +04:00
Andrey Babushkin ee6263a141 [workflows/linux] Switch to sccache and Azure Blob Storage (#20484)
* [workflows/linux] Switch to sccache and Azure Blob Storage

* Install curl

* Remove --show-config

* Add sccache to other Linux workflows

* sccache to  Android, curl to riscv and CC

* Use sccache action instead of manual install

* Oops, missed sccache manual installation in two places

* Use env vars instead of hardcoded CMAKE_C(XX)_COMPILER_LAUNCHER

* Forgot one more stage in Linux CC pipeline

* Temporarily disable Blob Storage for RISC-V

For some reason sccache has no effect on build time and show 0 hits
and 0 compilation requests despite being in CMake calls

* forgot to add sccache installation to Linux CC

* Revert "Temporarily disable Blob Storage for RISC-V"

This reverts commit b528f41dad583a38b9ef93121e38044b9dccb71b.

* Missing container option for CC build

* Remove curl installation

* Remove CCACHE* variables which have no effect on sccache

* Revert sccache changes for Linux RISC-V workflow
2023-10-24 20:52:56 +01:00
Oleksii Khovan 984e4dbf35 [GPU] NMSRotated-13 (#20411)
* Add Rotation support to primitive and kernel

* Add unit tests

* Add transformation for NMSRotated

* add single-layer tests

* Fix: angle value for the same box may have its sign changed several times passing through iterations of batch and class loops.

* fix review comments
2023-10-24 21:36:02 +02:00
Siddhant ChauhanandPrzemyslaw Wysocki eb55360f10 [ONNX] Extend ONNX Frontend with BlackmanWindow, HammingWindow and HannWindow operators (#19428)
* ONNX BlackManWindow enabled

* added a test periodic

* Add the license statement

* ONNX HammingWindow, HannWindow enabled

also added basic tests for each

* minor tests added

* made reviewed changes

* made reviewed changes

used output_datatype directly, returned y_values directly

* fixed clang-format

* add OPENVINO_SUPPRESS_DEPRECATED_START

* include math.h

* float fix

* fix

* fix namespace to set_1

* test fixes

* fix cast to output_datatype

* fix, replace cast with ov::convert

* fix, use element::f32

* major fixes

* fixes

* Update onnx_import.in.cpp

* Update onnx_import.in.cpp

---------

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>
2023-10-24 21:45:50 +04:00
Evgeny KotovandIvan Tikhonov 22184c32f4 fix random layer names and count (#20323)
* add sorting for fix sporadic failure in SharedOpOptimization shared_node_optimization

* fix Output and Input comparison

* remove unneed sorting from transformation

* add unit test

* code review fixes

* code review fixes

* code review fixes

* code review fixes

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-10-24 18:18:50 +02:00
Ilya Churaev 124f2bc5c9 Remove NF4 Convert from public API (#20666)
* Remove NF4 Convert from public API

* Fixed build
2023-10-24 19:19:16 +04:00
Ilya Lavrenov 337e225dbd Removed linux.yml AZure pipeline (#20341) 2023-10-24 16:59:17 +02:00
Sergey Shlyapnikov 26cab79988 [GPU] Improve OOOQ synchronization between ShapeOf subgraph's CPU impls and GPU kernels (#20595)
* [GPU] Add ITT counters for primitive inst

* [GPU] Improve OOOQ synchronization between ShapeOf subgraph's CPU impls and GPU kernels
2023-10-24 18:49:41 +04:00
Andrei Gorbachev 20bd58759a [GPU] Refactor grn, gru_cell, group_convolution, group_convolution_backprop_data, is_inf, log_softmax, logical, mat_mul, lrn, lstm_cell (#20520)
* grn

* gru_cell

* group_convolution

* group_convolution_backprop_data

* is_inf

* log_softmax

* logical

* mat_mul

* lrn

* lstm_cell

* fix after review
2023-10-24 18:48:29 +04:00
Aleksandr Voron c6707aab86 [CPU] Add input type check into in-place condition (#20529) 2023-10-24 18:45:48 +04:00
Irina Efode 63fff9d270 [IE TESTS][CONFORMANCE] Move Calculate reference over TEMPLATE plugin instead of interpreter (#12532)
* [CONFORMANCE] Enable template calculation reference

* Move convert init to cpu

* skip gpu
2023-10-24 16:34:37 +02:00
Evgeny Kotov 251602636c Fuse GeLU (#20428)
* add transformation + test

* move transformation to GeluFusion

* add comments

* code review fixes

* fix

* code review fixes

* code style fix

* fix windows build warning
2023-10-24 18:23:14 +04:00
Pawel RaaszandMichal Lukaszewski 5ffde7d8d6 [core]Migrate Minimum operator to new API (#20597)
* Migrate Minimum op to new API

* Refactor evaluates to reduce binary size
- add infer_broadcast_shape, get shapes from tensors reduce OV_ASSERT
- refactor Evaluate structures to reduce binary size

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-24 14:48:09 +02:00
Vitaliy Urusovskij e977a6ed9b Fix COPY_INSTEAD_OF_MOVE issue in Hetero (#20667) 2023-10-24 12:44:01 +00:00
Mateusz Tabaka b7406247ff Add TransposeMatMul transformation to MOC (#20460)
Transformation fuses Transpose on first or second MatMul's input
and sets MatMul's transpose_a/transpose_b accordingly.

TransposeMatMul is already part of SmartReshape, but it can be added
to MOCTransformations as well so native models that are don't use reshape
can benefit from that.

Ticket: CVS-118908
2023-10-24 14:40:36 +02:00
Maksim Kutakov 6395fc672d [CPU] Make static TI run a dynamic subgraph (#20527)
* Make static TI run a dynamic subgraph

* Dedicated SL test

* Change condition to respect stat shapes

* Adjust test to cover the code path properly
2023-10-24 14:28:00 +02:00
Pawel Raasz 750f62fd04 [shape_infer]Add preserve partial values on inputs for Mod operator (#20169)
* Preserve partial values on mod inputs
- static values full range of integers
- intervals only if not negatives

* Fix bounds evaluate when inputs are scalars
2023-10-24 14:53:54 +04:00
Vitaliy Urusovskij 1daa4b9e5e Skip smoke_TestsROIPooling f16 test on ARM (#20552) 2023-10-24 09:09:37 +00:00
Mateusz TabakaandIvan Tikhonov 2668f68816 CompressQuantizeWeights - fix zero point calculation (#20541)
Current implementation tries to leverage branchless approach, but it's not correct
if scale is 0. In that case - zero point can can become inf or nan and multiplication
by 0 doesn't change its value. That causes another issue - infinite or NaN zero point
cannot be optimized out later.

Ticket: CVS-122931

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-10-24 10:21:06 +02:00
Andrei Gorbachev ea6922386e [GPU] Refactor ConvertColorNV12, ConvolutionBackprop, Convolution (#20376)
* ConvertColorNV12

* ConvolutionBackprop

* Convolution

* fix after review
2023-10-24 09:38:23 +02:00
Vladimir Paramuzov 5853509b3c Fixed ngraph reference impl for Range operation (#20631)
* Fixed ngraph reference impl for Range operation

* Truncate range for integer output type

* explicit static cast
2023-10-24 10:18:04 +04:00
Ilya Churaev 7ceff55b71 Add AlignedBuffer to OpenVINO developer API (#20532)
* Add AlignedBuffer to OpenVINO developer API

* Fixed build

* Fixed code style and remove opset deprecation

* Fixed Windows build

* Fixed GNA

* Fixed comment
2023-10-24 06:13:23 +00:00
Yuan Hu 84a0994ec5 [core] fix memory leak issue imported by #18868 (#19832)
* try to fix memory leak issue

cpustreamer is released, but there are still thread id in t_stream_count_map

* fix threadlocal affect all threads

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* add comment for local() function to avoid mistaken modification
in the future

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* use custom stread id

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* fix review comments

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* fix format issue

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* create shared_ptr before assert

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

---------

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>
2023-10-24 13:59:08 +08:00
Vladislav Golubev afda7ad70f [Transformations] FuseU4WeightsAndZeroPoint transformation (#20503) 2023-10-24 09:44:26 +04:00
Zhang Yi d490ab68d1 [CPU][MLAS] FC uses L2 cache for thread partition (#20436) 2023-10-24 09:31:03 +04:00
Ivan Novoselov bc82ba4419 [Snippets] Dynamic pipeline reorganization (#18563) 2023-10-24 09:23:10 +04:00
Roman Lyamin 59fe0a05a4 [GPU] Fix for reorder fusing in fuse_constant_transposes pass (#20651) 2023-10-24 09:21:30 +04:00
Andrew Kwangwoong Park 894221ea38 [GPU] Add RMS internal op, related transformation, primitive, and kernels for RMS decomposition fusion (#20355)
* Initial implementation of primitive, kernel selector, dummy kernel for RMS Norm

Signed-off-by: Andrew Park <andrew.park@intel.com>

* RMS ref kernel implementation with single WI

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add TC and reference func for ov_gpu_unit_tests

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add internal RMS norm op

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add transformation which fuse RMS decompsition pattern to RMS internal op

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Fix pattern for RMS fusion transformation

* Update rms ref kernel for optimization and additional planar format suuport

* Initial impl for optimized rms kernel excluding leftovers handling and case smaller than vector size

* Update the initial version to handle leftovers and case smaller than vector size

* Fuse pre decom and post comp reorders additionally

* Enable dynamic impl for rms again

* Revert fuse pre decomp and post comp reorders additionally

* Add subgraph TC for ov_gpu_func_tests

* decrease error margin for f32 data type

* update description

Signed-off-by: Andrew Park <andrew.park@intel.com>

* update test param for input shapes

* Apply comments

* Fix failed TC for invalid gamma element type

* Apply comments

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Update pattern that fuse post reorder together

* Apply comments

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-10-24 02:52:02 +00:00
Maxim Vafin 8d0381b0fe [PT FE] Implement custom op for types alignment (#20431)
* [PT FE] Implement custom op for types alignment

* Fix code style

* Fix inplace ops

* Fix layer tests

* Remove no longer needed change

* Fix ovc tests

* Fix fe tests
2023-10-23 22:54:08 +02:00
Roman KazantsevandMaksim Kutakov 009ef5657c [TF FE] Provide full support of TF1 Control flow and TensorArray* ops (#20270)
* [TF FE] Provide full support of TF1 Control flow and TensorArray ops

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add missed header for TensorArrayV3 op

* Temporarily disable GRU cell fusion

* Update src/common/transformations/src/transformations/common_optimizations/moc_transformations.cpp

* Fix a case when element_shape for TensorArrayV3

* Fix translator for TensorArrayCloseV3

* Update summarize graph with TensorArrayCloseV3

* Add layer tests for TensorArrayScatterV3, Close, Size, Array

* Fix output shape for Merge node

* Remove unused variable

* Fix translator for TensorArrayConcatV3

* Fix translator for TensorArrayConcatV3

* Add layer tests for TensorArrayWriteV3, Gather, and Concat

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Add translator for GatherTree

* Fix TF FE unit-test for GatherTree

* Fix GatherTree translator

* Fix GatherTree translator to handle 1d end_token

* Fix undeclared parameter issue

* Fix GatherTree unit-test

* Add TensorArrayV3Replacer transformation

* Temporarily disable dangling transformation

* Recover RemoveMultiSubGraphOpDanglingParamsResults transformation

* Recover GRUCellFusion transformation

* Simplify check for GRUCellFusion transformation

* Use proper name for unit-tests

* Simplify translator for TensorArrayWriteV3

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Fix RemoveMultiSubgraphOpDanglingParamsResults transformation

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Additional fix for remove_multi_subgraph_op_dangling_params

* Make static TI run a dynamic subgraph

* Dedicated SL test

* Change condition to respect stat shapes

* Adjust test to cover the code path properly

* Recover fallback for still failing case GNMT

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Maksim Kutakov <maksim.kutakov@intel.com>
2023-10-23 22:50:26 +02:00
Roman KazantsevandKarol Blaszczak 99dfbb400a [TF FE] Document full list of TF operations and their support by TF FE (#20640)
* [TF FE] Document full list of TF operations and their support by TF FE

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update src/frontends/tensorflow/docs/supported_ops.md

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-10-23 15:24:35 +04:00
Fang Xu 5e017dc5d2 fix compilation issue for openmp on windows (#20312)
* fix compilation issue for openmp on windows

* update based on suggestions
2023-10-23 15:18:51 +04:00
Andrey KashchikhinandIlya Lavrenov b67cff7cd5 [CI] [GHA] Introduce macOS ARM64 as a matrix parameter in the macOS pipeline (#20363)
* add m1 mac pipelines as a matrix parameter

* Update mac.yml

disable java_api because of macos arm64 - Java is not available on macOS arm64 runners

* Update mac.yml

added always condition for all tests

* Update mac.yml

* Update mac.yml

* Update mac.yml

* Update setup.py

temp commit

* Update tools/openvino_dev/setup.py

* use matrix for var

* add mxnet to extras only for x86_64

* skip failing tests

* use xfail for Python tests; add missing filter for transformations tests

* skip CPU func tests on x86_64 mac; skip some tests from CPU func tests on arm mac

* Update mac.yml

* skip tests on mac arm

* skip tests on darwin; apply review

* add more skips for python and c++ tests

* skip tf tests

* skip more tf tests; skip more Python UT stages

* rm alwayses, rm triggers, add nightly trigger

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-23 15:06:22 +04:00
Irina Efode 4fe6d5ec54 Fix OpImplCheck in GHA (#20650)
* Update mac.yml

* Update mac.yml
2023-10-23 15:04:05 +04:00
Ilya Churaev 865b21ecd4 Introduce WA to improve performance of find_port() method (#20573)
* Introduce WA to improve performance of find_port() method

* Add mutex

* Remove redindant lock

* Reduce the number of get_tensor_ptr calls

* Fixed typo

* Removed WAs from Hetero plugin
2023-10-23 13:44:58 +04:00
Irina Efode 6e4ec88db8 [GHA][CONFORMANCE] Enable and conformance for Template in GHA (#20604)
* [GHA][CONFORMANCE] Enable  and conformance  for Template in GHA

* apply review

* Update linux.yml
2023-10-23 10:47:15 +02:00
Karan Jakhar 5dafee4ac1 fixing type, suppored -> supported (#20639) 2023-10-22 17:25:59 +04:00
Evgenya Nugmanova 94a63605d1 Clear error message in the Constant::cast_vector (#20629) 2023-10-22 01:03:42 +04:00
Ilya Lavrenov 0934d2a7dd Moved all tensorflow proto files to a folder with ov prefix to avoid ODR (#20636)
conflicts
2023-10-22 01:02:32 +04:00
Maxim Vafin b17d0fe7f5 Update model list for hf hub tests (#20485)
* Update model list and install cpu torch

* Move to hub tests

* Update tests/model_hub_tests/torch_tests/requirements.txt

* Make pytorch mainteiners owners of torch tests
2023-10-20 20:12:00 +04:00
Lucas Alava PeñaandJan Iwaszkiewicz fc93262d7c fix typo in opset3 shuffle_channels docstring (#20158)
Co-authored-by: Jan Iwaszkiewicz <jan.iwaszkiewicz@intel.com>
2023-10-20 15:00:50 +04:00
Mateusz MikolajczykandMaxim Vafin 891f79ac84 [PT FE] Add aten::as_strided (#19482)
* Add aten::as_strided

* rm commented code

* Update src/frontends/pytorch/src/op/as_strided.cpp

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Update src/frontends/pytorch/src/op/as_strided.cpp

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Fix CI error

* Fix CI issues

* mark_node for remaining constants

* Add test reproducing issue

* Use strides from torchscript

* Add led model to test suite

* Add sugested changes

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-20 14:24:10 +04:00
73d25a0f99 [PT FE] Add readme for pytorch frontend (#20610)
* Add readme for pytorch frontend

* Mension fx decoder

* Apply suggestions from code review

* Update src/frontends/pytorch/README.md

* Apply suggestions from code review

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Apply suggestions from code review

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Apply suggestions from code review

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update src/frontends/pytorch/README.md

* Update src/frontends/pytorch/README.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

---------

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
2023-10-20 14:23:13 +04:00
rsato10andRoman Kazantsev 9edbcb1d4d [TF FE] Support ToBool operation (#20511)
* [TF FE][TF Hub] Support ToBool operations

* [TF FE][TF Hub] Support ToBool operations

* fixing select operation Support ToBool operations for TF Hub models

* added false and true const for tobool operations

* added reduction axes

* Apply suggestions from code review

* Update tests/layer_tests/tensorflow_tests/test_tf_ToBool.py

* Update tests/layer_tests/tensorflow_tests/test_tf_ToBool.py

* Update tests/layer_tests/tensorflow_tests/test_tf_ToBool.py

* Update src/frontends/tensorflow_common/src/op/tobool.cpp

* added second zero constant

* added correct types  src\frontends\tensorflow_common\src\op\tobool.cpp

* added includes src\frontends\tensorflow_common\src\op\tobool.cpp

* Update src/frontends/tensorflow_common/src/op/tobool.cpp

* remove select and not_equal src/frontends/tensorflow_common/src/op/tobool.cpp

* Apply suggestions from code review

* Update src/frontends/tensorflow_common/src/op/tobool.cpp

* Apply suggestions from code review

* Update src/frontends/tensorflow_common/src/op/tobool.cpp

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-10-20 14:22:30 +04:00
Ilya Lavrenov 2b8827abd0 Updated urllib3 to resolve CVE (#20620) 2023-10-20 11:37:13 +04:00
Ilya Lavrenov 361b250fc4 WA issues with dynamic protobuf usage in Fes (#20612) 2023-10-20 10:44:42 +04:00
Siddhant ChauhanandRoman Kazantsev ec2ae003aa [TF FE][TF Hub] Support TruncateDiv operation (#20615)
* [TF FE][TF Hub] Support TruncateDiv operation

* [TF FE][TF Hub] Support TruncateDiv operation

* Update src/frontends/tensorflow_common/src/op/truncate_div.cpp

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-10-20 01:58:58 +04:00
Anastasiia Pnevskaia cb8fac1576 Updated OMZ submodule. (#20611) 2023-10-20 01:15:24 +04:00
Siddhant Chauhan 070678fc19 [TF FE][TF Hub] Support TruncateMod operation (#20468)
* [TF FE][TF Hub] Support TruncateMod operation

* Update truncate_mod.cpp

* fix
2023-10-19 22:40:38 +04:00
Mustafa CavusandMaxim Vafin 3d5fe8d446 Llm and sd additional ops (#20435)
* TorchFX: New ops added (baddbbmm, leaky_relu_)

* TorchFX: Initial scaled_dot_product_flash_attention

* Code Formatting: scaled_fot_product_attention translation

* TorchFX unit test enabled for SDPA

* Typo fix in comment line

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-19 21:21:28 +04:00
Mustafa CavusandJan Iwaszkiewicz 5018be82c3 TorchFX: Constant value pass without copy (#20380)
* TorchFX: Constant value pass optimization

* Replace op.Constant with make_constant in fx_decoder

* Using shared memory for constant value passing

Co-authored-by: Jan Iwaszkiewicz <jan.iwaszkiewicz@intel.com>

---------

Co-authored-by: Jan Iwaszkiewicz <jan.iwaszkiewicz@intel.com>
2023-10-19 19:35:10 +04:00
Andrey Kashchikhin f6aa2ab7af fix yml (#20614) 2023-10-19 19:17:16 +04:00
Andrey Kashchikhin e4a83b9b77 [CI] [GHA] Extend Win CC pipeline with tests, make it static (#20579)
* start with transferring

* add CPU fun tests stage; complete CC stage

* start tests in comd

* uncomment

* fix step

* rm restore key

* align cmake

* add tbb path setting, continue on error

* add logs; add missing dir; add extension for ov cpu test bin

* add missing slash for path; explicitely set BUILD_TYPE

* correct paths for layer tests summary files; add tbb as target

* correct path to tbb

* rm triggers; add nightly trigger; rm debug conditions

* rm comment on cache
2023-10-19 18:05:55 +04:00
Sebastian GolebiewskiandIlya Lavrenov 818c78d80a [DOCS] Fix command for Building with Ninja (#20605)
* Fix command for Building with Ninja

Removing current directory from the command.

* Update docs/dev/build_windows.md

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-19 15:31:03 +04:00
Anastasiia PnevskaiaandAndrey Kashchikhin be177021b0 Switching telemetry to opt-out and disabling telemetry in CI jobs (#20391)
* Added disabling telemetry script to linux azure job, added debug checks to convert_model.

* Telemetry disabling.

* Disabling telemetry.

* Config corrections.

* Config corrections.

* Update .github/workflows/mac.yml

Co-authored-by: Andrey Kashchikhin <andrey.kashchikhin@intel.com>

* Debug output.

* Win config correction.

* Win config correction.

* Debug output.

* Debug output.

* Added turning off telemetry to onnx azure tests config.

* Corrected config.

* Removed debug output.

* Switch telemetry to opt-out.

* Removed not needed blank lines.

* Text correction.

* Debug output.

* Remove changes from CI configs, add CI var to dockers.

* Config correction.

* Debug output.

* Config corrected.

* Readme corrected.

* Config changed.

* Config changed.

* Debug output.

* Required version changed.

* Remove debug output.

---------

Co-authored-by: Andrey Kashchikhin <andrey.kashchikhin@intel.com>
2023-10-19 15:26:21 +04:00
Ilya Lavrenov 1aebf6df5f Add prefixes to proto files to avoid ODR conflicts (#20588) 2023-10-19 14:45:19 +04:00
Fang Xu 6bec4fc6df build onetbb with hwloc2.9.3 (#20481) 2023-10-19 11:57:27 +04:00
Ilya Lavrenov ad9a146f94 Enabled LC_RPATH for brew (#20587) 2023-10-19 11:44:38 +04:00
Irina Efode 137c8e896f [OP CONFORMANCE] Fix op version operations in conformance report (#20502)
* [OP CONFORMANCE] Fix op version operations in conformance report

* Code style + SD test
2023-10-19 11:22:44 +04:00
Ilya Lavrenov 5fb6785f9e Enabled FrontendLibCloseTest FE test suite (#20592) 2023-10-19 11:18:42 +04:00
Katarzyna Mitrus dc9ec1ee9d Fix MO multinomial shape array (#20548) 2023-10-19 04:53:38 +04:00
46935e0a00 Partial GPTQ int4 models conversion support + Swap nibbles in u4/i4 element type (#20371)
* Reference implementation for u4 constant compression from pytorch model based on bitwise ops pattern

* Fixed order of 4-bit halfs in byte

* Switched PyTorch FE to dev mode: in case if model cannot be fully converted, give partially converted model with PTFrameworkNode's with a printed warning (normally would raise an exception in case).

* Moved u4 compression to utils_quantize. Implemented not-interleaved version of u4 compression

* Removed debug output

* Added aten::matmul to the list of exceptions in may_produce_alias as a workaround for gptq models

* Added patching for gptq models applied automatically in convert_model

* WA for an inssue with u4 with earlier convert to fp16

* U4 blocked repacking for gptq patched model layout

* Deleted obsolete u4 re-packing based on aten::cat. Fixed the resulting u4 constant shape. Removed debug output.

* Revert "Switched PyTorch FE to dev mode: in case if model cannot be fully converted, give partially converted model with PTFrameworkNode's with a printed warning (normally would raise an exception in case)."

This reverts commit 0ef1455e70.

* Update src/frontends/pytorch/src/op/cat.cpp

* Check mask and shift values in u4 pattern. deque -> OutputVector for u4_compression_stack

* Convert to a given floating type instead of half in gptq patching. Better structured code.

* Code style fix

* Removed deque include

* Code style fixes

* Trailing space removed

* Fixed patched_forward and ts_decoder after unvalidated commits.

* Swap nibbles in u4/i4

* Better exception handling around jit.trace and gptq.patch_model

* Update src/bindings/python/src/openvino/frontend/pytorch/gptq.py

Co-authored-by: Alexander Kozlov <alexander.kozlov@intel.com>

* Update src/bindings/python/src/openvino/frontend/pytorch/gptq.py

Co-authored-by: Alexander Kozlov <alexander.kozlov@intel.com>

* Code style

* Revers int4 byte order

* Fixed core tests

* Fixed unguarded dynamic_cast result

Co-authored-by: Evgenya Nugmanova <eva.my.link@gmail.com>

* Fixed transformation tests

* Update src/bindings/python/src/openvino/frontend/pytorch/gptq.py

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Prevent patching of non-gptq models

* Removed extra calling of quantized weights decompression patterns

* Better detection of supported AutoGPTQ models + more diagnostics

* Accurate diagnostics in case when aten::stack has multiple axes

---------

Co-authored-by: Alexander Kozlov <alexander.kozlov@intel.com>
Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
Co-authored-by: Evgenya Nugmanova <eva.my.link@gmail.com>
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-18 21:06:17 +04:00
Mikhail Ryzhov cf9791e3e0 [GHA] Temporary disable win workflows (#20568)
* moved win workflow to nightly

* reset redundant files

* removed redundant files
2023-10-18 20:43:46 +04:00
491454103e [Docs] fix failure of python snippet (#20516)
* [Docs] fix failure of python snippet

* trigger python snippets

* fix ga

* Update .github/workflows/linux.yml

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>

* Update .github/workflows/linux.yml

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>

* return back fix

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
2023-10-18 14:23:52 +00:00
Pawel Raasz f2549f2d59 [core]Migrate VariadicSplit op to new API (#20416)
* Migrate VariadicSlice to new API
- refactor to reduce bin size

* Move `get_tensors_partial_shapes` to dev API

* Use get_tensors_partial_shapes in VariadicSplit

* Remove `visit_attributes` is same as base
2023-10-18 15:02:18 +02:00
Sergey Shlyapnikov 6c396fac9d [GPU] Deferred events deallocation and tuning for FC bf_tiled kernel (#20519) 2023-10-18 16:28:27 +04:00
Sergey ShlyapnikovandVladimir Paramuzov 6e97b91a77 [GPU] UsmHostTensor implementation (#20518)
Co-authored-by: Vladimir Paramuzov <vladimir.paramuzov@intel.com>
2023-10-18 16:12:15 +04:00
Vladimir Paramuzov 90ad4c618d [GPU] Grouped decompression scale/zp support (#20491) 2023-10-18 15:56:35 +04:00
Tatiana Savina 4574fb112c change snippet name (#20538) 2023-10-18 13:27:10 +04:00
Zhang Yi d82cd839ce [PaddleFT]Simplify slice converter by opset8::slice (#20508) 2023-10-18 13:21:53 +04:00
Pawel Raasz 9fb40b0007 [core]Migrate LogicalNot to new API (#20438)
* Migrate LogicalNot to new API

* Rename file not.hpp -> logical_not.hpp

* Apply code style
2023-10-18 09:16:12 +00:00
Pawel Raasz 2415f0c7cf [core]Migrate BatchToSpace to new API (#20450)
* Migrate BatchToSpace to new API

* Remove not required suppression macro
2023-10-18 09:09:27 +00:00
Ekaterina AidovaandMaxim Vafin 222fbb1aec [PT FE]: support aten::fill_diagonal_, aten::fill (#20395)
* [PT FE]: support aten::fill_diagonal_, aten::fill

* remove xfail

* Update src/frontends/pytorch/src/op/full.cpp

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Update tests/model_hub_tests/torch_tests/test_hf_transformers.py

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-18 10:58:54 +02:00
Nikolay Shchegolev 4eab5b4635 [CPU] RandomUniform-8 implementation. (#20171) 2023-10-18 12:50:46 +04:00
hyunback kim 5f336a6870 [GPU] Support o_is_yx_isv2 (#20521)
216-attention-center model in notebooks needs o_is_yx_isv2 with onednn3.3

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-10-18 07:54:09 +00:00
Sungeun Kim 30a038c776 [GPU] Gather needs to keep the original input/output rank (#20042)
* Gather needs to keep the original input/output rank
  - because the parameters as indices, batch_dims and axis depend on the rank.
  - add input_rank to gather primitive.
* don't query on set_preferred_formats pass
  -when the force_implementations is set.
  -when forcing_impl is not onednn.
2023-10-18 16:28:22 +09:00
Andrei GorbachevandRoman Lyamin c8b64f6a95 [GPU] Refactor BroadcastLayer, Bucketize, Concat (#20369)
* BroadcastLayer

* Bucketize

* Concat

* fix incorrect fill_random_unique_sequence fo f16

* Update src/plugins/intel_gpu/tests/functional/shared_tests_instances/single_layer_tests/broadcast.cpp

Co-authored-by: Roman Lyamin <Roman.Lyamin@intel.com>

* fix after review

---------

Co-authored-by: Roman Lyamin <Roman.Lyamin@intel.com>
2023-10-18 10:02:18 +04:00
Siddhant ChauhanandRoman Kazantsev a30e25c725 [TF FE][TF Hub] Support BatchMatMulV3 operation (#20528)
* [TF FE][TF Hub] Support BatchMatMulV3 operation

* Update src/frontends/tensorflow_common/src/op/matmul.cpp

* Update src/frontends/tensorflow_common/src/op/matmul.cpp

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-10-18 09:49:33 +04:00
Nesterov Alexander 3b2ad48d79 [ARM CPU] Common fixes for fp16 (#20504) 2023-10-18 07:04:39 +02:00
Wang, Yang f723f90100 fixing the issue of importing property from openvino. (#20531) 2023-10-18 10:36:20 +08:00
Maxim Vafin f3b61d77e3 [GHA] Filter timm scope for model hub tests (#20525)
* Filter timm scope

* Apply suggestions from code review
2023-10-17 23:01:50 +04:00
Pawel Raasz 7515b042e8 [core]Migrate squeeze operator to new API (#20282)
* Migrate Squeeze to new API

* Remove visit_attributes as same as base class
2023-10-17 19:17:49 +02:00
Katarzyna Mitrus 33a97740b2 [MO][Opset13] Multinomial-13 support in MO IR Reader (#20446)
* Add Multinomial-13 to MO

* Add Multinomial tests for MO IR reader

* Move convert_type check

* Imports clean up

* Update pacgage BOM file

* Avoid files collision in tests
2023-10-17 17:50:42 +02:00
Tatiana Savina f78e206ecb [DOCS] Update components in readme (#20524)
* update readme

* add space

* add space
2023-10-17 17:49:07 +02:00
Tatiana Savina b270e36590 add AMX (#20523) 2023-10-17 17:48:20 +02:00
Oleg PipikinandVitaliy Urusovskij a5fb3823f6 Refactor EinsumLayerTest, EyeLayerTest (#20288)
* Refactor EinsumLayerTest

* Refator EyeLayerTest

* Apply comments

* Fix

---------

Co-authored-by: Vitaliy Urusovskij <vitaliy.urusovskij@intel.com>
2023-10-17 17:35:24 +02:00
Georgy Krivoruchko 1e7977332b Fixed naming and comments in ReduceProd (#20512) 2023-10-17 17:30:22 +02:00
Vitaliy Urusovskij 8fff47caf9 ROIPooling, ROIAlign layer tests to API2.0 (#20086)
* `ROIPoolingLayerTest` to API2.0

* `ROIAlignLayerTest` to API2.0
2023-10-17 14:35:19 +00:00
Aleksandr Voron e87d147f4c [CPU] [ARM] Enable Pooling SLT tests on ARM (#18013) 2023-10-17 18:09:44 +04:00
Katz Sasaki 404f4e29b7 fix typo of config check error message (#20517) 2023-10-17 17:26:37 +04:00
Oleg Pipikin a1daedc2e1 Disable NormalizeL2 and NonZero f16 tests on MacOs Arm64 (#20451) 2023-10-17 14:43:55 +04:00
Tomasz Jankowski e1a29ae96e [core] Migrate MaxPool operator to new API (#20424)
* Use API 2.0 in MaxPool v1

* Use API 2.0 in MaxPool v8

* Fix type selection

* Fix type selection

* Avoid redundant local copies
2023-10-17 13:30:18 +04:00
Vladislav Golubev 93a70497bd [CPU] fp16 weights decompression works with conversion to f32 (#20427) 2023-10-17 12:47:15 +04:00
Georgy Krivoruchko 05297a5572 Added coverage of "0" in bounds to ReduceProd (#18583)
* Check for ReduceProd + SoftMax fix

* Check for ReduceProd + SoftMax fix

* Fix after moving on get_constant_max_of_type

* Extended tests and added coverage for other types

* Code optimization
2023-10-17 12:38:24 +04:00
Maciej Smyk 07831c9dce [DOCS] Supported formats update for Benchmark C++ Tool for master (#20449)
* Update cpp_benchmark_tool.md

* Update cpp_benchmark_tool.md

* Update cpp_benchmark_tool.md
2023-10-17 09:59:14 +02:00
Ilya Churaev 3ced4a23e7 Remove TREAT_WARNING option from the doc (#20507) 2023-10-17 11:36:48 +04:00
Siddhant Chauhan 07a29f80b4 [TF FE][TF Hub] Support Xlog1py operation (#20500)
* [TF FE][TF Hub] Support Xlog1py operation

* Update test_tf_Xlog1py.py
2023-10-17 11:36:13 +04:00
Roman Lyamin fe9d5607ed [GPU] Fixed data generation for f16 fusion tests (#20247)
* [GPU] Fixed data generation for f16 fusion tests

* [GPU] Temporary tolerance increase for failed tests on iGPU

* [GPU] Temporary skip or tolerance increase for failed tests on dGPU
2023-10-17 11:17:07 +04:00
Wang, YangandChen Peter 86000bb8a2 [GPU] Reserve CPU resource for GPU inference (#19214)
* Update.

* Update.

* Update.

* add test case.

* Update.

* Update test cases.

* Update.

* Update.

* Updated.

* Updated.

* Updated.

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-10-17 05:42:56 +00:00
494f3d4bc8 [AUTO] Update python example and selection logic notice (#20294)
* Enable device properties setting via AUTO plugin.

* Update.

* Update.

* Update.

* Update.

* Update.

* Update.

* Update docs/OV_Runtime_UG/auto_device_selection.md

Co-authored-by: yanlan song <bell.song@intel.com>

* Add for stateful model

* Fix the link

---------

Co-authored-by: yanlan song <bell.song@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-10-17 11:28:59 +08:00
Pawel Raasz baee150678 Restore f16 precision due to GPU performance drop (#20443) 2023-10-17 01:22:32 +02:00
Aleksandr Voron c1816af864 [CPU] add_compile_definitions (OV_CPU_ARM_ENABLE_FP16) (#20498) 2023-10-16 20:06:59 +02:00
Yaroslav Torziuk 5d33a68598 [GPU] GroupNormalization-12 GPU reference implementation (#19155)
* Add group_normalization_kernel_selector

* Define group_normalization GPU primitive and its instantiation

* Add GroupNormalization operation builder

* Add test class for GroupNormalization operator

* Add instantiation of GroupNormalization test for GPU Plugin

* Disable GroupNormalizationDecomposition transformation in GPU Plugin

* Add GroupNormalizationKernelRef implementation

* Add GroupNormalization unit tests which cover blocked layout support
2023-10-16 10:54:56 -07:00
Vitaliy UrusovskijandOleg Pipikin d617952b0a Pooling to API2.0 (#20495)
* Refactor PoolingLayerTest

* Additional refactoring

---------

Co-authored-by: Oleg Pipikin <oleg.pipikin@intel.com>
2023-10-16 19:40:24 +02:00
Karol Blaszczak e0e7687143 [DOCS] restructuring the conversion section (#20487) 2023-10-16 19:06:55 +02:00
Paul Youngsoo Ahn 89bb8745a5 [GPU] Enable dynamic loop (#19818)
* [GPU] enable dynamic loop
- support multiple outputs
- support dynamic loop memory allocation
- support negative num_iterations
- implement calc_output_layouts
- add dynamic loop functional / unit tests

* Fix fail to check memory to set when original 1d data
- follow up code reviews

* Fix unit test failures

* Follow up code review
* Modify concat memory map creation process
* Check whether or not first input of loop is num_iteration_id

* Follow up code review
- refactoring preprocess_backedge_memory

* * Fix ci failures
* Clear custom_outputs_vec for condition
* Add num_outputs for condition and loop

* *Fix constant and param of body network have mismatched layouts

* Set consts.needsBatchInterpretation for const

* * refactoring is_dynamic in loop_inst::execute

* * remove wait_for_events in body_network execution loop

* * Remove redundant events

* * follow-up code review - modify OPENVNO_ASSERT

* * Remove redundant codes in loop_inst::execute

* * add current iteration update nodes into the ov::Model

* * rollback some codes for the performance degradation
2023-10-16 09:41:51 -07:00
Andrey Kashchikhin 755651cd34 disable pr trigger (#20497) 2023-10-16 19:21:48 +04:00
Sergey E. LosevandIlya Churaev bee7559faa Check output shape in OVInferRequestDynamicTests (#20398)
Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2023-10-16 17:46:49 +04:00
Aleksandr Voron 475ddb9283 [CPU] Change precision configuration by ov::pass::ConvertPrecision (#19993) 2023-10-16 16:32:47 +04:00
Ilya Lavrenov e812831346 Added ctest labels for FE tests only if FW is found (#20483) 2023-10-16 16:29:37 +04:00
Siddhant ChauhanandRoman Kazantsev a5b5623ece [TF FE][TF Hub] Support Xlogy operation (#20467)
* [TF FE][TF Hub] Support Xlogy operation

* fix

* fix

* fix

* fix

* Update tests/layer_tests/tensorflow_tests/test_tf_Xlogy.py

* Update tests/layer_tests/tensorflow_tests/test_tf_Xlogy.py

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-10-16 15:52:30 +04:00
Irina Efode c24d1b4abc [CONFORMANCE][CPU] Add Expected failures for CPU Opset13 OP (#20490)
* [CONFORMANCE][CPU] Add Expected failures for CPU Opset13 OP

* Update expected_failures_OP.csv

* Update expected_failures_OP.csv
2023-10-16 13:19:07 +02:00
Vladimir Paramuzov a00d28aac0 [GPU] Type traits cleanup (#20455) 2023-10-16 14:54:32 +04:00
Tatiana Savina 44ac9099b9 [DOCS] Add openvino-dev deprecation note (#20480)
* add deprecation note

* address comments
2023-10-16 11:53:50 +02:00
Sergey Shlyapnikov f655d2177d [GPU] Fix scatter_nd_update output paddings handling (#20447) 2023-10-16 13:52:45 +04:00
Sergey Shlyapnikov 146ca36f8f [GPU] Minor debug improvements: add suffix to shape agnostic kernels names and show batch_hash for impl_types::any (#20275) 2023-10-16 13:47:57 +04:00
Ilya Lavrenov 00618a429b Relocatable OpenVINO Dev package improvements (#20461) 2023-10-16 12:54:30 +04:00
Pawel Raasz fb93638cb2 [core]Migrate LogicalOr to new API (#20421)
* Migrate LogicalOr to new API

* Remove leftovers
2023-10-16 08:56:24 +04:00
Pawel Raasz 893517dd4a Migrate LogicalAnd to new API (#20423) 2023-10-16 08:54:38 +04:00
Pawel Raasz f107b7663f Migrate Split operator to new API (#20263) 2023-10-16 08:16:43 +04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 6f6017724f Bump pytest-timeout from 2.1.0 to 2.2.0 in /src/bindings/python (#20310)
Bumps [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) from 2.1.0 to 2.2.0.
- [Commits](https://github.com/pytest-dev/pytest-timeout/compare/2.1.0...2.2.0)

---
updated-dependencies:
- dependency-name: pytest-timeout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-15 03:14:14 +04:00
Mikhail Ryzhov e8861fb16a extended logs (#20442) 2023-10-14 13:19:36 +04:00
Ivan Tikhonov cd4623d2f6 Transformations: API 2.0 transition part 4 (#20445)
* Transformations: API 2.0 transition part 4

* fix code style
2023-10-14 00:27:43 +02:00
Ilya Lavrenov 0b78a388be Removed custom python usage in Azure pipelines (#20433)
* Removed custom python usage

* Removed custom python usage
2023-10-14 01:18:27 +04:00
Andrey Kashchikhin 2e33019e68 [CI] [GHA] Align pipelines (#20388)
* add ONNX layer tests

* add parallelism for pytest; add missing stages to win; align execution steps

* add missng shell option

* add missing dep, update marker

* align stages and execution commands; rm parallelization

* enable trigger

* add missing export; rm not-applicable stage from mac and win pipeline

* add missing requirement, rm not-applicable stage

* add missing test parameters

* try to pi onnxruntime version; skip mxnet on mac; correct vars in win

* rm constraint

* skip on win

* use xfail

* remove always(), rm trigger for mac

* return push trigger for mac
2023-10-13 23:48:15 +04:00
Irina Efode 523333cf1d [CMAKE][CONFORMANCE] Replace Lib target generation by executable for SubgraphsDumper (#20444) 2023-10-13 20:06:26 +02:00
Karol Blaszczak f142881c72 [DOCS] - system requirements and resources reorg (#20088) 2023-10-13 18:44:48 +02:00
Karol Blaszczak 1bdd65bfc4 [DOCS] update selector tool (#20342) (#20454)
authored-by: Alexander Suvorov <alexander.suvorov@intel.com>
2023-10-13 18:21:39 +02:00
739afa9d56 Guide for input/output in original FW. (#20141)
* Added guide for input/output in original FW.

* Apply suggestions from code review

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Removed unused import.

* Apply suggestions from code review

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Text format corrections.

* Header format correction.

* Minor correction.

* Minor corrections.

* Minor corrections.

* Removed unused import.

* Update docs/OV_Converter_UG/prepare_model/convert_model/MO_OVC_transition.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/documentation/openvino_legacy_features/mo_ovc_transition.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Examples format change. Added PyTorch example.

* Example corrected.

* Added PyTorch example.

* Small correction.

* Apply suggestions from code review

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>

* Added note.

* Corrected note.

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-10-13 20:12:38 +04:00
Helena Kloosterman 44a3255add Small fix for GPU memory allocation documentation (#20394) 2023-10-13 16:42:15 +04:00
Pawel RaaszandTomasz Jankowski a13eb5bf9d [core]Migrate TopK operator to new API (#20254)
* Migrate TopK to new API

* Refactor compare_max for TopK

* Unify check of k for const and non-const input

* Update src/core/include/openvino/op/util/evaluate_helpers.hpp

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>

* Move `get_tensors_partial_shapes` to dev API

---------

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
2023-10-13 14:53:58 +04:00
Katarzyna Mitrus 2478cf7df3 [Opset13][pyAPI] Python API Multinomial-13 (#20400)
* Init Multinomial op python API

* Add python tests for Multinomial op

* Update num_samples input description
2023-10-13 10:50:02 +00:00
Pawel Raasz 7bc8e0fb8f [core]Shape and Node util functions size optimization (#20206)
* Refactor shape_size util to reduce bin size

* Make `check_new_args_count` non-template function

* Use as not template check_new_args_count
in multi-nominal
2023-10-13 14:10:35 +04:00
Andrei GorbachevandPavel Durandin 31670dacb4 [GPU] Refactor CTCGreedyDecoderSeqLen, CTCGreedyDecoder, CTCLoss (#20432)
* CTCGreedyDecoderSeqLen, CTCGreedyDecoder

* CTCLoss

---------

Co-authored-by: Pavel Durandin <pavel.durandin@intel.com>
2023-10-13 13:36:47 +04:00
Ilya Churaev e866bfef42 Migrate subgraph tests till quantized subgraph (#20351)
* Migrate subgraph tests till quatized subgraph

* Fixed code style

* Fixed code style

* Try to fix build

* Remove run method

* Remove GNA test
2023-10-13 13:35:13 +04:00
Ilya Churaev e289e8282d Migrated all subgraph tests after quantization graphs (#20381)
* Migrated all subgraph tests after quantization graphs

* Fixed skip tests config

* Add alias for NPU

* Try to fix NPU

* Remove unsupported precisions

* Remove GNA test

* Remove more tests
2023-10-13 13:19:53 +04:00
Ivan Novoselov 157041e6f8 [CPU] Improve Commit slider's handling of non-decodable characters (#20149) 2023-10-13 11:51:54 +04:00
Nesterov Alexander b7b5d4cd93 [ARM CPU] Update TBB ACL Scheduler (#18885) 2023-10-13 09:34:07 +04:00
Wilson Seok 5170350cf5 [GPU] fix issue of optimized out reorder during event sync (#20223)
* fix confliction

* remove debug code

* fix unit test failure

* update condition of reorder check

* apply the condition for only opt out reorder user
2023-10-12 20:39:35 -07:00
Ilya Lavrenov 56d74a82cb Relocatable developer package (#20327)
* Merge Linux CC + static build + clang compiler

* Improvements

* Removed ie prefixes from cmake scripts

* Fixes for NPU

* Initial relocatable OpenVINO Developer package

* Improvements

* Try to fix

* improvements

* Export a lot of headers

* Removed NVIDIA pipeline; make it to be a job

* Fixes

* Fixes 2

* Try ilya-lavrenov repo

* Clean-up

* More imrpovements

* Even more improvements

* Override export, install

* Override export, install

* Disable pythonwheel generation for relocatable OV dev package

* Fixed issues with versions

* Fixed android build

* Fixed android build

* Fixed NPU build

* Update src/bindings/python/CMakeLists.txt
2023-10-12 22:59:04 +00:00
Oleg Pipikin cb61ad46bd Refactor CumSumLayerTest, DeformablePSROIPoolingLayerTest, DepthToSpaceLayerTest (#19870)
* Refactor CumSumLayerTest

* Refactor DeformablePSROIPoolingLayerTest

* Refactor DepthToSpaceLayerTest
2023-10-12 20:27:55 +02:00
Oleg Pipikin fa33693c4a Refactor NonZeroLayerTest, NormalizeL2LayerTest, OneHotLayerTest, PadLayerTest (#20318)
* Refactor NonZeroLayerTest

* Refactor NormalizeL2LayerTest

* Refactor OneHotLayerTest

* Refactor PadLayerTest

* Apply comments
2023-10-12 19:22:16 +02:00
Irina Efode 74690d038b [CONFORMANCE][TOOLS] Repeat pattern extractor API (#20293)
* Prepare API

* Refactor api

* Move model comparation to separate component

* Cover by tests

* Move align_in_info to utils

* Change arch diagram
2023-10-12 19:01:04 +02:00
Katarzyna Mitrus 29475c738e BitwiseElementwise ops init in MO (#20386) 2023-10-12 18:18:34 +02:00
Ilya Lavrenov 6519afd4d3 Removed check for openvini::runtime::c in samples (#20425) 2023-10-12 19:33:24 +04:00
Oleg Pipikin ccb43b77a7 Disable f16 LSTMCellTest and LSTMSequenceTest for Apple arm64 (#20422) 2023-10-12 19:15:34 +04:00
Evgenya NugmanovaandAlexandra Sidorova 83c593be3b Avoid dynamic rank in Snippets (#20387)
* Avoid dynamic rank in Snippets

* Update src/common/snippets/src/pass/collapse_subgraph.cpp

Co-authored-by: Alexandra Sidorova <alexa.sanechka@ya.ru>

---------

Co-authored-by: Alexandra Sidorova <alexa.sanechka@ya.ru>
2023-10-12 13:54:52 +00:00
Vladislav Golubev 377e927149 [Snippets] Changed BrgemmCopyB shape inference (#19957) 2023-10-12 16:34:53 +04:00
Irina Efode 518a879a83 [CONFORMANCE][PRECOMMIT] Add one sporadically interapted test to expected failures (#20420) 2023-10-12 15:59:42 +04:00
Ilya Lavrenov 9e4ec43f7c Disabled sporadic test_backend.py::OnnxBackendNodeModelTest::test_div_uint8_cpu test (#20419) 2023-10-12 15:29:30 +04:00
Pawel Raasz 075333e94d [core]Migrate Tile operator to new API (#20255)
* Migrate Tile to new API

* Remove visit_attributes as is same as base class
2023-10-12 10:51:04 +00:00
Tatiana SavinaandIlya Lavrenov 23acd5a351 [DOCS] Pypi pages description change (#20352)
* pypi pages change

* add description

* change command order

* Update docs/install_guides/pypi-openvino-rt.md

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* change column name

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-12 12:32:32 +02:00
Ilya Lavrenov 83e80a4ddf Removed macOS post-commit pipeline (#20415) 2023-10-12 14:00:31 +04:00
Maxim Vafin 3455580780 [PT FE] Fix pad default value (#20401) 2023-10-12 13:28:03 +04:00
Ilya Lavrenov 2604c33d1b Don't add mxnet extras for openvino-dev on macOS arm64 (#20403) 2023-10-12 13:23:18 +04:00
Vladimir Paramuzov 4da61fc7e7 [TESTS] Fix random generator for custom signed types (#20393)
* [TESTS] Fix random generator for custom signed types

* Increase threashold for bf16 CPU tests
2023-10-12 13:15:59 +04:00
Sebastian Golebiewski ddaf8e80f9 Update 247-code-language-id-with-output.rst (#20412) 2023-10-12 10:54:28 +02:00
Ilya Lavrenov 2a3d5b9d14 Disable OMP threading on macOS (#20405) 2023-10-12 11:34:01 +04:00
79703ff714 Added a of Gen AI landing page (#20253)
* Added a draft of Gen AI landing page

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Helena Kloosterman <helena.kloosterman@intel.com>

* Applied comments

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Changed the placement of Gen AI doc

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>

* Added examples with Optimum-Intel

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

* Update docs/articles_en/openvino_workflow/gen_ai.md

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>

---------

Co-authored-by: Helena Kloosterman <helena.kloosterman@intel.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
Co-authored-by: Nico Galoppo <nico.galoppo@intel.com>
2023-10-12 10:02:44 +04:00
Andrei Gorbachev 57279938c0 [GPU] Refactor AdaptivePooling, BatchNorm, BatchToSpace (#20357)
* adaptive_pooling

* batch_norm

* batch_to_space
2023-10-12 08:25:53 +04:00
Ilya Lavrenov d41e7fcc30 Revert "[CI] [GHA] Skip test_div_uint8_cpu on macOS only; unskip test_onnx/test_backend.py in GHA workflows (#20367)" (#20402)
This reverts commit a3d6d0bca9.
2023-10-12 03:00:14 +04:00
Tomasz Jankowski aa7405fd0e [Template plugin] Unify headers inclusion (#20326)
* Use precise op version - Parameter

* Use precise op version - Constant

* Use precise op version - Result

* Use precise op version - Add, Concat, Subtract

* Use precise op version - NMS

* Use precise op version - TopK, Broadcast

* Use precise op version

* Include openvino headers in quotes

* Use precise op version - LSTMCell

* Fix code style
2023-10-11 23:44:41 +04:00
Ilya Lavrenov 10d1862715 Updated ade submodule (#20392) 2023-10-11 23:38:00 +04:00
Alexandra Sidorova a844e597e8 [Snippets][CPU] Disabled MHA tokenization with infer precision f16 (#20308) 2023-10-11 18:17:26 +04:00
Ekaterina Aidova 9bedafb560 [PT FE]: support aten::erf and aten::adaptive_avg_pool1d (#20350)
* [PT FE]: support aten::erf and aten::adaptive_avg_pool1d

* align adaptive avg pools for different sizes

* refactor adaptive max pool
2023-10-11 17:33:32 +04:00
Przemyslaw Wysocki 3403e6c028 Add torch lower bound (#20362) 2023-10-11 14:22:26 +02:00
Vladislav Golubev 5894fbe69d [CPU] Group & NF4 decompression transformation support (#20039) 2023-10-11 15:25:00 +04:00
Roman Kazantsev 0bb6450398 [TF FE] Support TF 2.14 and add OnesLike translator (#20385)
* [TF FE] Support TF 2.14 and add OnesLike translator

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Update tests constraints

* Update open_model_zoo

* Adopt TF Lite test to 2.14 TF

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Support TF Lite layer tests for diffrent TF versions

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-11 15:24:32 +04:00
Roman Lyamin b345f3c324 [GPU] Fix high latency for LLMs on dGPU (#20328) 2023-10-11 14:42:33 +04:00
Andrey KashchikhinandIlya Lavrenov a3d6d0bca9 [CI] [GHA] Skip test_div_uint8_cpu on macOS only; unskip test_onnx/test_backend.py in GHA workflows (#20367)
* only skip test if mac

* unskip

* unskip trigger

* skip for onnx fe as well

* do not skip

* return skips and unskip test_backend in Python API 1.0

* rm pr trigger

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-11 14:05:12 +04:00
Pawel Raasz ac11751e9c [core]Migrate Eye to new API (#20258)
* Migrate Eye to new API

* Fix `matrix_offset` initialization

* get_tensors_shapes -> get_tensors_partial_shapes
2023-10-11 13:50:29 +04:00
Maciej Smyk 1ca2f9c6de Update openvino_intro.md (#20383) 2023-10-11 11:03:14 +02:00
Jan IwaszkiewiczandMichal Lukaszewski 6a326455b9 [PyOV] Propagate errors on imports from runtime module (#20273)
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-10-11 11:53:34 +04:00
Ilya Churaev 346893fe6f Move cpu subgraph to new api (#20335)
* Move ConvEltwiseFuse to new API

* Move subgraph tests till LSTM to new API

* Fixed GPU initialization

* Remove unsupported GNA tests
2023-10-11 11:43:27 +04:00
Sergey Shlyapnikov ec644b9a73 [GPU] Fix device tensors reallocation in case of host user's tensors (#20306) 2023-10-11 10:47:33 +04:00
Ilya Lavrenov ba5878ed2f Removed np.int usage (#20378) 2023-10-11 10:36:00 +04:00
Ilya Churaev 8020530e67 Reduce ngraph namespace usage from core component (#20309)
* Reduce ngraph namespace usage from core component

* Fixed build

* Fixed build 2

* Added missed opset to legacy API
2023-10-11 07:09:04 +04:00
Ilya Lavrenov 35308ce34d Use np.float32 instead of np.float (#20377) 2023-10-11 03:29:56 +04:00
Piotr Krzemiński e24b6211e3 [BUGFIX][Core][Template] Multinomial shape filling for 1D input (#20359)
* [BUGFIX] Fix incorrect shape filling for 1D tensor smaller than requested sample size

* [FIX] Remove redeclaration
2023-10-10 22:51:59 +00:00
Ilya Lavrenovanddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> df55e282e3 Update tensorflow requirement in /src/bindings/python (#20372)
Updates the requirements on [tensorflow](https://github.com/tensorflow/tensorflow) to permit the latest version.
- [Release notes](https://github.com/tensorflow/tensorflow/releases)
- [Changelog](https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorflow/compare/v1.15.5...v2.14.0)

---
updated-dependencies:
- dependency-name: tensorflow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-11 02:18:14 +04:00
Ilya Lavrenov b3ead62631 Fixed numpy deprecation error (#20375) 2023-10-11 00:38:23 +04:00
Oleg Pipikin c61fce428e Refactor PowerLayerTest, PriorBoxClusteredLayerTest, PriorBoxLayerTest (#20349)
* Refactor PowerLayerTest

* Refactor PriorBoxClusteredLayerTest

* Refactor PriorBoxLayerTest
2023-10-10 23:54:46 +04:00
Ilya Lavrenov 0a0d0f0aa5 Revert "Switch telemetry to opt-out approach. (#20290)" (#20370)
This reverts commit b630bffa14.
2023-10-10 22:08:20 +04:00
Oleg Pipikin 246d8efada Refactor LoopLayerTest, LrnLayerTest, LSTMSequenceTest, LSTMCellTest (#20269)
* Refactor LoopLayerTest

* Refactor LrnLayerTest

* LSTMCellTest

* Refactor LSTMSequenceTest
2023-10-10 19:54:20 +02:00
Andrey Kashchikhin 0060b26b74 [CI] [GHA] [Azure] Unskip test_div_uint8_cpu, unskip src/frontends/onnx/tests/test_python/test_zoo_models.py in Win and Linux pipelines (#20366)
* only skip test if mac

* unskip

* skip for onnx fe as well

* remove skips

* rm unused imports

* revert import
2023-10-10 21:06:18 +04:00
Ivan Novoselov c385c13185 [Snippets] Delegate domain optimization to a LIR pass (#18991) 2023-10-10 18:23:28 +04:00
Nadezhda Ageeva 4426486e6f [nGraph Transformations] Add missing rtinfo copy in ConvertPrecision transformation (#20347) 2023-10-10 13:47:52 +00:00
Andrey Kashchikhin 3ebadc14d1 [CI] [GHA] mac pipeline review leftovers; small cleanup of the Linux pipeline (#20353)
* skip gna-related tests on mac; rm unused in pipelines

* rm unused env var

* use if instead of commenting out

* add name

* return pr trigger

* rm pr trigger
2023-10-10 17:10:46 +04:00
Mateusz MikolajczykandKatarzyna Mitrus 670fff062e [Opset13][pyAPI] Python API BitwiseNot-13 (#20265)
* Add pyAPI BitwiseNot-13

* Update src/bindings/python/src/openvino/runtime/opset13/ops.py

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Remove whitespace from ops.py

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2023-10-10 14:27:45 +02:00
Yuan Hu b358d283d0 [CPU] Enable skipped custom shape infer test cases (#19037)
* enable eltwise skip test

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* enable skipped test of onehot

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* remove shapeof OD test. cpu node shape_of don't support it

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* enable skipped test case of strideslice

remove default stride test

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* enable skipped test case of matmul

remove some test cases, custom matmul only support some rank

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* fix eltwise autob issue

powerstatic don't get the autob attibute from origin op

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* Revert "fix eltwise autob issue"

This reverts commit 1139296411.

* Revert "enable eltwise skip test"

This reverts commit c9f0a6f225.

* disable eltwise none autob test

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* add error message for OPENVINO_ASSERT

go NgraphShapeInfer branch in matmul node
when input0 rank is not equal to input1 rank

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* create ticket for EltwiseShapeInfer and skip the test case

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

* revert test case order in matmul

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>

---------

Signed-off-by: HU Yuan2 <yuan2.hu@intel.com>
2023-10-10 14:03:59 +02:00
Ekaterina Aidova 0dcde7f7bc [PT FE]: support aten::pixel_unshuffle (#20325) 2023-10-10 15:18:35 +04:00
Evgeny Kotov 4d9f2f3cd7 Support new operations in TS: Selu, Swish, HSwish, Tile, CumSum, HardSigmoid (#19990)
* add new operations as unary

* get unary as input(0) instead of iterating pattern map

* add CumSum + unit tests

* add Tile + unit tests

* add tile

* fix ts_tile

* code review fix: use ADD_MATCHER

* fix bug CI tests
2023-10-10 15:06:10 +04:00
Ekaterina Aidova a5b6606132 [PT FE]: support aten::amax, aten::amin, aten::clip, aten::clamp_ (#20338) 2023-10-10 11:05:10 +00:00
Andrey KashchikhinandIlya Lavrenov 1454e77bbf [CI] [GHA] Introduce GHA macOS Pipeline (#20212)
* start transferring

* start with samples

* start with initial two stages

* change name

* skip pytorch tests; rm unused comments

* rm setupvars sourcing; make test steps similar to those in linux pipeline

* add missing options and setupvars sourcing

* add skips for mac

* install wheels directly

* add deployment target

* add skips for pytorch layer tests; experiment with samples

* do not exclude files for archives; set rpath

* apply comments; rm unnecessary stages

* Update mac.yml

fixed MO Python API tests

* Update .github/workflows/mac.yml

* Update openvino.cmake

add LC_RPATH to libopenvino.dylib

* Update src/cmake/openvino.cmake

* Update CMakeLists.txt

reverted changes in samples build

* Update openvino.cmake

removed rpath changes

* add setupvars

* disable pr trigger

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-10 14:43:09 +04:00
Andrey KashchikhinandIlya Lavrenov fca34c6f9f [CI] [GHA] Refactor Win pipeline: split the Build job, remove unnecessary requirements installation (#20320)
* split build job; rm unnecessary requirements installation

* add missing OV Contrib build

* align requirements install

* rm incorrectly place vsvars, apply comments: add missing tests

* rm build and source options in the cmake OV Contrib command

* add missing build directory

* add logs

* Update windows.yml

Fixed rebuild from scratch with OpenVINO Contrib

* verbose archive extraction

* Fixed path for extraction of openvino_tests package

* Use windows-latest-8-cores for samples

* Update windows.yml

* Update .github/workflows/windows.yml

* use filename for wheel; build ov contrib with ov

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-10 13:35:35 +04:00
Oleg Pipikin 34a86ecb3a Refactor BinaryConvolutionLayerTest and BucketizeLayerTest (#19654)
* Refactor BinaryConvolutionLayerTest

* Refactor BucketizeLayerTest
2023-10-10 11:25:57 +02:00
Maxim Vafin 0fec05ecf2 Mark models according to last validation and fix some problems in models (#20324)
* Mark models according to last validation and fix some problems in models

* Update tests/model_hub_tests/torch_tests/hf_transformers_models
2023-10-10 11:23:23 +02:00
Anastasiia Pnevskaia b630bffa14 Switch telemetry to opt-out approach. (#20290)
* Switch telemetry to opt-out approach.

* Minor correction.

* Small correction.
2023-10-10 13:14:45 +04:00
Mateusz Tabaka 4a3ce48f7a CompressQuantizeWeights optimizations (#20025)
* Optimize CompressQuantizeWeights transformation

- remove CoordinateTransform usage from FakeQuantize reference implementation
- move ZeroPointOptimizer functionality inside CompressQuantizeWeights
- compute scale and zero point in the same loop

Ticket: CVS-119273

* review comments

* clang format

* fix comments
2023-10-10 13:10:05 +04:00
Pratham IngawaleandAndrei Kochin ed45a92e30 Remove test-generator dependency (#18512)
* changed from generator to unittest

* common_test.py tested for pylint 7.96/10

* ChangeRandomUniformOutputType_test pylint 10/10

* replaced  generator functionality from compress...

* replaced generator functionality in MatMulNormal..

* replaced generator functionality in ShuffleChan...

* replaced generator functionality in import_from_mo_test.py

* replaced generator functionality in meta_data_test.py

* replaced generator functionality in extractor_test.py

* replaced generator functionality in interpolate_reshape_test.py

* replaced generator functionality in Pack_test.py

* replaced generator functionality in rank_decomposer_test.py

* replaced generator functionality in size_replacer_test.py

* replaced generator functionality in utils_test.py

* replaced generator functionality in eltwise_test.py

* replaced generator functionality in concat_test.py

* replaced generator functionality in tdnn_component_replacer_test.py

* replaced generator functionality in MXFFTToDFT_test.py

* replaced generator functionality in activation_ext_test.py

* replaced generator functionality in AttributedSliceToSlice_test

* replaced generator functionality in squeeze_ext_test.py

* replaced generator functionality in transpose_ext_test.py

* replaced generator functionality in unsqueeze_ext_test.py

* replaced generator functionality in ObjectDetectionAPI_test.py

* replaced generator functionality in  RFFTRealImagToRFFTSplit_test.py

* replaced generator functionality in TFFFTToDFT_test.py

* replaced generator functionality in WhereDecomposition_test.py

* replaced generator functionality in graph_test.py

* replaced generator functionality in ConvertGroupedStridedSlice_test.py

* replaced generator functionality in dequantize_linear_resolver_test.py

* replaced generator functionality in FusedBatchNormTraining_test.py

* replaced generator functionality in L2NormFusing_test.py

* replaced generator functionality in PreserveRuntimeInfo_test.py

* replaced generator functionality in quantize_linear_resolver_test.py

* replaced generator functionality in UpsampleToResample_test.py

* replaced generator functionality in broadcast_test.py

* replaced generator functionality in loader_test.py

* replaced generator functionality in cast_test.py

* replaced generator functionality in Complex_test.py

* replaced generator functionality in dft_signal_size_canonicalization_test.py

* replaced generator functionality in div_value_propagation_test.py

* replaced generator functionality in einsum_test.py

* replaced generator functionality in expand_dims_test.py

* replaced generator functionality in ExtractImagePatches_test.py

* replaced generator functionality in eye_test.py

* replaced generator functionality in gatherelements_test.py

* replaced generator functionality in If_test.py

* replaced generator functionality in interpolate_test.py

* replaced generator functionality in MatMul_test.py

* replaced generator functionality in MatMul_value_propagation_test.py

* replaced generator functionality in one_hot_test.py

* replaced generator functionality in ONNXResize11_test.py

* replaced generator functionality in ReduceOps_test.py

* replaced generator functionality in reshape_test.py

* replaced generator functionality in scatter_test.py

* replaced generator functionality in slice_test.py

* replaced generator functionality in conversion_with_layout_test.py

* replaced generator functionality in conversion_incorrect_models_test.py

* replaced generator functionality in conversion_basic_models_test.py

* replaced generator functionality in split_test.py

* replaced generator functionality in squeeze_test.py

* replaced generator functionality in mo_fallback_test_actual.py

* replaced generator functionality in layer_to_class_test.py

* replaced generator functionality in ir_engine_test.py

* replaced generator functionality in mo_fallback_test_tf_fe.py

* replaced generator functionality in freeze_placeholder_test.py

* replaced generator functionality in broadcasting_test.py

* replaced generator functionality in broadcasting_test.py

* replaced generator functionality in transpose_test.py

* replaced generator functionality in custom_replacement_config_test.py

* replaced generator functionality in unsqueeze_test.py

* replaced generator functionality in upsample_test.py

* replaced generator functionality in upsample_test.py

* Removed test-generator dependency from openvino/tools/constraints.txt

* replaced generator functionality in freeze_placeholder_test.py

* replaced generator functionality in conversion_incorrect_models_test.py

* removed test-generator from requirements_dev,constraints.txt,requirements.txt

* removed import generator from CorrectPaddingsForPadAfterComplex_test.py

* adding test_generator dep..

* revert back constraints.txt

* revert back requirements_dev

* pytest:- MatMulNormalizer_test.py

* pytest:- ShuffleChannelPatternOptimization_test.py

* pytest:- import_from_mo_test.py

* generator_to_pytest interpolate_reshape_test.py

* pytest:- rank_decomposer_test.py

* pytest:- size_replacer_test.py

* pytest:- concat_test.py

* pytest:- eltwise_test.py

* pytest:- utils_test.py

* pytest:- tdnn_component_replacer_test.py

* pytest:- MXFFTToDFT_test.py

* pytest:- activation_ext_test.py

* pytest:- AttributedSliceToSlice_test.py

* pytest:- squeeze_ext_test.py

* pytest:- transpose_ext_test.py

* pytest:- unsqueeze_ext_test.py

* pytest:- ObjectDetectionAPI_test.py

* pytest:- RFFTRealImagToRFFTSplit_test.py

* pytest:- TFFFTToDFT_test.py

* pytest:- WhereDecomposition_test.py

* pytest:- graph_test.py

* pytest:- ConvertGroupedStridedSlice_test.py

* dequantize_linear_resolver_test.py

* pytest:- FusedBatchNormTraining_test.py

* pytest:- L2NormFusing_test.py

* pytest:- PreserveRuntimeInfo_test.py

* pytest:- quantize_linear_resolver_test.py

* pytest:- UpsampleToResample_test.py

* pytest:- broadcast_test.py

* pytest:- cast_test.py

* pytest:- Complex_test.py

* pytest:- dft_signal_size_canonicalization_test.py

* pytest:- div_value_propagation_test.py

* pytest:- einsum_test.py

* pytest:- expand_dims_test.py

* pytest:- ExtractImagePatches_test.py

* pytest:- eye_test.py

* pytest:- gatherelements_test.py

* pytest:- If_test.py

* pytest:- interpolate_test.py

* pytest:- MatMul_test.py

* pytest:- MatMul_value_propagation_test.py

* pytest:- one_hot_test.py

* pytest:- ONNXResize11_test.py

* pytest:- ReduceOps_test.py

* pytest:- reshape_test.py

* scatter_test.py

* pytest:- slice_test.py

* pytest:- split_test.py

* pytest:- squeeze_test.py

* pytest:- transpose_test.py

* pytest:- unsqueeze_test.py

* pytest:- upsample_test.py

* pytest:- common_test.py

* pytest:- broadcasting_test.py

* revert back ir_engine_test.py

* revertback :- custom_replacement_config_test.py

* revertback:- mo_fallback_test_actual.py

* revertback:- mo_fallback_test_tf_fe.py

* pytest:- layer_to_class_test.py

* revertback:- conversion_basic_models_test.py

* revertback:- conversion_incorrect_models_test.py

* revertback:- conversion_with_layout_test

* revertback:- constraints.txt

* revertback:- loader_test.py

* pytest:- Pack_test.py

* revertback:- freeze_placeholder_test.py

---------

Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
2023-10-10 12:42:49 +04:00
Xuejun Zhai d205684aff [C API] Fix coverity scan issue about GET_INTEL_GPU_PROPERTY_FROM_ARGS_LIST (#20330)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-10-10 07:21:31 +00:00
Anton Voronov aa6adcd261 Gather: removed indices normalization pass and added some checks for Gather-8 -> Gather-7 conversion (#19666)
* Do not normalize negative indices for Gather v8

* code style fix

* added transformation test with accuracy check for Gather-v8

* removed GatherNegativeConstIndicesNormalize transformation at all

* ConvertGather8ToGather7 conversion: added more checks

* Introduced shared Gather8withIndicesDataLayerTest: added CPU, GPU instances

* code style fix

* small fix

* review fixes

* do negative indices normalization if possible

* code style fix

* refactor cpu test instances

* code style fix
2023-10-10 11:17:33 +04:00
Mateusz Mikolajczyk ef0c10df6c [Opset13][pyAPI] Python API binary BitwiseAnd-13, BitwiseOr-13, BitwiseXor-13 (#20261)
* add xor

* Add and and or

* Add ch srequested in review
2023-10-10 09:04:06 +02:00
Sebastian Golebiewski 1e05949888 Changing file structure of Learn Openvino section (#20337) 2023-10-10 08:34:53 +02:00
Anton Voronov c417d15432 [CPU] FullyConnected: sparse weights fix (#20117) 2023-10-10 10:24:38 +04:00
Ekaterina Aidova 67a62186ee support aten::channel_shuffle (#20240)
* support aten::channel_shuffle

* remove getting rank
2023-10-10 08:16:26 +02:00
Maxim Vafin feaf05cc5f [PT FE] Support aten::max_poolnd_with_indices (#20322) 2023-10-10 08:00:02 +02:00
Maxim Vafin d07b2ccc5f [PT FE] Return dynamic shape when static shape exist in graph (#20289) 2023-10-10 07:59:46 +02:00
Wanglei Shen 60b82372d1 Support SRF in MT 2.0 on Linux (#20301)
* add test data for SRF on Linux

* update cpu map detection for Ecore only platform

* update test data for smoke test of streams generation

* update test data
2023-10-10 13:59:27 +08:00
Ilya Churaev cf83750867 Move ConvEltwiseFuse to new API (#20331) 2023-10-10 09:32:18 +04:00
Ilya Lavrenov e30f75bb4d Rpath story (#20297) 2023-10-10 06:27:26 +02:00
hyunback kim bf9bdaa671 Onednn3.3 (#19299)
* [GPU] oneDNN3.3 integration.
* Supports new formats from oneDNN3.3 requires.
* Fix Perf regression because of the wrong mvn kernel selection issue.
    modnet_webcam_portrait_matting.int8
    person-reidentification-retail-0248.int8
* support undefined onednn tag for using any tag instead.

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-10-10 12:47:55 +09:00
Tomasz Jankowski 86d0bdb2db [Ref] Drop legacy API - leftovers (#20271)
* Merge opt_kernel into reference

* Remove get_default_order

* Use ov:: in jit generators

* Remove unused template function

* Add reshape parameter for consistency with Op spec

* Add brief description and such

* Remove unused param from reshape ref

* Use C++ casting
2023-10-10 03:27:22 +02:00
Oleg Pipikin 9361c2c810 Refactor InterpolateLayerTest, IsInfLayerTest, LogSoftmaxLayerTest, LogicalLayerTest (#20196)
* Refactor InterpolateLayerTest

* Refactor IsInfLayerTest

* Refactor LogSoftmaxLayerTest

* Refactor LogicalLayerTest
2023-10-10 01:59:39 +02:00
Oleg Pipikin b54e4c9924 Refactor MatMulTest, MaxMinLayerTest, Mvn1LayerTest (#20292)
* Refactor MatMulTest

* Refactor MaxMinLayerTest

* Refactor Mvn1LayerTest
2023-10-10 00:35:32 +02:00
Ilya Lavrenov ead4b8a0ec Moved cmake functions, variables to API 2.0 naming style (#20281)
* Merge Linux CC + static build + clang compiler

* Improvements

* Removed ie prefixes from cmake scripts

* Fixes for NPU
2023-10-09 22:30:32 +04:00
Ilya Lavrenov cba4721cf6 Fixed wrong target usage in auto func tests (#20314) 2023-10-09 15:11:15 +04:00
Roman Lyamin 99de7818be [GPU] Extended SupportedFusedOps for Concatenation (#20096) 2023-10-09 14:28:37 +04:00
Ilya LavrenovandAndrey Kashchikhin ba6a676484 Aligned tests with azure linux.yml (#20304)
* Aligned tests with azure linux.yml

* Apply suggestions from code review

fixed comments

Co-authored-by: Andrey Kashchikhin <andrey.kashchikhin@intel.com>

---------

Co-authored-by: Andrey Kashchikhin <andrey.kashchikhin@intel.com>
2023-10-09 12:55:26 +04:00
Wang Xin 904f992e0b fix a wrong comment (#20307) 2023-10-09 12:44:42 +04:00
River Li 20a3a599da [C API] add ov_shutdown API (#20305) 2023-10-09 12:36:52 +04:00
Mikhail Ryzhov e1faf3ddd0 [GHA] Parallel test script code style (#20119)
* fixed code style

* extend logs

* fixed  comments

* comments
2023-10-09 10:23:57 +02:00
Ilya Lavrenov 142c6a4b67 Ability to compile samples without API 1.0 headers (#20299) 2023-10-08 23:24:28 +04:00
Ilya Lavrenov ffbffed749 Enabled warnings as errors for static Ubuntu 22.04 (#20302) 2023-10-08 23:23:54 +04:00
Ilya Churaev 51afe489aa Moved migrated classes to ov::test namespace (#20226)
* Moved migrated classes to ov::test namespace

* Revert redundant changes

* Fixed build
2023-10-08 17:16:24 +04:00
yanlan song ad41d0f52f rework auto test cases (#19862)
* initial commit

Signed-off-by: fishbell <bell.song@intel.com>

* clean up

Signed-off-by: fishbell <bell.song@intel.com>

* fix windows build failure

Signed-off-by: fishbell <bell.song@intel.com>

* enable auto func tests

Signed-off-by: fishbell <bell.song@intel.com>

* enable auto_func_test to ci

Signed-off-by: fishbell <bell.song@intel.com>

* some clean up in gpu case

Signed-off-by: fishbell <bell.song@intel.com>

* clang

Signed-off-by: fishbell <bell.song@intel.com>

* fix build warning

Signed-off-by: fishbell <bell.song@intel.com>

* enable new tests

Signed-off-by: fishbell <bell.song@intel.com>

* fix build warning

Signed-off-by: fishbell <bell.song@intel.com>

* enable consistency test

Signed-off-by: fishbell <bell.song@intel.com>

* try fix build error on manylinux

Signed-off-by: fishbell <bell.song@intel.com>

* enable cpplint

Signed-off-by: fishbell <bell.song@intel.com>

* enable clang-format

Signed-off-by: fishbell <bell.song@intel.com>

enable some tests

Signed-off-by: fishbell <bell.song@intel.com>

* fix typo

Signed-off-by: fishbell <bell.song@intel.com>

* clang for unit tests

Signed-off-by: fishbell <bell.song@intel.com>

* fix merge conflict

Signed-off-by: fishbell <bell.song@intel.com>

---------

Signed-off-by: fishbell <bell.song@intel.com>
2023-10-07 14:44:25 +04:00
Mikhail Ryzhov 7e7b6482aa [GHA][HF] Switch python nightly tests to github runners (#20286)
* switched runners to GHA

* excluded timm models from nightly scope

* added sudo steps

* switched precommit too
2023-10-07 02:22:32 +04:00
Ilya Lavrenov 03dca44611 Small improvements in conan, vcpkg docs (#20272) 2023-10-06 23:11:03 +04:00
Ilya Churaev 2fe549f9fd Throw an error if SELECTIVE_BUILD_STAT doesn't contain csv files (#20283)
* Throw an error if SELECTIVE_BUILD_STAT doesn't contain csv files

* Fixed detection STAT files for Windows

* Remove regex
2023-10-06 17:06:04 +04:00
Mikhail Ryzhov 27ae3fb217 changed script path (#20285) 2023-10-06 13:05:03 +00:00
Ilya Lavrenov 5764b5c108 Use RPATH instead of RUNPATH for wheel package (#20239) 2023-10-06 13:50:44 +04:00
Ilya Churaev 7c847cecba Remove ngraph namespace from operations without evaluate (#20252)
* Remove ngraph namespace from operations without namespace

* Try to fix build

* Additional fixes

* More fixes

* More fixs

* Fix reverse op

* Fixed tests

* Throw an exception if somebody tries to reallocate tensor

* Revert "Throw an exception if somebody tries to reallocate tensor"

This reverts commit 8e06d6d576.

* Remove python test

* Revert "Remove python test"

This reverts commit 37b12148d3.

* Changed evaluate model behavior
2023-10-06 12:54:11 +04:00
9fe6be21ea [PyOV] Drop Python 3.7 in OpenVINO Runtime (#19534)
* Drop 37

* Fix linter

* Minor change

* Minor changes

* update add_lib_path

* Minor changes

* Update pypi pages

* Update pypi pages

* Fix linter

* Minor changes

---------

Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>
Co-authored-by: Jan Iwaszkiewicz <jan.iwaszkiewicz@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-06 08:28:27 +00:00
Ekaterina Aidova bb2c2fab6c [PT FE]: support aten::log1p, fixes for where and linalg_norm (#20167)
* [PT FE]: support aten::log1p, fixes for where and linalg_norm

* clarify norm behaviour
2023-10-06 08:26:12 +00:00
Ilya Churaev fb40081475 Moved apply auto padding to dev API (#20257) 2023-10-06 12:20:26 +04:00
Ilya Lavrenov d6c2a10b38 Merge Linux CC + static build + clang compiler (#20243)
* Merge Linux CC + static build + clang compiler

* Improvements

* Fixes
2023-10-06 00:30:11 +04:00
Irina Efode 471295420f [CONFORMANCE][SUBGRAPHS DUMPER] Fix warning threated as error (#20279)
* [CONFORMANCE][SUBGRAPHS DUMPER] Fix warning threated as error

* apply comments
2023-10-06 00:28:47 +04:00
Karol Blaszczak 55ced6bf91 [DOCS] prerelease notes update (#20274) 2023-10-05 18:08:43 +02:00
Sebastian Golebiewski ba166b9fe4 [DOCS] Direct Github link to a specific notebook (#20248) 2023-10-05 18:05:15 +02:00
6664164ce4 Fix results validation (#20246)
* Fix results validation

* Remove pt quantization

* Apply suggestions from code review

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>

* Refactor requirements

* Revert "Refactor requirements"

This reverts commit f78fe3d774.

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-05 18:31:06 +04:00
Maciej Smyk a999e870ae Optimize Inference Restructure (#20231) 2023-10-05 15:33:36 +02:00
Mikhail Ryzhov a79c07b3a0 [GA] Enable win workflow (#19646)
* Enable win workflow and cpu parallel tests

* removed test code

* update cache naming

* extended logs collections

* Revert "extended logs collections"

This reverts commit 0dd6620832.

* revert lost code during the merge

* missed dependencies

* enabled push trigger

* changed the cache key name

* skipped failed test

* fixed github action condition and added comments

* Update src/core/tests/check.cpp

* cache generation fix

* Apply suggestions from code review

* fixed python test configuration

* Revert "cache generation fix"

This reverts commit 0feab650fe.

* debug parallel tests

* Revert "Revert "cache generation fix""

This reverts commit e385b04410.

* Revert "debug parallel tests"

This reverts commit e4459472a7.

* fixed steps conditions

* concurrency updated

* fixed test skip condition on win

* review changes

* collect debug logs

* overwrite test list

* debug commit

* Revert "debug commit"

This reverts commit 8720b87c8f.
2023-10-05 16:49:39 +04:00
Irina Efode 46dc704e3f Fix SubgraphsDumper compilation Win (#20256) 2023-10-05 13:22:25 +02:00
Andrey Kashchikhin 4ad68e8ff2 [CI] [GHA] Introduce conformance tests (#19841)
* check dirs

* cmake, build, instlll

* use make

* use build dir

* use target

* add missing

* execute conformance tests

* correct path for requirements

* setupvars

* add API conformance

* conformance as a separate job; install all necessary files

* uncomment

* merge

* install deps

* use matrix, upload expected failures to gh cache

* use 8-core

* use the same paths

* uncomment

* comment

* change

* use csv

* add exit if there are failed tests

* always upload logs

* check dir

* use another dir for expected_failures

* upload always

* rm

* new key

* rm unused

* change

* update

* update

* rm unused

* do not exit if update is set

* copy file

* do not fail in failures check

* use specific branch

* run clean

* add expected failures

* uncomment

* comment out

* correctly add failed tests to fix_priority; check for unexpected failures in case of an update

* use azure runners for conformance

* use 4-core

* uncomment

* comment out

* split deps installation

* add missing deps for setup-python

* print error

* install certs

* do not verify ssl

* add ca-certificates install

* uncomment

* comment

* pack artifacts, rm unused deps

* rm unused dep

* always pack artifacts

* rm for func tests

* use less cores

* use var

* store int

* do not exit if non-zero code

* only 4 core

* use gh runner

* use sudo

* add missing sudo

* use expected failures

* uncomment

* comment

* create fresh expected failures

* use expected failures

* use specific ref and repo

* use expected failures

* uncomment

* comment out

* check caches

* fix str

* rm unused

* restore by restore key

* create dir

* use array

* use diff path

* mv after each download

* add sleeping and more logs

* add saving of hash table

* change

* uncomment

* comment

* download cache entries

* check dir

* use better dir

* uncomment

* rm unused

* add skip configs

* update lists

* rm unused dir; add docs

* rm unused

* rm hardcoded repo ref

* rm unused options; use better name for job

* rm unnecessary dir creation
2023-10-05 14:39:28 +04:00
Aleksandr Voron b20afe850e init (#20260) 2023-10-05 11:51:12 +02:00
Sebastian Golebiewski 0583b9424d [DOCS] Removing Media Processing and CV Libraries (#20235)
* Removing Media Processing and CV Libraries

Addresses Jira Ticket: 122095

* update refs
2023-10-05 10:37:55 +02:00
Roman Kazantsev 747a799e8b [PyTorch FE] Set upper-bound for PyTorch (#20251)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-05 11:53:06 +04:00
dependabot[bot]anddependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 397c4fac98 Bump actions/checkout from 3 to 4 (#20249)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 11:32:40 +04:00
Maciej SmykandKarol Blaszczak 77cde47801 [DOCS] Inference with OpenVINO Runtime update for master (#20237)
* Update openvino_intro.md

* Update docs/articles_en/openvino_workflow/openvino_intro.md

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>

* Update docs/articles_en/openvino_workflow/openvino_intro.md

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>

---------

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-10-05 09:01:40 +02:00
Oleksii Khovan 876237be91 [GPU] ScatterElementsUpdate-12 (#19254)
* GPU primitive and kernel changes to support ScatterElementsUpdate-12

* Add single-layer test for ScatterElementsUpdate-12

* Unit tests:
  - fix formats test - add separate data type for indices;
  - add tests for Reduction.
2023-10-04 23:36:58 -07:00
Tomasz Jankowski 921e621404 [Ref] Drop legacy API (#20006)
* Drop legacy API - CoordinateTransform

* Refactor AvgPool ref

* Fix zero padding indices ceil rounding

* Transpose 3D reshaped kernels

* Reuse max_pool v8 ref in v1

* Change ref::slice params validation

* Fix wrong alloc in max_pool ref

* Drop legacy from TopK

* Fix mvn ref

* Deprecate unused

* Drop ngraph from TopK op

* Remove deprecated

* Use OPENVINO_ASSERT

* Replace headers paths

* Replace headers paths

* Add missing include

* Address review comments

* Clean up

* Remove unused and duplicated code
2023-10-05 07:26:49 +04:00
Ilya Lavrenov 8b089b60cd Removed Azure pipelines migrated to GHA (#20245) 2023-10-04 22:51:15 +04:00
Irina Efode cdcbb1dc00 [CONFORMANCE][SUBGRAPHS DUMPER] Rework subgraphs_dumper graphs extraction algo feedback by plugins (#19669)
* [CONFORMANCE][SUBGRAPHS DUMPER] Change repeat pattern extractor to avoid duplications and reduce graphs size

* Small change

* temporary

* merge

* try to handle large models

* Fixes + tests

* Remove extra

* Exclude models after const folding in case dynamic modesl

* shapes to meta

* Fix tests

* Fix test + is_subgraph

* Fix issue with default output

* change hashing

* Check memory

* Hash algo

* correct modelsize check

* Log large models

* tmp disable fused_names extractor

* add device for fused_names

* remove extra

* fix vuild

* Disable fused_names extractor
2023-10-04 19:50:56 +02:00
Irina Efode d7be40b808 [CONFORMANCE][CMAKE] Add SubgraphsDumper lib (#20053) 2023-10-04 20:48:15 +04:00
Ivan Tikhonov 3d6fb85a99 Model builders refactoring: rename dirs, targets, file names (#19885)
* Model builders refactoring

* Apply review comments

* resolve review commets: update cmake target names

* fix build: use correct headers

* fix headers

* fix build

* fix docs
2023-10-04 18:08:24 +02:00
Piotr Krzemiński 48164e2279 [Ref][Core][Opset13] Add Multinomial Operation (#19655)
* [Ref] Multinomial base file

* [Ref] Add core & reference implementation reusing other ops

* [Ref] Fix reference implementation, add missing parameters, add tests

* [Core] Add opset13, register multinomial, add shape inference

* [Ref][Core] Fix compile errors

* [Ref][Core] Clang fix

* [TEMPLATE] Remove bf16, f16, f64 types

* [TEMPLATE] Remove incorrect input types for 'input' parameter

* [Ref][Tests] Remove deleted test types

* [Ref] Fix & optimize  shape inference

* [PT FE] Apply suggestions from review

* [Template] Migrate to new API

* [Core] Add a clause for dynamic input in shape inference

* [Tests] Add missing type_prop test (?)

* Update multinomial_shape_inference.hpp

* Update multinomial.hpp

* [Ref] Fix build issues

* [Ref] Fix clang and style

* [Ref] Fix tests without replacement

* [Ref] Fix with_replacement sampling error

* [Ref] Remove debugging artifacts

* [Ref] Cast to 64-bit size for 32-bit systems

* Update multinomial.hpp

* [Ref] Add missing type_prop tests, add shape inference tests

* Update multinomial.cpp

* Update multinomial_shape_inference_test.cpp

* Update multinomial.cpp

* Update multinomial.hpp

* [Ref] Fix compilation errors from shape inference test

* [Ref] Fix compilation error of type_prop, apply recommendations from review

* [Ref] Add multiple shape inference tests

* [Ref] Change TEST to TEST_F, add more type_prop tests

* [Ref] Clang fixes

* [Ref] Fix shape inference tests with mismatching args

* [Ref] Fix remaining type_prop errors

* [Ref] Replace HostTensor with normal Tensor in shape inference tests

* Update opset.cpp

* [Ref] Possible fix for 'function empty' error

* [Ref] Add a cast to remove conversion warning

* [Ref] Add conformance test of Multinomial

* [Ref] Match style of conf test to the remaining tests

* Update single_op_graph.cpp
2023-10-04 17:14:32 +02:00
Katarzyna Mitrus bdb13aa28d [Opset13][pyAPI] Python API opset13 init and NMSRotated-13 (#20204)
* Opset13 init

* Update py API to use Opset13

* Add nms_rotated op to py API

* Add tests

* Add trailng comma

* Adjust blank spaces

* Add nms_rotated to init file

* Update tests

* Update style

* Adjust Optional keyword

* Update op docs with shapes

* Add Tensor rypes hints

* Update tests to import opset13
2023-10-04 17:05:29 +02:00
Karol Blaszczak a13cc8c733 [DOCS] conan fix (#20216) 2023-10-04 14:51:35 +02:00
jmacekx dc505e0bef [DOCS] add pyyaml to docs requirements (#20236) 2023-10-04 14:25:03 +02:00
Irina Efode 8679414be4 [GHA][CONFORMANCE] Init gtest filter for parallel runner in case not used arg (#20234) 2023-10-04 14:57:32 +04:00
Nadezhda Ageeva 0b56e8d32d Keep precision of inputs/outputs in SubgraphBaseTest::calculate_refs (#20227) 2023-10-04 10:55:26 +00:00
Ilya Churaev 3b8ac28ced Moved ConstantResultTest to new API (#20224) 2023-10-04 14:18:05 +04:00
Alexandra Sidorova ee8bd33c6d [CPU][Snippets] Fixed EnforcePrecision pass registration (#20051) 2023-10-04 14:04:52 +04:00
Tatiana Savina e5233a2f2c [DOCS] Port doc conversion change (#20232)
* [DOCS]  Fix conversion docs comments (#20144)

* fix comments

* more fixes

* fix missing part

* add ovc to img (#20192)
2023-10-04 11:54:24 +02:00
Sebastian Golebiewski 185d728b7e Changing file structure of Operation Sets (#20225) 2023-10-04 11:17:43 +02:00
Sergey Shlyapnikov b9ff53a5a4 [GPU] Fix runtime reorders optimization and add runtime memory dependencies (#20202) 2023-10-04 12:57:02 +04:00
78e3ed6a75 [CI] [GHA] Introduce GHA Linux CUDA Pipeline (#19884)
* add pipeline

* rm triggers

* address comments

* use uninteractive as env

* rm triggers

* rm unused testdata

* use better concurrency group

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>

* use aks runner

* correct path

* provide path

* add missing cmake options; rm unnecessary dir creation

* use image from private docker

* split OV and plugin cmake & build; do not fail on warning for plugin build

* use different build_dir for nvidia plugin

* add missing options

* rm unnecessary options; add target for build

* Apply suggestions from code review

try fix for NVIDIA plugin

* Apply suggestions from code review

revert to default contrib repo, used ccache for CUDA files

---------

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-10-04 11:50:57 +04:00
Mateusz MikolajczykandTomasz Jankowski 7926302d35 [Ref][Core][Opset13] BitwiseAnd, BitwiseOr and BitwiseXor core shell and reference (#20058)
* Add Bitwise binary core and refs

* Add draft for tests

* Formatting, build issues and tests

* Fix tests

* Add reference tests

* Apply requested changes

* Add requested changes

* Rename

* uncomment test

* Update src/tests/functional/plugin/conformance/test_runner/op_conformance_runner/src/op_impl_check/single_op_graph.cpp

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>

* change reference

---------

Co-authored-by: Tomasz Jankowski <tomasz1.jankowski@intel.com>
2023-10-04 09:38:33 +02:00
Vladimir Paramuzov 0ee0b4d956 [GPU] Fix custom layer (#20220) 2023-10-04 10:18:34 +04:00
Ilya Lavrenov 749ed9dec7 Added python search path for Conda (#19929) 2023-10-03 22:47:52 +04:00
Sofya Balandina 379ff62575 [apiConformance] Remove 1.0 api tests (#20185) 2023-10-03 18:07:10 +02:00
Ilya Lavrenov d5ea8d5a92 Explicitly set Python3_FIND_STRATEGY (#20215) 2023-10-03 18:43:45 +04:00
Edward Shogulin ae3b19d034 [LPT] [NPU] Multiply support (#19859)
* [LPT] [NPU] Multiply support

* [LPT] [NPU] Multiply support documentation

* 1) FakeQuantize support 2) refactoring

* [LPT] DisableCleanup attribute + cleanup transformations extension

* [LPT] DisableCleanup usage

* [LPT] Tests infrastructure support

* [LPT] infrastructure quick fix

* [LPT] Recurrent Cell Transformation fix

* refactoring & comment fixes
2023-10-03 15:31:33 +01:00
Maciej Smyk 2b07576e2b [DOCS] Adding Conan distribution article to docs for master (#20205) 2023-10-03 16:29:54 +02:00
Sebastian Golebiewski d5f0c6f4ef Changing file structure of Operation Sets section (#20214) 2023-10-03 15:32:47 +02:00
Maciej Smyk e072dc33b0 Device Plugins Restructure (#20219) 2023-10-03 15:14:03 +02:00
Vladimir Paramuzov a2c524019a [GPU] Use ov element type and float16 inside plugin (#20110) 2023-10-03 16:46:50 +04:00
Sebastian Golebiewski 1178d983e6 Changing file structure of POT Tool Examples section (#20213) 2023-10-03 14:41:37 +02:00
Sebastian Golebiewski 1e110c9ff5 Changing file structure of POT tool section (#20208) 2023-10-03 12:25:32 +02:00
Oleg PipikinandPavel Durandin 09e642a9e5 Refactor FakeQuantizeLayerTest, ExtractImagePatchesTest, GatherNDLayerTest, GatherTreeLayerTest (#20016)
* Refactor FakeQuantizeLayerTest

* Refactor ExtractImagePatchesTest

* Refactor GatherNDLayerTest

* Refactor GatherTreeLayerTest

* Apply comments

* Apply comments

---------

Co-authored-by: Pavel Durandin <pavel.durandin@intel.com>
2023-10-03 13:56:12 +04:00
Maxim VafinandEkaterina Aidova 35e72251e9 [PT FE] Add support for aten::numpy_T and aten::feature_dropout (#20136)
* Add support for aten::numpy_t and aten::feature_dropout

* Update tests/layer_tests/pytorch_tests/test_transpose.py

Co-authored-by: Ekaterina Aidova <ekaterina.aidova@intel.com>

---------

Co-authored-by: Ekaterina Aidova <ekaterina.aidova@intel.com>
2023-10-03 09:52:29 +00:00
Sebastian Golebiewski 893710d08f Changing file structure of Post-Training Optimization Tool section (#20207) 2023-10-03 11:42:53 +02:00
Pawel Raasz f8881dd2a4 [core]Api 2.0/migrate Subtract op to new API (#20108)
* Migrate Subtract to new API

* Sync has_evaluate precision with evaluate
2023-10-03 10:55:20 +02:00
Maciej Smyk 9a9c74f6c6 Deployment guide restructure (#20201) 2023-10-03 09:42:18 +02:00
Maciej Smyk 1f6617e05d model-preparation-restructured (#20186) 2023-10-03 09:42:09 +02:00
Maciej Smyk 492d475728 Model Optimization Guide Restructure (#20188) 2023-10-03 09:41:56 +02:00
Maciej Smyk e7435af7b0 Running Inference Restructure (#20195) 2023-10-03 09:41:44 +02:00
Sebastian Golebiewski c7fb00a461 [DOCS] Changing file structure of Apache MXNet Caffe and Kaldi section (#20200)
* Changing file structure of Apache MXNet Caffe and Kaldi section

* Update
2023-10-03 08:45:59 +02:00
Sebastian Golebiewski 1f1841c683 Changing file structure of OpenVINO API 2.0 transition section (#20199) 2023-10-03 08:34:44 +02:00
Sebastian Golebiewski eec30ec50d Changing file structure of Legacy Model Optimizer Extensibility section (#20198) 2023-10-03 08:26:35 +02:00
Ilya Lavrenov d37326b37e Disable pkg-config search on Android via CMAKE_DISABLE_FIND_PACKAGE_PkgConfig (#20179) 2023-10-03 09:16:56 +04:00
Ilya Churaev 23e5964c5d Remove HostTensor from ov namespace (#20168)
* Remove HostTensor from ov namespace

* Fixed build
2023-10-03 09:13:18 +04:00
Anastasia Kuporosova 3bdd12b6c5 [PyOV][Docs] Update docs with new way of using properties (#20116) 2023-10-03 06:59:57 +02:00
Przemyslaw Wysocki 9dd5fe97cb Add field for JIRA ticket in Good First Issue template (#20187)
* Add gfi

* Minor change

* Fix linter

* fix typo

* Fix typo'

* Add new field

* Minor change
2023-10-02 21:55:14 +04:00
Andrey Kashchikhin bcd331d145 [CI] [GHA] Transfer Linux ONNX Runtime to AKS runners (#20157)
* transition to aks runners

* correct name

* incorporate onnxruntime into linux pipeline

* add missing python installation

* install build dependencies

* add path

* rm unused

* mv stage

* correct dir

* use 16-core for onnxruntime job

* rm obsolete

* rm logs

* rm unnecessary step

* rm unnecessary dir creation
2023-10-02 21:45:17 +04:00
Alina Kladieva 86dfacbc51 [build_samples_msvc] Exit properly on error (#20191) 2023-10-02 21:34:08 +04:00
Taylor Yeonbok Lee 33881542c5 [GPU] Fix gpu memory handling (#19930)
* [GPU] Added more debug print for prepare input/output
Skip enqueuemempcy for zero count tensor

* Fix mem alloc limitation

* Simplify memory check condition

* Fix not to wait for null event

* Additional fixes
- apply review comments (disable 0 size memcpy for other mem types) && return user event instead of nullptr
- fixd get_max_memory to return cpu memory instead of global memorysize (Because in windows, max_global_memory returns shared gpu memory instead of physical memory size)

* Fixed functest failure
2023-10-02 09:44:22 -07:00
Sebastian Golebiewski 97a830965f Changing file structure of Model Conversion Tutorials in Documenation section (#20193) 2023-10-02 16:18:45 +02:00
Sebastian Golebiewski b1c0a1a299 Changing file structure of Supported Model Formats section (#20189) 2023-10-02 15:41:12 +02:00
Sebastian Golebiewski a6e5f6bdb4 Changing file structure of Legacy Conversion API (#20184) 2023-10-02 14:42:13 +02:00
Sofya Balandina f94445668b [template] Fix log_level, model_priority, full_device_name tests (#20133) 2023-10-02 16:27:36 +04:00
Maciej Smyk 98153f8be1 Workflow (#20181) 2023-10-02 14:11:57 +02:00
Sebastian Golebiewski f1db726559 Changing file structure of Legacy Features section (#20182) 2023-10-02 13:46:39 +02:00
Aleksandr Voron a96aceb31e [CPU][ARM] Skip tests affected by in-completed tests migration to new API (#20115) 2023-10-02 15:25:44 +04:00
Egor Duplenskii ae00b3e2ab [CPU][ARM] Correct execution of the Reorder via Transpose (#20018) 2023-10-02 15:24:43 +04:00
Sebastian Golebiewski 7452656e5a Changing file structure of Tool Ecosystem section (#20178) 2023-10-02 12:40:50 +02:00
River LiandIlya Churaev 32b4ae7570 [C API] support string size for char pointer (#19931)
* [C API] support string size for char pointer

* rename function name

* Add deprecated flag

* Add macro to ignore deprecated

* Fix build error in windows

---------

Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2023-10-02 14:24:20 +04:00
Alessandro de Oliveira Faria (A.K.A.CABELO) 850bf3d87f Opensuse (#20166)
* compatibility with opensuse linux

* compatibility with opensuse linux
2023-10-02 14:13:35 +04:00
Ilya Churaev ea37126ea5 Removed ie:: namespace (#20172) 2023-10-02 14:02:14 +04:00
Vitaliy Urusovskij 78ef7e85c9 Return missed return pmc; (#20118) 2023-10-02 14:01:18 +04:00
Zlobin Vladimir 7e709a0ecc benchmark: remove deprecation notice (#20175)
Python version didn't mark -api as deprecated
2023-10-02 13:50:49 +04:00
Sebastian Golebiewski affceaa32b Changing file structure of Prerequisites and Markup Transformations section (#20173) 2023-10-02 11:00:14 +02:00
Sebastian Golebiewski 172a50bb3c Changing file structure of Plugin API Reference (#20177) 2023-10-02 10:49:13 +02:00
Sebastian Golebiewski e4cd6c5c44 Changing file structure of Cleanup Transformations (#20176) 2023-10-02 10:48:52 +02:00
Sebastian Golebiewski 319954e19d Changing file structure of Main Transformations (#20174) 2023-10-02 10:19:22 +02:00
Sebastian Golebiewski 641743efb1 Changing file structure of Attributes of Low Precision Transformations section (#20170) 2023-10-02 09:22:40 +02:00
Roman Kazantsev b409ea1930 [TF FE] Support TF1 While Control flow (#20105)
* [TF FE] Support TF1 While Control flow

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Apply code-style fix

* Update API for OpPlace to store back edge

* Fix build: no rvalue by reference passing

* Fix build issue: correct type

* Fix TF FE unit-tests

* Apply code-review feedback: remove unused vars

* Fix fusing complicated case of TF1 While

* Remove unused variable

* Update MO unit test

* Fix layer tests for While

* Handle Switch and NextIteration nodes connected directly

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-10-02 09:56:10 +04:00
Sergey Shlyapnikov e2501a67d2 [GPU] Fix os_is_yx_osv16_isv4 weights format matching (#20132) 2023-10-02 09:02:10 +04:00
Ilya Lavrenov 95e3096684 Added build on RedHat system to build & test RPM packages (#20134)
* Added GHA workflow for RPM packages

* Avoid rebuild for RPM / Debian packages

* Removed conditional include headers

* try only post-build

* Beautification

* Fixed testdata generation for mulit-config generators
2023-10-01 23:23:06 +04:00
Katarzyna Mitrus 86bf038417 [Ref][Core][Opset13] NMSRotated-13 core shell and reference implementation (#19907)
* nms_r_init

* Add tests

* Update nms refs

* Update onnx import

* Add nms rotated utils

* Remove soft sigma and align constructors

* Fix typo

* Style apply

* Add namespace for iou

* Update opset comment

* Revert cpu changes

* onnx test cleanup

* Update input types validation

* Align shape_infer boxes

* Test update

* Fix warning

* Temporary evaluate support for tests

* Add counterclockwise support

* Remove box_encoding attr

* Fix clockwise box idx

* More tests

* Update opset test

* Update boxes shape validation

* Type prop tests

* HostTensor to ov Tensor migration

* Update output_type set get output_type_attr

* Move setters and getters to cpp

* Add visitor test

* Cleanup

* Remove temp eval

* Headers adjustment

* use float for division

* Fix ref tests run

* Tests and style code refactor

* Move type check into box_last_dim

* Update visitor test namespace

* Check input type loop

* Remove nms_rotated namespace and rename ref function

* avoid copies in filling output tensor

* Update shape var name

* remove static from riou func

* Update nms_rot utils

* Move nms rot util to ov reference namespace

* use std::cos and std:::sin

* Update struct name

* Explain usage of postprocessing

* Update element type desc in error message

* Add more comments

* Adjust rotated util float types

* Fix name conflicts and warnings

* Update opset test ops number

* Move int input check to the loop

* Short box_def_size init

* Move remove static_output from shape_infer params

* Align float zero

* Update third-party-programs

* Fix TensorIt for CI

* Add op check test
2023-09-29 17:48:45 +00:00
Andrey Kashchikhin 77e043d342 [CI] [GHA] Transfer Linux CC to AKS runners (#20146)
* transfer to aks runner

* add missing git lfs

* use 22 ubuntu; rm unused ninja installation
2023-09-29 20:37:07 +04:00
Andrey Kashchikhin 74251ce932 rm obsolete pipeline (#20155) 2023-09-29 18:37:15 +04:00
Andrey Babushkin 201403ecd0 More RAM for 4 core AKS runner (#20138) 2023-09-29 15:00:52 +01:00
Sebastian Golebiewski cb315e8f91 Changing file structure of Advanced Topics section of OpenVINO Plugin Developer Guide (#20154) 2023-09-29 14:42:50 +02:00
Sebastian Golebiewski 30b0f660d3 Changing file structure of OpenVINO Plugin Developer Guide section of (#20153) 2023-09-29 14:21:16 +02:00
Sebastian Golebiewski 6e1e8105fe Changing file structure of Overview of Transformations API section of docs (#20150) 2023-09-29 13:57:00 +02:00
Maciej Smyk 6906af1d72 runtime windows & linux (#20148) 2023-09-29 13:39:43 +02:00
Sebastian Golebiewski 332305b1eb Changing file structure of OpenVINO Extensibility section of docs (#20145) 2023-09-29 12:48:56 +02:00
Maciej Smyk 51060c2643 macOS runtime (#20143) 2023-09-29 12:22:02 +02:00
Maciej Smyk 064ee982df install guide overview (#20129) 2023-09-29 10:37:34 +02:00
Maciej Smyk 932179252f get started & install configurations (#20128) 2023-09-29 10:02:10 +02:00
Maxim VafinandAlina Kladieva f38b5f4f06 [PT FE] Support moving TupleConstruct inside If body (#20081)
* Support moving TupleConstruct inside If body

* Fix win build

---------

Co-authored-by: Alina Kladieva <alina.kladieva@intel.com>
2023-09-28 23:11:09 +02:00
Maxim Vafin 64cc3a96bb Restrict version of pytorch-quantization (#20137) 2023-09-28 23:11:41 +04:00
Mikhail RyzhovandIlya Lavrenov f85a276782 [GHA] Azure pip cache (#20029)
* switched PyTorch_Models

* fixed root issue

* upgrade pip

* set bash environments

* install pip deps

* added git installation

* added g++ deps

* added python-dev package

* get particular python-dev package

* fixed package name

* removed python-dev

* cython dep

* debug

* fixed inlude path

* test cache

* set home dir

* changed disk space calculation

* crosspipeline pip cache

* added tag for source builded deps

* immutable deps

* use commit id instead of tag

* Update .github/workflows/linux.yml

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* fixed logs upload condition

* removed pip upgrade

* changed  detectotron version

* Update tests/model_hub_tests/torch_tests/requirements_secondary.txt

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* changed wheel installation way

* reset onednn

* added cleanup workload

* cleanup test

* fixed reqs install

* test cache depending on pip version

* syntax fix

* env overwriting test

* test env output

* fixed set env step

* move pip cahc initialization to step

* changed pip ver regexp

* set custom pip cahce for each step

* cleanup code and enabled test cleanup job

* test cleanup 2

* speedup removal

* check existed dir

* Enabled cache for samples job

* removed debug job

* changed way how to get pip ver

* improved pip version extration

* revert omz

* switched PyTorch_Models

* fixed root issue

* upgrade pip

* set bash environments

* install pip deps

* added git installation

* added g++ deps

* added python-dev package

* get particular python-dev package

* fixed package name

* removed python-dev

* cython dep

* debug

* fixed inlude path

* test cache

* set home dir

* changed disk space calculation

* crosspipeline pip cache

* added tag for source builded deps

* immutable deps

* use commit id instead of tag

* Update .github/workflows/linux.yml

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* fixed logs upload condition

* removed pip upgrade

* changed  detectotron version

* Update tests/model_hub_tests/torch_tests/requirements_secondary.txt

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* changed wheel installation way

* added cleanup workload

* reset onednn

* cleanup test

* fixed reqs install

* test cache depending on pip version

* syntax fix

* env overwriting test

* test env output

* fixed set env step

* move pip cahc initialization to step

* changed pip ver regexp

* set custom pip cahce for each step

* cleanup code and enabled test cleanup job

* test cleanup 2

* speedup removal

* check existed dir

* Enabled cache for samples job

* removed debug job

* changed way how to get pip ver

* improved pip version extration

* revert omz

* review fixes

* remove  cache files using atime

* mtime->atime

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-09-28 22:21:32 +04:00
Maxim Vafin 84d98d8bf7 [PT FE] Add support for aten::pixel_shuffle (#20124)
* [PT FE] Add support for aten::pixel_shuffle

* Add comments

* Update src/frontends/pytorch/src/op/pixel_shuffle.cpp
2023-09-28 19:09:54 +02:00
andreyanufr b73b2502b1 Introduce NF4 data type (#19900)
* NF4 reference initial commit

* Compilable version.

* Executable NF4.

* Fixed nf4 unpacking.

* 1) Fixed warnings with nf4.
2) Removed unused functions.

* Added one test for nf4.

* Fixed code-style errors.

* Fixed code-style errors.

* Fixed NamingConventionCheck errors.

* Fixed test with nf4.

* Fixed windows compilation.

* Fixed casting warning.

* Fixed incorrect changes.

* Changed order of elements in nf4 pack/unpack.

* 1) Made Convert only on direction nf4->other type.
2) Applied reviewers suggestions.

* Fixed code style.

* Fised code style.

* 1) Added array header.
2) Added Bitsandbytes to third-party-programs.txt.

* 1) Removed unused code.
2) Fixed style typos.
3) Revert submodule version.

* Added test for nf4 compression.

* NF4 test refactoring.

* Added cpp tests for NF4.

* Removed model compilation from NF4 tests.

* Reverted submodule version.
2023-09-28 20:56:57 +04:00
Ilya LavrenovandSebastian Golebiewski 3de1332838 VCPKG docs for dynamic OpenVINO build (#20127)
* VCPKG docs for dynamic OpenVINO build

* Apply suggestions from code review

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* Update installing-openvino-vcpkg.md

* Update docs/install_guides/installing-openvino-vcpkg.md

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

---------

Co-authored-by: Sebastian Golebiewski <sebastianx.golebiewski@intel.com>
2023-09-28 19:55:20 +04:00
Anastasia Kuporosova 744f5d4130 [PyOV] Fix docs and add test for Model._get_raw_address (#20109) 2023-09-28 12:06:20 +00:00
Sebastian Golebiewski 9a88eed9f2 Fix Issue 20097 - providing an easy to read Cmake command (#20126) 2023-09-28 16:04:48 +04:00
Maciej Smyk 960cfa09ad update (#20106) 2023-09-28 13:43:18 +02:00
Mikhail Ryzhov d2ba528993 switched to 8 core runner (#20120) 2023-09-28 15:42:55 +04:00
Chenhu Wang c5320bf7f0 [CPU] DetectionOutput perf fix (#19773) 2023-09-28 15:36:12 +04:00
Ilya Lavrenov 23e602f06f Fixed NCC style check (#20121) 2023-09-28 15:01:52 +04:00
Pawel Raasz 197e954846 [core]Migrate reduce ops max min mean prod sum evaluate to new API (#19756)
* Migrate ReduceL1, ReduceL2 to new API
- add some new utils which are deprecated

* Hide helper functions from public API

* Migrate reductions ops to new API

* Migrate get_constant_from_source to dev API

* Rename ref max to reduce_max

* Rename ref min to reduce_min

* Rename ref mean to reduce_mean

* Rename ref sum to reduce_sum

* Rename ref product to reduce_prod
- minor optimization in ReduceProd operator

* Restore custom isfinite for ov float types

* Fix type name in reduce_max.hpp

* Add missing include in shape_util.hpp

* Make count same type as data type in reduce mean

* Correct reduce sum doxy comment
2023-09-28 10:12:21 +00:00
Sergey Shlyapnikov f9678a285c [GPU] Do not use usm_host memory buffers for PVC as a device inputs (#19767) 2023-09-28 13:53:51 +04:00
Sergey Shlyapnikov 886be26c0b [GPU] Add handling of unsupported simd8 for PVC (#20093) 2023-09-28 13:39:41 +04:00
Roman KazantsevandIlya Lavrenov 7761fc754c [Hub Tests] Move TF Hub tests to AKS runners (#20049)
* [Hub Tests] Move Hub tests to self-host runners

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Not all directories possible to clean up

* Move Hub models tests to AKS nodes

* Add install actions python setup

* Add ca-certificate deps to install

* Fix bug for PT models

* Update .github/workflows/linux.yml

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* Update .github/workflows/linux.yml

* Revert changes for PT models tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>

* Install correct version of OV

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-09-28 09:10:39 +00:00
Sebastian Golebiewski 7dd5d9720c Changing file structure of documentation gapi section of docs (#20107) 2023-09-28 11:09:14 +02:00
Maciej Smyk b0507b9918 Update release_notes.md (#20113) 2023-09-28 11:03:58 +02:00
Maxim Vafin fea6db1a5f [PT FE] Fix issue when cat input is folded to tensor (#20090)
* [PT FE] Fix issue when cat input is folded to tensor

* CHeck real first input

* Update src/frontends/pytorch/src/op/cat.cpp
2023-09-28 10:52:09 +02:00
Ilya Lavrenov 1be993dd39 [GHA] Don't build documentation in post-commit (#20099) 2023-09-28 12:11:14 +04:00
Ilya Lavrenov 20ec04bfcc Try to use vcpkg cache (#20102) 2023-09-28 12:03:46 +04:00
Anastasia Kuporosova c90bcbf5eb [PyOV] fix if_op return types (#20014)
* [PyOV] fix if_op return types

* fix if

* other types

* test for if

* add tests, try fix loop, ti

* fix ci
2023-09-28 09:35:54 +02:00
Sebastian Golebiewski ca7031f69d Changing file structure of documentation section of docs. (#20104) 2023-09-28 08:47:33 +02:00
Fang XuandIlya Lavrenov 2f9727aef9 fix compilation issue on Windows arm64 (#19873)
* fix compilation issue on Windows arm64

* fix build issue

* fix build issue

* disable clang compiler for Windows on ARM

* disable clang compiler for cpu plugin

* Update CMakeLists.txt

removed fatal_error from cpu cmake

* Update features.cmake

disable Intel CPU plugin by default on Windows ARM64 with clangl-cl compiler

* update comments

* fix build issue

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-09-28 05:56:10 +00:00
Ilya Lavrenov 920d1badf3 Added WebAssembly workflow (#20092) 2023-09-28 01:18:17 +04:00
Ilya Lavrenov ce7366bc90 Enabled Android arm64 GHA in precommit (#20094) 2023-09-28 01:15:36 +04:00
Ilya Lavrenov 132bada331 Enable PDPD tests build (#20078)
* Fixed comments for linux-riscv64 GHA workflow

* Try to enable PDPD tests back
2023-09-27 18:03:02 +04:00
Zlobin Vladimir 20172200ea Update open_model_zoo submodule (#20083)
Catch up https://github.com/openvinotoolkit/open_model_zoo/pull/3864
2023-09-27 18:02:43 +04:00
Nikita Malinin 064a18eb09 [POT] Change python version to 3.8+ (#20071)
* Change python version to 3.8+

* Fix tests
2023-09-27 18:01:34 +04:00
Maciej Smyk 129126bddc [DOCS] Release Notes files location update for master (#20085)
* release_notes

* update-1
2023-09-27 17:51:47 +04:00
Min, Byungil b8f6720c18 [Doc] Fix invalid info in bulid_linux.md (#20076)
Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-09-27 14:14:53 +04:00
Andrei Beleiu b5f4087f66 [transformations][WeightsDequantizeToFakeQuantize] Extend pattern matching (#19772)
* [transformations] WeightsDequantizeToFakeQuantize: Extend pattern matching with the case when both Subtract inputs are Convert

* [transformations] WeightsDequantizeToFakeQuantize: Added new tests to cover the extention added to pattern match

* Fix review comments
2023-09-27 10:06:06 +01:00
Sonder 5079c50bb8 Update the regular syntax in cmakelist (#20066) 2023-09-27 12:26:17 +04:00
Ilya Lavrenov a6e7bac962 Added RISC-V Conan build (#20064) 2023-09-27 12:24:20 +04:00
Maciej Smyk edfb951876 [DOCS] Toctree update for Plugin articles for master (#20061)
* toctree update

* Update step3_main.md
2023-09-27 09:32:11 +02:00
Mateusz Mikolajczyk f5fe664fb7 [Ref][Core][Opset13] Add BitwiseNot operation (#19956)
* [Ref][Core][Opset13] Add bitwise_not operation

* Fix CI issues + add missing test

* improve test

* formatting

* Requested changes

* Remove unused include

* Add requested changes

* Try to fix test problems

* Fix CI

* Fix type validation

* Add checks in template eval
2023-09-27 08:17:53 +02:00
hyunback kim 4ea370c172 [GPU] Support bfwzyx format in strided_slice. (#20027)
* [GPU] Support bfwzyx format in strided_slice.

GroundingDino model needs 6dims format.

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-09-27 10:39:16 +09:00
Anastasia Kuporosova 9dfed28aed [PyOV] Make openvino properties behave as python property object (#20007)
* properties as property

* working prototype

* another attempt

* fix for test

* cosmetic changes

* generate properties

* test upste

* add comments

* update submodules

* apply comments
2023-09-26 21:38:53 +02:00
Irina Efode 2742752747 [CONFORMANCE] Provide plugin impl status based on QM instead of compile_model (#20036) 2023-09-26 23:01:27 +04:00
Ilya LavrenovandOleg Pipikin 8349849e1c Use FindPython3.cmake (#19847)
* Use FindPython3.cmake

* Fixed compilation on macOS 14 with new core development tools

* Try to use Python3_SOABI instead of PYTHON_MODULE_EXTENSION

* Use Development.Module

* Keep specifying only Python3_EXECUTABLE

* Print PYTHON_MODULE_EXTENSION

* Added check for minimal cmake version for python API

* Returned Python3_INCLUDE_DIR for cross-compilation case

* Try to allow cmake older than 3.18

* Use build python interpreter to check cython dependency

* revert changes in .ci/openvino-onnx/Dockerfile

* removed unused code

* Fixed issue with variables scope

* Experiment: remove include dirs

* Corrected docs

* Use pybind11 function to set extension

* Revert "Experiment: remove include dirs"

This reverts commit 6f7f90211c.

* Refactor ConvolutionBackpropDataLayerTest, ConvolutionLayerTest, DeformableConvolutionLayerTest (#19810)

* Refactor ConvolutionBackpropDataLayerTest

* Refactor ConvolutionLayerTest

* Refactor DeformableConvolutionLayerTest

* Apply comments

* Apply comments

* Fix

* Updated minimum cmake version for Windows

* Simplified check

* Removed useless message status

* Use puiblic option

---------

Co-authored-by: Oleg Pipikin <oleg.pipikin@intel.com>
2023-09-26 20:57:29 +02:00
Oleg Pipikin 7852b44c5f Refactor GrnLayerTest, GroupConvBackpropLayerTest, GroupConvolutionLayerTest, GRUCellTest (#20026)
* Refactor GrnLayerTest

* Refactor GroupConvBackpropLayerTest

* Refactor GroupConvolutionLayerTest

* Refactor GRUCellTest
2023-09-26 19:28:45 +02:00
Mikhail Ryzhov 6f55feb592 [GHA] concurrency fix (#20040)
* fixed cancelation issue in post-commits

* hardcoded os suffix

* added comments

* Update .github/workflows/linux.yml

* improved condition to support release branches
2023-09-26 17:35:23 +02:00
Nadezhda Ageeva 784cce37b3 [HETERO]: Mask subgraphs by operations (#19834)
* [HETERO]: Mask subgraphs by operations

Fix GPU tests. Fix mapping of subgraphs inputs to outputs.

Raise exception on last device

Fix dot files dumping

Small fix

* [HETERO] Fix debug dump after https://github.com/openvinotoolkit/openvino/pull/19392/

* [HETERO] Second fix for debug dump after https://github.com/openvinotoolkit/openvino/pull/19392/
2023-09-26 19:11:11 +04:00
Roman Lyamin 1ba8005688 [GPU] Disabling redundant copying of constant weights (#18949) 2023-09-26 18:43:57 +04:00
Xuejun Zhai 845bbfc9c5 [C API] Fix the BOOLEAN in ov_element_type conflict with the typedefine in Windows.h (#19380)
* [C API] Fix BOOLEAN confict between Windows.h & ov_element_type_e in OV

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [C API] fix clang format

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [C API] Add test for BOOLEAN conflict

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [C API] fix clang format

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [C API] Fix warning & comments

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [C API] enable OV_BOOLEAN for windows & linux

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [C API] fix build error

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* [C API] Remove WIN_BOOLEAN

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>

* Update ov_windows_conflict_test.cpp

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-09-26 18:21:50 +04:00
Mateusz Tabaka 5384fe43df Add EnableShapeOfConstantFolding transformation (#19880)
* Add EnableShapeOfConstantFolding transformation

Transpose sinking (that is used in TF frontend) disables ShapeOf constant folding
which prevents some optimizations further in the pipeline.
This patch introduces EnableShapeOfConstantFolding that removes DisableConstantFolding
from ShapeOf nodes.

Ticket: CVS-118890

* add description

* review comments

* headers
2023-09-26 15:53:23 +02:00
Anastasiia Pnevskaia 2bbfe7b44d Added support of shapes and types from original FW in ov.convert_model() (#20009)
* Added support of shapes and types from paddle, torch and tf.

* Removed changes from requirements.

* Corrected test.

* Moved helper methods to utils.

* Separated tests by frameworks.

* Removed changes from complex_params test.
2023-09-26 17:41:01 +04:00
Vitaliy Urusovskij c3565e3eac ScatterNDUpdate, ScatterElementsUpdate, Roll layer tests to API2.0 (#20048)
* `ScatterNDUpdateLayerTest` to API2.0

* `ScatterElementsUpdateLayerTest` to API2.0

* `RollLayerTest` to API2.0
2023-09-26 15:29:40 +02:00
Pawel Raasz 79ff291314 [CI]Fix Azure openvino-lin build issues (#20045) 2023-09-26 15:29:31 +02:00
bstankix 5722609389 [DOCS] Bugfix coveo sa-search url (#20054) 2023-09-26 15:21:50 +02:00
Nadezhda Ageeva 9e7938106b [Transformations] Fix unroll if transformation rt info (#20047)
* [Transformations] Fix unroll if transformation rt info

* Update test to check body names
2023-09-26 13:13:52 +00:00
Pawel Raasz 519f13a177 [core]Api 2.0/migrate logical reduce ops to new API (#20043)
* Migrate ReduceLogicalOr to new API

* Migrate ReduceLogicalAnd to new API
2023-09-26 14:45:19 +02:00
Xuejun Zhai 27decbbd48 [AUTO BATCH][FUNC TEST] keep naming style (#20046) 2023-09-26 12:28:16 +00:00
Vitaliy Urusovskij a519770a87 ScatterUpdate, Select layer tests to API2.0 (#20010)
* `SelectLayerTest` to API2.0

* `ScatterUpdateLayerTest` to API2.0
2023-09-26 11:27:20 +00:00
Irina Efode 47dec42ca0 [CONFORMANCE] Provide correct numbers for rel_passed && rel_all (#20035) 2023-09-26 12:24:56 +02:00
Tatiana Savina b6427ad0fb format fixes (#20030) 2023-09-26 10:49:03 +02:00
Alexandra Sidorova 69c237f340 [Snippets] Created common static method is_supported_fq (#19775) 2023-09-26 11:12:41 +04:00
Anton Voronov 3ce48fc3d6 Fixed OV static build issues (#19976) 2023-09-26 10:23:00 +04:00
Ilya Lavrenov 5616c26d19 Debian packages on GHA (#20033)
* Refactored Linix GHA pipeline

* Move ONNX tests to Unit

* Install tests together with openvino

* Added checks for GNA usage in docs python snippets

* Install openssl for working pip

* Disabled onnx_dyn_shapes_expand_1_dyn_shape ONNX test

* exclude dyn shapes from onnx

* Migrated samples tests

* Fixed ONNX tests

* caches for PT tests dependencies

* Build Contrib separately from main OpenVINO

* More fixes

* Added python install for samples stage

* Installed manifests for ONNX FE tests

* Try to avoid libgl1 dependency in tests

* Clean-up

* Fixed issue with manifests in ONNX tests

* Try to build debian packages in GHA

* Fixed debian packages build for multi-config generators
2023-09-26 01:54:41 +04:00
Evgeny Kotov d6d6888d7a LPT opset12::Pad negative indexes support (#19430)
* changed unit tests

* add unit tests; fixed

* code review fixes

* remove debugging

* remove debug code

* add tests to ov_cpu_func_tests

* add negative padding tests to ov_gpu_func_tests

* code review fixes: change point to check positive indexes; check Pad mode in the list of currently supported

* code review fix: move check in canBeTransformed
2023-09-25 18:59:16 +00:00
Anastasiia Pnevskaia 999e9ef9ad Removed unused code from OVC cli_parser. (#20034)
* cli_parser clean-up.

* cli_parser clean-up.
2023-09-25 20:44:05 +04:00
Sofya BalandinaandIlya Lavrenov 947c7ba03a [TEMPLATE] Disable ReferenceTopKTest topk_min/max_sort_none on MacOS (#19878)
* [TEMPLATE] Disable ReferenceTopKTest topk_min/max_sort_none on MacOs

* Apply suggestions from code review

disabled tests only for macOS x86_64, because they pass on Apple M1 / M2

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-09-25 16:26:51 +00:00
bf7fcb08e7 No exception throws when getting version from unregistered plugin (#19722)
* Updated the behavior of core.get_version() and added corresponding test cases.

* Remove the prompt message.

* Update src/inference/src/dev/core_impl_ie.cpp

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

---------

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
Co-authored-by: yanlan song <bell.song@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-09-25 17:43:21 +04:00
Ilya Lavrenov 85145cd60c Refactored Linix GHA pipeline (#20021)
* Refactored Linix GHA pipeline

* Move ONNX tests to Unit

* Install tests together with openvino

* Added checks for GNA usage in docs python snippets

* Install openssl for working pip

* Disabled onnx_dyn_shapes_expand_1_dyn_shape ONNX test

* exclude dyn shapes from onnx

* Migrated samples tests

* Fixed ONNX tests

* caches for PT tests dependencies

* Build Contrib separately from main OpenVINO

* More fixes

* Added python install for samples stage

* Installed manifests for ONNX FE tests

* Try to avoid libgl1 dependency in tests

* Clean-up

* Fixed issue with manifests in ONNX tests
2023-09-25 17:00:30 +04:00
Andrey Kashchikhin 6d3f94762e fix (#20037) 2023-09-25 16:44:14 +04:00
Mahimai Raja JandPrzemyslaw Wysocki 39f6cbf259 Refactored with single dispatch generic function implementation (#19958)
* Refactored with single dispatch generic function implementation

* Resolved mypy linting warnings

* Update src/bindings/python/src/openvino/preprocess/torchvision/torchvision_preprocessing.py

* Update src/bindings/python/src/openvino/preprocess/torchvision/torchvision_preprocessing.py

---------

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>
2023-09-25 16:32:22 +04:00
Sofya Balandina 0dd54c8a0e [apiConformance] Change test for ov::hint::inference_precision RW property (#19977) 2023-09-25 16:27:23 +04:00
Pawel Raasz 7d1b7b6bec [core] Api 2.0/migrate operators without evaluate (#19988)
* Migrate ops evaluate

* Remove using ngraph and std from ops

* Use OPENVINO_ASSERT instead of NGRAPH_CHECK

* Move `shape_util.hpp` to `dev_api/openvino/core/`

* Remove visit_attributes, same as base impl

* Fix build issues

* Fix build issues
2023-09-25 14:22:59 +04:00
a4e1f9dbf8 [Spec][Opset13] Multinomial specification (#19866)
* [Spec] Multinomial specification

* [Spec] Apply recommended style fixes to Multinomial_13.md

* [Spec] Add range mathematical formulation

* [Spec] Update Multinomial input types

* Update opset13.md

* Update opset.md

* Update docs/ops/generation/Multinomial_13.md

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update Multinomial_13.md

* Update opset13.md

* Update docs/ops/generation/Multinomial_13.md

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update Multinomial_13.md

* Update Multinomial_13.md

* Update Multinomial_13.md

* Update docs/ops/generation/Multinomial_13.md

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update docs/ops/generation/Multinomial_13.md

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update docs/ops/generation/Multinomial_13.md

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Update Multinomial_13.md

* [Spec] Replace 3107670 syntax with ..math

* Update Multinomial_13.md

* Update Multinomial_13.md

* Update docs/ops/opset13.md

Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>

* [Spec] Apply changes from Ref/Core PR

* Update Multinomial_13.md

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
Co-authored-by: Mateusz Mikolajczyk <mateusz.mikolajczyk@intel.com>
2023-09-25 10:54:40 +02:00
Yuan Hu ec45107723 [CPU] Fix memory leak in binconv (#19999) 2023-09-25 12:45:25 +04:00
jmacekx 9091afc26c [DOCS] use etree to fix docs generated by doxygen (#20024) 2023-09-25 10:38:58 +02:00
Katarzyna Mitrus 37271c1e7c [Opset13][CPP] Initialization of Opset13 (#20005)
* Opset13 init

* Update test pattern ops

* Update remaining files
2023-09-25 10:20:37 +02:00
Oleg Pipikin f82c668d28 Refactor GatherLayerTest, GatherElementsLayerTest (#20020)
* Refactor GatherLayerTest

* Refactor GatherElementsLayerTest
2023-09-25 11:29:57 +04:00
Roman Lyamin 2e88aa0770 [GPU] Added int32 weights support for reorder_weights kernels (#20015) 2023-09-25 09:23:47 +04:00
Sun Xiaoxia c983b464ba enable cpu pinning on Windows by setting property affinity CORE (#19418)
* set enableCpuPinning=true by '-p YES'

* add test case of setting ov::Affinity::CORE

* add affinity=NUMA/HYBRID_AWARW

* fix build failure
2023-09-25 12:51:09 +08:00
Andrey BabushkinandIlya Lavrenov 3e82849f3c [workflows/linux] Switch to self-hosted runners in Azure Kubernetes Service (#19183)
* [workflows/liux] Trying AKS runners

* Remove sudo usages

* Fix repositories path

* Well, adding debug output

* execution bit?

* more debug output

* using bash...

* We should use shell syntax for env variables in 'run' sections

* again, may be we should use bash...

* fix cloning path for openvino repo

* more debug output

* Trying to populate WORKSPACE var in other way

* Trying different WORKSPACE

* export ALL variables for samples tests

* Trying to put openvino build into correct directory

* Replace more occurences of BUILD_DIR...

* Use shell expansion instead of Actions syntax in run steps

* Skip unit test failures

* Oops, there's no pytest for MO unit tests

* Oops, typo

* Fix LAYER_TESTS_INSTALL_DIR variable expansion

* Fix LAYER_TESTS_INSTALL_DIR for new stages

* Replace all the varibles

* Comment out CCACHE_DIR

I want to test worst-case scenario

* Comment setup ccache step

* Revert "Comment out CCACHE_DIR"

This reverts commit 046663a9f1.

* Just checking something

* Update with new stages from master

* One more stage to fix

* Fix INSTALL_DIR again (new stages were merged to master?)

* Remove concurrency limit (for test purposes)

* Trigger one more pipeline

* Disable concurrency settings

* Trigger another build

* Disable ccache (for testing purposes)

* trigger another build to measure duration without ccache

* And one more test commit

* Return back ccache

* Testing new image

* Enable concurrency back

* Using new image

* And another image

* Trying build on the clean image

* Install git

Upstream ubuntu image doesn't have git

* Oops, forgot apt-get update

* Upstream Ubuntu image, but using ACR cache

* Remove debug output

* Use Ubuntu image from ACR cache for the rest of the stages

* Display version of ccache

* Swith to ubuntu 20 temporarily (I hope)

* Set CCACHE_TEMP_DIR outside of shared space

* Revert "Swith to ubuntu 20 temporarily (I hope)"

This reverts commit 2e53109d83.

* trying ccche nohardlink option

* Trying to disable ccache file cloning

* fix CCACHE_TEMPDIR

* Install git to Python unit tests stage

* Install libsnappy-dev as tests require it

* Install python to test stage

* Fix env vars syntax in few places

* Update docker image name

* Increase timeout for CPU tests

* Debug output - trying to find out what's wrong with test reports

* Change file name in debug-output 'find' command

* let's try shell syntax for upload artifact action...

It most likely won't work but I see strange output in the logs:
Error: No files were found with the provided path: /__w/openvino/openvino/install/tests/TEST*.xml
/runner/_work/openvino/openvino/install/tests/logs/failed/*.log
/runner/_work/openvino/openvino/install/tests/logs/crashed/*.log
/runner/_work/openvino/openvino/install/tests/logs/hanged/*.log
/runner/_work/openvino/openvino/install/tests/logs/interapted/*.log
/runner/_work/openvino/openvino/install/tests/logs/disabled_tests.log. No
artifacts will be uploaded.

So the first path is translated to the path inside the container
correctly and the rest are not O_o

* Revert "let's try shell syntax for upload artifact action..."

This reverts commit eb19b4f319.

* Leave just disabled_tests.log (as it is the only one present)

* Use my own directory instead of github.workspace

Inside-container path translation doesn't work for upload-artifact
actions (it works only for the first path, but not for the rest)

* Revert "Leave just disabled_tests.log (as it is the only one present)"

This reverts commit 4321827880.

* Okay, let's try hardcoded workspace path...

* Okay, path should be inside "official" workspace. Hardcode it

* Missed some variables, replace github.workspace to hard-coded value

* Remove debug output 'find' command

* Remove old-style cache setup

* Clean ccache stats after cmake

* Change docker image to the one with non-root user

* Oops, switch to Ubuntu 20

* Playing with concurrency group name

* Oops, forgot sudo for ninja installation

* Revert "Oops, forgot sudo for ninja installation"

This reverts commit a7e1730279.

* Revert "Oops, switch to Ubuntu 20"

This reverts commit 19fe75f4af.

* Revert "Change docker image to the one with non-root user"

This reverts commit 553116492d.

* Use Ubuntu 20 DockerHub image

* Trying to force apt-get packages not to wait for user input

* Make DEBIAN_FRONTED for all stages

* Update reason of skipped MO unit test

* Add DEBIAN_FRONTED to all jobs

* Fix environment variables expansion in newly-added stages

* Update .github/workflows/linux.yml

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* Update .github/workflows/linux.yml

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>

* Fix review comments

* More review comment fixes

* Remove DEBIAN_FRONTEND from Python Models job

* "Get tools versions" step is absent on master

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-09-23 13:02:28 +04:00
Sun Xiaoxia 678e919b13 CPU pinning on Windows (#19405)
* add cpu pinning on windows

* remove pinning limitation on windows

* only support the machine with one numa node

* fix code style

* fix build error on macos

* set mask initial value

* fix test failure on window

* fix build failure on macos, add limitation on windows machine with two sockets

* fix test failure on windows

* fix test failure

* fix comments
2023-09-23 11:28:15 +08:00
Maxim Vafin f735999e7b Improve testing for hf models (#20017) 2023-09-22 20:10:33 +00:00
Pawel Raasz 93f2a1947c Reduce binary size of CumSum implementation (#20004) 2023-09-22 20:41:32 +02:00
Pawel Raasz efb8484124 [core] Api 2.0/migrate swish op to new API (#19934)
* Migrate Swish operator to new API

* Remove `visit_attributes` as is same in base class
2023-09-22 16:38:24 +04:00
Oleg Pipikin ce378739f0 Refactor DetectionOutputLayerTest, DFTLayerTest, EltwiseLayerTest (#19922)
* Refactor DetectionOutputLayerTest

* Refactor DFTLayerTest

* Refactor EltwiseLayerTest

* Fix

* Fix

* Disable tests
2023-09-22 16:35:20 +04:00
Vladimir Paramuzov 5611f7d65c [GPU] Fix constants reuse (#20003) 2023-09-22 15:29:38 +04:00
Mateusz MikolajczykandKatarzyna Mitrus 7a2ac27f09 [Spec][Opset13] BitwiseAnd-13, BitwiseNot-13, BitwiseOr-13, BitwiseXor-13 specifications (#19798)
* [Spec] BitwiseNot-13 specification

* Improvements

* add other specifications

* Doc improvements

* Fix typos

* add opset13

* Fix typo

* add opset13

* Fix

* Improve example?

* Fix step formatting

* Apply suggestions from code review

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>

* Add suggested changes

* Fix missing the

---------

Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
2023-09-22 13:14:46 +02:00
Maciej Smyk fb41324141 Update weight_compression.md (#20000) 2023-09-22 13:06:27 +02:00
Ekaterina Aidova c76475288b [PT FE]: support aten::scatter_reduce and extend aten::scatter (#19980)
* [PT FE]: support aten::scatter_reduce and extend aten::scatter out arg support

* create mapping inside function
2023-09-22 15:05:33 +04:00
Pavel Esir 9271b79540 [OVC] do not parse inputs for py_api (#19742)
* [OVC] do not parse inputs

* fix unit-tests

* remove redundant lines, add test case

* add one more unit-test

* skip None values

* replace str with List in test_mo_import_from_memory

* corrected type hints, added a safety assert
2023-09-22 15:05:21 +04:00
Oleg Pipikin c1271d1217 Refactor EmbeddingBagOffsetsSumLayerTest, EmbeddingBagPackedSumLayerTest, EmbeddingSegmentsSumLayerTest (#19952)
* Refactor EmbeddingBagOffsetsSumLayerTest

* Refactor EmbeddingBagPackedSumLayerTest

* Refactor EmbeddingSegmentsSumLayerTest
2023-09-22 10:12:28 +00:00
Ekaterina Aidova 26d18c924b [PT FE]: support aten::broadcast_tensors (#19994)
* broadcast tensors

* [PT FE]: support aten::broadcast_tensors

* apply review comments

* remove add
2023-09-22 13:54:44 +04:00
Maxim Vafin 2151e5f979 [PT FE] Add tests for timm models (#19997)
* Add tests for timm models

* Apply suggestions from code review

* Some improvements

* Update tests/model_hub_tests/torch_tests/test_transformers.py
2023-09-22 10:34:07 +02:00
8011 changed files with 349347 additions and 237402 deletions
-198
View File
@@ -1,198 +0,0 @@
trigger:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
pr:
drafts: 'false'
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
resources:
repositories:
- repository: vcpkg
type: github
endpoint: openvinotoolkit
name: microsoft/vcpkg
variables:
- group: github
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: Debug
OPENVINO_REPO_DIR: $(Build.Repository.LocalPath)
VCPKG_ROOT: $(OPENVINO_REPO_DIR)/../vcpkg
WORK_DIR: $(Pipeline.Workspace)/_w
BUILD_DIR: $(WORK_DIR)/build
ANDROID_TOOLS: $(WORK_DIR)/android_tools
ANDROID_NDK_HOME: $(WORK_DIR)/android_tools/ndk-bundle
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
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
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: |
set -e
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
submodules: 'true'
clean: 'true'
path: openvino
- checkout: vcpkg
clean: 'true'
path: vcpkg
- script: |
set -e
# generic dependencies
sudo -E apt --assume-yes install ccache scons default-jdk python3-pip ninja-build
# vcpkg requires cmake 3.19 or later
python3 -m pip install -U pip cmake
# vcpkg's tool dependencies
sudo -E apt --assume-yes install curl zip unzip tar
# vcpkg 'python3' port dependencies
sudo -E apt --assume-yes install autoconf libtool autoconf-archive
# vcpkg tree of dependencies require extra packages
sudo -E apt --assume-yes install pkg-config linux-libc-dev
# Install Android SDK, NDK and Tools
sudo apt -y --no-install-recommends install unzip
wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
unzip commandlinetools-linux-7583922_latest.zip
yes | ./cmdline-tools/bin/sdkmanager --sdk_root=$(ANDROID_TOOLS) --licenses
./cmdline-tools/bin/sdkmanager --sdk_root=$(ANDROID_TOOLS) --install "ndk-bundle" "platform-tools" "platforms;android-$(ANDROID_SDK_VERSION)"
displayName: 'Install dependencies'
- script: |
set -e
$(VCPKG_ROOT)/bootstrap-vcpkg.sh --disableMetrics
# patch vcpkg default (community) toolchain to build only Release configuration
echo "set(VCPKG_BUILD_TYPE release)" >> $(VCPKG_ROOT)/triplets/community/arm64-android.cmake
displayName: 'Build vcpkg'
- task: CMake@1
inputs:
cmakeArgs: >
-G Ninja
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
-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
-DANDROID_ABI=$(ANDROID_ABI_CONFIG)
-DANDROID_PLATFORM=$(ANDROID_SDK_VERSION)
-DENABLE_PYTHON=OFF
-DENABLE_SYSTEM_OPENCL=ON
-DENABLE_SYSTEM_PROTOBUF=ON
-DENABLE_SYSTEM_PUGIXML=ON
-DENABLE_SYSTEM_SNAPPY=ON
-DENABLE_SYSTEM_TBB=ON
-DENABLE_SYSTEM_FLATBUFFERS=ON
-DENABLE_INTEL_GPU=ON
-DENABLE_TESTS=ON
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-S $(OPENVINO_REPO_DIR)
-B $(BUILD_DIR)
- script: ccache --zero-stats --max-size=50G --show-config
displayName: 'Clean ccache stats'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
env:
CCACHE_DIR: $(CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 50G
displayName: 'Build Android ARM64'
- script: ccache --show-stats
displayName: 'Show ccache stats'
- script: ls -alR $(OPENVINO_REPO_DIR)/bin/
displayName: 'List binary files'
-587
View File
@@ -1,587 +0,0 @@
trigger:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
pr:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
resources:
repositories:
- repository: openvino_contrib
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: master
variables:
- group: github
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"
CMAKE_CPACK_GENERATOR: "TGZ"
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: '180'
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
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
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 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'
submodules: 'true'
path: openvino
- checkout: openvino_contrib
clean: 'true'
submodules: 'true'
path: openvino_contrib
- script: |
set -e
sudo -E $(REPO_DIR)/install_build_dependencies.sh
# Move jdk into contrib
# 'clang' compiler is used as a default compiler
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/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
# TODO Reenable PDPD after paddlepaddle==2.5.0 with compliant protobuf is released (ticket 95904)
#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 running torchvision -> OpenVINO preprocess converter
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/src/openvino/preprocess/torchvision/requirements.txt
# For MO unit tests
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_mxnet.txt
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_caffe.txt
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_kaldi.txt
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_onnx.txt
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_tf2.txt
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_dev.txt
# Speed up build
sudo apt -y --no-install-recommends install unzip
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
unzip ninja-linux.zip
sudo cp -v ninja /usr/local/bin/
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'
- 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
-DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose"
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_C_COMPILER=clang
-DENABLE_SYSTEM_SNAPPY=ON
-DENABLE_SYSTEM_TBB=ON
-DCPACK_GENERATOR=$(CMAKE_CPACK_GENERATOR)
-DBUILD_nvidia_plugin=OFF
-S $(REPO_DIR)
-B $(BUILD_DIR)
displayName: 'Cmake OpenVINO'
- script: ls -alR $(REPO_DIR)/temp/
displayName: 'List temp SDKs'
- script: ccache --zero-stats --max-size=50G --show-config
displayName: 'Clean ccache stats'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
env:
CCACHE_DIR: $(CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 50G
displayName: 'Build Lin'
- script: ccache --show-stats
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)
displayName: 'Cmake Layer Tests'
- script: cmake --build $(BUILD_LAYER_TESTS_DIR) --parallel --config $(BUILD_TYPE)
displayName: 'Build Layer Tests'
- script: sudo apt-get remove libtbb2 -y
displayName: 'Remove debian dependencies'
condition: eq(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
- 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: 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'
- script: |
set -e
sudo apt-get install libtbb-dev libpugixml-dev -y
cmake --build $(BUILD_DIR) --target package --parallel
condition: eq(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
displayName: 'Build Debian packages'
- script: |
set -e
# install debian packages from previous release
sudo apt-get install --no-install-recommends gnupg wget -y
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
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'
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
condition: ne(variables['CMAKE_CPACK_GENERATOR'], 'DEB')
displayName: 'Install openvino'
- 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 - gcc'
- script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -b $(BUILD_DIR)/cpp_samples_clang
env:
CC: clang
CXX: clang++
displayName: 'Build cpp samples - clang'
- script: $(SAMPLES_INSTALL_DIR)/c/build_samples.sh -i $(INSTALL_DIR) -b $(BUILD_DIR)/c_samples
env:
VERBOSE: 1
displayName: 'Build c samples'
- script: rm -fr $(BUILD_DIR)
displayName: 'Clean build dir'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVCoreUT.xml
displayName: 'OV Core UT'
- 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'
- 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'
- script: $(RUN_PREFIX) $(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: $(RUN_PREFIX) $(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: $(RUN_PREFIX) $(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'
- 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'
- 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'
- 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'
# TODO Reenable PDPD after paddlepaddle==2.5.0 with compliant protobuf is released (ticket 95904)
- 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'
enabled: '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'
- script: $(RUN_PREFIX) $(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: $(RUN_PREFIX) $(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'
- 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'
- 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'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_legacy_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-LegacyTransformations.xml
displayName: 'Legacy Transformations Tests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_util_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-CommonUtilTests.xml
displayName: 'Common Utils Tests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/InferenceEngineUnitTests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineUnitTests.xml
displayName: 'IE UT old'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_snippets_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_snippets_func_tests.xml
displayName: 'Snippets Func Tests'
- 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'
- 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'
enabled: 'false' # TODO: fix
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_auto_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_auto_unit_tests.xml
displayName: 'AUTO UT'
- script: $(RUN_PREFIX) $(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: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_template_func_tests --gtest_filter=*smoke* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-templateFuncTests.xml
displayName: 'TEMPLATE FuncTests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
displayName: 'IE CAPITests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml
displayName: 'OV CAPITests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_auto_batch_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_auto_batch_func_tests.xml
displayName: 'AutoBatch FuncTests'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
$(RUN_PREFIX) 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'
- script: |
set -e
export LD_LIBRARY_PATH=$INSTALL_TEST_DIR:$LD_LIBRARY_PATH
$(RUN_PREFIX) 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
displayName: 'Python API 2.0 Tests'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
python3 -m pytest -sv $(REPO_DIR)/src/frontends/onnx/tests $(PYTHON_STATIC_ARGS) \
--ignore=$(REPO_DIR)/src/frontends/onnx/tests/test_python/test_zoo_models.py \
--ignore=$(REPO_DIR)/src/frontends/onnx/tests/test_python/test_backend.py -v
displayName: 'ONNX Frontend Python Tests'
- script: python3 -m pytest -s $(INSTALL_TEST_DIR)/mo/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-ModelOptimizer.xml
displayName: 'Model Optimizer UT'
- script: python3 -m pytest -s $(REPO_DIR)/tools/ovc/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-OpenVinoConversion.xml
displayName: 'OpenVino Conversion UT'
- 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'
condition: and(succeeded(), eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'OFF'))
- task: CMake@1
inputs:
cmakeArgs: >
-GNinja
-S $(REPO_DIR)/tests/samples_tests
-B $(BUILD_SAMPLES_TESTS_DIR)
displayName: 'CMake Samples Tests'
- script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_SAMPLES_TESTS_DIR)/cmake_install.cmake
displayName: 'Install Samples Tests'
- script: python3 -m pip install -r $(INSTALL_TEST_DIR)/smoke_tests/requirements.txt
displayName: 'Install dependencies for samples smoke tests'
- script: |
set -e
export PATH=$HOME/.local/bin:$PATH
export LD_LIBRARY_PATH=$IE_APP_PATH:$LD_LIBRARY_PATH
$(RUN_PREFIX) python3 -m pytest $(INSTALL_TEST_DIR)/smoke_tests/ \
--env_conf $(INSTALL_TEST_DIR)/smoke_tests/env_config.yml \
-s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml
env:
IE_APP_PATH: $(INSTALL_DIR)/samples_bin
IE_APP_PYTHON_PATH: $(PYTHON_SAMPLES_INSTALL_DIR)/
SHARE: $(INSTALL_TEST_DIR)/smoke_tests/samples_smoke_tests_data/
WORKSPACE: $(INSTALL_DIR)
displayName: 'Samples Smoke Tests'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/pytorch_tests/ -m precommit --junitxml=$(INSTALL_TEST_DIR)/TEST-pytorch.xmlTEST
env:
PYTHONPATH: $(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'PyTorch Layer Tests'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(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
env:
PYTHONPATH: $(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'TensorFlow 1 Layer Tests - TF FE'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(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
env:
PYTHONPATH: $(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'TensorFlow 2 Layer Tests - TF FE'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/jax_tests/ -m precommit --junitxml=$(INSTALL_TEST_DIR)/TEST-jax.xmlTEST
env:
PYTHONPATH: $(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'JAX Layer Tests - TF FE'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(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
env:
PYTHONPATH: $(LAYER_TESTS_DIR)
displayName: 'TensorFlow 1 Layer Tests - Legacy FE'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(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"
env:
PYTHONPATH: $(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'TensorFlow 2 Layer Tests - Legacy FE'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_lite_tests/ --junitxml=$(INSTALL_TEST_DIR)/TEST-tfl_fe.xmlTEST
env:
PYTHONPATH: $(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'TensorFlow Lite Layer Tests - TFL FE'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/ovc_python_api_tests/ --junitxml=./TEST-test_ovc_convert.xmlTEST
env:
PYTHONPATH: $(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'OVC Python API Tests'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/mo_python_api_tests/ --junitxml=./TEST-test_mo_convert.xmlTEST
env:
PYTHONPATH: $(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'MO Python API Tests'
- script: |
set -e
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/py_frontend_tests --junitxml=./TEST-test_py_fontend.xml
displayName: 'Python Frontend tests'
- 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
-236
View File
@@ -1,236 +0,0 @@
trigger:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
pr:
drafts: 'false'
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
variables:
- group: github
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
NUM_PROC: 2
BUILD_TYPE: Release
OPENVINO_REPO_DIR: $(Build.Repository.LocalPath)
BUILD_OPENVINO: $(WORK_DIR)/build
INSTALL_OPENVINO: $(WORK_DIR)/install_openvino
WORK_DIR: $(Pipeline.Workspace)/_w
SHARE_DIR: /mount/cinfsshare/onnxtestdata
TMP_DIR: /mnt/tmp
OPENVINO_CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux_arm64
LD_LIBRARY_PATH: $(Agent.ToolsDirectory)/Python/$(OV_PYTHON_VERSION)/x64/lib
OV_PYTHON_VERSION_MAJOR_MINOR: 3.11
OV_PYTHON_VERSION: $(OV_PYTHON_VERSION_MAJOR_MINOR).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 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: |
set -e
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
mkdir -p $(BUILD_OPENVINO)
mkdir -p $(INSTALL_OPENVINO)
sudo rm -rf $(TMP_DIR) ; sudo mkdir $(TMP_DIR) ; sudo chmod 777 -R $(TMP_DIR)
sudo mkdir -p $(SHARE_DIR)
sudo apt --assume-yes update && sudo apt --assume-yes install nfs-common
sudo mount -vvv -t nfs cinfsshare.file.core.windows.net:/cinfsshare/onnxtestdata $(SHARE_DIR) -o vers=4,minorversion=1,sec=sys
mkdir -p $(OPENVINO_CCACHE_DIR)
displayName: 'Make directories'
- checkout: self
clean: 'true'
path: openvino
- script: |
set -e
python3 -m pip install --upgrade pip
python3 -m pip install cmake
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/requirements.txt
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# install dependencies needed to build CPU plugin for ARM
sudo -E apt --assume-yes install scons gcc-10-aarch64-linux-gnu g++-10-aarch64-linux-gnu
# generic dependencies
sudo -E apt --assume-yes install cmake ccache ninja-build unzip fdupes
displayName: 'Install build dependencies'
- script: |
set -e
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main restricted > arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates main restricted >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal universe >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates universe >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal multiverse >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates multiverse >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse >> arm64-sources.list
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security main restricted >> arm64-sources.list
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security universe >> arm64-sources.list
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security multiverse >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal main >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal universe >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal-updates main >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal-security main >> arm64-sources.list
sudo mv arm64-sources.list /etc/apt/sources.list.d/
sudo -E dpkg --add-architecture arm64
sudo -E apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/arm64-sources.list
sudo -E apt-get install -y --no-install-recommends libpython3-dev:arm64
displayName: 'Install arm64 libraries'
- script: |
set -e
git submodule update --init -- $(OPENVINO_REPO_DIR)/src/plugins
git submodule update --init -- $(OPENVINO_REPO_DIR)/thirdparty/gtest
git submodule update --init -- $(OPENVINO_REPO_DIR)/thirdparty/open_model_zoo
displayName: 'Init submodules for non Conan dependencies'
- script: |
set -e
python3 -m pip install conan
# install build profile compilers
sudo -E apt --assume-yes install gcc g++
# generate build profile
conan profile detect
# generate host profile for linux_arm64
echo "include(default)" > $(BUILD_OPENVINO)/linux_arm64
echo "[buildenv]" >> $(BUILD_OPENVINO)/linux_arm64
echo "CC=aarch64-linux-gnu-gcc-10" >> $(BUILD_OPENVINO)/linux_arm64
echo "CXX=aarch64-linux-gnu-g++-10" >> $(BUILD_OPENVINO)/linux_arm64
# install OpenVINO dependencies
conan install $(OPENVINO_REPO_DIR)/conanfile.txt \
-pr:h $(BUILD_OPENVINO)/linux_arm64 \
-s:h arch=armv8 \
-of $(BUILD_OPENVINO)/dependencies \
-b missing
env:
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
CCACHE_DIR: $(OPENVINO_CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 50G
displayName: 'Install conan and dependencies'
- script: |
set -e
source $(BUILD_OPENVINO)/dependencies/conanbuild.sh
cmake \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DENABLE_CPPLINT=ON \
-DENABLE_INTEL_GPU=ON \
-DENABLE_PYTHON=ON \
-DENABLE_WHEEL=ON \
-DPYBIND11_PYTHONLIBS_OVERWRITE=OFF \
-DPYTHON_MODULE_EXTENSION=$(aarch64-linux-gnu-python3-config --extension-suffix) \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libc-2.31.so \
-DPYTHON_INCLUDE_DIR=$(Agent.ToolsDirectory)/Python/$(OV_PYTHON_VERSION)/x64/include/python$(OV_PYTHON_VERSION_MAJOR_MINOR) \
-DENABLE_TESTS=ON \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_PROTOBUF=ON \
-DENABLE_SYSTEM_SNAPPY=ON \
-DENABLE_SYSTEM_PUGIXML=ON \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC) \
-DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
-DENABLE_PYTHON_PACKAGING=ON \
-S $(OPENVINO_REPO_DIR) \
-B $(BUILD_OPENVINO)
source $(BUILD_OPENVINO)/dependencies/deactivate_conanbuild.sh
env:
CMAKE_GENERATOR: Ninja
CMAKE_TOOLCHAIN_FILE: $(BUILD_OPENVINO)/dependencies/conan_toolchain.cmake
displayName: 'CMake configure'
- script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE)
env:
CCACHE_DIR: $(OPENVINO_CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 50G
displayName: 'Build OpenVINO Runtime'
- script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE) --target install
displayName: 'Install OpenVINO Runtime'
- script: |
set -e
source $(BUILD_OPENVINO)/dependencies/conanbuild.sh
$(INSTALL_OPENVINO)/samples/cpp/build_samples.sh
source $(BUILD_OPENVINO)/dependencies/deactivate_conanbuild.sh
env:
CMAKE_GENERATOR: Ninja
CMAKE_TOOLCHAIN_FILE: $(BUILD_OPENVINO)/dependencies/conan_toolchain.cmake
displayName: 'Build OpenVINO C++ samples'
-172
View File
@@ -1,172 +0,0 @@
trigger:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
pr:
drafts: 'false'
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
resources:
repositories:
- repository: testdata
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: master
variables:
- group: github
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
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 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: |
set -e
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
displayName: 'Make dir'
- checkout: self
clean: 'true'
submodules: 'true'
path: openvino
- script: |
set -e
sudo -E $(REPO_DIR)/install_build_dependencies.sh
# Speed up build
sudo apt -y --no-install-recommends install unzip
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
unzip ninja-linux.zip
sudo cp -v ninja /usr/local/bin/
displayName: 'Install dependencies'
- checkout: testdata
clean: 'true'
lfs: 'true'
path: testdata
- task: CMake@1
inputs:
cmakeArgs: >
-G "Ninja Multi-Config"
-DENABLE_CPPLINT=OFF
-DENABLE_GAPI_PREPROCESSING=OFF
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DENABLE_FASTER_BUILD=ON
-DENABLE_PROFILING_ITT=ON
-DSELECTIVE_BUILD=COLLECT
-S $(REPO_DIR)
-B $(BUILD_DIR)
displayName: 'Cmake CC COLLECT'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) --target openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app sea_itt_lib
displayName: 'Build CC COLLECT'
- script: ls -alR $(REPO_DIR)/bin/
displayName: 'List bin files'
- script: |
set -e
python3 $(REPO_DIR)/thirdparty/itt_collector/runtool/sea_runtool.py \
--bindir $(REPO_DIR)/bin/intel64/Release -o $(BUILD_DIR)/itt_stat ! \
$(REPO_DIR)/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
-m $(MODELS_PATH)/models/test_model/test_model_fp32.xml -d CPU
displayName: 'Code usage analysis'
- task: CMake@1
inputs:
cmakeArgs: >
-DSELECTIVE_BUILD=ON
-DSELECTIVE_BUILD_STAT=$(BUILD_DIR)/*.csv
-B $(BUILD_DIR)
-S $(REPO_DIR)
displayName: 'CMake CC ON'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE) --target openvino_intel_cpu_plugin openvino_ir_frontend
displayName: 'Build CC ON'
- script: ls -alR $(REPO_DIR)/bin/
displayName: 'List bin files ON'
- script: |
$(REPO_DIR)/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
-m $(MODELS_PATH)/models/test_model/test_model_fp32.xml -d CPU
displayName: 'Use OpenVINO after CC'
-139
View File
@@ -1,139 +0,0 @@
trigger:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
pr:
drafts: 'false'
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
resources:
repositories:
- repository: openvino_contrib
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: master
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
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'
submodules: 'true'
path: openvino
- checkout: openvino_contrib
clean: 'true'
submodules: 'true'
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
displayName: 'Install dependencies'
- script: |
set -e
sudo docker pull openvino.azurecr.io/openvino_ci/cuda-ubuntu2004:2022.1
sudo docker run --volume $(REPO_DIR)/../:/root/repos --volume $(WORK_DIR):/root/w \
openvino.azurecr.io/openvino_ci/cuda-ubuntu2004:2022.1 \
bash -c "
sudo -E /root/repos/openvino/install_build_dependencies.sh &&
python3 -m pip install -r /root/repos/openvino/src/bindings/python/requirements.txt &&
cmake -GNinja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DENABLE_CPPLINT=OFF \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
-DOPENVINO_EXTRA_MODULES=/root/repos/openvino_contrib/modules/nvidia_plugin \
-DENABLE_INTEL_CPU=OFF \
-DENABLE_INTEL_GPU=OFF \
-DENABLE_INTEL_GNA=OFF \
-DENABLE_OV_TF_FRONTEND=OFF \
-DENABLE_OV_PADDLE_FRONTEND=OFF \
-DENABLE_OV_PYTORCH_FRONTEND=OFF \
-DENABLE_OV_ONNX_FRONTEND=OFF \
-DENABLE_PYTHON=OFF \
-DENABLE_TESTS=ON \
-S /root/repos/openvino \
-B /root/w/build &&
cmake --build /root/w/build --parallel --config Release --verbose -- ov_nvidia_func_tests ov_nvidia_unit_tests"
displayName: 'Docker build Lin'
- script: ls -alR $(OPENVINO_REPO_DIR)/bin/
displayName: 'List bin files'
-428
View File
@@ -1,428 +0,0 @@
trigger:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tests/layer_tests/*'
pr:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tests/layer_tests/*'
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)
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
BUILD_VENV: $(WORK_DIR)/build_venv
TEST_VENV: $(WORK_DIR)/test_venv
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 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'
submodules: 'true'
path: openvino
- script: |
set -e
sudo -E $(REPO_DIR)/install_build_dependencies.sh
# 'clang' is used as a default compiler
sudo apt --assume-yes install clang
sudo apt --assume-yes install --no-install-recommends libopencv-imgproc-dev libopencv-imgcodecs-dev
# install build dependencies
(cd $(WORK_DIR) && python3 -m venv build_venv)
$(BUILD_VENV)/bin/python3 -m pip install -U pip
$(BUILD_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
$(BUILD_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/bindings/python/requirements.txt
# For running Python API tests
$(BUILD_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running Paddle frontend unit tests
$(BUILD_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/frontends/paddle/tests/requirements.txt
# For running ONNX frontend unit tests
$(BUILD_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/frontends/onnx/tests/requirements.txt
# For running TensorFlow frontend unit tests
$(BUILD_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/frontends/tensorflow/tests/requirements.txt
# For MO unit tests
(cd $(WORK_DIR) && python3 -m venv test_venv)
$(TEST_VENV)/bin/python3 -m pip install -U pip
$(TEST_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_mxnet.txt
$(TEST_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_caffe.txt
$(TEST_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_kaldi.txt
$(TEST_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_onnx.txt
$(TEST_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_tf2.txt
$(TEST_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_dev.txt
$(TEST_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/frontends/paddle/tests/requirements.txt
# for Python API tests
/usr/bin/python3 -m pip install -r $(REPO_DIR)/src/bindings/python/requirements_test.txt
/usr/bin/python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements.txt
/usr/bin/python3 -m pip uninstall -y numpy # apt-get install python3-numpy will be used
# Speed up build
sudo apt -y --no-install-recommends install unzip
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
unzip ninja-linux.zip
sudo cp -v ninja /usr/local/bin/
# Speed up tests
git clone https://github.com/google/gtest-parallel.git
displayName: 'Install build dependencies'
- task: CMake@1
inputs:
# CMake must get Python 3.x version by default
cmakeArgs: >
-GNinja
-DENABLE_CPPLINT=OFF
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DENABLE_PYTHON=ON
-DENABLE_INTEL_GNA=OFF
-DPYTHON_EXECUTABLE=$(BUILD_VENV)/bin/python3
-DENABLE_TESTS=ON
-DENABLE_FASTER_BUILD=ON
-DENABLE_STRICT_DEPENDENCIES=OFF
-DENABLE_SYSTEM_SNAPPY=ON
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DENABLE_PYTHON_PACKAGING=ON
-DCPACK_GENERATOR=DEB
-S $(REPO_DIR)
-B $(BUILD_DIR)
displayName: 'CMake OpenVINO'
- script: ls -alR $(REPO_DIR)/temp/
displayName: 'List temp SDKs'
- script: ccache --zero-stats --max-size=50G --show-config
displayName: 'Clean ccache stats'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
env:
CCACHE_DIR: $(CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 50G
displayName: 'Build Lin'
- script: ccache --show-stats
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)
displayName: 'CMake Layer Tests'
- script: cmake --build $(BUILD_LAYER_TESTS_DIR) --parallel --config $(BUILD_TYPE)
displayName: 'Build Layer Tests'
# to check that wheel packages tested later, contain all all the dependencies like TBB or pugixml
- script: sudo apt-get remove libtbb2 libpugixml1v5 -y
displayName: 'Remove debian dependencies'
- 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=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_LAYER_TESTS_DIR)/cmake_install.cmake
displayName: 'Install Layer Tests'
- 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'
- script: |
sudo apt-get install libtbb-dev libpugixml-dev -y
cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) --target package --parallel
displayName: 'Build Debian packages'
- script: |
set -e
# install debian packages from previous release
sudo apt-get -y update
sudo apt-get install --no-install-recommends gnupg wget -y
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/openvino/2023 ubuntu20 main" | sudo tee /etc/apt/sources.list.d/intel-openvino-2023.list
sudo apt-get update
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
sudo apt-get install openvino -y
workingDirectory: $(BUILD_DIR)
displayName: 'Install Debian packages'
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
- script: rm -fr $(BUILD_DIR)
displayName: 'Clean build dir'
- script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR)
displayName: 'Build cpp samples - gcc'
- script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -i $(INSTALL_DIR)
displayName: 'Build cpp samples - clang'
env:
CC: clang
CXX: clang++
- script: $(SAMPLES_INSTALL_DIR)/c/build_samples.sh -i $(INSTALL_DIR)
displayName: 'Build c samples'
- script: $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-NGraphUT.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'OV Core UT'
- script: |
$(INSTALL_TEST_DIR)/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVProxyTests.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'OV Proxy Tests'
- script: |
$(INSTALL_TEST_DIR)/ov_hetero_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVHeteroUnitTests.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'OV Hetero Unit Tests'
- script: |
$(INSTALL_TEST_DIR)/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVHeteroFuncTests.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'OV Hetero Func Tests'
- script: $(INSTALL_TEST_DIR)/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ONNXFrontend.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'ONNX Frontend Tests'
# TODO Reenable PDPD after paddlepaddle==2.5.0 with compliant protobuf is released (ticket 95904)
- script: $(INSTALL_TEST_DIR)/paddle_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-Paddle.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'Paddle Frontend UT'
enabled: 'false'
- script: $(INSTALL_TEST_DIR)/ov_tensorflow_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-Tensorflow.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'TensorFlow Frontend Unit Tests'
- script: $(INSTALL_TEST_DIR)/ov_tensorflow_common_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-TensorflowCommon.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'TensorFlow Common Unit Tests'
- script: $(INSTALL_TEST_DIR)/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-TensorflowLite.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'TensorFlow Lite Frontend Unit Tests'
- script: $(INSTALL_TEST_DIR)/ov_snippets_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_snippets_func_tests.xml
displayName: 'Snippets Func Tests'
- script: $(INSTALL_TEST_DIR)/ov_cpu_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_unit_tests.xml
displayName: 'Intel CPU Unit Tests'
- script: $(INSTALL_TEST_DIR)/ov_auto_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_auto_unit_tests.xml
displayName: 'AUTO UT'
- script: $(INSTALL_TEST_DIR)/ov_template_func_tests --gtest_filter=*smoke* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-templateFuncTests.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'TEMPLATE FuncTests'
- script: $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
displayName: 'IE CAPITests'
- script: $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml
displayName: 'OV CAPITests'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
/usr/bin/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
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'nGraph and IE Python Bindings Tests'
- script: |
/usr/bin/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 -v
env:
# Required by python imports to load requires libraries
# - tests install dir for mock_py
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
# For python imports to import pybind_mock_frontend
PYTHONPATH: $(INSTALL_TEST_DIR):$(REPO_DIR)/tools/mo/
displayName: 'Python API 2.0 Tests'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
/usr/bin/python3 -m pytest -s $(REPO_DIR)/src/frontends/onnx/tests \
--ignore=$(REPO_DIR)/src/frontends/onnx/tests/test_python/test_zoo_models.py \
--ignore=$(REPO_DIR)/src/frontends/onnx/tests/test_python/test_backend.py -v
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
PYTHONPATH: $(INSTALL_TEST_DIR)
displayName: 'ONNX Frontend Python Tests'
- script: |
set -e
# TODO: fix 'No mock frontend API available'
$(TEST_VENV)/bin/python3 -m pip install openvino-dev --find-links=$(INSTALL_DIR)/tools
$(TEST_VENV)/bin/python3 -m pytest -s $(INSTALL_TEST_DIR)/mo/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-ModelOptimizer.xml
env:
PYTHONPATH: $(REPO_DIR)/tools/ovc/
displayName: 'Model Optimizer UT'
# 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'
- task: CMake@1
inputs:
cmakeArgs: >
-GNinja
-S $(REPO_DIR)/tests/samples_tests
-B $(BUILD_SAMPLES_TESTS_DIR)
displayName: 'CMake Samples Tests'
- script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_SAMPLES_TESTS_DIR)/cmake_install.cmake
displayName: 'Install Samples Tests'
- script: |
set -e
/usr/bin/python3 -m pip install -r $(INSTALL_TEST_DIR)/smoke_tests/requirements.txt
# GNA isn't a part of Debian package, so filter out that tests
/usr/bin/python3 -m pytest $(INSTALL_TEST_DIR)/smoke_tests/ -k "not GNA" --env_conf $(INSTALL_TEST_DIR)/smoke_tests/env_config.yml -s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml
env:
IE_APP_PATH: $(INSTALL_DIR)/samples_bin
LD_LIBRARY_PATH: $(INSTALL_DIR)/samples_bin
IE_APP_PYTHON_PATH: $(PYTHON_SAMPLES_INSTALL_DIR)/
SHARE: $(INSTALL_TEST_DIR)/smoke_tests/samples_smoke_tests_data/
WORKSPACE: $(INSTALL_DIR)
displayName: 'Samples Smoke Tests'
- script: |
set -e
$(TEST_VENV)/bin/python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(TEST_VENV)/bin/python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=$(INSTALL_TEST_DIR)/TEST-tf_Roll.xmlTEST
env:
PYTHONPATH: $(REPO_DIR)/tools/ovc/:$(LAYER_TESTS_DIR)
displayName: 'TensorFlow 1 Layer Tests - Legacy FE'
- script: |
set -e
$(TEST_VENV)/bin/python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
$(RUN_PREFIX) $(TEST_VENV)/bin/python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_lite_tests/ --junitxml=$(INSTALL_TEST_DIR)/TEST-tfl_fe.xmlTEST
env:
PYTHONPATH: $(REPO_DIR)/tools/ovc/:$(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'TensorFlow Lite Layer Tests - TFL FE'
- 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
-72
View File
@@ -1,72 +0,0 @@
#resources:
# repositories:
# - repository: testdata
# type: github
# endpoint: openvinotoolkit
# name: openvinotoolkit/testdata
# ref: master
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)
# 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'
# submodules: 'true'
# path: openvino
- checkout: none
- script: git -C ~/work/openvino checkout -m $(Build.SourceVersion) && git -C ~/work/openvino submodule update --init --recursive
displayName: checkout
- script: env -C ~/work ./configreleasenolto.sh
displayName: CMake
# - task: CMake@1
# inputs:
# # CMake must get Python 3.x version by default
# cmakeArgs: >
# -GNinja
# -DENABLE_CPPLINT=OFF
# -DCMAKE_VERBOSE_MAKEFILE=ON
# -DCMAKE_BUILD_TYPE=$(BUILD_TYPE)
# -DENABLE_PYTHON=ON
# -DPYTHON_EXECUTABLE=/usr/bin/python3.8
# -DENABLE_TESTS=ON
# -DENABLE_OV_ONNX_FRONTEND=ON
# -DENABLE_FASTER_BUILD=ON
# -DENABLE_STRICT_DEPENDENCIES=OFF
# -DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules
# -S $(REPO_DIR)
# -B $(BUILD_DIR)
- script: |
env -C ~/work
./buildreleasenolto.sh
libopenvino_gapi_preproc.so
openvino_intel_cpu_plugin
openvino_intel_gpu_plugin
ov_gpu_unit_tests
gpuFuncTests
displayName: Build Lin
- script: ~/work/testreleasenolto.sh
displayName: cldnn tests
-207
View File
@@ -1,207 +0,0 @@
trigger:
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
pr:
drafts: 'false'
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tools/*'
- 'tests/layer_tests/*'
variables:
- group: github
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
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 Python3 info ; which python3 ; python3 --version
echo Python info ; which python ; python --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: |
set -e
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'
submodules: 'true'
path: openvino
- script: |
set -e
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
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/
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_GNA=OFF
-DENABLE_INTEL_GPU=OFF
-DENABLE_CPPLINT=OFF
-DENABLE_PROFILING_ITT=OFF
-DENABLE_SAMPLES=OFF
-DENABLE_OV_TF_FRONTEND=OFF
-DENABLE_OV_PADDLE_FRONTEND=OFF
-DENABLE_OV_PYTORCH_FRONTEND=OFF
-DENABLE_OPENVINO_DEBUG=OFF
-S $(REPO_DIR)
-B $(BUILD_DIR)
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
displayName: 'Build Lin ONNX'
- script: ls -alR $(REPO_DIR)/bin/
displayName: 'List bin files'
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_DIR)/cmake_install.cmake
displayName: 'Install OpenVINO'
- script: |
set -e
source $(INSTALL_DIR)/setupvars.sh
$(ONNXRUNTIME_REPO_DIR)/build.sh \
--config RelWithDebInfo \
--use_openvino CPU_FP32 \
--build_shared_lib \
--parallel \
--skip_tests \
--build_dir $(ONNXRUNTIME_BUILD_DIR)
env:
CXXFLAGS: "-Wno-error=deprecated-declarations"
displayName: 'Build Lin ONNX Runtime'
- script: |
set -e
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: |
set -e
source $(INSTALL_DIR)/setupvars.sh
./onnxruntime_shared_lib_test --gtest_filter=-CApiTest.test_custom_op_openvino_wrapper_library
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
displayName: 'Run onnxruntime_shared_lib_test'
- script: |
set -e
source $(INSTALL_DIR)/setupvars.sh
./onnxruntime_global_thread_pools_test
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
displayName: 'Run onnxruntime_global_thread_pools_test'
- script: |
set -e
source $(INSTALL_DIR)/setupvars.sh
./onnxruntime_api_tests_without_env
workingDirectory: $(ONNXRUNTIME_BUILD_DIR)/RelWithDebInfo
displayName: 'Run onnxruntime_api_tests_without_env'
- script: |
set -e
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: |
set -e
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'
-229
View File
@@ -1,229 +0,0 @@
trigger:
branches:
include:
- master
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tests/layer_tests/*'
pr:
drafts: 'false'
branches:
include:
- 'master'
- 'releases/*'
paths:
exclude:
- '*/docs/*'
- 'docs/*'
- '*/*.md'
- '*.md'
- '*/layer_tests_summary/*'
- '*/conformance/*'
- 'tests/layer_tests/*'
resources:
repositories:
- repository: openvino_contrib
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: master
variables:
- group: github
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
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:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.11.2'
addToPath: true
architecture: 'x64'
githubToken: $(auth_token)
displayName: Setup Python 3.11
name: setupPython
- script: |
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
xcrun --sdk macosx --show-sdk-version
env
sysctl -a
displayName: 'System info'
- script: |
set -e
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
displayName: 'Make dir'
- checkout: self
clean: 'true'
submodules: 'true'
path: openvino
- checkout: openvino_contrib
clean: 'true'
submodules: 'true'
path: openvino_contrib
- script: |
set -e
brew install cython automake
python3 -m pip install -r $(REPO_DIR)/src/frontends/onnx/tests/requirements.txt
# Speed up build
brew install ninja ccache
displayName: 'Install dependencies'
- script: |
export PATH="/usr/local/opt/cython/bin:$PATH"
cmake \
-G Ninja \
-DENABLE_CPPLINT=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-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 \
-DBUILD_nvidia_plugin=OFF \
-S $(REPO_DIR) \
-B $(BUILD_DIR)
displayName: 'CMake OpenVINO'
- 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
enabled: 'false'
- script: ccache --zero-stats --max-size=10G --show-config
displayName: 'Clean ccache stats'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
env:
CCACHE_DIR: $(CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 10G
displayName: 'Build Mac'
- script: ccache --show-stats
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: 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-OVCoreUT.xml
displayName: 'OV Core UT'
enabled: 'false'
- script: $(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'
enabled: 'false'
- script: $(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'
enabled: 'false'
- script: $(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'
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'
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'
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'
enabled: 'false'
- script: $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_auto_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_auto_unit_tests.xml
displayName: 'AUTO UT'
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'
enabled: 'false'
- script: |
$(SETUPVARS) && $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
displayName: 'IE CAPITests'
enabled: 'false'
- script: |
$(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_capi_test.xml
displayName: 'IE CAPITests'
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
+23 -43
View File
@@ -66,44 +66,23 @@ 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.11.2\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_VENV_DIR: $(WORK_DIR)\.venv
PYTHON_EXE: C:\hostedtoolcache\windows\Python\3.8.2\x64\python.exe
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.11.2
rd /Q /S $(BUILD_DIR) & mkdir C:\hostedtoolcache\windows\Python\3.11.2\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.11.2/python-3.11.2-amd64.exe
displayName: 'Download Python'
workingDirectory: $(WORK_DIR)
- script: |
python-3.11.2-amd64.exe /passive InstallAllUsers=0 Include_launcher=0 TargetDir=C:\hostedtoolcache\windows\Python\3.11.2\x64 && ^
cp C:\hostedtoolcache\windows\Python\3.8.2\x64.complete C:\hostedtoolcache\windows\Python\3.11.2\x64.complete
displayName: 'Install Python'
workingDirectory: $(WORK_DIR)
- task: UsePythonVersion@0
displayName: 'Use Python'
inputs:
versionSpec: '3.11.2'
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"
tree C:\hostedtoolcache\windows\Python
where python
python --version
where $(PYTHON_EXE)
$(PYTHON_EXE) --version
where java
java -version
wmic computersystem get TotalPhysicalMemory
@@ -124,21 +103,20 @@ jobs:
path: openvino_contrib
- script: |
python -m pip install --upgrade pip
$(PYTHON_EXE) -m pip install --upgrade pip
rem For running Python API tests
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
$(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
rem For running Paddle frontend unit tests
# TODO Reenable PDPD after paddlepaddle==2.5.0 with compliant protobuf is released (ticket 95904)
#python -m pip install -r $(REPO_DIR)\src\frontends\paddle\tests\requirements.txt
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\frontends\paddle\tests\requirements.txt
rem For running ONNX frontend unit tests
python -m pip install -r $(REPO_DIR)\src\frontends\onnx\tests\requirements.txt
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\frontends\onnx\tests\requirements.txt
rem For running TensorFlow frontend unit tests
python -m pip install -r $(REPO_DIR)\src\frontends\tensorflow\tests\requirements.txt
$(PYTHON_EXE) -m pip install -r $(REPO_DIR)\src\frontends\tensorflow\tests\requirements.txt
rem For MO unit tests
python -m pip install -r $(REPO_DIR)\tools\mo\requirements.txt
python -m pip install -r $(REPO_DIR)\tools\mo\requirements_dev.txt
$(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
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"
@@ -163,12 +141,10 @@ jobs:
-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.11.2\x64\python.exe" ^
-DPYTHON_INCLUDE_DIR="C:\hostedtoolcache\windows\Python\3.11.2\x64\include" ^
-DPYTHON_LIBRARY="C:\hostedtoolcache\windows\Python\3.11.2\x64\libs\python311.lib" ^
-DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)\modules ^
-DCMAKE_C_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
-DCMAKE_CXX_COMPILER:PATH="$(MSVC_COMPILER_PATH)" ^
@@ -193,7 +169,7 @@ jobs:
- script: dir $(INSTALL_DIR) /s
displayName: 'List install files'
- script: python -m pip install openvino-dev --find-links=$(INSTALL_DIR)\tools
- script: $(PYTHON_EXE) -m pip install openvino-dev --find-links=$(INSTALL_DIR)\tools
displayName: 'Install Wheels'
- script: |
@@ -218,12 +194,12 @@ jobs:
if not exist %USERPROFILE%\Documents\Intel\OpenVINO\openvino_c_samples_build\ exit 1
displayName: 'Build c samples'
- script: python -m pip install -r $(INSTALL_TEST_DIR)\smoke_tests\requirements.txt
- script: $(PYTHON_EXE) -m pip install -r $(INSTALL_TEST_DIR)\smoke_tests\requirements.txt
displayName: 'Install dependencies for samples smoke tests'
- script: |
call $(SETUPVARS) && ^
python -m pytest $(INSTALL_DIR)\tests\smoke_tests\ --env_conf $(INSTALL_TEST_DIR)\smoke_tests\env_config.yml -s --junitxml=$(INSTALL_TEST_DIR)/TEST-SamplesSmokeTests.xml
$(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\
@@ -267,9 +243,10 @@ jobs:
- 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'
# TODO Reenable PDPD after paddlepaddle==2.5.0 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'
# 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'
- 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'
@@ -307,6 +284,9 @@ jobs:
- 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)\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)\ov_auto_batch_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_auto_batch_unit_tests.xml
displayName: 'AutoBatch UT'
+1 -10
View File
@@ -64,15 +64,6 @@ jobs:
SETUPVARS: $(INSTALL_DIR)\setupvars.bat
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.11.2'
addToPath: true
architecture: 'x64'
githubToken: $(auth_token)
displayName: Setup Python 3.11
name: setupPython
- 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
@@ -151,7 +142,7 @@ jobs:
- script: |
call "$(MSVS_VARS_PATH)" && cmake ^
-G "Visual Studio 16 2019" ^
-DVERBOSE_BUILD=ON ^
-DCMAKE_VERBOSE_MAKEFILE=ON ^
-DENABLE_CPPLINT=OFF ^
-DENABLE_GAPI_PREPROCESSING=OFF ^
-DENABLE_PROFILING_ITT=OFF ^
+1
View File
@@ -94,6 +94,7 @@
/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
+10 -4
View File
@@ -41,10 +41,7 @@ body:
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/)
- [Contribution guide - start here!](https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING.md)
validations:
required: true
@@ -57,3 +54,12 @@ body:
placeholder: GitHub users
validations:
required: true
- type: textarea
id: ticket
attributes:
label: Ticket
description: |
Provide the ticket number, if available.
validations:
required: false
+67
View File
@@ -0,0 +1,67 @@
name: 'Setup Python and pip cache'
description: 'Setups Python with the provided version and sets up the pip cache'
inputs:
version:
description: 'Python version to install'
required: true
pip-cache-path:
description: 'Path on share where the pip cache is stored'
required: false
should-setup-pip-paths:
description: 'If the action should setup `PIP_CACHE_DIR` & `PIP_INSTALL_PATH` env variables'
required: false
default: 'false'
self-hosted-runner:
description: 'If the runner is self-hosted'
required: false
default: 'true'
show-cache-info:
description: 'If the action should show the share space occupied by cache'
required: false
default: 'false'
runs:
using: 'composite'
steps:
- if: ${{ runner.os == 'Linux' && inputs.self-hosted-runner == 'true' }}
name: Install 'actions/setup-python@v4' dependencies
shell: bash
run: apt-get update && apt-get install -y ca-certificates software-properties-common
- if: ${{ runner.os == 'Linux' && runner.arch == 'ARM64' }}
name: Setup sudo and python3
shell: bash
run: apt-get update && apt-get install -y sudo python3 # Needed for the deadsnakes action
- if: ${{ runner.os == 'Linux' && runner.arch == 'ARM64' }}
name: Setup Python ${{ inputs.version }}
uses: akashchi/deadsnakes-action@f01521a69eee61eaca3a34440bea3ce838317846
with:
python-version: ${{ inputs.version }}
- if: ${{ runner.os == 'macOS' || runner.os == 'Windows' || (runner.os == 'Linux' && runner.arch != 'ARM64') }}
name: Setup Python ${{ inputs.version }}
uses: actions/setup-python@v4
with:
python-version: ${{ inputs.version }}
env:
PIP_CACHE_DIR: ${{ inputs.self-hosted-runner == 'true' && inputs.pip-cache-path || '' }}
- if: ${{ inputs.should-setup-pip-paths == 'true' }}
name: Setup pip variables (cache and install path)
shell: bash
run: |
PIP_VER=$(python3 -c "import pip; print(pip.__version__)")
echo "Using pip version: ${PIP_VER}"
echo "PIP_CACHE_DIR=${{ inputs.pip-cache-path }}/${PIP_VER}" >> $GITHUB_ENV
echo "PIP_INSTALL_PATH=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')" >> $GITHUB_ENV
- if: ${{ inputs.show-cache-info == 'true' }}
name: Get pip cache info
shell: bash
run: |
echo "Cache size: "
du -h -d2 ${{ env.PIP_CACHE_DIR }}
echo "Cache info: "
python3 -m pip cache info
continue-on-error: true
+99
View File
@@ -0,0 +1,99 @@
name: "Smart CI action"
description: "Returns product components affected by PR or commit"
inputs:
repository:
description: "GitHub repository"
required: true
repo_token:
description: "Token for access to GitHub repository"
required: true
pr:
description: "GitHub PR number. If not set - commit is used"
required: false
commit_sha:
description: "GitHub commit hash. Used if no PR number is set"
required: false
component_pattern:
description: "Pattern to extract component name from PR label. If not set, any label is considered a component name"
required: false
labeler_check_name:
description: "Name of the labeler check"
required: false
default: "triage"
components_config:
description: "Path to components configuration file"
required: false
default: ".github/components.yml"
components_config_schema:
description: "Path to the schema file for components configuration"
required: false
default: ".github/actions/smart-ci/components_schema.yml"
labeler_config:
description: "Path to labeler configuration file"
required: false
default: ".github/labeler.yml"
skip_when_only_listed_labels_set:
description: "Comma-separated list of labels. If PR has only these labels set,
return indicator that CI can be skipped"
required: false
skip_when_only_listed_files_changed:
description: "Comma-separated list of patterns (fnmatch-style). If PR has only matching files changed,
return indicator that CI can be skipped"
required: false
outputs:
all_components:
description: "All components listed in configuration"
value: ${{ steps.smart_ci.outputs.all_components }}
affected_components:
description: "Affected components to run validation for and their validation scope"
value: ${{ steps.smart_ci.outputs.affected_components }}
skip_workflow:
description: "Whether the workflow should be run with Smart CI rules applied or skipped completely"
value: ${{ steps.smart_ci.outputs.skip_workflow }}
runs:
using: "composite"
steps:
- name: Wait for labeler to finish
uses: lewagon/wait-on-check-action@v1.3.1
if: ${{ github.event_name == 'pull_request' }}
with:
ref: ${{ github.event.pull_request.head.sha }}
check-name: ${{ inputs.labeler_check_name }}
repo-token: ${{ inputs.repo_token }}
wait-interval: 10
- name: checkout components file
uses: actions/checkout@v4
with:
sparse-checkout: .github/components.yml
sparse-checkout-cone-mode: false
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v4
with:
path: "${{ github.action_path }}/requirements.txt"
update-setuptools: "false"
update-wheel: "false"
- name: Test functionality
run: |
python ${{ github.action_path }}/smart_ci_test.py
shell: bash
- name: Smart CI
id: smart_ci
run: |
python ${{ github.action_path }}/smart_ci.py \
$([[ -n "${{ inputs.pr }}" ]] && echo '--pr ${{ inputs.pr }}' || echo '-s ${{ inputs.commit_sha }}') \
-r ${{ inputs.repository }} \
-p "${{ inputs.component_pattern }}" \
-c "${{ inputs.components_config }}" \
-m "${{ inputs.components_config_schema }}" \
-l "${{ inputs.labeler_config }}" \
--skip-when-only-listed-labels-set "${{ inputs.skip_when_only_listed_labels_set }}" \
--skip-when-only-listed-files-changed "${{ inputs.skip_when_only_listed_files_changed }}"
shell: bash
env:
GITHUB_TOKEN: ${{ inputs.repo_token }}
@@ -0,0 +1,41 @@
# YAML schema for Smart CI configuration file components.yml (see https://json-schema.org)
definitions:
component_name:
type: string
pattern: "^[a-zA-Z_][a-zA-Z0-9_]*$"
component_data:
type: object # dict
additionalProperties: false
properties:
cmake:
type: array
uniqueItems: true
items:
'$ref': '#/definitions/component_name'
revalidate:
oneOf:
- type: array
uniqueItems: true
items:
'$ref': '#/definitions/component_name'
- type: string
enum: ['all']
build:
oneOf:
- type: array
uniqueItems: true
items:
'$ref': '#/definitions/component_name'
- type: string
enum: ['all']
propertyNames: # Validates component names
'$ref': '#/definitions/component_name'
patternProperties:
".*": # Component (name validated via propertyNames)
'$ref': '#/definitions/component_data'
additionalProperties: false
@@ -0,0 +1,3 @@
ghapi~=1.0.4
pyyaml~=6.0.1
jsonschema~=4.19.1
+225
View File
@@ -0,0 +1,225 @@
import os
import re
import argparse
import yaml
import json
import jsonschema
import logging
from pathlib import Path
from ghapi.all import GhApi
from fnmatch import fnmatch
class ComponentConfig:
FullScope = {'build', 'test'}
ScopeKeys = {'build', 'revalidate'}
def __init__(self, config: dict, schema: dict, all_possible_components: set):
self.config = config
self.log = logging.getLogger(self.__class__.__name__)
self.all_defined_components = set(self.config.keys()) # already defined in components.yml
# can be added to components.yml (based on labeler.yml)
self.all_possible_components = all_possible_components.union(self.all_defined_components)
self.validate(schema)
def validate(self, schema: dict) -> None:
"""Validates syntax of configuration file"""
jsonschema.validate(self.config, schema)
for component_name, data in self.config.items():
dependent_components = set()
for key in self.ScopeKeys:
scope = data.get(key)
dependent_components = dependent_components.union(set(scope) if isinstance(scope, list) else set())
invalid_dependents = dependent_components.difference(self.all_possible_components)
if invalid_dependents:
error_msg = f"dependent components of {component_name} are invalid: " \
f"{invalid_dependents} are not listed in components config: {self.all_possible_components}"
raise jsonschema.exceptions.ValidationError(error_msg)
def get_affected_components(self, changed_components_names: set) -> dict:
"""Returns changed components, their dependencies and validation scope for them"""
affected_components = dict()
# If some changed components were not defined in config or no changed components detected at all,
# run full scope for everything (just in case)
changed_not_defined_components = changed_components_names.difference(self.all_defined_components)
if not changed_components_names or changed_not_defined_components:
self.log.info(f"Changed components {changed_not_defined_components} are not defined in smart ci config, "
"run full scope")
affected_components.update({name: self.FullScope for name in self.all_possible_components})
return affected_components
# Else check changed components' dependencies and add them to affected
for name in changed_components_names:
component_scopes = {k: v for k, v in self.config.get(name, dict()).items() if k in self.ScopeKeys}
for key, dependents in component_scopes.items():
if dependents == 'all':
dependents = self.all_possible_components
for dep_name in dependents:
affected_components[dep_name] = affected_components.get(dep_name, set())
scope = self.FullScope if key == 'revalidate' else {key}
affected_components[dep_name] = affected_components[dep_name].union(scope)
if not component_scopes:
self.log.info(f"Changed component '{name}' doesn't have {self.ScopeKeys} keys in components config. "
f"Assuming that it affects everything, the whole scope will be started")
for dep_name in self.all_possible_components:
affected_components[dep_name] = self.FullScope
# If the component was explicitly changed, run full scope for it
affected_components.update({name: self.FullScope for name in changed_components_names})
self.log.info(f"Changed components with dependencies: {affected_components}")
# For non-affected components that are not defined in config - run full scope
affected_components.update({name: self.FullScope for name in self.all_possible_components
if name not in self.all_defined_components})
return affected_components
def get_static_data(self, components_names: set, data_key: str, default: str = None) -> dict:
"""Returns requested generic static data defined for each component"""
data = {name: self.config[name].get(data_key, default) for name in components_names}
return data
def component_name_from_label(label: str, component_pattern: str = None) -> str:
"""Extracts component name from label"""
component = label
if component_pattern:
matches = re.findall(component_pattern, label)
component = matches[0] if matches else None
component = component.replace(' ', '_') if component else None
return component
def get_changed_component_names(pr, all_possible_components: set, component_pattern: str = None) -> set:
"""Returns component names changed in a given PR"""
components = set()
for label in pr.labels:
component = component_name_from_label(label.name, component_pattern)
if component:
components.add(component)
elif label.name in all_possible_components:
# Allow any labels defined explicitly in labeler config as components
# (predefined labels, such as "do not merge", are still ignored)
components.add(label.name)
return components
def parse_args():
parser = argparse.ArgumentParser(description='Returns product components changed in a given PR or commit')
parser.add_argument('--pr', type=int, required=False, help='PR number. If not set, --commit is used')
parser.add_argument('-s', '--commit-sha', required=False, help='Commit SHA. If not set, --pr is used')
parser.add_argument('-r', '--repo', help='GitHub repository')
parser.add_argument('-p', '--pattern', default=None, help='Pattern to extract component name from PR label. '
'If not set, any label is considered a component name')
parser.add_argument('-c', '--components-config', default='.github/components.yml',
help='Path to config file with info about dependencies between components')
parser.add_argument('-m', '--components-config-schema', default='.github/actions/smart-ci/components_schema.yml',
help='Path to the schema file for components config')
parser.add_argument('-l', '--labeler-config', default='.github/labeler.yml',
help='Path to PR labeler config file')
parser.add_argument('--skip-when-only-listed-labels-set',
help="Comma-separated list of labels. If PR has only these labels set, "
"return indicator that CI can be skipped")
parser.add_argument('--skip-when-only-listed-files-changed',
help="Comma-separated list of patterns (fnmatch-style). If PR has only matching files changed, "
"return indicator that CI can be skipped")
args = parser.parse_args()
return args
def init_logger():
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(name)-15s %(levelname)-8s %(message)s',
datefmt='%m-%d-%Y %H:%M:%S')
def set_github_output(name: str, value: str, github_output_var_name: str = 'GITHUB_OUTPUT'):
"""Sets output variable for a GitHub Action"""
logger = logging.getLogger(__name__)
# In an environment variable "GITHUB_OUTPUT" GHA stores path to a file to write outputs to
with open(os.environ.get(github_output_var_name), 'a+') as file:
logger.info(f"Add {name}={value} to {github_output_var_name}")
print(f'{name}={value}', file=file)
def main():
init_logger()
logger = logging.getLogger(__name__)
args = parse_args()
for arg, value in sorted(vars(args).items()):
logger.info(f"Argument {arg}: {value}")
with open(Path(args.components_config), 'r') as config:
components_config = yaml.safe_load(config)
owner, repository = args.repo.split('/')
gh_api = GhApi(owner=owner, repo=repository, token=os.getenv("GITHUB_TOKEN"))
pr = gh_api.pulls.get(args.pr) if args.pr else None
with open(Path(args.components_config_schema), 'r') as schema_file:
schema = yaml.safe_load(schema_file)
with open(Path(args.labeler_config), 'r') as labeler_file:
labeler_config = yaml.safe_load(labeler_file)
all_possible_components = set()
for label in labeler_config.keys():
component_name = component_name_from_label(label, args.pattern)
all_possible_components.add(component_name if component_name else label)
no_match_files_changed = False
# For now, we don't want to apply smart ci rules for post-commits
is_postcommit = not pr
if is_postcommit:
logger.info(f"The run is a post-commit run, executing full validation scope for all components")
else:
no_match_files_changed = 'no-match-files' in [label.name for label in pr.labels]
if no_match_files_changed:
logger.info(f"There are changed files that don't match any pattern in labeler config, "
f"executing full validation scope for all components")
run_full_scope = is_postcommit or no_match_files_changed
# In post-commits - validate all components regardless of changeset
# In pre-commits - validate only changed components with their dependencies
all_defined_components = components_config.keys()
changed_component_names = set(all_defined_components) if run_full_scope else \
get_changed_component_names(pr, all_possible_components, args.pattern)
logger.info(f"changed_component_names: {changed_component_names}")
cfg = ComponentConfig(components_config, schema, all_possible_components)
affected_components = cfg.get_affected_components(changed_component_names)
skip_workflow = False
if args.pr and not run_full_scope:
if args.skip_when_only_listed_labels_set:
excepted_labels = set(args.skip_when_only_listed_labels_set.split(','))
excepted_labels_only = changed_component_names - excepted_labels == set()
skip_workflow = excepted_labels_only
if not skip_workflow and args.skip_when_only_listed_files_changed:
# To avoid spending extra API requests running step below only if necessary
changed_files = gh_api.pulls.list_files(args.pr)
patterns = set(args.skip_when_only_listed_files_changed.split(','))
matched_files_only = all(any(fnmatch(f.filename, pattern) for pattern in patterns) for f in changed_files)
logger.debug(f"matched files only: {matched_files_only}")
skip_workflow = matched_files_only
if skip_workflow:
logger.info(f"All changes are marked for skip, workflow may be skipped")
set_github_output("skip_workflow", str(skip_workflow))
# Syntactic sugar for easier use in GHA pipeline
affected_components_output = {name: {s: True for s in scope} for name, scope in affected_components.items()}
set_github_output("affected_components", json.dumps(affected_components_output))
if __name__ == '__main__':
main()
+214
View File
@@ -0,0 +1,214 @@
import logging
import sys
import unittest
from smart_ci import ComponentConfig
log = logging.getLogger()
log.level = logging.DEBUG
def log_handler(func):
def wrapper(*args, **kwargs):
stream_handler = logging.StreamHandler(sys.stdout)
log.addHandler(stream_handler)
result = func(*args, **kwargs)
log.removeHandler(stream_handler)
return result
return wrapper
class TestComponentConfig(unittest.TestCase):
def setUp(self):
self.all_possible_components = {'comp1', 'comp2', 'comp3', 'comp4'}
ComponentConfig.ScopeKeys = {'build', 'revalidate', '_scope_1', '_scope_2', '_scope_3'}
@log_handler
def validate(self, config_data: dict, changed_components: set, expected_result: dict):
log.info(f"{self._testMethodName}:")
config = ComponentConfig(config_data, {}, self.all_possible_components)
result = config.get_affected_components(changed_components)
self.assertEqual(expected_result, result)
def test_no_changed_components(self):
config_data = {
'comp1': {'build': {}, 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = set()
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': ComponentConfig.FullScope,
'comp3': ComponentConfig.FullScope,
'comp4': ComponentConfig.FullScope,
}
self.validate(config_data, changed_components, expected_result)
def test_all_components_changed(self):
config_data = {
'comp1': {'build': {}, 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1', 'comp2', 'comp3', 'comp4'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': ComponentConfig.FullScope,
'comp3': ComponentConfig.FullScope,
'comp4': ComponentConfig.FullScope,
}
self.validate(config_data, changed_components, expected_result)
def test_changed_component_not_defined(self):
config_data = {
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': ComponentConfig.FullScope,
'comp3': ComponentConfig.FullScope,
'comp4': ComponentConfig.FullScope,
}
self.validate(config_data, changed_components, expected_result)
def test_component_changed_no_scope_keys(self):
config_data = {
'comp1': {},
'comp2': {},
'comp3': {},
'comp4': {},
}
changed_components = {'comp1'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': ComponentConfig.FullScope,
'comp3': ComponentConfig.FullScope,
'comp4': ComponentConfig.FullScope,
}
self.validate(config_data, changed_components, expected_result)
def test_one_component_changed_dependents_empty(self):
config_data = {
'comp1': {'build': {}, 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1'}
expected_result = {
'comp1': ComponentConfig.FullScope,
}
self.validate(config_data, changed_components, expected_result)
def test_not_changed_dependent_component(self):
config_data = {
'comp1': {'build': {'comp2'}, 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': {'build'}
}
self.validate(config_data, changed_components, expected_result)
def test_changed_dependent_component(self):
config_data = {
'comp1': {'build': {'comp2'}, 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1', 'comp2'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': ComponentConfig.FullScope
}
self.validate(config_data, changed_components, expected_result)
def test_dependent_component_multiple_parents(self):
config_data = {
'comp1': {'_scope_1': {'comp2'}, 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, '_scope_2': {'comp2'}, '_scope_3': {'comp2'}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1', 'comp3'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': {'_scope_1', '_scope_2', '_scope_3'},
'comp3': ComponentConfig.FullScope
}
self.validate(config_data, changed_components, expected_result)
def test_dependent_component_empty_scopes(self):
config_data = {
'comp1': {'build': {}, 'revalidate': {'comp2'}},
'comp2': {},
'comp3': {},
'comp4': {},
}
changed_components = {'comp1', 'comp3'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': ComponentConfig.FullScope,
'comp3': ComponentConfig.FullScope,
'comp4': ComponentConfig.FullScope
}
self.validate(config_data, changed_components, expected_result)
def test_changed_component_empty_dependencies(self):
config_data = {
'comp1': {'build': {}, 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1'}
expected_result = {
'comp1': ComponentConfig.FullScope,
}
self.validate(config_data, changed_components, expected_result)
def test_multiple_dependents(self):
config_data = {
'comp1': {'build': {'comp2'}, 'revalidate': {'comp3'}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {'comp4'}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': {'build'},
'comp3': ComponentConfig.FullScope,
# We don't consider dependencies of dependencies affected, so comp4 is not expected here
}
self.validate(config_data, changed_components, expected_result)
def test_all_as_dependents(self):
config_data = {
'comp1': {'build': 'all', 'revalidate': {}},
'comp2': {'build': {}, 'revalidate': {}},
'comp3': {'build': {}, 'revalidate': {}},
'comp4': {'build': {}, 'revalidate': {}},
}
changed_components = {'comp1'}
expected_result = {
'comp1': ComponentConfig.FullScope,
'comp2': {'build'},
'comp3': {'build'},
'comp4': {'build'},
}
self.validate(config_data, changed_components, expected_result)
if __name__ == '__main__':
unittest.main(verbosity=2)
+34
View File
@@ -0,0 +1,34 @@
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:')"
+236
View File
@@ -0,0 +1,236 @@
Core:
revalidate: 'all'
transformations:
revalidate: 'all'
LP_transformations:
revalidate:
- CPU
- GPU
- PyTorch_FE
- TF_FE
- TFL_FE
- ONNX_FE
- PDPD_FE
- POT
preprocessing:
revalidate:
- inference
- GNA
- C_API
- Python_API
inference:
revalidate: 'all'
CPU:
revalidate:
- C_API
- Python_API
- samples
- ONNX_RT
- PyTorch_FE
- TF_FE
- ONNX_FE
build:
- HETERO
- AUTO_BATCH
- TEMPLATE
- IR_FE
GPU:
build:
- HETERO
- AUTO_BATCH
- TEMPLATE
- IR_FE
- PROXY
GNA:
build:
- HETERO
- AUTO_BATCH
- TEMPLATE
- IR_FE
HETERO:
revalidate:
- CPU
- GPU
- GNA
- HETERO
- AUTO_BATCH
- TEMPLATE
- C_API
- Python_API
build:
- IR_FE
AUTO_BATCH:
revalidate:
- CPU
- GPU
- GNA
- HETERO
- AUTO_BATCH
- TEMPLATE
- C_API
- Python_API
build:
- IR_FE
TEMPLATE:
revalidate:
- CPU
- GPU
- GNA
- HETERO
- AUTO_BATCH
- TEMPLATE
- AUTO
- C_API
- Python_API
- NVIDIA
build:
- IR_FE
AUTO:
revalidate:
- TEMPLATE
- AUTO
- C_API
- Python_API
build:
- IR_FE
PROXY:
revalidate:
- inference
- GPU
build: []
IR_FE:
revalidate:
- C_API
- Python_API
- samples
build:
- CPU
ONNX_FE:
revalidate:
- MO
build:
- CPU
- Python_API
PDPD_FE:
revalidate:
- MO
build:
- CPU
- Python_API
TF_FE:
revalidate:
- MO
build:
- CPU
- Python_API
TFL_FE:
revalidate:
- MO
build:
- CPU
- Python_API
PyTorch_FE:
revalidate:
- MO
build:
- CPU
- Python_API
C_API:
build:
- CPU
- HETERO
- AUTO_BATCH
- AUTO
- IR_FE
Python_API:
revalidate:
- samples
- MO
- POT
- tools
build:
- CPU
- HETERO
- AUTO_BATCH
- TEMPLATE
- AUTO
- IR_FE
- ONNX_FE
- PDPD_FE
- TF_FE
- TFL_FE
- PyTorch_FE
samples:
build:
- CPU
- AUTO_BATCH
- AUTO
- IR_FE
- C_API
- Python_API
IE_Tests:
revalidate:
- CPU
- GPU
- GNA
- HETERO
- AUTO_BATCH
- TEMPLATE
- AUTO
- NVIDIA
build:
- IR_FE
MO:
revalidate:
- POT
build:
- Python_API
POT:
build:
- CPU
- Python_API
tools:
build:
- CPU
- Python_API
docs:
revalidate: []
build: []
licensing:
revalidate: []
build: []
NVIDIA:
revalidate: []
build: []
ONNX_RT:
revalidate: []
build: []
+2 -2
View File
@@ -14,8 +14,8 @@ import json
from pathlib import Path
if sys.version_info[:2] < (3, 7):
raise Exception("Python version must be >= 3.7")
if sys.version_info[:2] < (3, 8):
raise Exception("Python version must be >= 3.8")
class ConfigException(Exception):
+32 -7
View File
@@ -48,12 +48,19 @@
- 'scripts/**/*'
- '.gitmodules'
- '**/setup.py'
- 'conan.lock'
- 'conanfile.txt'
- 'vcpkg.json'
- any: ['thirdparty/**/*',
'!thirdparty/**/CMakeLists.txt']
'category: docs':
- 'docs/**/*'
- '**/*.md'
- any: ['docs/**/*',
'!docs/snippets/**/*']
'category: docs_snippets':
- 'docs/snippets/**/*'
'category: extensions':
- 'src/core/include/openvino/core/extension.hpp'
@@ -65,22 +72,22 @@
'category: GPU':
- 'src/plugins/intel_gpu/**/*'
- 'src/tests/**/gpu/**/*'
- 'thirdparty/ocl/**/*'
'category: HETERO':
- 'src/plugins/hetero/**/*'
'category: PROXY':
- 'src/plugins/proxy/**/*'
'category: IE Tests':
- 'thirdparty/gtest/**/*'
- 'src/frontends/tests/frontend/shared/**/*'
- any: ['src/tests/**/*',
'!src/tests/**/gpu/**/*',
'!src/tests/**/inference_engine/**/*']
- 'src/tests/**/*'
'category: inference':
- 'src/inference/**/*'
- 'src/tests/functional/inference_engine/**/*'
- 'src/cmake/**/*'
'category: IR FE':
- 'src/frontends/ir/**/*'
@@ -91,10 +98,13 @@
'category: MO':
- 'tools/mo/**/*'
- 'tools/ovc/**/*'
- 'tests/layer_tests/mo_python_api_tests/**/*'
- 'tests/layer_tests/ovc_python_api_tests/**/*'
'category: ONNX FE':
- 'src/frontends/onnx/**/*'
- 'thirdparty/onnx/**/*'
- 'tests/layer_tests/onnx_tests/**/*'
'category: packaging':
- 'cmake/**/packaging/**/*'
@@ -103,6 +113,7 @@
'category: PDPD FE':
- 'src/frontends/paddle/**/*'
- 'tests/layer_tests/py_frontend_tests/test_paddle_frontend.py'
'category: POT':
- 'tools/pot/**/*'
@@ -119,6 +130,7 @@
- 'thirdparty/gflags/**/*'
- 'thirdparty/json/**/*'
- 'thirdparty/cnpy/**/*'
- 'tests/samples_tests/smoke_tests/**/*'
'category: TEMPLATE':
- 'src/plugins/template/**/*'
@@ -127,6 +139,10 @@
- 'src/frontends/tensorflow/**/*'
- 'src/frontends/tensorflow_common/**/*'
- 'tests/layer_tests/tensorflow_tests/**/*'
- 'tests/layer_tests/tensorflow2_keras_tests/**/*'
- 'tests/layer_tests/jax_tests/**/*'
- any: ['tests/model_hub_tests/**',
'!tests/model_hub_tests/torch_tests/**/*']
'category: TFL FE':
- 'src/frontends/tensorflow_lite/**/*'
@@ -137,12 +153,21 @@
- 'src/frontends/pytorch/**/*'
- 'tests/layer_tests/pytorch_tests/**/*'
- 'src/bindings/python/src/openvino/frontend/pytorch/**/*'
- 'tests/layer_tests/py_frontend_tests/test_torch_decoder.py'
- 'tests/layer_tests/py_frontend_tests/test_torch_frontend.py'
- any: ['tests/model_hub_tests/**',
'!tests/model_hub_tests/tf_hub_tests/**/*']
'category: tools':
- any: ['tools/**',
'!tools/pot/**/*',
'!tools/mo/**/*']
'!tools/mo/**/*',
'!tools/ovc/**/*']
'category: transformations':
- 'src/common/transformations/**/*'
- 'src/common/offline_transformations/**/*'
'category: licensing':
- 'licensing/**/*'
- 'LICENSE'
+186
View File
@@ -0,0 +1,186 @@
name: Android ARM64 with vcpkg
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
- 'releases/**'
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:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*'
Build:
needs: Smart_CI
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: aks-linux-16-cores-32gb
container:
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04
volumes:
- /mount:/mount
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
if: "!needs.smart_ci.outputs.skip_workflow"
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_PATH} --zero-stats
- name: Cmake - build
run: cmake --build ${BUILD_DIR} --parallel
- name: Show ccache stats
run: ${SCCACHE_PATH} --show-stats
Overall_Status:
name: ci/gha_overall_status_android
needs: [Smart_CI, Build]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check status of all jobs
if: >-
${{
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}
run: exit 1
+23
View File
@@ -0,0 +1,23 @@
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 }}
+17 -31
View File
@@ -1,14 +1,9 @@
name: Documentation
on:
pull_request:
push:
branches:
- 'master'
- 'releases/**'
env:
DOXY_VER: '1.9.6'
DOXYREST_VER: '2.1.3'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
@@ -21,16 +16,16 @@ jobs:
- name: Clone OpenVINO
uses: actions/checkout@v4
with:
submodules: true
lfs: true
submodules: 'true'
lfs: 'true'
- name: Install apt-get dependencies
uses: awalsh128/cache-apt-pkgs-action@v1.3.0
uses: awalsh128/cache-apt-pkgs-action@v1.3.1
with:
packages: graphviz texlive liblua5.2-0 libclang1-9 libclang-cpp9
version: 3.0
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
id: cp310
with:
python-version: '3.10'
@@ -44,19 +39,18 @@ jobs:
python3 -m pip install -r docs/requirements.txt
(cd docs/openvino_sphinx_theme && python3 setup.py install)
- name: Download and install doxygen && doxyrest
- name: Download and install doxygen
run: |
# 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
# 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: Build docs
run: |
rm -rf build && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_DOCS=ON -DENABLE_CPP_API=ON
cmake --build . --target sphinx_docs
- name: Cache documentation
id: cache_sphinx_docs
@@ -65,13 +59,6 @@ jobs:
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)
@@ -81,19 +68,19 @@ jobs:
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
- name: 'Upload doxygen.log'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: doxygen_build_log_${{ env.PR_NUMBER }}.log
path: build/docs/doxygen.log
- name: 'Upload sphinx.log'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: sphinx_build_log_${{ env.PR_NUMBER }}.log
path: build/docs/sphinx.log
- name: 'Upload docs html'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: openvino_docs_html_${{ env.PR_NUMBER }}.zip
path: build/docs/openvino_docs_html.zip
@@ -101,19 +88,18 @@ jobs:
- name: Run Pytest
run: |
pytest --doxygen="./build/docs/doxygen.log" \
--include_pot \
--sphinx="./build/docs/sphinx.log" \
--suppress-warnings="./docs/suppress_warnings.txt" \
--suppress-warnings="./docs/scripts/tests/suppress_warnings.txt" \
--confcutdir="./docs/scripts/tests/" \
--html="./build/docs/_artifacts/doc-generation.html" \
--doxygen-strip="$(pwd)" \
--sphinx-strip="$(pwd)/build/docs/rst" \
--doxygen-xfail="./docs/doxygen-xfail.txt" \
--sphinx-strip="$(pwd)/build/docs/sphinx_source" \
--xfail="./docs/scripts/tests/xfail.txt" \
--self-contained-html ./docs/scripts/tests/test_docs.py
- name: 'Upload test results'
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: openvino_docs_pytest
path: build/docs/_artifacts/
+32
View File
@@ -0,0 +1,32 @@
name: Cleanup PIP caches
on:
workflow_dispatch:
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-8gb
container:
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04
volumes:
- /mount:/mount
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}
+1 -1
View File
@@ -30,7 +30,7 @@ jobs:
submodules: 'true'
- name: Install OpenCL
uses: awalsh128/cache-apt-pkgs-action@v1.3.0
uses: awalsh128/cache-apt-pkgs-action@v1.3.1
if: runner.os == 'Linux'
with:
packages: ocl-icd-opencl-dev opencl-headers
+4 -4
View File
@@ -60,9 +60,9 @@ jobs:
run: cmake -B build
- name: Shellcheck cmake target
run: cmake --build build --target ie_shellcheck -j8
run: cmake --build build --target ov_shellcheck -j8
# always provide suggestions even for skipped scripts in ie_shellcheck tagret
# always provide suggestions even for skipped scripts in ov_shellcheck tagret
- name: ShellCheck action
if: always()
uses: reviewdog/action-shellcheck@v1
@@ -85,8 +85,8 @@ jobs:
- 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
sudo apt --assume-yes install libclang-14-dev
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
- name: Install Python-based dependencies
run: python3 -m pip install -r cmake/developer_package/ncc_naming_style/requirements_dev.txt
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
steps:
- name: Setup python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.10.10'
architecture: 'x64'
+141
View File
@@ -0,0 +1,141 @@
name: Coverity (Ubuntu 20.04, Python 3.11)
on:
workflow_dispatch:
schedule:
# run daily at 00:00
- cron: '0 0 * * *'
concurrency:
# github.ref is not unique in post-commit
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-linux-coverity
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: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_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
OPENVINO_CONTRIB_REPO: /__w/openvino/openvino/openvino_contrib
BUILD_DIR: /__w/openvino/openvino/openvino_build
SCCACHE_AZURE_KEY_PREFIX: coverity_ubuntu20_x86_64
COVERITY_TOOL_DIR: /__w/openvino/openvino/coverity_tool
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: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: Clone OpenVINO Contrib
uses: actions/checkout@v4
with:
repository: 'openvinotoolkit/openvino_contrib'
path: ${{ env.OPENVINO_CONTRIB_REPO }}
submodules: 'true'
ref: 'master'
#
# Dependencies
#
- name: Install build dependencies
run: |
bash ${OPENVINO_REPO}/install_build_dependencies.sh
# default-jdk - Java API
apt install --assume-yes --no-install-recommends default-jdk
- name: Install sccache
uses: mozilla-actions/sccache-action@v0.0.3
with:
version: "v0.5.4"
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
pip-cache-path: ${{ env.PIP_CACHE_PATH }}
should-setup-pip-paths: 'true'
self-hosted-runner: 'true'
#
# Build
#
- name: CMake configure - OpenVINO
run: |
cmake \
-G "${{ env.CMAKE_GENERATOR }}" \
-DENABLE_CPPLINT=OFF \
-DENABLE_STRICT_DEPENDENCIES=OFF \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_OPENCL=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCPACK_GENERATOR=TGZ \
-DBUILD_nvidia_plugin=OFF \
-DOPENVINO_EXTRA_MODULES=${OPENVINO_CONTRIB_REPO}/modules \
-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 sccache stats
run: ${SCCACHE_PATH} --zero-stats
- name: Install Coverity tool
run: |
rm -rf ${COVERITY_TOOL_DIR} && mkdir -p ${COVERITY_TOOL_DIR}
pushd ${COVERITY_TOOL_DIR}
wget https://scan.coverity.com/download/linux64 --progress=bar:force:noscroll --post-data "token=${{ secrets.COVERITY_TOKEN }}&project=openvino" -O coverity_tool.tgz
tar xvf coverity_tool.tgz && rm coverity_tool.tgz
popd
- name: Cmake build - OpenVINO with Coverity
run: |
${COVERITY_TOOL_DIR}/cov-analysis*/bin/cov-build --dir ${BUILD_DIR}/cov-int \
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
- name: Show sccache stats
run: ${SCCACHE_PATH} --show-stats
- name: Pack Artefacts
run: |
pushd ${BUILD_DIR}
tar -C ${BUILD_DIR} -czvf openvino.tgz cov-int
popd
- name: Submit artefacts
run: |
apt-get update && apt-get install -y curl
pushd ${BUILD_DIR}
curl --form token=${{ secrets.COVERITY_TOKEN }} \
--form email=${{ secrets.COVERITY_USER }} \
--form file=@openvino.tgz \
--form version="${{ github.sha }}" \
--form description="https://github.com/openvinotoolkit/openvino/runs/${{ github.run_number }}" \
https://scan.coverity.com/builds?project=openvino
popd
+258
View File
@@ -0,0 +1,258 @@
name: Fedora (RHEL), Python 3.9
on:
workflow_dispatch:
pull_request:
push:
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:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*'
Build:
needs: Smart_CI
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: aks-linux-16-cores-32gb
container:
image: fedora:33
volumes:
- /mount:/mount
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
if: "!needs.smart_ci.outputs.skip_workflow"
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@v4
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@v4
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@v4
with:
name: openvino_tests
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
if-no-files-found: 'error'
RPM_Packages:
needs: Build
timeout-minutes: 10
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
Overall_Status:
name: ci/gha_overall_status_fedora
needs: [Smart_CI, Build, RPM_Packages]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check status of all jobs
if: >-
${{
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}
run: exit 1
@@ -0,0 +1,124 @@
name: CPU functional tests
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
image:
description: 'Docker image in which the tests would run'
type: string
required: false
default: null
jobs:
CPU_Functional_Tests:
name: CPU functional tests
timeout-minutes: 25
runs-on: ${{ inputs.runner }}
container:
image: ${{ inputs.image }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
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 }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: |
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV"
echo "PARALLEL_TEST_SCRIPT=$GITHUB_WORKSPACE/install/tests/functional_test_utils/layer_tests_summary/run_parallel.py" >> "$GITHUB_ENV"
echo "PARALLEL_TEST_CACHE=$GITHUB_WORKSPACE/install/tests/test_cache.lst" >> "$GITHUB_ENV"
- 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 OpenVINO dependencies (Linux)
if: runner.os == 'Linux'
run: $INSTALL_DIR/install_dependencies/install_openvino_dependencies.sh -c=core -c=dev -c=gpu -y
- name: Fetch setup_python action
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
sparse-checkout-cone-mode: false
path: 'openvino'
- name: Setup Python 3.11
uses: ./openvino/.github/actions/setup_python
with:
version: '3.11'
should-setup-pip-paths: 'false'
self-hosted-runner: ${{ runner.os == 'Linux' }}
- name: Install python dependencies for run_parallel.py
run: python3 -m pip install -r ${INSTALL_TEST_DIR}/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 }}-${{ runner.arch }}-tests-functional-cpu-stamp-${{ github.sha }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-tests-functional-cpu-stamp
- name: Intel CPU plugin func tests (parallel)
run: |
# Needed as the Linux CC does not require setupvars to work
if [[ -f "${INSTALL_DIR}/setupvars.sh" ]]; then
source ${INSTALL_DIR}/setupvars.sh
fi
python3 ${PARALLEL_TEST_SCRIPT} -e ${INSTALL_TEST_DIR}/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: Save tests execution time
uses: actions/cache/save@v3
if: github.ref_name == 'master'
with:
path: ${{ env.PARALLEL_TEST_CACHE }}
key: ${{ runner.os }}-${{ runner.arch }}-tests-functional-cpu-stamp-${{ github.sha }}
- name: Upload Test Results
uses: actions/upload-artifact@v4
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'
+279
View File
@@ -0,0 +1,279 @@
name: Samples
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
image:
description: 'Docker image in which the tests would run'
type: string
required: false
default: null
affected-components:
description: 'Components that are affected by changes in the commit defined by the Smart CI Action'
type: string
required: true
jobs:
CXX_Unit_Tests:
name: C++ unit tests
timeout-minutes: 30
runs-on: ${{ inputs.runner }}
container:
image: ${{ inputs.image }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
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 }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: |
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV"
- 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 OpenVINO dependencies (Linux)
if: runner.os == 'Linux'
run: $INSTALL_DIR/install_dependencies/install_openvino_dependencies.sh -c=core -c=dev -c=gpu -y
#
# Tests
#
- name: OpenVINO Core Unit Tests
if: fromJSON(inputs.affected-components).Core.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-OVCoreUT.xml
- name: OpenVINO Inference Functional Tests
if: fromJSON(inputs.affected-components).inference.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_inference_functional_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-InferenceFunc.xml
- name: OpenVINO Inference Unit Tests
if: fromJSON(inputs.affected-components).inference.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_inference_unit_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-InferenceUnit.xml
- name: Low Precision Transformations Tests
if: fromJSON(inputs.affected-components).LP_transformations.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_lp_transformations_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-LpTransformations.xml
- name: OpenVINO Conditional compilation tests
if: fromJSON(inputs.affected-components).Core.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_conditional_compilation_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ConditionalCompilation.xml
- name: IR frontend tests
if: fromJSON(inputs.affected-components).IR_FE.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_ir_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-IRFrontend.xml
- name: PaddlePaddle frontend tests
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/paddle_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-PaddleTests.xml
- name: ONNX frontend tests
if: ${{ fromJSON(inputs.affected-components).ONNX_FE.test && runner.arch != 'ARM64' }} # Ticket for macOS ARM64: 122663, for Linux ARM64: 126280
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_onnx_frontend_tests --gtest_print_time=1 \
--gtest_filter=-*IE_GPU* \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ONNXFrontend.xml
- name: TensorFlow Common frontend tests
if: fromJSON(inputs.affected-components).TF_FE.test ||
fromJSON(inputs.affected-components).TFL_FE.test &&
(runner.os != 'macOS' && runner.arch != 'ARM64')
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_tensorflow_common_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-TensorFlowCommonFrontend.xml
- name: TensorFlow frontend tests
if: fromJSON(inputs.affected-components).TF_FE.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_tensorflow_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-TensorFlowFrontend.xml
- name: TensorFlow Lite frontend tests
if: fromJSON(inputs.affected-components).TFL_FE.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-TensorFlowLiteFrontend.xml
- name: Transformations func tests
if: ${{ fromJSON(inputs.affected-components).transformations.test && runner.arch != 'ARM64' }} # Ticket: 126281
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_transformations_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-Transformations.xml
- name: Legacy Transformations func tests
if: fromJSON(inputs.affected-components).GNA.test &&
(runner.os != 'macOS' && runner.arch != 'ARM64')
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_legacy_transformations_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-LegacyTransformations.xml
- name: Inference Engine 1.0 unit tests
if: fromJSON(inputs.affected-components).GNA.test &&
(runner.os != 'macOS' && runner.arch != 'ARM64')
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/InferenceEngineUnitTests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-InferenceEngineUnitTests.xml
- name: Common test utils tests
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_util_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-CommonUtilTests.xml
- name: Snippets func tests
if: fromJSON(inputs.affected-components).CPU.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_snippets_func_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-SnippetsFuncTests.xml
- name: CPU plugin unit tests
if: fromJSON(inputs.affected-components).CPU.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_cpu_unit_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-CPUUnitTests.xml
- name: ov_subgraphs_dumper_tests tests
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_subgraphs_dumper_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ov_subgraphs_dumper_tests.xml
- name: Template OpImpl tests
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_op_conformance_tests --gtest_print_time=1 --device=TEMPLATE --gtest_filter=*OpImpl*\
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-OpImplTests.xml
- name: AUTO unit tests
if: fromJSON(inputs.affected-components).AUTO.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_auto_unit_tests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ov_auto_unit_tests.xml
- name: AUTO func Tests
if: fromJSON(inputs.affected-components).AUTO.test
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
if: fromJSON(inputs.affected-components).TEMPLATE.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_template_func_tests --gtest_print_time=1 \
--gtest_filter=*smoke* \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-TemplateFuncTests.xml
- name: Inference Engine C API tests
if: fromJSON(inputs.affected-components).C_API.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/InferenceEngineCAPITests --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-InferenceEngineCAPITests.xml
- name: OpenVINO C API tests
if: fromJSON(inputs.affected-components).C_API.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_capi_test --gtest_print_time=1 \
--gtest_output=xml:${INSTALL_TEST_DIR}/TEST-OpenVINOCAPITests.xml
- name: AutoBatch unit tests
if: fromJSON(inputs.affected-components).AUTO_BATCH.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_auto_batch_unit_tests --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ov_auto_batch_unit_tests.xml
- name: AutoBatch func tests
if: fromJSON(inputs.affected-components).AUTO_BATCH.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_auto_batch_func_tests --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-ov_auto_batch_func_tests.xml
- name: Proxy Plugin func tests
if: fromJSON(inputs.affected-components).PROXY.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-OVProxyTests.xml
- name: Hetero unit tests
if: fromJSON(inputs.affected-components).HETERO.test
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
if: fromJSON(inputs.affected-components).HETERO.test
run: |
source ${INSTALL_DIR}/setupvars.sh
${INSTALL_TEST_DIR}/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:${INSTALL_TEST_DIR}/TEST-OVHeteroFuncTests.xml
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-results-cpp
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'warn'
+83
View File
@@ -0,0 +1,83 @@
name: Debian Packages
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
image:
description: 'Docker image in which the tests would run'
type: string
required: false
default: null
jobs:
Debian_Packages:
name: Debian Packages
runs-on: ${{ inputs.runner }}
container:
image: ${{ inputs.image }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
DEBIAN_PACKAGES_DIR: ${{ github.workspace }}/packages
steps:
- name: Download OpenVINO debian packages
uses: actions/download-artifact@v3
with:
name: openvino_debian_packages
path: ${{ env.DEBIAN_PACKAGES_DIR }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: echo "DEBIAN_PACKAGES_DIR=$GITHUB_WORKSPACE/packages" >> "$GITHUB_ENV"
- name: Install debian packages & check conflicts
run: |
apt-get update -y
if [[ "${{ runner.arch }}" == "X64" ]]; then
# Install debian packages from previous release
apt-get install --no-install-recommends -y gnupg wget ca-certificates
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/openvino/2023 ubuntu20 main" | tee /etc/apt/sources.list.d/intel-openvino-2023.list
apt-get update -y
apt-get install -y openvino
fi
# install our local one and make sure the conflicts are resolved
apt-get install --no-install-recommends -y dpkg-dev
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
echo "deb [trusted=yes] file:${DEBIAN_PACKAGES_DIR} ./" | tee /etc/apt/sources.list.d/openvino-local.list
apt-get update -y
apt-get install openvino -y
working-directory: ${{ env.DEBIAN_PACKAGES_DIR }}
- name: Test debian packages
run: |
/usr/share/openvino/samples/cpp/build_samples.sh
/usr/share/openvino/samples/c/build_samples.sh
[[ "${{ runner.arch }}" == "X64" ]] && path_by_arch="intel64" || path_by_arch="aarch64"
~/openvino_cpp_samples_build/$path_by_arch/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")'
if [[ "${{ runner.arch }}" == "X64" ]]; then
python3 -c 'from openvino import Core; Core().get_property("GPU", "AVAILABLE_DEVICES")'
fi
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
+157
View File
@@ -0,0 +1,157 @@
name: ONNX Runtime Integration
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
container:
description: 'JSON to be converted to the value of the "container" configuration for the job'
type: string
required: false
default: '{"image": null}'
sccache-azure-key-prefix:
description: 'Key prefix for the cache folder on the Azure'
type: string
required: true
jobs:
ONNX_Runtime:
name: ONNX Runtime Integration
timeout-minutes: 60
runs-on: ${{ inputs.runner }}
container: ${{ fromJSON(inputs.container) }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
OPENVINO_REPO: ${{ github.workspace }}/openvino
INSTALL_DIR: ${{ github.workspace }}/install
CMAKE_GENERATOR: 'Ninja Multi-Config'
CMAKE_CXX_COMPILER_LAUNCHER: sccache
CMAKE_C_COMPILER_LAUNCHER: sccache
SCCACHE_AZURE_KEY_PREFIX: ${{ inputs.sccache-azure-key-prefix }}
ONNX_RUNTIME_REPO: ${{ github.workspace }}/onnxruntime
ONNX_RUNTIME_UTILS: ${{ github.workspace }}/install/onnxruntime
ONNX_RUNTIME_BUILD_DIR: ${{ github.workspace }}/onnxruntime/build
steps:
- name: Download OpenVINO package
uses: actions/download-artifact@v3
with:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: |
echo "OPENVINO_REPO=$GITHUB_WORKSPACE/openvino" >> "$GITHUB_ENV"
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "ONNX_RUNTIME_REPO=$GITHUB_WORKSPACE/onnxruntime" >> "$GITHUB_ENV"
echo "ONNX_RUNTIME_UTILS=$GITHUB_WORKSPACE/install/onnxruntime" >> "$GITHUB_ENV"
echo "ONNX_RUNTIME_BUILD_DIR=$GITHUB_WORKSPACE/onnxruntime/build" >> "$GITHUB_ENV"
- name: Fetch install_build_dependencies.sh and setup_python action
uses: actions/checkout@v4
with:
sparse-checkout: |
install_build_dependencies.sh
.github/actions/setup_python/action.yml
sparse-checkout-cone-mode: false
path: 'openvino'
- name: Install git
run: |
apt-get update
apt-get install --assume-yes --no-install-recommends git ca-certificates
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: '3.11'
should-setup-pip-paths: 'false'
- name: Extract OpenVINO package
run: |
pushd ${INSTALL_DIR}
tar -xzf openvino_package.tar.gz -C ${INSTALL_DIR}
popd
- name: Install OpenVINO dependencies
run: ${INSTALL_DIR}/install_dependencies/install_openvino_dependencies.sh -c=core -c=dev -y
- name: Clone ONNX Runtime
run: |
branch=`tr -s '\n ' < ${ONNX_RUNTIME_UTILS}/version`
git clone --branch $branch --single-branch --recursive https://github.com/microsoft/onnxruntime.git ${ONNX_RUNTIME_REPO}
#
# Tests
#
- 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: Build Lin ONNX Runtime
run: |
source ${INSTALL_DIR}/setupvars.sh
${ONNX_RUNTIME_REPO}/build.sh \
--config RelWithDebInfo \
--use_openvino CPU_FP32 \
--build_shared_lib \
--parallel \
--skip_tests \
--compile_no_warning_as_error \
--build_dir ${ONNX_RUNTIME_BUILD_DIR}
env:
CXXFLAGS: "-Wno-error=deprecated-declarations"
- name: Show sccache stats
run: ${SCCACHE_PATH} --show-stats
- name: Run onnxruntime_test_all
if: ${{ runner.arch != 'ARM64' }} # Ticket: 126277
run: |
source ${INSTALL_DIR}/setupvars.sh
skip_tests=$(tr -s '\n ' ':' < ${ONNX_RUNTIME_UTILS}/skip_tests)
./onnxruntime_test_all --gtest_filter=-$skip_tests
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo/RelWithDebInfo
- name: Run onnxruntime_shared_lib_test
run: |
source ${INSTALL_DIR}/setupvars.sh
./onnxruntime_shared_lib_test --gtest_filter=-CApiTest.test_custom_op_openvino_wrapper_library
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo/RelWithDebInfo
- name: Run onnxruntime_global_thread_pools_test
run: |
source ${INSTALL_DIR}/setupvars.sh
./onnxruntime_global_thread_pools_test
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo/RelWithDebInfo
- name: Run onnxruntime_api_tests_without_env
run: |
source ${INSTALL_DIR}/setupvars.sh
./onnxruntime_api_tests_without_env
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo/RelWithDebInfo
- name: Run pytorch-converted tests
run: |
source ${INSTALL_DIR}/setupvars.sh
./onnx_test_runner "${ONNX_RUNTIME_REPO}/cmake/external/onnx/onnx/backend/test/data/pytorch-converted"
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo/RelWithDebInfo
- name: Run pytorch-operator tests
run: |
source ${INSTALL_DIR}/setupvars.sh
./onnx_test_runner "${ONNX_RUNTIME_REPO}/cmake/external/onnx/onnx/backend/test/data/pytorch-operator"
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo/RelWithDebInfo
+323
View File
@@ -0,0 +1,323 @@
name: Python unit tests
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
container:
description: 'JSON to be converted to the value of the "container" configuration for the job'
type: string
required: false
default: '{"image": null}'
affected-components:
description: 'Components that are affected by changes in the commit defined by the Smart CI Action'
type: string
required: true
env:
PIP_CACHE_PATH: /mount/caches/pip/linux
PYTHON_VERSION: '3.11'
jobs:
Python_Unit_Tests:
name: Python unit tests
timeout-minutes: 60
runs-on: ${{ inputs.runner }}
container: ${{ fromJSON(inputs.container) }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
OPENVINO_REPO: ${{ github.workspace }}/openvino
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
LAYER_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/layer_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 }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: |
echo "OPENVINO_REPO=$GITHUB_WORKSPACE/openvino" >> "$GITHUB_ENV"
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV"
echo "LAYER_TESTS_INSTALL_DIR=$GITHUB_WORKSPACE/install/tests/layer_tests" >> "$GITHUB_ENV"
- 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 OpenVINO dependencies (Linux)
if: runner.os == 'Linux'
run: $INSTALL_DIR/install_dependencies/install_openvino_dependencies.sh -c=core -c=dev -y
- name: Fetch setup_python action
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
sparse-checkout-cone-mode: false
path: 'openvino'
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
pip-cache-path: ${{ runner.os == 'Linux' && env.PIP_CACHE_PATH || '' }}
should-setup-pip-paths: ${{ runner.os == 'Linux' }}
self-hosted-runner: ${{ runner.os == 'Linux' }}
#
# Tests
#
- name: Install OpenVINO Python wheels
run: |
# Install the core OV wheel
python3 -m pip install ${INSTALL_DIR}/tools/openvino-*.whl
extras_to_install="caffe,kaldi,onnx,tensorflow2,pytorch"
if [[ "${{ runner.arch }}" != "ARM64" ]]; then
extras_to_install="mxnet,$extras_to_install"
fi
# Find and install OV dev wheel
pushd ${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: Install Python API tests dependencies
run: |
# To enable pytest parallel features
python3 -m pip install pytest-xdist[psutil]
# For torchvision to OpenVINO preprocessing converter
python3 -m pip install -r ${INSTALL_TEST_DIR}/python/preprocess/torchvision/requirements.txt
# TODO: replace with Python API tests requirements
python3 -m pip install -r ${INSTALL_TEST_DIR}/mo/requirements_dev.txt
#
# Tests
#
- name: Python API 1.0 Tests
# if: fromJSON(inputs.affected-components).Python_API.test # Ticket: 127101
run: |
python3 -m pytest -s ${INSTALL_TEST_DIR}/pyngraph \
--junitxml=${INSTALL_TEST_DIR}/TEST-Pyngraph.xml \
--ignore=${INSTALL_TEST_DIR}/pyngraph/tests_compatibility/test_onnx/test_zoo_models.py \
--ignore=${INSTALL_TEST_DIR}/pyngraph/tests_compatibility/test_onnx/test_backend.py
- name: Python API 2.0 Tests
# if: ${{ fromJSON(inputs.affected-components).Python_API.test && runner.arch != 'ARM64' }} # Ticket: 126380, 127101
run: |
# for 'template' extension
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
python3 -m pytest -sv ${INSTALL_TEST_DIR}/pyopenvino \
--junitxml=${INSTALL_TEST_DIR}/TEST-Pyngraph.xml \
--ignore=${INSTALL_TEST_DIR}/pyopenvino/tests/test_utils/test_utils.py
- name: Model Optimizer unit tests
if: fromJSON(inputs.affected-components).MO.test
run: |
skip_filter=''
if [[ "${{ runner.os }}" != "Linux" ]] && [[ "${{ runner.arch }} != "ARM64" ]] || [[ "${{ runner.os }} != "macOS" ]]; then
# required for MxNet
apt-get install -y libgomp1 libquadmath0
else
# Skips under Ticket: 122666
skip_filter='--ignore-glob=**/mo/unit_tests/mo/front/mxnet/**'
fi
python3 -m pytest -s ${INSTALL_TEST_DIR}/mo/unit_tests \
--junitxml=${INSTALL_TEST_DIR}/TEST-ModelOptimizer.xml \
"$skip_filter"
- name: Python ONNX operators tests
if: fromJSON(inputs.affected-components).Python_API.test ||
fromJSON(inputs.affected-components).ONNX_FE.test && runner.os != 'macOS' # 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 ${INSTALL_TEST_DIR}/onnx -k 'not cuda' \
--junitxml=${INSTALL_TEST_DIR}/TEST-onnx_frontend.xml \
--ignore=${INSTALL_TEST_DIR}/onnx/test_python/test_zoo_models.py
- name: OVC unit tests
if: fromJSON(inputs.affected-components).MO.test
run: python3 -m pytest -s ${INSTALL_TEST_DIR}/ovc/unit_tests --junitxml=${INSTALL_TEST_DIR}/TEST-OpenVinoConversion.xml
- name: Install Python Layer tests dependencies
run: |
# layer test requirements
python3 -m pip install -r ${LAYER_TESTS_INSTALL_DIR}/requirements.txt
- name: MO Python API Tests
if: fromJSON(inputs.affected-components).MO.test
run: |
# Import 'test_utils' installed in '<package_test>/tests/python/openvino'
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
export PYTHONPATH=${INSTALL_TEST_DIR}/python
if [[ "${{ runner.os }}" == "Linux" ]] && [[ "${{ runner.arch }}" == "ARM64" ]]; then
# Find gomp lib
GOMP_LIB=$(find "${PIP_INSTALL_PATH}/torch/lib/../../torch.libs/" -name '*libgomp-*so*')
export LD_PRELOAD=${GOMP_LIB}
fi
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/mo_python_api_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_mo_convert.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP16
- name: OVC Python API Tests
if: fromJSON(inputs.affected-components).MO.test
run: |
# Import 'test_utils' installed in '<package_test>/tests/python/openvino'
export PYTHONPATH=${INSTALL_TEST_DIR}/python
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
if [[ "${{ runner.os }}" == "Linux" ]] && [[ "${{ runner.arch }}" == "ARM64" ]]; then
# Find gomp lib
GOMP_LIB=$(find "${PIP_INSTALL_PATH}/torch/lib/../../torch.libs/" -name '*libgomp-*so*')
export LD_PRELOAD=${GOMP_LIB}
fi
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/ovc_python_api_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_ovc_convert.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP16
- name: Python Frontend tests
if: fromJSON(inputs.affected-components).PyTorch_FE.test ||
fromJSON(inputs.affected-components).PDPD_FE.test
run: |
# to allow 'libtest_builtin_extensions.so' to find 'libopenvino_onnx_frontend.so'
export LD_LIBRARY_PATH=${PIP_INSTALL_PATH}/openvino/libs:$LD_LIBRARY_PATH
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/py_frontend_tests --junitxml=${INSTALL_TEST_DIR}/TEST-test_py_fontend.xml
- name: PyTorch Layer Tests
if: ${{ fromJSON(inputs.affected-components).PyTorch_FE.test && runner.arch != 'ARM64' }} # Ticket: 126287
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -n logical -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP32
- name: PyTorch torch.compile TORCHFX Layer Tests
if: ${{ fromJSON(inputs.affected-components).PyTorch_FE.test && runner.os != 'macOS' }}
run: |
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit_fx_backend --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP32
PYTORCH_TRACING_MODE: TORCHFX
- name: PyTorch torch.compile TORCHSCRIPT Layer Tests
if: ${{ fromJSON(inputs.affected-components).PyTorch_FE.test && runner.os != 'macOS' }}
run: |
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/pytorch_tests -m precommit_ts_backend --junitxml=${INSTALL_TEST_DIR}/TEST-pytorch.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP32
PYTORCH_TRACING_MODE: TORCHSCRIPT
- name: ONNX Layer Tests
if: fromJSON(inputs.affected-components).ONNX_FE.test
run: |
# requires 'unit_tests' from 'tools/mo'
export PYTHONPATH=${INSTALL_TEST_DIR}/mo:$PYTHONPATH
python3 -m pytest ${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
if: fromJSON(inputs.affected-components).TF_FE.test
run: |
# requires 'unit_tests' from 'mo'
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf_fe.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP16
- name: TensorFlow 2 Layer Tests - TF FE
if: fromJSON(inputs.affected-components).TF_FE.test && runner.os != 'macOS' # Ticket: 123322
run: |
# requires 'unit_tests' from 'mo'
export PYTHONPATH=${INSTALL_TEST_DIR}/mo
python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_fe.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP16
- name: JAX Layer Tests - TF FE
if: ${{ fromJSON(inputs.affected-components).TF_FE.test && runner.arch != 'ARM64' }}
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/jax_tests/ -m precommit --junitxml=${INSTALL_TEST_DIR}/TEST-jax.xml
env:
TEST_DEVICE: CPU
- name: TensorFlow 1 Layer Tests - Legacy FE
if: fromJSON(inputs.affected-components).TF_FE.test
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${INSTALL_TEST_DIR}/TEST-tf_Roll.xml
- name: TensorFlow 2 Layer Tests - Legacy FE
if: fromJSON(inputs.affected-components).TF_FE.test
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow2_keras_tests/test_tf2_keras_activation.py --ir_version=11 -k "sigmoid" --junitxml=${INSTALL_TEST_DIR}/TEST-tf2_Activation.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP16
- name: TensorFlow Lite Layer Tests - TFL FE
if: fromJSON(inputs.affected-components).TFL_FE.test
run: python3 -m pytest ${LAYER_TESTS_INSTALL_DIR}/tensorflow_lite_tests/ --junitxml=${INSTALL_TEST_DIR}/TEST-tfl_fe.xml
env:
TEST_DEVICE: CPU
TEST_PRECISION: FP16
- name: Clone API snippets
if: runner.os != 'macOS'
uses: actions/checkout@v4
with:
sparse-checkout: openvino/docs/snippets
path: ${{ env.OPENVINO_REPO }}
submodules: 'false'
- name: Docs Python snippets
if: runner.os != 'macOS'
run: |
# to find 'snippets' module in docs
export PYTHONPATH=${OPENVINO_REPO}/docs
# for 'template' extension
export LD_LIBRARY_PATH=${INSTALL_TEST_DIR}:$LD_LIBRARY_PATH
python3 ${OPENVINO_REPO}/docs/snippets/main.py
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-results-python
path: |
${{ env.INSTALL_TEST_DIR }}/TEST*.html
${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'warn'
@@ -0,0 +1,132 @@
name: PyTorch Models tests
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
container:
description: 'JSON to be converted to the value of the "container" configuration for the job'
type: string
required: false
default: '{"image": null}'
event:
description: 'Event that triggered the workflow. E.g., "schedule" for nightly runs'
type: string
required: true
jobs:
PyTorch_Models_Tests:
name: PyTorch Models tests
timeout-minutes: ${{ inputs.event == 'schedule' && 400 || 30 }}
runs-on: ${{ inputs.runner }}
container: ${{ fromJSON(inputs.container) }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
OPENVINO_REPO: ${{ github.workspace }}/openvino
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
MODEL_HUB_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/model_hub_tests
steps:
- name: Check sudo
if: ${{ runner.os == 'Linux' }}
run: if [ "$(id -u)" -eq 0 ]; then apt update && apt --assume-yes install sudo; fi
- 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 }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: |
echo "OPENVINO_REPO=$GITHUB_WORKSPACE/openvino" >> "$GITHUB_ENV"
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV"
echo "MODEL_HUB_TESTS_INSTALL_DIR=$GITHUB_WORKSPACE/install/tests/model_hub_tests" >> "$GITHUB_ENV"
- 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: Fetch setup_python action
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
sparse-checkout-cone-mode: false
path: 'openvino'
- name: Install dependencies
if: ${{ runner.os == 'Linux' }}
run: |
# install git (required to build pip deps from the sources)
# install 'g++' to build 'detectron2' and 'natten' wheels
sudo apt-get install --assume-yes --no-install-recommends g++ git ca-certificates
- name: Setup Python 3.11
uses: ./openvino/.github/actions/setup_python
with:
version: '3.11'
should-setup-pip-paths: 'false'
self-hosted-runner: ${{ contains(inputs.runner, 'aks') }}
- name: Install OpenVINO Python wheels
run: python3 -m pip install ${INSTALL_DIR}/tools/openvino-*
- name: Install PyTorch tests requirements
run: |
python3 -m pip install -r ${MODEL_HUB_TESTS_INSTALL_DIR}/torch_tests/requirements.txt
python3 -m pip install -r ${MODEL_HUB_TESTS_INSTALL_DIR}/torch_tests/requirements_secondary.txt
echo "Available storage:"
df -h
env:
CPLUS_INCLUDE_PATH: ${{ env.Python_ROOT_DIR }}/include/python${{ env.PYTHON_VERSION }}
- name: PyTorch Models Tests
run: |
export PYTHONPATH=${MODEL_HUB_TESTS_INSTALL_DIR}:$PYTHONPATH
python3 -m pytest ${MODEL_HUB_TESTS_INSTALL_DIR}/torch_tests -m ${TYPE} --html=${INSTALL_TEST_DIR}/TEST-torch_model_tests.html --self-contained-html -v
env:
TYPE: ${{ inputs.event == 'schedule' && 'nightly' || 'precommit'}}
TEST_DEVICE: CPU
USE_SYSTEM_CACHE: False
OP_REPORT_FILE: ${{ env.INSTALL_TEST_DIR }}/TEST-torch_unsupported_ops.log
- name: Reformat unsupported ops file
if: '!cancelled()'
run: |
python3 ${MODEL_HUB_TESTS_INSTALL_DIR}/torch_tests/scripts/process_op_report.py ${INSTALL_TEST_DIR}/TEST-torch_unsupported_ops.log
- name: Available storage after tests
run: |
echo "Available storage:"
df -h
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-results-torch-models
path: |
${{ env.INSTALL_TEST_DIR }}/TEST-torch*
if-no-files-found: 'error'
+132
View File
@@ -0,0 +1,132 @@
name: Samples
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
image:
description: 'Docker image in which the tests would run'
type: string
required: false
default: null
affected-components:
description: 'Components that are affected by changes in the commit defined by the Smart CI Action'
type: string
required: true
jobs:
Samples:
runs-on: ${{ inputs.runner }}
container:
image: ${{ inputs.image }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
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 }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: |
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV"
echo "BUILD_DIR=$GITHUB_WORKSPACE/build" >> "$GITHUB_ENV"
- 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 OpenVINO dependencies (Linux)
if: runner.os == 'Linux'
run: $INSTALL_DIR/install_dependencies/install_openvino_dependencies.sh -c=core -c=dev -y
- name: Install OpenVINO dependencies (mac)
if: runner.os == 'macOS'
run: brew install coreutils
- name: Fetch setup_python action
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
sparse-checkout-cone-mode: false
path: 'openvino'
- name: Setup Python 3.11
uses: ./openvino/.github/actions/setup_python
with:
version: '3.11'
should-setup-pip-paths: 'false'
self-hosted-runner: ${{ runner.os == 'Linux' }}
- name: Build cpp samples - GCC
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 cpp samples - Clang
if: runner.os == 'Linux'
run: |
apt-get install -y clang
$INSTALL_DIR/samples/cpp/build_samples.sh -i $INSTALL_DIR -b $BUILD_DIR/cpp_samples_clang
env:
CMAKE_COMPILE_WARNING_AS_ERROR: 'ON'
CC: clang
CXX: clang++
- 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
if: fromJSON(inputs.affected-components).samples.test
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
export LD_LIBRARY_PATH=${IE_APP_PATH}:$LD_LIBRARY_PATH
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@v4
if: ${{ !cancelled() }}
with:
name: test-results-samples
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'warn'
@@ -0,0 +1,113 @@
name: TensorFlow Hub Models tests
on:
workflow_call:
inputs:
runner:
description: 'Machine on which the tests would run'
type: string
required: true
container:
description: 'JSON to be converted to the value of the "container" configuration for the job'
type: string
required: false
default: '{"image": null}'
event:
description: 'Event that triggered the workflow. E.g., "schedule" for nightly runs'
type: string
required: true
jobs:
TensorFlow_Hub_Models_Tests:
name: TensorFlow Hub Models tests
timeout-minutes: ${{ inputs.event == 'schedule' && 400 || 25 }}
runs-on: ${{ inputs.runner }}
container: ${{ fromJSON(inputs.container) }}
defaults:
run:
shell: bash
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
OPENVINO_REPO: ${{ github.workspace }}/openvino
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
MODEL_HUB_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/model_hub_tests
steps:
- name: Check sudo
if: ${{ runner.os == 'Linux' }}
run: if [ "$(id -u)" -eq 0 ]; then apt update && apt --assume-yes install sudo; fi
- 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 }}
# Needed as ${{ github.workspace }} is not working correctly when using Docker
- name: Setup Variables
run: |
echo "OPENVINO_REPO=$GITHUB_WORKSPACE/openvino" >> "$GITHUB_ENV"
echo "INSTALL_DIR=$GITHUB_WORKSPACE/install" >> "$GITHUB_ENV"
echo "INSTALL_TEST_DIR=$GITHUB_WORKSPACE/install/tests" >> "$GITHUB_ENV"
echo "MODEL_HUB_TESTS_INSTALL_DIR=$GITHUB_WORKSPACE/install/tests/model_hub_tests" >> "$GITHUB_ENV"
- 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: Fetch setup_python action
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
sparse-checkout-cone-mode: false
path: 'openvino'
- name: Install dependencies
if: ${{ runner.os == 'Linux' }}
run: |
# install git (required to build pip deps from the sources)
sudo apt-get install --assume-yes --no-install-recommends g++ git ca-certificates
- name: Setup Python 3.11
uses: ./openvino/.github/actions/setup_python
with:
version: '3.11'
should-setup-pip-paths: 'false'
self-hosted-runner: ${{ contains(inputs.runner, 'aks') }}
- name: Install OpenVINO Python wheels
run: python3 -m pip install ${INSTALL_DIR}/tools/openvino-*
- name: Install TF Hub tests requirements
run: python3 -m pip install -r ${MODEL_HUB_TESTS_INSTALL_DIR}/tf_hub_tests/requirements.txt
- name: TensorFlow Hub Tests - TF FE
run: |
export PYTHONPATH=${MODEL_HUB_TESTS_INSTALL_DIR}:$PYTHONPATH
python3 -m pytest ${MODEL_HUB_TESTS_INSTALL_DIR}/tf_hub_tests/ -m ${TYPE} --html=${INSTALL_TEST_DIR}/TEST-tf_hub_tf_fe.html --self-contained-html -v
env:
TYPE: ${{ inputs.event == 'schedule' && 'nightly' || 'precommit'}}
TEST_DEVICE: CPU
- name: Upload Test Results
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-results-tensorflow-hub-models
path: |
${{ env.INSTALL_TEST_DIR }}/TEST*.html
if-no-files-found: 'error'
+3 -1
View File
@@ -9,8 +9,10 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
- uses: akladiev/labeler@v4.3.1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
configuration-path: '.github/labeler.yml'
sync-labels: 'true'
dot: 'true'
non-matching-label: 'no-match-files'
File diff suppressed because it is too large Load Diff
-173
View File
@@ -1,173 +0,0 @@
name: Linux Android ARM64 (Ubuntu 20.04, Python 3.11)
on:
schedule:
# run daily at 00:00
- cron: '0 0 * * *'
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:
group: ${{ github.head_ref || github.run_id }}-linux-android-arm64
cancel-in-progress: true
jobs:
Build:
# TODO: remove. Temporary measure to prevent the workflow from scheduling on forks.
if: ${{ github.repository_owner == 'openvinotoolkit' }}
defaults:
run:
shell: bash
runs-on: ubuntu-20.04-8-cores
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja'
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
BUILD_TYPE: Debug
OPENVINO_REPO: ${{ github.workspace }}/openvino
VCPKG_ROOT: ${{ github.workspace }}/vcpkg
BUILD_DIR: ${{ github.workspace }}/build
INSTALL_DIR: ${{ github.workspace }}/install
OV_TEMP: ${{ github.workspace }}/openvino_temp
ANDROID_TOOLS: ${{ github.workspace }}/android_tools
ANDROID_NDK_HOME: ${{ github.workspace }}/android_tools/ndk-bundle
ANDROID_SDK_VERSION: 29
ANDROID_ABI_CONFIG: arm64-v8a
steps:
- name: Clone OpenVINO
uses: actions/checkout@v4
with:
path: 'openvino'
- name: Init submodules for non vcpkg dependencies
run: |
pushd ${{ env.OPENVINO_REPO }}
git submodule update --init -- ${{ env.OPENVINO_REPO }}/src/plugins
git submodule update --init -- ${{ env.OPENVINO_REPO }}/thirdparty/gtest
git submodule update --init -- ${{ env.OPENVINO_REPO }}/thirdparty/open_model_zoo
popd
- name: Clone VCPKG
uses: actions/checkout@v4
with:
repository: 'microsoft/vcpkg'
path: 'vcpkg'
fetch-depth: '0'
- name: Setup Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
#
# Dependencies
#
- name: Install dependencies
run: |
# generic dependencies
sudo -E apt update
sudo -E apt --assume-yes install ccache scons default-jdk python3-pip ninja-build build-essential
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/
ln -s /usr/local/bin/ninja /usr/local/bin/ninja-build
# vcpkg's tool dependencies
sudo -E apt --assume-yes install curl zip unzip tar
# vcpkg 'python3' port dependencies
sudo -E apt --assume-yes install autoconf libtool autoconf-archive
# vcpkg tree of dependencies require extra packages
sudo -E apt --assume-yes install pkg-config linux-libc-dev
# Install Android SDK, NDK and Tools
sudo apt -y --no-install-recommends install unzip
wget https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
unzip commandlinetools-linux-7583922_latest.zip
echo "yes" | ./cmdline-tools/bin/sdkmanager --sdk_root=${{ env.ANDROID_TOOLS }} --install "ndk-bundle" "platform-tools" "platforms;android-${{ env.ANDROID_SDK_VERSION }}"
- 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: ${{ github.job }}-linux-android-arm64
restore-keys: |
${{ github.job }}-linux-android-arm64
#
# Build
#
- name: Build vcpkg
run: |
${{ env.VCPKG_ROOT }}/bootstrap-vcpkg.sh --disableMetrics
# patch vcpkg default (community) toolchain to build only Release configuration
echo "set(VCPKG_BUILD_TYPE release)" >> ${{ env.VCPKG_ROOT }}/triplets/community/arm64-android.cmake
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: CMake configure
run: |
cmake \
-G Ninja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DVCPKG_TARGET_TRIPLET=arm64-android \
-DVCPKG_HOST_TRIPLET=x64-linux-release \
-DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake \
-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${{ env.ANDROID_NDK_HOME }}/build/cmake/android.toolchain.cmake \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DANDROID_ABI=${{ env.ANDROID_ABI_CONFIG }} \
-DANDROID_PLATFORM=${{ env.ANDROID_SDK_VERSION }} \
-DENABLE_PYTHON=OFF \
-DENABLE_SYSTEM_OPENCL=ON \
-DENABLE_SYSTEM_PROTOBUF=ON \
-DENABLE_SYSTEM_PUGIXML=ON \
-DENABLE_SYSTEM_SNAPPY=ON \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_FLATBUFFERS=ON \
-DENABLE_INTEL_GPU=ON \
-DENABLE_TESTS=ON \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-S ${{ env.OPENVINO_REPO }} \
-B ${{ env.BUILD_DIR }}
- name: Clean ccache stats
run: ccache --zero-stats --show-config
- name: Build Android ARM64
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config ${{ env.BUILD_TYPE }}
- name: Show ccache stats
run: ccache --show-stats
- name: List binary files
run: ls -alR ${{ env.OPENVINO_REPO }}/bin/
+317 -156
View File
@@ -1,68 +1,100 @@
name: Linux ARM64 with Conan (Ubuntu 20.04, Python 3.11)
name: Linux ARM64 (Ubuntu 20.04, Python 3.11)
on:
schedule:
# run daily at 00:00
- cron: '0 0 * * *'
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
pull_request:
push:
branches:
- master
- 'releases/**'
concurrency:
group: ${{ github.head_ref || github.run_id }}-linux-arm64
# github.ref is not unique in post-commit
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-linux-arm
cancel-in-progress: true
env:
PIP_CACHE_PATH: /mount/caches/pip/linux
PYTHON_VERSION: '3.11'
jobs:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
steps:
- name: checkout action
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
- name: Show affected components
run: |
echo "${{ toJSON(steps.smart_ci.outputs.affected_components) }}"
shell: bash
Build:
# TODO: remove. Temporary measure to prevent the workflow from scheduling on forks.
if: ${{ github.repository_owner == 'openvinotoolkit' }}
needs: Smart_CI
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: ubuntu-20.04-8-cores
runs-on: 'aks-linux-16-cores-arm'
container:
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04
volumes:
- /mount:/mount
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'
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
BUILD_TYPE: Release
OPENVINO_REPO: ${{ github.workspace }}/openvino
BUILD_DIR: ${{ github.workspace }}/build
INSTALL_DIR: ${{ github.workspace }}/install
OV_TEMP: ${{ github.workspace }}/openvino_temp
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
OPENVINO_CONTRIB_REPO: /__w/openvino/openvino/openvino_contrib
INSTALL_DIR: /__w/openvino/openvino/openvino_install
INSTALL_TEST_DIR: /__w/openvino/openvino/tests_install
DEVELOPER_PACKAGE_DIR: /__w/openvino/openvino/developer_package_install
BUILD_DIR: /__w/openvino/openvino/openvino_build
SCCACHE_AZURE_KEY_PREFIX: 'ubuntu20_aarch64_Release'
ONNX_RUNTIME_UTILS: /__w/openvino/openvino/openvino/.ci/azure/ci_utils/onnxruntime
if: "!fromJSON(needs.smart_ci.outputs.affected_components).docs_only"
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'
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: Init submodules for non Conan dependencies
run: |
pushd ${{ env.OPENVINO_REPO }}
git submodule update --init -- ${{ env.OPENVINO_REPO }}/src/plugins
git submodule update --init -- ${{ env.OPENVINO_REPO }}/thirdparty/gtest
git submodule update --init -- ${{ env.OPENVINO_REPO }}/thirdparty/open_model_zoo
popd
- name: Setup Python 3.11
uses: actions/setup-python@v4
- name: Clone OpenVINO Contrib
uses: actions/checkout@v4
with:
python-version: '3.11'
repository: 'openvinotoolkit/openvino_contrib'
path: ${{ env.OPENVINO_CONTRIB_REPO }}
submodules: 'true'
ref: 'master'
#
# Print system info
#
- name: System info
uses: ./openvino/.github/actions/system_info
#
# Dependencies
@@ -70,131 +102,260 @@ jobs:
- name: Install build dependencies
run: |
sudo -E apt update
# install dependencies needed to build CPU plugin for ARM
sudo -E apt --assume-yes install scons gcc-10-aarch64-linux-gnu g++-10-aarch64-linux-gnu
# generic dependencies
sudo -E apt --assume-yes install cmake ccache ninja-build unzip fdupes
bash ${OPENVINO_REPO}/install_build_dependencies.sh
# default-jdk - Java API
apt install --assume-yes --no-install-recommends default-jdk
- name: Install sccache
uses: mozilla-actions/sccache-action@v0.0.3
with:
version: "v0.5.4"
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
pip-cache-path: ${{ env.PIP_CACHE_PATH }}
should-setup-pip-paths: 'true'
show-cache-info: 'true'
- name: Install python dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements.txt
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
- name: Install arm64 libraries
run: |
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main restricted > arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates main restricted >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal universe >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates universe >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal multiverse >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates multiverse >> arm64-sources.list
echo deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse >> arm64-sources.list
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security main restricted >> arm64-sources.list
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security universe >> arm64-sources.list
echo deb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security multiverse >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal main >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal universe >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal-updates main >> arm64-sources.list
echo deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal-security main >> arm64-sources.list
sudo mv arm64-sources.list /etc/apt/sources.list.d/
sudo -E dpkg --add-architecture arm64
sudo -E apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/arm64-sources.list
sudo -E apt-get install -y --no-install-recommends libpython3-dev:arm64
# 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
- 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: ${{ github.job }}-linux-arm64
restore-keys: |
${{ github.job }}-linux-arm64
# For running ONNX frontend unit tests
python3 -m pip install --force-reinstall -r ${OPENVINO_REPO}/src/frontends/onnx/tests/requirements.txt
- name: Install conan and dependencies
run: |
# create build directory
mkdir -p ${{ env.BUILD_DIR }}
python3 -m pip install conan
# install build profile compilers
sudo -E apt --assume-yes install gcc g++
# generate build profile
conan profile detect
# generate host profile for linux_arm64
echo "include(default)" > ${{ env.BUILD_DIR }}/linux_arm64
echo "[buildenv]" >> ${{ env.BUILD_DIR }}/linux_arm64
echo "CC=aarch64-linux-gnu-gcc-10" >> ${{ env.BUILD_DIR }}/linux_arm64
echo "CXX=aarch64-linux-gnu-g++-10" >> ${{ env.BUILD_DIR }}/linux_arm64
# install OpenVINO dependencies
conan install ${{ env.OPENVINO_REPO }}/conanfile.txt \
-pr:h ${{ env.BUILD_DIR }}/linux_arm64 \
-s:h arch=armv8 \
-of ${{ env.BUILD_DIR }}/dependencies \
-b missing
# 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: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: CMake configure
- name: CMake configure - OpenVINO
run: |
source ${{ env.BUILD_DIR }}/dependencies/conanbuild.sh
cmake \
-G Ninja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
-DENABLE_CPPLINT=ON \
-DENABLE_INTEL_GPU=ON \
-DENABLE_PYTHON=ON \
-DENABLE_WHEEL=ON \
-DPYBIND11_PYTHONLIBS_OVERWRITE=OFF \
-DPYTHON_MODULE_EXTENSION=$(aarch64-linux-gnu-python3-config --extension-suffix) \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libc-2.31.so \
-DPYTHON_INCLUDE_DIR=$(python3 -c "import sysconfig; print(sysconfig.get_path('include'))") \
-G "${{ env.CMAKE_GENERATOR }}" \
-DENABLE_CPPLINT=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_TESTS=ON \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_PROTOBUF=ON \
-DENABLE_SYSTEM_SNAPPY=ON \
-DENABLE_SYSTEM_PUGIXML=ON \
-DCMAKE_TOOLCHAIN_FILE=${{ env.BUILD_DIR }}/dependencies/conan_toolchain.cmake \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DARM_COMPUTE_SCONS_JOBS=${{ steps.cpu-cores.outputs.count }} \
-DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DENABLE_PYTHON_PACKAGING=ON \
-S ${{ env.OPENVINO_REPO }} \
-B ${{ env.BUILD_DIR }}
source ${{ env.BUILD_DIR }}/dependencies/deactivate_conanbuild.sh
-DENABLE_STRICT_DEPENDENCIES=OFF \
-DENABLE_SYSTEM_TBB=OFF \
-DENABLE_SYSTEM_OPENCL=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCPACK_GENERATOR=TGZ \
-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: ccache --zero-stats --show-config
- name: Clean sccache stats
run: ${SCCACHE_PATH} --zero-stats
- name: Build OpenVINO Runtime
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config ${{ env.BUILD_TYPE }}
- name: Cmake build - OpenVINO
run: cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
- name: Show ccache stats
run: ccache --show-stats
- name: Show sccache stats
run: ${SCCACHE_PATH} --show-stats
- name: Install OpenVINO Runtime
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config ${{ env.BUILD_TYPE }} --target install
- 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=${DEVELOPER_PACKAGE_DIR} -DCOMPONENT=developer_package -P ${BUILD_DIR}/cmake_install.cmake
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -DCOMPONENT=python_wheels -P ${BUILD_DIR}/cmake_install.cmake
- name: Build OpenVINO C++ samples
run: |
source ${{ env.BUILD_DIR }}/dependencies/conanbuild.sh
${{ env.INSTALL_DIR }}/samples/cpp/build_samples.sh
source ${{ env.BUILD_DIR }}/dependencies/deactivate_conanbuild.sh
env:
CMAKE_TOOLCHAIN_FILE: ${{ env.BUILD_DIR }}/dependencies/conan_toolchain.cmake
- name: Pack Artifacts
run: |
# Add the ONNX Runtime version and skip tests list to the archive to use in the ONNX Runtime Job
# w/o the need to checkout repository
cp -R ${ONNX_RUNTIME_UTILS} ${INSTALL_DIR}
pushd ${INSTALL_DIR}
tar -czvf ${BUILD_DIR}/openvino_package.tar.gz *
popd
pushd ${DEVELOPER_PACKAGE_DIR}
tar -czvf ${BUILD_DIR}/openvino_developer_package.tar.gz *
popd
pushd ${INSTALL_TEST_DIR}
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz *
popd
- name: Build Debian packages
if: ${{ 'false' }}
run: |
/usr/bin/python3.8 -m pip install -U pip
/usr/bin/python3.8 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/wheel/requirements-dev.txt
/usr/bin/python3.8 -m pip install -r ${OPENVINO_REPO}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
cmake -UPYTHON* \
-DENABLE_PYTHON_PACKAGING=ON \
-DENABLE_TESTS=OFF \
-DPython3_EXECUTABLE=/usr/bin/python3.8 \
-DCPACK_GENERATOR=DEB \
${BUILD_DIR}
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target package
- name: Cmake & Build - OpenVINO Contrib
run: |
cmake \
-DBUILD_nvidia_plugin=OFF \
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \
-DOPENVINO_EXTRA_MODULES=${OPENVINO_CONTRIB_REPO}/modules \
-S ${OPENVINO_REPO} \
-B ${BUILD_DIR}
cmake --build ${BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }}
#
# Upload build artifacts
#
- name: Upload openvino package
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: openvino_package
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
if-no-files-found: 'error'
- name: Upload openvino developer package
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: openvino_developer_package
path: ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz
if-no-files-found: 'error'
- name: Upload openvino debian packages
if: ${{ 'false' }}
uses: actions/upload-artifact@v4
with:
name: openvino_debian_packages
path: ${{ env.BUILD_DIR }}/*.deb
if-no-files-found: 'error'
- name: Upload openvino tests package
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: openvino_tests
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
if-no-files-found: 'error'
Debian_Packages:
name: Debian Packages
needs: Build
if: ${{ 'false' }}
uses: ./.github/workflows/job_debian_packages.yml
with:
runner: 'aks-linux-16-cores-arm'
image: 'openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04'
Samples:
needs: [ Build, Smart_CI ]
if: fromJSON(needs.smart_ci.outputs.affected_components).samples
uses: ./.github/workflows/job_samples_tests.yml
with:
runner: 'aks-linux-16-cores-arm'
image: 'openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
ONNX_Runtime:
name: ONNX Runtime Integration
if: fromJSON(needs.smart_ci.outputs.affected_components).ONNX_RT
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_onnx_runtime.yml
with:
runner: 'aks-linux-16-cores-arm'
container: '{"image": "openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04", "volumes": ["/mount:/mount"], "options": "-e SCCACHE_AZURE_BLOB_CONTAINER -e SCCACHE_AZURE_CONNECTION_STRING"}'
sccache-azure-key-prefix: 'ubuntu20_aarch64_onnxruntime'
CXX_Unit_Tests:
name: C++ unit tests
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_cxx_unit_tests.yml
with:
runner: 'aks-linux-16-cores-arm'
image: 'openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
Python_Unit_Tests:
name: Python unit tests
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_python_unit_tests.yml
with:
runner: 'aks-linux-16-cores-arm'
container: '{"image": "openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04", "volumes": ["/mount:/mount"]}'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
CPU_Functional_Tests:
name: CPU functional tests
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU.test
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_cpu_functional_tests.yml
with:
runner: 'aks-linux-16-cores-arm'
image: 'openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04'
TensorFlow_Hub_Models_Tests:
name: TensorFlow Hub Models tests
if: ${{ 'false' }} # TODO: Enable once the dependencies are ready for arm (no tensorflow-text available for arm from PyPI)
# if: fromJSON(needs.smart_ci.outputs.affected_components).TF_FE.test ||
# fromJSON(needs.smart_ci.outputs.affected_components).TFL_FE.test
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_tensorflow_hub_models_tests.yml
with:
runner: 'aks-linux-16-cores-arm'
container: '{"image": "openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04"}'
event: ${{ github.event_name }}
TensorFlow_Hub_Performance_Models_Tests:
name: TensorFlow Hub Performance Models tests
if: ${{ 'false' }} # TODO: Enable once the dependencies are ready for arm (no tensorflow-text available for arm from PyPI)
# if: fromJSON(needs.smart_ci.outputs.affected_components).TF_FE.test ||
# fromJSON(needs.smart_ci.outputs.affected_components).TFL_FE.test
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_tensorflow_hub_performance_models_tests.yml
with:
runner: 'aks-linux-16-cores-arm'
container: '{"image": "openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04"}'
event: ${{ github.event_name }}
PyTorch_Models_Tests:
name: PyTorch Models tests
if: ${{ 'false' }} # TODO: Enable once the dependencies are ready for arm (no tensorflow-text available for arm from PyPI)
# if: fromJSON(needs.smart_ci.outputs.affected_components).PyTorch_FE.test
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_pytorch_models_tests.yml
with:
runner: 'aks-linux-16-cores-arm'
container: '{"image": "openvinogithubactions.azurecr.io/dockerhub/ubuntu:20.04"}'
event: ${{ github.event_name }}
Overall_Status:
name: ci/gha_overall_status_linux_arm64
needs: [Smart_CI, Build, Debian_Packages, Samples, ONNX_Runtime, CXX_Unit_Tests, Python_Unit_Tests, CPU_Functional_Tests,
TensorFlow_Hub_Models_Tests, TensorFlow_Hub_Performance_Models_Tests, PyTorch_Models_Tests]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check status of all jobs
if: >-
${{
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}
run: exit 1
@@ -1,64 +1,99 @@
name: Linux Conditional Compilation (Ubuntu 22.04, Python 3.11)
name: Linux Static CC (Ubuntu 22.04, Python 3.11, Clang)
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
pull_request:
push:
branches:
- master
- 'releases/**'
concurrency:
group: ${{ github.head_ref || github.run_id }}-linux-cc
# 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:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*'
Build:
# TODO: remove. Temporary measure to prevent the workflow from scheduling on forks.
if: ${{ github.repository_owner == 'openvinotoolkit' }}
needs: Smart_CI
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: ubuntu-latest-8-cores
runs-on: aks-linux-16-cores-32gb
container:
image: openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04
volumes:
- /mount:/mount
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'
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
OPENVINO_REPO: ${{ github.workspace }}/openvino
OPENVINO_CONTRIB_REPO: ${{ github.workspace }}/openvino_contrib
BUILD_DIR: ${{ github.workspace }}/build
MODELS_PATH: ${{ github.workspace }}/testdata
OV_TEMP: ${{ github.workspace }}/openvino_temp
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
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
INSTALL_TEST_DIR: /__w/openvino/openvino/tests_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
if: "!needs.smart_ci.outputs.skip_workflow"
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: 'openvino'
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'
- name: Clone test models
uses: actions/checkout@v4
with:
repository: 'openvinotoolkit/testdata'
path: 'testdata'
path: ${{ env.MODELS_PATH }}
lfs: 'true'
ref: 'master'
#
# Print system info
#
- name: System info
uses: ./openvino/.github/actions/system_info
#
# Dependencies
@@ -66,75 +101,249 @@ jobs:
- name: Install build dependencies
run: |
sudo -E ${{ env.OPENVINO_REPO }}/install_build_dependencies.sh
sudo -E apt update
sudo -E apt --assume-yes install openjdk-11-jdk libbz2-dev clang unzip libpugixml-dev libtbb-dev intel-opencl-icd ocl-icd-opencl-dev opencl-headers
bash ${OPENVINO_REPO}/install_build_dependencies.sh
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/
# 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
- uses: actions/setup-python@v4
- name: Install sccache
uses: mozilla-actions/sccache-action@v0.0.3
with:
python-version: '3.11'
version: "v0.5.4"
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
pip-cache-path: ${{ env.PIP_CACHE_PATH }}
should-setup-pip-paths: 'true'
self-hosted-runner: 'true'
- 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: 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: linux-cc
restore-keys: |
linux-cc
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: CMake configure CC COLLECT
- name: CMake configure - CC COLLECT
run: |
cmake \
-G "Ninja Multi-Config" \
-G "${{ env.CMAKE_GENERATOR }}" \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_TESTS=ON \
-DENABLE_CPPLINT=OFF \
-DENABLE_GAPI_PREPROCESSING=OFF \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
-DENABLE_FASTER_BUILD=ON \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_INTEL_GNA=OFF \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DENABLE_PROFILING_ITT=ON \
-DSELECTIVE_BUILD=COLLECT \
-S ${{ env.OPENVINO_REPO }} \
-B ${{ env.BUILD_DIR }}
-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: Clean ccache stats
run: ccache --zero-stats --show-config
- 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: Build CC COLLECT
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config Release --target openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app 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
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_TEST_DIR} -DCOMPONENT=tests -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 ${INSTALL_DIR}
tar -czvf ${BUILD_DIR}/openvino_package.tar.gz \
install_dependencies/install_openvino_dependencies.sh
popd
pushd ${INSTALL_TEST_DIR}
tar -czvf ${BUILD_DIR}/openvino_tests.tar.gz \
tests/ov_cpu_func_tests \
tests/libtemplate_extension.so \
tests/functional_test_utils/layer_tests_summary/*
popd
- name: Upload openvino package
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: openvino_package
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
if-no-files-found: 'error'
- name: Upload selective build statistics package
if: ${{ always() }}
uses: actions/upload-artifact@v4
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@v4
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:/mount
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: 'master'
- 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: ccache --show-stats
run: ${SCCACHE_PATH} --show-stats
- name: Code usage analysis
run: |
python3 ${{ env.OPENVINO_REPO }}/thirdparty/itt_collector/runtool/sea_runtool.py \
--bindir ${{ env.OPENVINO_REPO }}/bin/intel64/Release -o ${{ env.BUILD_DIR }}/itt_stat ! \
${{ env.OPENVINO_REPO }}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
-m ${{ env.MODELS_PATH }}/models/test_model/test_model_fp32.xml -d CPU
- 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
- name: CMake configure with CC ON
run: cmake -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=${{ env.BUILD_DIR }}/*.csv -S ${{ env.OPENVINO_REPO }} -B ${{ env.BUILD_DIR }}
CPU_Functional_Tests:
name: CPU functional tests
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU.test
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_cpu_functional_tests.yml
with:
runner: 'aks-linux-8-cores-32gb'
image: 'openvinogithubactions.azurecr.io/dockerhub/ubuntu:22.04'
- name: Build with CC ON
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config Release --target openvino_intel_cpu_plugin openvino_ir_frontend
- name: Use OpenVINO after CC
run: |
${{ env.OPENVINO_REPO }}/bin/intel64/Release/benchmark_app -niter 1 -nireq 1 \
-m ${{ env.MODELS_PATH }}/models/test_model/test_model_fp32.xml -d CPU
Overall_Status:
name: ci/gha_overall_status_linux_cc
needs: [Smart_CI, Build, CC_Build, CPU_Functional_Tests]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check status of all jobs
if: >-
${{
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}
run: exit 1
-433
View File
@@ -1,433 +0,0 @@
name: Linux Debian (Ubuntu 20.04, Python 3.11)
on:
schedule:
# run daily at 00:00
- cron: '0 0 * * *'
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:
group: ${{ github.head_ref || github.run_id }}-linux-debian
cancel-in-progress: true
jobs:
Build:
# TODO: remove. Temporary measure to prevent the workflow from scheduling on forks.
if: ${{ github.repository_owner == 'openvinotoolkit' }}
defaults:
run:
shell: bash
runs-on: ubuntu-20.04-8-cores
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja'
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_LINKER_LAUNCHER: ccache
CMAKE_C_LINKER_LAUNCHER: ccache
BUILD_TYPE: Release
OPENVINO_REPO: ${{ github.workspace }}/openvino
BUILD_DIR: ${{ github.workspace }}/build
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
LAYER_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/layer_tests
OV_TEMP: ${{ github.workspace }}/openvino_temp
SAMPLES_INSTALL_DIR: /usr/share/openvino/samples
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
steps:
- name: Clone OpenVINO
uses: actions/checkout@v4
with:
path: 'openvino'
submodules: 'true'
- name: Create Directories
run: |
mkdir -p ${{ env.BUILD_DIR }}
mkdir -p ${{ env.INSTALL_DIR }}
- name: Setup Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
#
# Dependencies
#
- name: Install build dependencies
run: |
sudo -E apt update
sudo -E ${{ env.OPENVINO_REPO }}/install_build_dependencies.sh
# 'clang' is used as a default compiler
sudo apt --assume-yes install clang
sudo apt --assume-yes install --no-install-recommends libopencv-imgproc-dev libopencv-imgcodecs-dev
# Speed up build
sudo apt -y --no-install-recommends install unzip
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
unzip ninja-linux.zip
sudo cp -v ninja /usr/local/bin/
# Speed up tests
git clone https://github.com/google/gtest-parallel.git
- name: Install python dependencies
run: |
python3 -m pip install --upgrade pip
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 Paddle frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
# For running ONNX frontend unit tests
python3 -m pip install -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 MO unit tests
python3 -m pip install -U pip
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
# for Python API tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements_test.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements.txt
- 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: ${{ github.job }}-linux-debian
restore-keys: |
${{ github.job }}-linux-debian
- name: Get tools versions
run: |
ninja --version
ccache --version
python3 --version
cmake --version
#
# Build
#
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: CMake configure
run: |
cmake \
-GNinja \
-DENABLE_CPPLINT=OFF \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
-DENABLE_PYTHON=ON \
-DENABLE_INTEL_GNA=OFF \
-DENABLE_TESTS=ON \
-DENABLE_FASTER_BUILD=ON \
-DENABLE_STRICT_DEPENDENCIES=OFF \
-DENABLE_SYSTEM_SNAPPY=ON \
-DENABLE_PYTHON_PACKAGING=ON \
-DCPACK_GENERATOR=DEB \
-S ${{ env.OPENVINO_REPO }} \
-B ${{ env.BUILD_DIR }}
- name: Clean ccache stats
run: ccache --zero-stats --show-config
- name: Build
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config ${{ env.BUILD_TYPE }}
- name: Show ccache stats
run: ccache --show-stats
- name: CMake Layer Tests
run: cmake -GNinja -S ${{ env.OPENVINO_REPO }}/tests/layer_tests -B ${{ env.BUILD_DIR }}/layer_tests
- name: Build Layer Tests
run: cmake --build ${{ env.BUILD_DIR }}/layer_tests --parallel --config ${{ env.BUILD_TYPE }}
# to check that wheel packages tested later contain all the dependencies like TBB or pugixml
- name: Remove debian dependencies
run: sudo apt-get remove libtbb2 libpugixml1v5 -y
- name: Install wheel packages
run: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: Install Python Samples
run: cmake -DCOMPONENT=python_samples -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: Install Layer Tests
run: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/layer_tests/cmake_install.cmake
- name: Install tests
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCOMPONENT=tests -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: List install test files
run: ls -alR ${{ env.INSTALL_DIR }}
- name: Install python wheels
run: python3 -m pip install openvino-dev --find-links=${{ env.INSTALL_DIR }}/tools
- name: Build Debian packages
run: |
sudo apt-get install libtbb-dev libpugixml-dev -y
cmake --build ${{ env.BUILD_DIR }} --config ${{ env.BUILD_TYPE }} --target package --parallel
- name: Install Debian packages
run: |
pushd ${{ env.BUILD_DIR }}
# install debian packages from previous release
sudo apt-get -y update
sudo apt-get install --no-install-recommends gnupg wget -y
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/openvino/2023 ubuntu20 main" | sudo tee /etc/apt/sources.list.d/intel-openvino-2023.list
sudo apt-get update
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:${{ env.BUILD_DIR }} ./" | sudo tee /etc/apt/sources.list.d/openvino-local.list
sudo apt-get update
sudo apt-get install openvino -y
popd
- name: List install files
run: ls -alR ${{ env.INSTALL_DIR }}
- name: Build cpp samples - gcc
run: ${{ env.SAMPLES_INSTALL_DIR }}/cpp/build_samples.sh -i ${{ env.INSTALL_DIR }}
- name: Build c samples
run: ${{ env.SAMPLES_INSTALL_DIR }}/c/build_samples.sh -i ${{ env.INSTALL_DIR }}
- name: OpenVINO Core Unit Tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVCoreUT.xml
- name: Proxy Plugin Tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ 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: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ 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: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroFuncTests.xml
- name: ONNX frontend tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU*:*FrontEndLoadFromTest.testLoadFromTwoStreams*:*FrontEndLoadFromTest.testLoadFromTwoFiles* \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml
- name: TensorFlow frontend tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowFrontend.xml
# Disabled in Azure: https://github.com/openvinotoolkit/openvino/blob/master/.ci/azure/linux.yml#L403
# - name: PaddlePaddle frontend tests
# run: |
# ${{ env.INSTALL_TEST_DIR }}/paddle_tests --gtest_print_time=1 --gtest_filter=*smoke* \
# --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-PaddleTests.xml
- name: TensorFlow Common tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_common_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowCommonFrontend.xml
- name: TensorFlow Lite frontend tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowLiteFrontend.xml
- name: Snippets func tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ 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: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_cpu_unit_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CPUUnitTests.xml
- name: AUTO UT
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ 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: Template plugin tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ 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: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ 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: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
${{ env.INSTALL_TEST_DIR }}/ov_capi_test --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OpenVINOCAPITests.xml
- name: nGraph and IE Python Bindings Tests
run: |
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
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/test_onnx/test_zoo_models.py \
--ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests/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 }}:${{ env.OPENVINO_REPO }}/tools/mo:$PYTHONPATH
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_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: ONNX Frontend Python Tests
run: |
# For python imports to import pybind_mock_frontend
export PYTHONPATH=${{ env.INSTALL_TEST_DIR }}:${{ env.OPENVINO_REPO }}/tools/mo:$PYTHONPATH
export LD_LIBRARY_PATH=${{ env.INSTALL_TEST_DIR }}:$LD_LIBRARY_PATH
python3 -m pytest -sv ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests \
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-ONNX-FE-PYTHON.xml \
--ignore=${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/test_python/test_zoo_models.py \
--ignore=${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/test_python/test_backend.py
- name: Model Optimizer UT
run: |
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.OPENVINO_REPO }}/tools/ovc/:${{ env.LAYER_TESTS_INSTALL_DIR }}:${{ env.INSTALL_TEST_DIR }}:${{ env.INSTALL_DIR }}/python/python3.11:$PYTHONPATH
# Need to be reinstalled to have correct numpy version
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/mo/unit_tests \
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-ModelOptimizer.xml
# run not all smoke filter to save time in post-commit
- name: CPU FuncTests
run: ${{ env.INSTALL_TEST_DIR }}/ov_cpu_func_tests --gtest_filter=*OVCLass*:*CoreThreadingTests* --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_cpu_func_tests.xml
- name: CMake Samples Tests
run: cmake -GNinja -S ${{ env.OPENVINO_REPO }}/tests/samples_tests -B ${{ env.BUILD_DIR }}/samples_tests
- name: Install Samples Tests
run: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/samples_tests/cmake_install.cmake
- name: Samples Smoke Tests
run: |
python3 -m pip install --ignore-installed PyYAML -r ${{ env.INSTALL_TEST_DIR }}/smoke_tests/requirements.txt
export LD_LIBRARY_PATH=${{ env.IE_APP_PATH }}:$LD_LIBRARY_PATH
python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/smoke_tests -k "not GNA" \
--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 }}/share/openvino/samples/python
LD_LIBRARY_PATH: ${{ env.INSTALL_DIR }}/samples_bin
SHARE: ${{ env.INSTALL_TEST_DIR }}/smoke_tests/samples_smoke_tests_data
WORKSPACE: ${{ env.INSTALL_DIR }}
- 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 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
# Need to be reinstalled to have correct numpy version
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.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
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: test-results
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'error'
-182
View File
@@ -1,182 +0,0 @@
name: Linux ONNX Runtime (Ubuntu 20.04, 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:
group: ${{ github.head_ref || github.run_id }}-linux-onnx-runtime
cancel-in-progress: true
jobs:
Build:
# TODO: remove. Temporary measure to prevent the workflow from scheduling on forks.
if: ${{ github.repository_owner == 'openvinotoolkit' }}
defaults:
run:
shell: bash
runs-on: ubuntu-20.04-8-cores
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja'
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_LINKER_LAUNCHER: ccache
CMAKE_C_LINKER_LAUNCHER: ccache
BUILD_TYPE: Release
OPENVINO_REPO: ${{ github.workspace }}/openvino
ONNX_RUNTIME_REPO: ${{ github.workspace }}/onnxruntime
ONNX_RUNTIME_UTILS: ${{ github.workspace }}/openvino/.ci/azure/ci_utils/onnxruntime
ONNX_RUNTIME_BUILD_DIR: ${{ github.workspace }}/onnxruntime/build
BUILD_DIR: ${{ github.workspace }}/build
INSTALL_DIR: ${{ github.workspace }}/install/openvino
steps:
- name: Clone OpenVINO
uses: actions/checkout@v4
with:
path: 'openvino'
submodules: 'true'
- name: Clone ONNX Runtime
run: |
branch=`tr -s '\n ' < ${{ env.ONNX_RUNTIME_UTILS }}/version`
git clone --branch $branch --single-branch --recursive https://github.com/microsoft/onnxruntime.git ${{ env.ONNX_RUNTIME_REPO }}
- name: Create Directories
run: |
mkdir -p ${{ env.BUILD_DIR }}
mkdir -p ${{ env.INSTALL_DIR }}
- name: Setup Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
#
# Dependencies
#
- name: Install build dependencies
run: |
sudo -E ${{ env.OPENVINO_REPO }}/install_build_dependencies.sh
- 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: ${{ github.job }}-linux-onnx-runtime
restore-keys: |
${{ github.job }}-linux-onnx-runtime
#
# Build
#
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: CMake configure
run: |
cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
-DENABLE_INTEL_GNA=OFF \
-DENABLE_INTEL_GPU=OFF \
-DENABLE_CPPLINT=OFF \
-DENABLE_PROFILING_ITT=OFF \
-DENABLE_SAMPLES=OFF \
-DENABLE_OV_TF_FRONTEND=OFF \
-DENABLE_OV_TF_LITE=OFF \
-DENABLE_OV_PADDLE_FRONTEND=OFF \
-DENABLE_OV_PYTORCH_FRONTEND=OFF \
-S ${{ env.OPENVINO_REPO }} \
-B ${{ env.BUILD_DIR }}
- name: Clean ccache stats
run: ccache --zero-stats --show-config
- name: Build
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config ${{ env.BUILD_TYPE }}
- name: Show ccache stats
run: ccache --show-stats
- name: Install OpenVINO
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: Build Lin ONNX Runtime
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.ONNX_RUNTIME_REPO }}/build.sh \
--config RelWithDebInfo \
--use_openvino CPU_FP32 \
--build_shared_lib \
--parallel \
--skip_tests \
--compile_no_warning_as_error \
--build_dir ${{ env.ONNX_RUNTIME_BUILD_DIR }}
env:
CXXFLAGS: "-Wno-error=deprecated-declarations"
- name: Run onnxruntime_test_all
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
skip_tests=$(tr -s '\n ' ':' < ${{ env.ONNX_RUNTIME_UTILS }}/skip_tests)
./onnxruntime_test_all --gtest_filter=-$skip_tests
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo
- name: Run onnxruntime_shared_lib_test
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
./onnxruntime_shared_lib_test --gtest_filter=-CApiTest.test_custom_op_openvino_wrapper_library
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo
- name: Run onnxruntime_global_thread_pools_test
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
./onnxruntime_global_thread_pools_test
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo
- name: Run onnxruntime_api_tests_without_env
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
./onnxruntime_api_tests_without_env
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo
- name: Run pytorch-converted tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
./onnx_test_runner "${{ env.ONNX_RUNTIME_REPO }}/cmake/external/onnx/onnx/backend/test/data/pytorch-converted"
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo
- name: Run pytorch-operator tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
./onnx_test_runner "${{ env.ONNX_RUNTIME_REPO }}/cmake/external/onnx/onnx/backend/test/data/pytorch-operator"
working-directory: ${{ env.ONNX_RUNTIME_BUILD_DIR }}/RelWithDebInfo
+222
View File
@@ -0,0 +1,222 @@
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:
push:
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:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg,*/layer_tests_summary/*,*/conformance/*'
Build:
needs: Smart_CI
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:/mount
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_master_release/.conan
CCACHE_DIR: /mount/caches/ccache/ubuntu22_riscv64_master_release
CCACHE_TEMPDIR: /__w/openvino/openvino/ccache_temp
CCACHE_MAXSIZE: 50G
if: "!needs.smart_ci.outputs.skip_workflow"
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
Overall_Status:
name: ci/gha_overall_status_linux_riscv
needs: [Smart_CI, Build]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check status of all jobs
if: >-
${{
contains(needs.*.result, 'failure') ||
contains(needs.*.result, 'cancelled')
}}
run: exit 1
+244
View File
@@ -0,0 +1,244 @@
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:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg'
Build:
needs: Smart_CI
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: 'macos-13-large'
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja Multi-Config'
MACOSX_DEPLOYMENT_TARGET: '10.12'
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
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
should-setup-pip-paths: 'false'
self-hosted-runner: 'false'
- 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 }}-${{ runner.arch }}-main
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-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@v4
with:
name: openvino_package
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
if-no-files-found: 'error'
- name: Upload openvino tests package
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: openvino_tests
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
if-no-files-found: 'error'
Samples:
needs: [ Build, Smart_CI ]
if: fromJSON(needs.smart_ci.outputs.affected_components).samples
uses: ./.github/workflows/job_samples_tests.yml
with:
runner: 'macos-13'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
CXX_Unit_Tests:
name: C++ unit tests
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_cxx_unit_tests.yml
with:
runner: 'macos-13'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
Python_Unit_Tests:
name: Python unit tests
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_python_unit_tests.yml
with:
runner: 'macos-13'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
CPU_Functional_Tests:
name: CPU functional tests
# if: fromJSON(needs.smart_ci.outputs.affected_components).CPU.test
if: ${{ 'false' }} # Ticket: 122001
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_cpu_functional_tests.yml
with:
runner: 'macos-13'
+241
View File
@@ -0,0 +1,241 @@
name: macOS ARM64 (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-arm64
cancel-in-progress: true
env:
PYTHON_VERSION: '3.11'
jobs:
Smart_CI:
runs-on: ubuntu-latest
outputs:
affected_components: "${{ steps.smart_ci.outputs.affected_components }}"
skip_workflow: "${{ steps.smart_ci.outputs.skip_workflow }}"
steps:
- name: checkout action
uses: actions/checkout@v4
with:
sparse-checkout: .github/actions/smart-ci
- name: Get affected components
id: smart_ci
uses: ./.github/actions/smart-ci
with:
repository: ${{ github.repository }}
pr: ${{ github.event.number }}
commit_sha: ${{ github.sha }}
component_pattern: "category: (.*)"
repo_token: ${{ secrets.GITHUB_TOKEN }}
skip_when_only_listed_labels_set: 'docs'
skip_when_only_listed_files_changed: '*.md,*.rst,*.png,*.jpg,*.svg'
Build:
needs: Smart_CI
timeout-minutes: 150
defaults:
run:
shell: bash
runs-on: 'macos-13-xlarge'
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja Multi-Config'
MACOSX_DEPLOYMENT_TARGET: '11.0'
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
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
should-setup-pip-paths: 'false'
self-hosted-runner: 'false'
- 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 }}-${{ runner.arch }}-main
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-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@v4
with:
name: openvino_package
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
if-no-files-found: 'error'
- name: Upload openvino tests package
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: openvino_tests
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
if-no-files-found: 'error'
Samples:
needs: Build
uses: ./.github/workflows/job_samples_tests.yml
with:
runner: 'macos-13-xlarge'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
CXX_Unit_Tests:
name: C++ unit tests
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_cxx_unit_tests.yml
with:
runner: 'macos-13-xlarge'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
Python_Unit_Tests:
name: Python unit tests
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_python_unit_tests.yml
with:
runner: 'macos-13-xlarge'
affected-components: ${{ needs.smart_ci.outputs.affected_components }}
CPU_Functional_Tests:
name: CPU functional tests
if: fromJSON(needs.smart_ci.outputs.affected_components).CPU.test
needs: [ Build, Smart_CI ]
uses: ./.github/workflows/job_cpu_functional_tests.yml
with:
runner: 'macos-13-xlarge'
+2 -2
View File
@@ -21,10 +21,10 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Clone OpenVINO
- uses: actions/checkout@v4
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.10'
+7 -7
View File
@@ -28,9 +28,9 @@ jobs:
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.7'
python-version: '3.8'
- name: Install dependencies
run: python -m pip install -r src/bindings/python/requirements_test.txt
@@ -47,7 +47,7 @@ jobs:
git diff > samples_diff.diff
working-directory: samples/python
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: samples_diff
@@ -65,7 +65,7 @@ jobs:
git diff > ie_python_diff.diff
working-directory: src/bindings/python/src/compatibility/openvino
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: ie_python_diff
@@ -83,7 +83,7 @@ jobs:
git diff > pyngraph_diff.diff
working-directory: src/bindings/python/src/compatibility/ngraph
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: pyngraph_diff
@@ -101,7 +101,7 @@ jobs:
git diff > pyopenvino_diff.diff
working-directory: src/bindings/python/src/openvino
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: pyopenvino_diff
@@ -119,7 +119,7 @@ jobs:
git diff > wheel_diff.diff
working-directory: src/bindings/python/wheel
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: failure()
with:
name: wheel_diff
+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
- uses: actions/stale@v9
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.'
+78
View File
@@ -0,0 +1,78 @@
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:/mount
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
File diff suppressed because it is too large Load Diff
@@ -1,59 +1,57 @@
name: Tests on Windows Conditional Compilation (VS 2022, Python 3.11)
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
# 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:
group: ${{ github.head_ref || github.run_id }}-windows-cc
# 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:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja'
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 }}\\install_pkg"
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
SAMPLES_INSTALL_DIR: "${{ github.workspace }}\\install\\samples"
LAYER_TESTS_INSTALL_DIR: "${{ github.workspace }}\\install\\tests\\layer_tests"
BUILD_DIR: "${{ github.workspace }}\\build"
BUILD_DIR_2: "${{ github.workspace }}\\build_s"
MODELS_PATH: "${{ github.workspace }}\\testdata"
OV_TEMP: "${{ github.workspace }}\\openvino_temp"
BUILD_TYPE: "Release"
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
VCVARSPATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsall.bat"
PYTHON_VERSION: '3.11'
jobs:
Build:
# TODO: remove. Temporary measure to prevent the workflow from scheduling on forks.
if: ${{ github.repository_owner == 'openvinotoolkit' }}
timeout-minutes: 180
defaults:
run:
shell: pwsh
runs-on: windows-latest-8-cores
runs-on: aks-win-16-cores-32gb
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"
# TODO: specify version of compiler here
SCCACHE_AZURE_KEY_PREFIX: windows2022_x86_64_itt_Release
steps:
- name: Clone OpenVINO
uses: actions/checkout@v4
@@ -67,102 +65,330 @@ jobs:
repository: 'openvinotoolkit/testdata'
path: 'testdata'
lfs: 'true'
ref: 'master'
#
# Print system info
#
- name: System info
uses: ./openvino/.github/actions/system_info
#
# Dependencies
#
- uses: actions/setup-python@v4
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
python-version: '3.11'
version: ${{ env.PYTHON_VERSION }}
should-setup-pip-paths: 'false'
self-hosted-runner: 'false'
- name: Install sccache
uses: mozilla-actions/sccache-action@v0.0.3
with:
version: "v0.5.4"
- name: Install build dependencies
run: choco install --no-progress ninja
- name: Install python dependencies
run: |
choco install --no-progress ninja
# 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 getting rid of SSL issues during model downloading for unit tests
python3 -m pip install certifi
# Disabled because of CVS-95904
# For running Paddle frontend unit tests
# python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
#
# Build
#
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: Configure Developer Command Prompt for Microsoft Visual C++
uses: ilammy/msvc-dev-cmd@v1
- uses: ilammy/msvc-dev-cmd@v1
- name: Set SSL_CERT_FILE for model downloading for unit tests
run: echo SSL_CERT_FILE=$(python3 -m certifi) >> $env:GITHUB_ENV
- 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 }}-windows-cc
restore-keys: |
${{ github.job }}-windows-cc
- name: CMake CC COLLECT
- name: CMake configure - CC COLLECT
run: |
& "${{ env.VCVARSPATH }}" x64 && cmake -G Ninja `
cmake -G "${{ env.CMAKE_GENERATOR }}" `
-DBUILD_SHARED_LIBS=OFF `
-DENABLE_TESTS=ON `
-DENABLE_CPPLINT=OFF `
-DENABLE_GAPI_PREPROCESSING=OFF `
-DENABLE_PLUGINS_XML=ON `
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF `
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} `
-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: Build CC COLLECT
- name: Clean sccache stats
run: '& "$Env:SCCACHE_PATH" --zero-stats'
# to get more information on the issue
# described in the next step
- name: Show which network ports are used
run: netstat -ban
# the case is the following:
# sccache: error: An attempt was made to access a socket in a way forbidden by its access permissions. (os error 10013)
# This looks like the attempt to use
# a port below 1024 or a port
# which is occupied by another app
- name: Stop sccache server just in case
run: '& "$Env:SCCACHE_PATH" --stop-server'
- name: Cmake build - CC COLLECT
run: |
& "${{ env.VCVARSPATH }}" x64 && cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config ${{ env.BUILD_TYPE }} `
--target openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app sea_itt_lib
cmake --build ${{ env.BUILD_DIR }} --parallel 8 --config ${{ env.CMAKE_BUILD_TYPE }} && `
cmake --build ${{ env.BUILD_DIR }} --parallel 8 --config ${{ env.CMAKE_BUILD_TYPE }} --target sea_itt_lib
- name: Show sccache stats
run: '& "$Env:SCCACHE_PATH" --show-stats'
- 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: Code usage analysis
- name: List install files
shell: cmd
working-directory: ${{ env.OPENVINO_REPO }}
run: |
set path=%path%;${{ env.OPENVINO_REPO }}\temp\tbb\bin
call "${{ env.VCVARSPATH }}" && python thirdparty\itt_collector\runtool\sea_runtool.py --bindir ${{ env.OPENVINO_REPO }}\bin\intel64\${{ env.BUILD_TYPE }} -o ${{ env.BUILD_DIR }}\itt_stat ! ${{ env.OPENVINO_REPO }}\bin\intel64\${{ env.BUILD_TYPE }}\benchmark_app.exe -niter 1 -nireq 1 -m ${{ env.MODELS_PATH }}\models\test_model\test_model_fp32.xml -d CPU
run: dir ${{ env.INSTALL_DIR }} /s
- name: List csv files
shell: cmd
run: dir ${{ env.BUILD_DIR }}\*.csv /s /p
- name: CMake CC ON
- name: Pack Artifacts
run: |
& "${{ env.VCVARSPATH }}" x64 && cmake -G "Visual Studio 17 2022" `
-DVERBOSE_BUILD=ON `
$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@v4
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@v4
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: aks-win-16-cores-32gb
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"
SCCACHE_AZURE_KEY_PREFIX: windows2022_x86_64_cc_Release
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: 'master'
- 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: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
should-setup-pip-paths: 'false'
self-hosted-runner: 'false'
- name: Install sccache
uses: mozilla-actions/sccache-action@v0.0.3
with:
version: "v0.5.4"
- name: CMake configure - CC ON
run: |
cmake `
-DBUILD_SHARED_LIBS=OFF `
-DENABLE_CPPLINT=OFF `
-DENABLE_GAPI_PREPROCESSING=OFF `
-DENABLE_PROFILING_ITT=OFF `
-DSELECTIVE_BUILD=ON `
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF `
-DSELECTIVE_BUILD_STAT=${{ env.BUILD_DIR }}\*.csv `
-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_2 }}
-B ${{ env.BUILD_DIR }}
- name: Build CC ON
run: |
& "${{ env.VCVARSPATH }}" x64 && cmake --build ${{ env.BUILD_DIR_2 }} --parallel ${{ steps.cpu-cores.outputs.count }} --config ${{ env.BUILD_TYPE }} `
--target openvino_intel_cpu_plugin openvino_ir_frontend benchmark_app
- name: Clean sccache stats
run: '& "$Env:SCCACHE_PATH" --zero-stats'
- name: List bin files ON
- name: Cmake build - CC ON
run: cmake --build ${{ env.BUILD_DIR }} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --target benchmark_app
- name: Show sccache stats
run: '& "$Env:SCCACHE_PATH" --show-stats'
- name: List bin files
shell: cmd
run: dir ${{ env.OPENVINO_REPO }}\bin\ /s
- name: Check conditional_compilation_gen.h header
shell: cmd
run: type ${{ env.BUILD_DIR_2 }}\src\common\conditional_compilation\conditional_compilation_gen.h
- name: Use OpenVINO after CC
- name: Run with CC-ed runtime
shell: cmd
run: |
set path=%path%;${{ env.OPENVINO_REPO }}\temp\tbb\bin
${{ env.OPENVINO_REPO }}\bin\intel64\${{ env.BUILD_TYPE }}\benchmark_app.exe -niter 1 -nireq 1 -m ${{ env.MODELS_PATH }}\models\test_model\test_model_fp32.xml -d CPU
${{ 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
timeout-minutes: 70
defaults:
run:
shell: pwsh
runs-on: aks-win-8-cores-16gb
env:
OPENVINO_REPO: "${{ github.workspace }}\\openvino"
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 }}"
- name: Fetch setup_python action
uses: actions/checkout@v4
with:
sparse-checkout: |
.github/actions/setup_python/action.yml
sparse-checkout-cone-mode: false
path: 'openvino'
- name: Setup Python ${{ env.PYTHON_VERSION }}
uses: ./openvino/.github/actions/setup_python
with:
version: ${{ env.PYTHON_VERSION }}
should-setup-pip-paths: 'false'
self-hosted-runner: 'false'
- 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@v4
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'
+2 -1
View File
@@ -7,7 +7,7 @@ cmake-build*
!__init__.py
!__main__.py
# and sphinx documentation folders
!docs/_*
!docs/sphinx_setup/_*
# developer tools
*.idea
@@ -61,3 +61,4 @@ __pycache__
/tools/mo/*.svg
/src/plugins/intel_cpu/tools/commit_slider/*.json
/src/plugins/intel_cpu/tools/commit_slider/slider_cache/*
.github/GITHUB_OUTPUT
+59 -47
View File
@@ -13,8 +13,14 @@ else()
# we have to use CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS variable
cmake_minimum_required(VERSION 3.20)
else()
# default choice
cmake_minimum_required(VERSION 3.13)
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()
endif()
endif()
@@ -24,12 +30,11 @@ endif()
project(OpenVINO DESCRIPTION "OpenVINO toolkit")
find_package(IEDevScripts REQUIRED
find_package(OpenVINODeveloperScripts 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
@@ -76,54 +81,55 @@ 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 to force its regeneration
macro(ov_clean_dev_targets)
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)
# 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_dev_targets()
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()
#
# Build
#
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}")
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)
if(ENABLE_TESTS)
# add target with processed tests model zoo
include(cmake/test_model_zoo.cmake)
endif()
@@ -135,15 +141,21 @@ if(ENABLE_SAMPLES OR ENABLE_TESTS)
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
#
@@ -151,4 +163,4 @@ add_subdirectory(licensing)
# provides a callback function to describe each component in repo
include(cmake/packaging/packaging.cmake)
ie_cpack(${IE_CPACK_COMPONENTS_ALL})
ov_cpack(${OV_CPACK_COMPONENTS_ALL})
+68 -2
View File
@@ -4,8 +4,14 @@
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:
product better.
# Table of Contents
1. [Forms of contribution](#Forms-of-contribution)
2. [Technical guide](#Technical-guide)
## Forms of contribution
### Provide Feedback
@@ -32,7 +38,7 @@ product better:
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).
tasks listed as [first-time contributions](https://github.com/orgs/openvinotoolkit/projects/3).
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
@@ -81,6 +87,66 @@ product better:
share your expertise with the community. Check GitHub Discussions and
Issues to see if you can help someone.
## Technical guide
This section lists all the necessary steps required to set up your environment, build OpenVINO locally, and run tests for specific components. It's a perfect place to start when you have just picked a Good First Issue and are wondering how to start working on it.
Keep in mind that we are here to help - **do not hesitate to ask the development team if something is not clear**. Such questions allow us to keep improving our documentation.
### 1. Prerequisites
You can start with the following links:
- [What is OpenVINO?](https://github.com/openvinotoolkit/openvino#what-is-openvino-toolkit)
- [OpenVINO architecture](https://github.com/openvinotoolkit/openvino/blob/master/src/docs/architecture.md)
- [User documentation](https://docs.openvino.ai/)
- [Blog post on contributing to OpenVINO](https://medium.com/openvino-toolkit/how-to-contribute-to-an-ai-open-source-project-c741f48e009e)
- [Pick up a Good First Issue](https://github.com/orgs/openvinotoolkit/projects/3)
### 2. Building the project
In order to build the project, follow the [build instructions for your specific OS](https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/build.md).
### 3. Familiarize yourself with the component you'll be working with
Choose the component your Good First Issue is related to. You can run tests to make sure it works correctly.
##### APIs
- [C API](https://github.com/openvinotoolkit/openvino/tree/master/src/bindings/c)
- [Core](https://github.com/openvinotoolkit/openvino/tree/master/src/core)
- [Python API](https://github.com/openvinotoolkit/openvino/tree/master/src/bindings/python)
##### Frontends
- [IR Frontend](https://github.com/openvinotoolkit/openvino/tree/master/src/frontends/ir)
- [ONNX Frontend](https://github.com/openvinotoolkit/openvino/tree/master/src/frontends/onnx)
- [PaddlePaddle Frontend](https://github.com/openvinotoolkit/openvino/tree/master/src/frontends/paddle)
- [PyTorch Frontend](https://github.com/openvinotoolkit/openvino/tree/master/src/frontends/pytorch)
- [TensorFlow Frontend](https://github.com/openvinotoolkit/openvino/tree/master/src/frontends/tensorflow)
##### Plugins
- [Auto plugin](https://github.com/openvinotoolkit/openvino/blob/master/src/plugins/auto)
- [CPU plugin](https://github.com/openvinotoolkit/openvino/blob/master/src/plugins/intel_cpu)
- [GPU plugin](https://github.com/openvinotoolkit/openvino/blob/master/src/plugins/intel_gpu)
- [Hetero plugin](https://github.com/openvinotoolkit/openvino/blob/master/src/plugins/hetero)
- [Template plugin](https://github.com/openvinotoolkit/openvino/tree/master/src/plugins/template)
##### Tools
- [Benchmark Tool](https://github.com/openvinotoolkit/openvino/tree/master/tools/benchmark_tool)
- [Model Optimizer](https://github.com/openvinotoolkit/openvino/tree/master/tools/mo)
##### Others
- [Documentation](https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING_DOCS.md)
### 3. Start working on your Good First Issue
Use the issue description and locally built OpenVINO to complete the task. Remember that you can always ask users tagged in the "Contact points" section for help!
### 4. Submit a PR with your changes
Follow our [Good Pull Request guidelines](https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING_PR.md).
### 5. Wait for a review
We'll make sure to review your Pull Request as soon as possible and provide you with our feedback. You can expect a merge once your changes are validated with automatic tests and approved by maintainers.
## License
+32 -22
View File
@@ -33,7 +33,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 [Model Optimizer], [OpenVINO™ Runtime], [Post-Training Optimization Tool], 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 [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.
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,8 +48,7 @@ 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.
* [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.
* [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.
* [Samples] - applications in C, C++ and Python languages that show basic OpenVINO use cases.
## Supported Hardware matrix
@@ -62,30 +61,30 @@ The OpenVINO™ Runtime can infer models on different hardware devices. This sec
<th>Device</th>
<th>Plugin</th>
<th>Library</th>
<th>ShortDescription</th>
<th>Short Description</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan=2>CPU</td>
<td> <a href="https://docs.openvino.ai/2023.1/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/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><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)</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>
</tr>
<tr>
<td> <a href="https://docs.openvino.ai/2023.1/openvino_docs_OV_UG_supported_plugins_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
<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
</tr>
<tr>
<td>GPU</td>
<td><a href="https://docs.openvino.ai/2023.1/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/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><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.1/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/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><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>
@@ -98,27 +97,27 @@ OpenVINO™ Toolkit also contains several plugins which simplify loading models
<tr>
<th>Plugin</th>
<th>Library</th>
<th>ShortDescription</th>
<th>Short Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://docs.openvino.ai/2023.1/openvino_docs_OV_UG_supported_plugins_AUTO.html">Auto</a></td>
<td><a href="https://docs.openvino.ai/2023.2/openvino_docs_OV_UG_supported_plugins_AUTO.html">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.1/openvino_docs_OV_UG_Automatic_Batching.html">Auto Batch</a></td>
<td><a href="https://docs.openvino.ai/2023.2/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.1/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/2023.2/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.1/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/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><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>
@@ -129,6 +128,16 @@ 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
@@ -155,9 +164,9 @@ 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.1/openvino_docs_install_guides_installing_openvino_linux_header.html)
- [Windows](https://docs.openvino.ai/2023.1/openvino_docs_install_guides_installing_openvino_windows_header.html)
- [macOS](https://docs.openvino.ai/2023.1/openvino_docs_install_guides_installing_openvino_macos_header.html)
- [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)
## How to build
@@ -168,6 +177,8 @@ See [How to build OpenVINO](./docs/dev/build.md) to get more information about t
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.
## Get a support
@@ -195,7 +206,6 @@ 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.1/openvino_docs_OV_UG_OV_Runtime_User_Guide.html
[Model Optimizer]:https://docs.openvino.ai/2023.1/openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html
[Post-Training Optimization Tool]:https://docs.openvino.ai/2023.1/pot_introduction.html
[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
[Samples]:https://github.com/openvinotoolkit/openvino/tree/master/samples
+15 -11
View File
@@ -5,7 +5,7 @@
cmake_policy(SET CMP0054 NEW)
# TODO: fix it, outside of source dir MO cannot find TBB dependency
set_temp_directory(TEMP "${CMAKE_SOURCE_DIR}")
ov_set_temp_directory(TEMP "${CMAKE_SOURCE_DIR}")
## Intel OMP package
if(THREADING STREQUAL "OMP")
@@ -71,12 +71,16 @@ function(ov_download_tbb)
if(NOT DEFINED ENV{TBBROOT} AND (DEFINED ENV{TBB_DIR} OR DEFINED TBB_DIR))
if(DEFINED ENV{TBB_DIR})
set(TEMP_ROOT $ENV{TBB_DIR})
elseif (DEFINED TBB_DIR)
set(TEMP_ROOT ${TBB_DIR})
set(TBB_DIR "$ENV{TBB_DIR}")
endif()
set(TEMP_ROOT "${TBB_DIR}")
while(NOT EXISTS "${TEMP_ROOT}/include")
get_filename_component(TEMP_ROOT ${TEMP_ROOT} PATH)
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}")
endwhile()
set(TBBROOT ${TEMP_ROOT})
endif()
@@ -100,10 +104,10 @@ function(ov_download_tbb)
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)
RESOLVE_DEPENDENCY(TBB
ARCHIVE_LIN "oneapi-tbb-2021.2.3-lin.tgz"
ARCHIVE_LIN "oneapi-tbb-2021.2.4-lin.tgz"
TARGET_PATH "${TEMP}/tbb"
ENVIRONMENT "TBBROOT"
SHA256 "f3f2edd8e7875b02220f11ab5b201411d5af6822e525e8da5444b4a666514e8b"
SHA256 "6523661559a340e88131472ea9a595582c306af083e55293b7357d11b8015546"
USE_NEW_LOCATION TRUE)
elseif(YOCTO_AARCH64)
RESOLVE_DEPENDENCY(TBB
@@ -131,10 +135,10 @@ function(ov_download_tbb)
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-canary.tgz"
ARCHIVE_LIN "oneapi-tbb-2021.2.1-lin-arm64-20231012.tgz"
TARGET_PATH "${TEMP}/tbb"
ENVIRONMENT "TBBROOT"
SHA256 "042fdac53be65841a970b05d892f4b20b556b06fd3b20d2d0068e49c4fd74f07"
SHA256 "cbb239cbda7ea2937cec7008c12fe628dd44488e1eafd9630f8814f9eb2c13e2"
USE_NEW_LOCATION TRUE)
elseif(APPLE AND AARCH64)
# build oneTBB 2021.2.1 with export MACOSX_DEPLOYMENT_TARGET=11.0
@@ -200,10 +204,10 @@ function(ov_download_tbbbind_2_5)
USE_NEW_LOCATION TRUE)
elseif(LINUX AND X86_64)
RESOLVE_DEPENDENCY(TBBBIND_2_5
ARCHIVE_LIN "tbbbind_2_5_static_lin_v3.tgz"
ARCHIVE_LIN "tbbbind_2_5_static_lin_v4.tgz"
TARGET_PATH "${TEMP}/tbbbind_2_5"
ENVIRONMENT "TBBBIND_2_5_ROOT"
SHA256 "d39deb262c06981b5e2d2e3c593e9fc9be62ce4feb91dd4e648e92753659a6b3"
SHA256 "4ebf30246530795f066fb9616e6707c6b17be7a65d29d3518b578a769dd54eea"
USE_NEW_LOCATION TRUE)
else()
# TMP: for Apple Silicon TBB does not provide TBBBind
@@ -1,292 +0,0 @@
# 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()
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 "${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
#
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)
set(CMAKE_BUILD_TYPE "Release" 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(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}\")
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-triplet> is created on Debian
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Cmake install prefix" FORCE)
endif()
include(packaging/packaging)
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()
# 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.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_ie_target)
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,301 @@
# 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()
#
# 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()
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})
-192
View File
@@ -1,192 +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:
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
ov_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})
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()
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()
@@ -0,0 +1,183 @@
# 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()
@@ -29,7 +29,7 @@ if(WIN32)
endif()
endif()
function(_ie_add_api_validator_post_build_step_recursive)
function(_ov_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 +55,9 @@ function(_ie_add_api_validator_post_build_step_recursive)
continue()
endif()
if(TARGET "${orig_library}")
_ie_add_api_validator_post_build_step_recursive(TARGET ${orig_library})
_ov_add_api_validator_post_build_step_recursive(TARGET ${orig_library})
else()
_ie_add_api_validator_post_build_step_recursive(TARGET ${library})
_ov_add_api_validator_post_build_step_recursive(TARGET ${library})
endif()
endif()
endforeach()
@@ -113,10 +113,10 @@ function(_ov_add_api_validator_post_build_step)
endif()
# collect targets
_ie_add_api_validator_post_build_step_recursive(TARGET ${API_VALIDATOR_TARGET})
_ov_add_api_validator_post_build_step_recursive(TARGET ${API_VALIDATOR_TARGET})
if (API_VALIDATOR_EXTRA)
foreach(target IN LISTS API_VALIDATOR_EXTRA)
_ie_add_api_validator_post_build_step_recursive(TARGET ${target})
_ov_add_api_validator_post_build_step_recursive(TARGET ${target})
endforeach()
endif()
@@ -171,7 +171,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 "${IEDevScripts_DIR}/api_validator/api_validator_run.cmake")
-P "${OpenVINODeveloperScripts_DIR}/api_validator/api_validator_run.cmake")
list(APPEND byproducts_files ${output_file})
unset(target_name)
@@ -191,13 +191,8 @@ function(_ov_add_api_validator_post_build_step)
endfunction()
#
# ie_add_api_validator_post_build_step(TARGET <name>)
# ov_add_api_validator_post_build_step(TARGET <name>)
#
macro(ov_add_api_validator_post_build_step)
_ov_add_api_validator_post_build_step(${ARGV})
endmacro()
macro(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(${ARGV})
endmacro()
function(ov_add_api_validator_post_build_step)
_ov_add_api_validator_post_build_step(${ARGN})
endfunction()
@@ -88,10 +88,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 "${IEDevScripts_DIR}/clang_format/clang_format_check.cmake"
-P "${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_check.cmake"
DEPENDS
"${source_file}"
"${IEDevScripts_DIR}/clang_format/clang_format_check.cmake"
"${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_check.cmake"
COMMENT
"[clang-format] ${source_file}"
VERBATIM)
@@ -110,10 +110,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 "${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake"
-P "${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_fix.cmake"
DEPENDS
"${all_input_sources}"
"${IEDevScripts_DIR}/clang_format/clang_format_fix.cmake"
"${OpenVINODeveloperScripts_DIR}/clang_format/clang_format_fix.cmake"
COMMENT
"[clang-format] ${TARGET_NAME}_fix"
VERBATIM)
@@ -130,8 +130,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()
@@ -9,62 +9,57 @@ include(CheckCXXCompilerFlag)
# ov_disable_deprecated_warnings()
#
# Disables deprecated warnings generation in current scope (directory, function)
# Defines ie_c_cxx_deprecated varaible which contains C / C++ compiler flags
# 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(ie_c_cxx_deprecated "/wd4996")
set(ov_c_cxx_deprecated "/wd4996")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
set(ie_c_cxx_deprecated "/Qdiag-disable:1478,1786")
set(ov_c_cxx_deprecated "/Qdiag-disable:1478,1786")
else()
set(ie_c_cxx_deprecated "-diag-disable=1478,1786")
set(ov_c_cxx_deprecated "-diag-disable=1478,1786")
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
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} ${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()
macro(disable_deprecated_warnings)
message(WARNING "disable_deprecated_warnings is deprecated, use ov_disable_deprecated_warnings instead")
ov_disable_deprecated_warnings()
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()
#
# ov_deprecated_no_errors()
#
# Don't threat deprecated warnings as errors in current scope (directory, function)
# Defines ie_c_cxx_deprecated_no_errors varaible which contains C / C++ compiler flags
# 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(ie_c_cxx_deprecated_no_errors "/wd4996")
set(ov_c_cxx_deprecated_no_errors "/wd4996")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
set(ie_c_cxx_deprecated_no_errors "/Qdiag-warning:1478,1786")
set(ov_c_cxx_deprecated_no_errors "/Qdiag-warning:1478,1786")
else()
set(ie_c_cxx_deprecated_no_errors "-diag-warning=1478,1786")
set(ov_c_cxx_deprecated_no_errors "-diag-warning=1478,1786")
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(ie_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
set(ov_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
# Suppress #warning messages
set(ie_c_cxx_deprecated_no_errors "${ie_c_cxx_deprecated_no_errors} -Wno-cpp")
set(ov_c_cxx_deprecated_no_errors "${ov_c_cxx_deprecated_no_errors} -Wno-cpp")
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
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}")
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}")
endmacro()
#
@@ -74,24 +69,24 @@ endmacro()
#
macro(ov_dev_package_no_errors)
if(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(ie_c_cxx_dev_no_errors "-Wno-all")
set(ov_c_cxx_dev_no_errors "-Wno-all")
if(SUGGEST_OVERRIDE_SUPPORTED)
set(ie_cxx_dev_no_errors "-Wno-error=suggest-override")
set(ov_cxx_dev_no_errors "-Wno-error=suggest-override")
endif()
endif()
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${ie_c_cxx_dev_no_errors} ${ie_cxx_dev_no_errors}")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${ie_c_cxx_dev_no_errors}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ie_c_cxx_dev_no_errors} ${ie_cxx_dev_no_errors}")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ie_c_cxx_dev_no_errors}")
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}")
endmacro()
#
# ie_sse42_optimization_flags(<output flags>)
# ov_sse42_optimization_flags(<output flags>)
#
# Provides SSE4.2 compilation flags depending on an OS and a compiler
#
macro(ie_sse42_optimization_flags flags)
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")
@@ -111,11 +106,11 @@ macro(ie_sse42_optimization_flags flags)
endmacro()
#
# ie_avx2_optimization_flags(<output flags>)
# ov_avx2_optimization_flags(<output flags>)
#
# Provides AVX2 compilation flags depending on an OS and a compiler
#
macro(ie_avx2_optimization_flags flags)
macro(ov_avx2_optimization_flags flags)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(${flags} /arch:AVX2)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
@@ -125,19 +120,19 @@ macro(ie_avx2_optimization_flags flags)
set(${flags} -xCORE-AVX2)
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(${flags} -mavx2 -mfma)
set(${flags} -mavx2 -mfma -mf16c)
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endmacro()
#
# ie_avx512_optimization_flags(<output flags>)
# ov_avx512_optimization_flags(<output flags>)
#
# Provides common AVX512 compilation flags for AVX512F instruction set support
# depending on an OS and a compiler
#
macro(ie_avx512_optimization_flags flags)
macro(ov_avx512_optimization_flags flags)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(${flags} /arch:AVX512)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
@@ -147,16 +142,16 @@ macro(ie_avx512_optimization_flags flags)
set(${flags} -xCOMMON-AVX512)
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(${flags} -mavx512f -mfma)
set(${flags} -mavx512f -mfma -mf16c)
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endmacro()
#
# ie_arm_neon_optimization_flags(<output flags>)
# ov_arm_neon_optimization_flags(<output flags>)
#
macro(ie_arm_neon_optimization_flags flags)
macro(ov_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")
@@ -213,16 +208,6 @@ function(ov_disable_all_warnings)
endforeach()
endfunction()
#
# ie_enable_lto()
#
# Enables Link Time Optimization compilation
#
macro(ie_enable_lto)
message(WARNING "ie_add_compiler_flags is deprecated, set INTERPROCEDURAL_OPTIMIZATION_RELEASE target property instead")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_RELEASE ON)
endmacro()
#
# ov_add_compiler_flags(<flag1 [flag2 flag3 ...>])
#
@@ -235,11 +220,6 @@ macro(ov_add_compiler_flags)
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()
#
# ov_force_include(<target> <PUBLIC | PRIVATE | INTERFACE> <header file>)
#
@@ -299,7 +279,13 @@ if(NOT DEFINED CMAKE_CXX_STANDARD)
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()
@@ -323,15 +309,15 @@ 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 ${OpenVINO_SOURCE_DIR} OV_NATIVE_PROJECT_ROOT_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 OpenVINO_SOURCE_DIR OV_NATIVE_PROJECT_ROOT_DIR)
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 "${OpenVINO_SOURCE_DIR}/.." ${OpenVINO_SOURCE_DIR})
file(RELATIVE_PATH OV_NATIVE_PARENT_PROJECT_ROOT_DIR "${CMAKE_SOURCE_DIR}/.." ${CMAKE_SOURCE_DIR})
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
#
@@ -382,9 +368,12 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
ov_add_compiler_flags(/wd4275)
# Enable __FILE__ trim, use path with forward and backward slash as directory separator
add_compile_options(
"$<$<COMPILE_LANGUAGE:CXX>:/d1trimfile:${OV_NATIVE_PROJECT_ROOT_DIR}\\>"
"$<$<COMPILE_LANGUAGE:CXX>:/d1trimfile:${OpenVINO_SOURCE_DIR}/>")
# 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}/>")
endif()
#
# Debug information flags, by default CMake adds /Zi option
@@ -16,7 +16,7 @@ endif()
set(OV_COVERAGE_REPORTS "${CMAKE_BINARY_DIR}/coverage")
set(OV_COVERAGE_SCRIPT_DIR "${IEDevScripts_DIR}/coverage")
set(OV_COVERAGE_SCRIPT_DIR "${OpenVINODeveloperScripts_DIR}/coverage")
include(CMakeParseArguments)
@@ -171,9 +171,9 @@ function(ov_coverage_genhtml)
endfunction()
#
# ie_coverage_remove(INPUT <info_file> OUTPUT <output_file> PATTERNS <patterns ...>)
# ov_coverage_remove(INPUT <info_file> OUTPUT <output_file> PATTERNS <patterns ...>)
#
function(ie_coverage_remove)
function(ov_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(ie_coverage_remove)
endfunction()
#
# ie_coverage_merge(OUTPUT <output file> INPUTS <input files ...>)
# ov_coverage_merge(OUTPUT <output file> INPUTS <input files ...>)
#
function(ie_coverage_merge)
function(ov_coverage_merge)
cmake_parse_arguments(OV_COVERAGE "" "OUTPUT" "INPUTS" ${ARGN})
set(output_file "${OV_COVERAGE_REPORTS}/${OV_COVERAGE_OUTPUT}.info")
@@ -227,6 +227,8 @@ function(ie_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)
+9 -14
View File
@@ -3,9 +3,9 @@
#
if(ENABLE_CPPLINT)
find_host_package(PythonInterp 3 QUIET)
find_host_package(Python3 QUIET COMPONENTS Interpreter)
if(NOT PYTHONINTERP_FOUND)
if(NOT Python3_Interpreter_FOUND)
message(WARNING "Python3 interpreter was not found (required for cpplint check)")
set(ENABLE_CPPLINT OFF)
endif()
@@ -14,7 +14,6 @@ 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)
@@ -58,6 +57,7 @@ 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,30 +68,25 @@ function(add_cpplint_target TARGET_NAME)
"${output_file}"
COMMAND
"${CMAKE_COMMAND}"
-D "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
-D "CPPLINT_SCRIPT=${IEDevScripts_DIR}/cpplint/cpplint.py"
-D "Python3_EXECUTABLE=${Python3_EXECUTABLE}"
-D "CPPLINT_SCRIPT=${OpenVINODeveloperScripts_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 "${IEDevScripts_DIR}/cpplint/cpplint_run.cmake"
-P "${OpenVINODeveloperScripts_DIR}/cpplint/cpplint_run.cmake"
DEPENDS
"${source_file}"
"${IEDevScripts_DIR}/cpplint/cpplint.py"
"${IEDevScripts_DIR}/cpplint/cpplint_run.cmake"
"${OpenVINODeveloperScripts_DIR}/cpplint/cpplint.py"
"${OpenVINODeveloperScripts_DIR}/cpplint/cpplint_run.cmake"
COMMENT
"[cpplint] ${source_file}"
"[cpplint] ${source_file_relative_root}"
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}")
@@ -10,7 +10,7 @@ file(MAKE_DIRECTORY "${REPORT_DIR}")
execute_process(
COMMAND
"${PYTHON_EXECUTABLE}"
"${Python3_EXECUTABLE}"
"${CONVERT_SCRIPT}"
"--file=${INPUT_FILE}"
"--report-dir=${REPORT_DIR}"
@@ -25,7 +25,7 @@ set(FILTER "${DEFAULT_FILTER}${CUSTOM_FILTER}")
execute_process(
COMMAND
"${PYTHON_EXECUTABLE}"
"${Python3_EXECUTABLE}"
"${CPPLINT_SCRIPT}"
"--linelength=160"
"--counting=detailed"
@@ -4,7 +4,7 @@
execute_process(
COMMAND
"${PYTHON_EXECUTABLE}"
"${Python3_EXECUTABLE}"
"${CONVERT_SCRIPT}"
INPUT_FILE "${INPUT_FILE}"
OUTPUT_FILE "${OUTPUT_FILE}"
@@ -19,9 +19,9 @@ set(_DEFINE_AVX2 "HAVE_AVX2" ${_DEFINE_AVX})
set(_DEFINE_AVX512F "HAVE_AVX512F" ${_DEFINE_AVX2})
## Arch specific compile options
ie_avx512_optimization_flags(_FLAGS_AVX512F)
ie_avx2_optimization_flags (_FLAGS_AVX2)
ie_sse42_optimization_flags (_FLAGS_SSE42)
ov_avx512_optimization_flags(_FLAGS_AVX512F)
ov_avx2_optimization_flags (_FLAGS_AVX2)
ov_sse42_optimization_flags (_FLAGS_SSE42)
set(_FLAGS_AVX "") ## TBD is not defined for IE project yet
set(_FLAGS_ANY "") ##
@@ -19,8 +19,3 @@ function(ov_build_target_faster TARGET_NAME)
target_precompile_headers(${TARGET_NAME} ${FASTER_BUILD_PCH})
endif()
endfunction()
function(ie_faster_build)
message(WARNING "ie_faster_build is deprecated, use ov_build_target_faster instead")
ov_build_target_faster(${ARGV})
endfunction()
+26 -27
View File
@@ -5,17 +5,20 @@
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
ie_dependent_option (ENABLE_LTO "Enable Link Time Optimization" OFF
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_option (OS_FOLDER "create OS dedicated folder in output" OFF)
ov_option (OS_FOLDER "create OS dedicated folder in output" OFF)
if(OV_GENERATOR_MULTI_CONFIG)
ie_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" OFF)
ov_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" OFF)
else()
ie_option(USE_BUILD_TYPE_SUBFOLDER "Create dedicated sub-folder per build type for output binaries" ON)
ov_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))
@@ -24,37 +27,37 @@ else()
set(CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT OFF)
endif()
ie_option (CMAKE_COMPILE_WARNING_AS_ERROR "Enable warnings as errors" ${CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT})
ov_option (CMAKE_COMPILE_WARNING_AS_ERROR "Enable warnings as errors" ${CMAKE_COMPILE_WARNING_AS_ERROR_DEFAULT})
ie_dependent_option (ENABLE_QSPECTRE "Enable Qspectre mitigation" OFF "CMAKE_CXX_COMPILER_ID STREQUAL MSVC" OFF)
ov_dependent_option (ENABLE_QSPECTRE "Enable Qspectre mitigation" 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_dependent_option (ENABLE_INTEGRITYCHECK "build DLLs with /INTEGRITYCHECK flag" OFF "CMAKE_CXX_COMPILER_ID STREQUAL MSVC" OFF)
ie_option (ENABLE_SANITIZER "enable checking memory errors via AddressSanitizer" OFF)
ov_option (ENABLE_SANITIZER "enable checking memory errors via AddressSanitizer" OFF)
ie_option (ENABLE_UB_SANITIZER "enable UndefinedBahavior sanitizer" OFF)
ov_option (ENABLE_UB_SANITIZER "enable UndefinedBahavior sanitizer" OFF)
ie_option (ENABLE_THREAD_SANITIZER "enable checking data races via ThreadSanitizer" OFF)
ov_option (ENABLE_THREAD_SANITIZER "enable checking data races via ThreadSanitizer" OFF)
ie_dependent_option (ENABLE_COVERAGE "enable code coverage" OFF "CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG" OFF)
ov_dependent_option (ENABLE_COVERAGE "enable code coverage" OFF "CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG" OFF)
# Defines CPU capabilities
ie_dependent_option (ENABLE_SSE42 "Enable SSE4.2 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
ov_dependent_option (ENABLE_SSE42 "Enable SSE4.2 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
ie_dependent_option (ENABLE_AVX2 "Enable AVX2 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
ov_dependent_option (ENABLE_AVX2 "Enable AVX2 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
ie_dependent_option (ENABLE_AVX512F "Enable AVX512 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" OFF)
ov_dependent_option (ENABLE_AVX512F "Enable AVX512 optimizations" ON "X86_64 OR (X86 AND NOT EMSCRIPTEN)" 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)
ie_option (BUILD_SHARED_LIBS "Build as a shared library" ${BUILD_SHARED_LIBS_DEFAULT})
ov_option (BUILD_SHARED_LIBS "Build as a shared library" ${BUILD_SHARED_LIBS_DEFAULT})
# Android does not support SOVERSION
# see https://www.opengis.ch/2011/11/23/creating-non-versioned-shared-libraries-for-android/
ie_dependent_option (ENABLE_LIBRARY_VERSIONING "Enable libraries versioning" ON "NOT WIN32;NOT ANDROID;BUILD_SHARED_LIBS" OFF)
ov_dependent_option (ENABLE_LIBRARY_VERSIONING "Enable libraries versioning" ON "NOT WIN32;NOT ANDROID;BUILD_SHARED_LIBS" 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)
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)
if(CMAKE_CROSSCOMPILING OR WIN32)
set(STYLE_CHECKS_DEFAULT OFF)
@@ -62,24 +65,22 @@ else()
set(STYLE_CHECKS_DEFAULT ON)
endif()
ie_option (ENABLE_CPPLINT "Enable cpplint checks during the build" ${STYLE_CHECKS_DEFAULT})
ov_option (ENABLE_CPPLINT "Enable cpplint checks during the build" ${STYLE_CHECKS_DEFAULT})
ie_dependent_option (ENABLE_CPPLINT_REPORT "Build cpplint report instead of failing the build" OFF "ENABLE_CPPLINT" OFF)
ov_dependent_option (ENABLE_CPPLINT_REPORT "Build cpplint report instead of failing the build" OFF "ENABLE_CPPLINT" OFF)
ie_option (ENABLE_CLANG_FORMAT "Enable clang-format checks during the build" ${STYLE_CHECKS_DEFAULT})
ov_option (ENABLE_CLANG_FORMAT "Enable clang-format checks during the build" ${STYLE_CHECKS_DEFAULT})
ie_option (ENABLE_NCC_STYLE "Enable ncc style check" ${STYLE_CHECKS_DEFAULT})
ov_option (ENABLE_NCC_STYLE "Enable ncc style check" ${STYLE_CHECKS_DEFAULT})
ie_option (VERBOSE_BUILD "shows extra information about build" OFF)
ie_option (ENABLE_UNSAFE_LOCATIONS "skip check for MD5 for dependency" OFF)
ov_option (ENABLE_UNSAFE_LOCATIONS "skip check for MD5 for dependency" 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_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG OR _msvc_version_2022" OFF)
ov_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG OR _msvc_version_2022" OFF)
#
# Check features
@@ -101,5 +102,3 @@ if(ENABLE_AVX512F)
set(ENABLE_AVX512F OFF CACHE BOOL "" FORCE)
endif()
endif()
set(CMAKE_VERBOSE_MAKEFILE ${VERBOSE_BUILD} CACHE BOOL "" FORCE)
@@ -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 "${IEDevScripts_DIR}/frontends/ov_frontends.hpp.in")
set(frontends_hpp_in "${OpenVINODeveloperScripts_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 "${IEDevScripts_DIR}/frontends/create_frontends_hpp.cmake"
-P "${OpenVINODeveloperScripts_DIR}/frontends/create_frontends_hpp.cmake"
DEPENDS
"${frontends_hpp_in}"
"${IEDevScripts_DIR}/frontends/create_frontends_hpp.cmake"
"${OpenVINODeveloperScripts_DIR}/frontends/create_frontends_hpp.cmake"
COMMENT
"Generate ov_frontends.hpp for static build"
VERBATIM)
@@ -57,10 +57,10 @@ function(ov_generate_frontends_hpp)
# for some reason dependency on source files does not work
# so, we have to use explicit target and make it dependency for frontend_common
add_custom_target(_ov_frontends_hpp DEPENDS ${ov_frontends_hpp})
add_dependencies(frontend_common_obj _ov_frontends_hpp)
add_dependencies(openvino_frontend_common_obj _ov_frontends_hpp)
# add dependency for object files
get_target_property(sources frontend_common_obj SOURCES)
get_target_property(sources openvino_frontend_common_obj SOURCES)
foreach(source IN LISTS sources)
if("${source}" MATCHES "\\$\\<TARGET_OBJECTS\\:([A-Za-z0-9_]*)\\>")
# object library
@@ -80,17 +80,37 @@ endfunction()
unset(protobuf_lite_installed CACHE)
unset(protobuf_installed CACHE)
#
# ov_frontend_group_files(<ROOT_DIR> # Root path for scanning
# <REL_PATH> # Relative path (in ROOT_DIR) is used for scanning
# <FILE_EXT>) # File extension for grouping
#
macro(ov_frontend_group_files root_dir rel_path file_mask)
file(GLOB items RELATIVE ${root_dir}/${rel_path} ${root_dir}/${rel_path}/*)
foreach(item ${items})
if(IS_DIRECTORY ${root_dir}/${rel_path}/${item})
ov_frontend_group_files(${root_dir} ${rel_path}/${item} ${file_mask})
else()
if(${item} MATCHES ".*\.${file_mask}$")
string(REPLACE "/" "\\" groupname ${rel_path})
source_group(${groupname} FILES ${root_dir}/${rel_path}/${item})
endif()
endif()
endforeach()
endmacro()
#
# ov_add_frontend(NAME <IR|ONNX|...>
# 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_LITE SKIP_NCC_STYLE SKIP_INSTALL)
set(options LINKABLE_FRONTEND PROTOBUF_REQUIRED 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})
@@ -120,24 +140,32 @@ macro(ov_add_frontend)
# Create named folders for the sources within the .vcproj
# Empty name lists them directly under the .vcproj
source_group("src" FILES ${LIBRARY_SRC})
ov_frontend_group_files(${frontend_root_dir}/ "src" "cpp")
ov_frontend_group_files(${frontend_root_dir}/ "src" "proto")
source_group("include" FILES ${LIBRARY_HEADERS})
source_group("public include" FILES ${LIBRARY_PUBLIC_HEADERS})
# Generate protobuf file on build time for each '.proto' file in src/proto
file(GLOB proto_files ${frontend_root_dir}/src/proto/*.proto)
set(protofiles_root_dir "${frontend_root_dir}/src/proto")
file(GLOB_RECURSE proto_files ${protofiles_root_dir}/*.proto)
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})
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)
add_custom_command(
OUTPUT "${OUTPUT_PB_SRC}" "${OUTPUT_PB_HEADER}"
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}"
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}"
VERBATIM
COMMAND_EXPAND_LISTS)
list(APPEND PROTO_SRCS "${OUTPUT_PB_SRC}")
@@ -145,15 +173,15 @@ macro(ov_add_frontend)
endforeach()
file(GLOB flatbuffers_schema_files ${frontend_root_dir}/src/schema/*.fbs)
foreach(INFILE IN LISTS flatbuffers_schema_files)
get_filename_component(FILE_WE ${INFILE} NAME_WE)
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)
set(GENERATED_PROTO ${INFILE})
add_custom_command(
OUTPUT "${OUTPUT_FC_HEADER}"
COMMAND ${flatbuffers_COMPILER} ARGS -c --gen-mutable -o ${CMAKE_CURRENT_BINARY_DIR} ${INFILE}
DEPENDS ${flatbuffers_DEPENDENCY} ${GENERATED_PROTO}
COMMENT "Running C++ flatbuffers compiler (${flatbuffers_COMPILER}) on ${GENERATED_PROTO}"
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}")
@@ -164,7 +192,7 @@ macro(ov_add_frontend)
# Create library
add_library(${TARGET_NAME} ${LIBRARY_SRC} ${LIBRARY_HEADERS} ${LIBRARY_PUBLIC_HEADERS}
${PROTO_SRCS} ${PROTO_HDRS} ${flatbuffers_schema_files} ${proto_files})
${PROTO_SRCS} ${PROTO_HDRS} ${flatbuffers_schema_files} ${proto_files})
if(OV_FRONTEND_LINKABLE_FRONTEND)
# create beautiful alias
@@ -172,7 +200,7 @@ macro(ov_add_frontend)
endif()
# Shutdown protobuf when unloading the frontend dynamic library
if(proto_files AND BUILD_SHARED_LIBS)
if(OV_FRONTEND_PROTOBUF_REQUIRED AND BUILD_SHARED_LIBS)
target_link_libraries(${TARGET_NAME} PRIVATE openvino::protobuf_shutdown)
endif()
@@ -192,6 +220,7 @@ macro(ov_add_frontend)
PUBLIC
$<BUILD_INTERFACE:${${TARGET_NAME}_INCLUDE_DIR}>
PRIVATE
$<TARGET_PROPERTY:openvino::frontend::common,INTERFACE_INCLUDE_DIRECTORIES>
${frontend_root_dir}/src
${CMAKE_CURRENT_BINARY_DIR})
@@ -201,17 +230,17 @@ macro(ov_add_frontend)
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES} PUBLIC openvino::runtime)
ov_add_library_version(${TARGET_NAME})
# 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()
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()
if(proto_files)
if(OV_FRONTEND_PROTOBUF_LITE)
set(protobuf_target_name libprotobuf-lite)
set(protobuf_install_name "protobuf_lite_installed")
@@ -314,6 +343,7 @@ macro(ov_add_frontend)
install(DIRECTORY ${${TARGET_NAME}_INCLUDE_DIR}/openvino
DESTINATION ${FRONTEND_INSTALL_INCLUDE}
COMPONENT ${dev_component}
${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL}
FILES_MATCHING PATTERN "*.hpp")
# public target name
@@ -6,34 +6,36 @@ 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 "${IEDevScripts_DIR}/ncc_naming_style")
set(ncc_style_dir "${OpenVINODeveloperScripts_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(PythonInterp 3 QUIET)
if(NOT PYTHONINTERP_FOUND)
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()
endif()
if(ENABLE_NCC_STYLE)
if(PYTHON_VERSION_MINOR EQUAL 6)
if(Python3_VERSION_MINOR EQUAL 6)
set(clang_version 10)
elseif(PYTHON_VERSION_MINOR EQUAL 7)
elseif(Python3_VERSION_MINOR EQUAL 7)
set(clang_version 11)
elseif(PYTHON_VERSION_MINOR EQUAL 8)
elseif(Python3_VERSION_MINOR EQUAL 8)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 9)
elseif(Python3_VERSION_MINOR EQUAL 9)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 10)
elseif(Python3_VERSION_MINOR EQUAL 10)
set(clang_version 14)
elseif(PYTHON_VERSION_MINOR EQUAL 11)
elseif(Python3_VERSION_MINOR EQUAL 11)
set(clang_version 14)
elseif(Python3_VERSION_MINOR EQUAL 12)
set(clang_version 15)
else()
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
message(WARNING "Cannot suggest clang package for python ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}")
endif()
endif()
@@ -170,7 +172,7 @@ function(ov_ncc_naming_style)
${output_file}
COMMAND
"${CMAKE_COMMAND}"
-D "PYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}"
-D "Python3_EXECUTABLE=${Python3_EXECUTABLE}"
-D "NCC_PY_SCRIPT=${ncc_script_py}"
-D "INPUT_FILE=${source_file}"
-D "OUTPUT_FILE=${output_file}"
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
#
foreach(var NCC_PY_SCRIPT PYTHON_EXECUTABLE OUTPUT_FILE DEFINITIONS EXPECTED_FAIL
foreach(var NCC_PY_SCRIPT Python3_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
"${PYTHON_EXECUTABLE}"
"${Python3_EXECUTABLE}"
"${NCC_PY_SCRIPT}"
--path ${INPUT_FILE}
--style ${STYLE_FILE}
@@ -18,7 +18,7 @@ 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|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|nf4|string|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: '^.*$'
@@ -1,6 +1,6 @@
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'
clang==14.0; python_version == '3.11'
clang==15.0.7; python_version == '3.12'
pyyaml
+18 -17
View File
@@ -2,54 +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 (ie_option variable description value)
macro(ov_option variable description value)
option(${variable} "${description}" ${value})
list(APPEND OV_OPTIONS ${variable})
list(APPEND IE_OPTIONS ${variable})
endmacro()
# 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)
macro(ov_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 (ie_option_enum variable description value)
macro(ov_option_enum variable description value)
set(OPTIONS)
set(ONE_VALUE_ARGS)
set(MULTI_VALUE_ARGS ALLOWED_VALUES)
cmake_parse_arguments(IE_OPTION_ENUM "${OPTIONS}" "${ONE_VALUE_ARGS}" "${MULTI_VALUE_ARGS}" ${ARGN})
cmake_parse_arguments(OPTION_ENUM "${OPTIONS}" "${ONE_VALUE_ARGS}" "${MULTI_VALUE_ARGS}" ${ARGN})
if(NOT ${value} IN_LIST IE_OPTION_ENUM_ALLOWED_VALUES)
message(FATAL_ERROR "variable must be one of ${IE_OPTION_ENUM_ALLOWED_VALUES}")
if(NOT ${value} IN_LIST OPTION_ENUM_ALLOWED_VALUES)
message(FATAL_ERROR "Internal error: variable must be one of ${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 ${IE_OPTION_ENUM_ALLOWED_VALUES})
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)
endmacro()
function (print_enabled_features)
if(NOT COMMAND set_ci_build_number)
function (ov_print_enabled_features)
if(NOT COMMAND ov_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 ${IE_OPTIONS})
foreach(_var IN LISTS OV_OPTIONS)
message(STATUS " ${_var} = ${${_var}}")
endforeach()
message(STATUS "")
@@ -4,6 +4,15 @@
include(GNUInstallDirs)
if(APPLE)
# on macOS versions with SIP enabled, we need to use @rpath
# because DYLD_LIBRARY_PATH is ignored
set(CMAKE_SKIP_INSTALL_RPATH OFF)
else()
# we don't need RPATHs, because setupvars.sh is used
set(CMAKE_SKIP_INSTALL_RPATH ON)
endif()
#
# ov_archive_cpack_set_dirs()
#
@@ -44,11 +53,6 @@ macro(ov_archive_cpack_set_dirs)
set(OV_CPACK_ARCHIVEDIR runtime/lib/${ARCH_FOLDER})
endif()
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR})
# for BW compatibility
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
endmacro()
ov_archive_cpack_set_dirs()
@@ -47,11 +47,6 @@ macro(ov_common_libraries_cpack_set_dirs)
# skipped during common libraries packaging
set(OV_CPACK_WHEELSDIR "tools")
# for BW compatibility
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
endmacro()
ov_common_libraries_cpack_set_dirs()
@@ -114,6 +109,10 @@ endmacro()
ov_define_component_include_rules()
if(CPACK_GENERATOR STREQUAL "BREW")
# brew relies on RPATH
# brew relies on RPATHs
set(CMAKE_SKIP_INSTALL_RPATH OFF)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${OV_CPACK_LIBRARYDIR}")
else()
# we don't need RPATHs, because libraries are searched by standard paths
set(CMAKE_SKIP_INSTALL_RPATH ON)
endif()
@@ -21,6 +21,10 @@ macro(ov_debian_cpack_set_dirs)
set(OV_CPACK_RUNTIMEDIR "${OV_CPACK_RUNTIMEDIR}/aarch64-linux-gnu")
elseif(X86)
set(OV_CPACK_RUNTIMEDIR "${OV_CPACK_RUNTIMEDIR}/i386-linux-gnu")
elseif(X86_64)
set(OV_CPACK_RUNTIMEDIR "${OV_CPACK_RUNTIMEDIR}/x86_64-linux-gnu")
elseif(RISCV64)
set(OV_CPACK_RUNTIMEDIR "${OV_CPACK_RUNTIMEDIR}/riscv64-linux-gnu")
endif()
endif()
set(OV_CPACK_LIBRARYDIR ${OV_CPACK_RUNTIMEDIR})
@@ -41,11 +45,6 @@ macro(ov_debian_cpack_set_dirs)
# skipped during debian packaging
set(OV_CPACK_WHEELSDIR "tools")
# for BW compatibility
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
endmacro()
ov_debian_cpack_set_dirs()
@@ -130,7 +129,9 @@ macro(ov_debian_specific_settings)
# homepage
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://docs.openvino.ai/")
# use lintian to check packages in post-build step
set(CPACK_POST_BUILD_SCRIPTS "${IEDevScripts_DIR}/packaging/debian/post_build.cmake")
set(CPACK_POST_BUILD_SCRIPTS "${OpenVINODeveloperScripts_DIR}/packaging/debian/post_build.cmake")
# to make sure that lib/<multiarch-triplet> is created on Debian
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Cmake install prefix" FORCE)
# enable for debug cpack run
if(NOT DEFINED CPACK_DEBIAN_PACKAGE_DEBUG)
set(CPACK_DEBIAN_PACKAGE_DEBUG OFF)
@@ -144,7 +145,14 @@ macro(ov_debian_specific_settings)
# CPACK_COMPONENT_<UCOMP>_DEPENDS variables
if(DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
if(OV_GENERATOR_MULTI_CONFIG)
# $<CONFIG> generator expression does not work in this place, have to add all possible configs
foreach(config IN LISTS CMAKE_CONFIGURATION_TYPES)
list(APPEND CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${config}")
endforeach()
else()
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
endif()
else()
message(FATAL_ERROR "CMAKE_LIBRARY_OUTPUT_DIRECTORY is empty")
endif()
@@ -169,6 +177,10 @@ macro(ov_debian_specific_settings)
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE armhf)
elseif(x86)
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
elseif(X86_64)
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE x86_64)
elseif(RISCV64)
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE riscv64)
endif()
endif()
+2 -5
View File
@@ -5,6 +5,8 @@
macro(ov_nsis_specific_settings)
# installation directory
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Intel")
# License to be embedded in the installer
set(CPACK_RESOURCE_FILE_LICENSE "${OpenVINO_SOURCE_DIR}/LICENSE")
# TODO: provide icons
# set(CPACK_NSIS_MUI_ICON "")
@@ -83,11 +85,6 @@ macro(ov_archive_cpack_set_dirs)
set(OV_CPACK_ARCHIVEDIR runtime/lib/${ARCH_FOLDER})
endif()
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR})
# for BW compatibility
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
endmacro()
ov_nsis_cpack_set_dirs()
@@ -4,9 +4,6 @@
include(CPackComponent)
# we don't need RPATHs, because setupvars.sh is used
set(CMAKE_SKIP_INSTALL_RPATH ON)
#
# ov_install_static_lib(<target> <comp>)
#
@@ -31,13 +28,36 @@ macro(ov_install_static_lib target comp)
endif()
endmacro()
#
# ov_set_apple_rpath(<target> <lib_install_path> <dependency_install_path> ...)
#
# Sets LC_RPATH properties for macOS MACH-O binaries to ensure that libraries can find their dependencies
# when macOS system integrity protection (SIP) is enabled (DYLD_LIBRARY_PATH is ignored in this case).
# Note, that this is important when binaries are dynamically loaded at runtime (e.g. via Python).
#
function(ov_set_apple_rpath TARGET_NAME lib_install_path)
if(APPLE AND CPACK_GENERATOR MATCHES "^(7Z|TBZ2|TGZ|TXZ|TZ|TZST|ZIP)$")
unset(rpath_list)
foreach(dependency_install_path IN LISTS ARGN)
file(RELATIVE_PATH dependency_rpath "/${lib_install_path}" "/${dependency_install_path}")
set(dependency_rpath "@loader_path/${dependency_rpath}")
list(APPEND rpath_list "${dependency_rpath}")
endforeach()
set_target_properties(${TARGET_NAME} PROPERTIES
MACOSX_RPATH ON
INSTALL_RPATH "${rpath_list}"
INSTALL_NAME_DIR "@rpath")
endif()
endfunction()
#
# ov_get_pyversion(<OUT pyversion>)
#
function(ov_get_pyversion pyversion)
find_package(PythonInterp 3 QUIET)
if(PYTHONINTERP_FOUND)
set(${pyversion} "python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" PARENT_SCOPE)
find_package(Python3 QUIET COMPONENTS Interpreter Develoment.Module)
if(Python3_Interpreter_FOUND)
set(${pyversion} "python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}" PARENT_SCOPE)
else()
set(${pyversion} "NOT-FOUND" PARENT_SCOPE)
endif()
@@ -49,22 +69,22 @@ endfunction()
# Wraps original `cpack_add_component` and adds component to internal IE list
#
function(ov_cpack_add_component name)
if(NOT ${name} IN_LIST IE_CPACK_COMPONENTS_ALL)
if(NOT ${name} IN_LIST OV_CPACK_COMPONENTS_ALL)
cpack_add_component(${name} ${ARGN})
# need to store informarion about cpack_add_component arguments in CMakeCache.txt
# to restore it later
set(_${name}_cpack_component_args "${ARGN}" CACHE INTERNAL "Argument for cpack_add_component for ${name} cpack component" FORCE)
list(APPEND IE_CPACK_COMPONENTS_ALL ${name})
set(IE_CPACK_COMPONENTS_ALL "${IE_CPACK_COMPONENTS_ALL}" CACHE INTERNAL "" FORCE)
list(APPEND OV_CPACK_COMPONENTS_ALL ${name})
set(OV_CPACK_COMPONENTS_ALL "${OV_CPACK_COMPONENTS_ALL}" CACHE INTERNAL "" FORCE)
endif()
endfunction()
foreach(comp IN LISTS IE_CPACK_COMPONENTS_ALL)
foreach(comp IN LISTS OV_CPACK_COMPONENTS_ALL)
unset(_${comp}_cpack_component_args)
endforeach()
unset(IE_CPACK_COMPONENTS_ALL CACHE)
unset(OV_CPACK_COMPONENTS_ALL CACHE)
# create `tests` component
if(ENABLE_TESTS)
@@ -128,12 +148,6 @@ endmacro()
ov_define_component_names()
if(NOT DEFINED CPACK_GENERATOR)
set(CPACK_GENERATOR "TGZ")
elseif(NOT CPACK_GENERATOR)
message(FATAL_ERROR "CPACK_GENERATOR cannot contain an empty value")
endif()
#
# Include generator specific configuration file:
# 1. Overrides directories set by ov_<debian | rpm | archive | common_libraries>_cpack_set_dirs()
@@ -170,7 +184,7 @@ elseif(CPACK_GENERATOR MATCHES "^(7Z|TBZ2|TGZ|TXZ|TZ|TZST|ZIP)$")
include(packaging/archive)
endif()
macro(ie_cpack)
macro(ov_cpack)
set(CPACK_SOURCE_GENERATOR "") # not used
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenVINO™ Toolkit")
set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED OFF)
@@ -179,8 +193,6 @@ macro(ie_cpack)
set(CPACK_PACKAGE_CONTACT "OpenVINO Developers <openvino@intel.com>")
set(CPACK_VERBATIM_VARIABLES ON)
set(CPACK_COMPONENTS_ALL ${ARGN})
# TODO: set proper license file for Windows installer
set(CPACK_RESOURCE_FILE_LICENSE "${OpenVINO_SOURCE_DIR}/LICENSE")
# default permissions for directories creation
set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
@@ -1,10 +1,10 @@
* Sun Jul 4 12:00:00 2010 OpenVINO Developers <openvino@intel.com> - 2022.3.0-1
* Sun Dec 25 2022 OpenVINO Developers <openvino@intel.com> - 2022.3.0-1
- Implemented Debian, RPM packages support
- Support of Ubuntu 22.04
- Support of python 3.10
- Introduced OpenVINO Runtime 2.0 C API
* Thu Jul 28 12:00:00 2022 OpenVINO Developers <openvino@intel.com> - 2022.2.0-1
* Thu Jul 28 2022 OpenVINO Developers <openvino@intel.com> - 2022.2.0-1
- Broader model and hardware support - Optimize & deploy with ease across an expanded range of deep learning models including NLP, and access AI acceleration across an expanded range of hardware.
- NEW: Support for Intel 13th Gen Core Processor for desktop (code named Raptor Lake).
- NEW: Preview support for Intels discrete graphics cards, Intel® Data Center GPU Flex Series and Intel® Arc™ GPU for DL inferencing workloads in intelligent cloud, edge and media analytics workloads. Hundreds of models enabled.
@@ -18,6 +18,6 @@
- NEW: Introducing new performance hint (”Cumulative throughput”) in AUTO device, enabling multiple accelerators (e.g. multiple GPUs) to be used at once to maximize inferencing performance.
- NEW: Introducing Intel® FPGA AI Suite support which enables real-time, low-latency, and low-power deep learning inference in this easy-to-use package
* Thu Mar 22 12:00:00 2022 OpenVINO Developers <openvino@intel.com> - 2022.1.0-1
* Thu Mar 22 2022 OpenVINO Developers <openvino@intel.com> - 2022.1.0-1
- Implemented OpenVINO 2.0 Runtime API for both C++ and Python
- Introduced IR v11 which is aligned with frameworks model format
@@ -36,11 +36,6 @@ macro(ov_rpm_cpack_set_dirs)
# skipped during rpm packaging
set(OV_CPACK_WHEELSDIR "tools")
# for BW compatibility
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
endmacro()
ov_rpm_cpack_set_dirs()
@@ -125,10 +120,9 @@ macro(ov_rpm_specific_settings)
# group
set(CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
# changelog file
# TODO: fix "error: bad date in %changelog"
# set(CPACK_RPM_CHANGELOG_FILE "${OpenVINO_SOURCE_DIR}/cmake/developer_package/packaging/rpm/changelog")
set(CPACK_RPM_CHANGELOG_FILE "${OpenVINO_SOURCE_DIR}/cmake/developer_package/packaging/rpm/changelog")
# use rpmlint to check packages in post-build step
set(CPACK_POST_BUILD_SCRIPTS "${IEDevScripts_DIR}/packaging/rpm/post_build.cmake")
set(CPACK_POST_BUILD_SCRIPTS "${OpenVINODeveloperScripts_DIR}/packaging/rpm/post_build.cmake")
# enable for debug cpack run
ov_set_if_not_defined(CPACK_RPM_PACKAGE_DEBUG OFF)
+7 -21
View File
@@ -8,7 +8,7 @@ set(PLUGIN_FILES "" CACHE INTERNAL "")
function(ov_plugin_get_file_name target_name library_name)
set(LIB_PREFIX "${CMAKE_SHARED_MODULE_PREFIX}")
set(LIB_SUFFIX "${IE_BUILD_POSTFIX}${CMAKE_SHARED_MODULE_SUFFIX}")
set(LIB_SUFFIX "${OV_BUILD_POSTFIX}${CMAKE_SHARED_MODULE_SUFFIX}")
get_target_property(LIB_NAME ${target_name} OUTPUT_NAME)
if (LIB_NAME STREQUAL "LIB_NAME-NOTFOUND")
@@ -135,9 +135,6 @@ function(ov_add_plugin)
install(TARGETS ${OV_PLUGIN_NAME}
LIBRARY DESTINATION ${OV_CPACK_PLUGINSDIR}
COMPONENT ${install_component})
install(TARGETS ${OV_PLUGIN_NAME}
LIBRARY DESTINATION ${OV_CPACK_PLUGINSDIR}
COMPONENT ${install_component})
else()
ov_install_static_lib(${OV_PLUGIN_NAME} ${OV_CPACK_COMP_CORE})
endif()
@@ -167,10 +164,6 @@ function(ov_add_plugin)
endif()
endfunction()
function(ie_add_plugin)
ov_add_plugin(${ARGN})
endfunction()
#
# ov_register_in_plugins_xml(MAIN_TARGET <main target name>)
#
@@ -203,7 +196,7 @@ macro(ov_register_in_plugins_xml)
-D "OV_CONFIG_OUTPUT_FILE=${config_output_file}"
-D "OV_PLUGIN_NAME=${device_name}"
-D "OV_CONFIGS_DIR=${CMAKE_BINARY_DIR}/plugins"
-P "${IEDevScripts_DIR}/plugins/unregister_plugin_cmake.cmake"
-P "${OpenVINODeveloperScripts_DIR}/plugins/unregister_plugin_cmake.cmake"
COMMENT
"Remove ${device_name} from the plugins.xml file"
VERBATIM)
@@ -232,7 +225,7 @@ macro(ov_register_in_plugins_xml)
-D "OV_DEVICE_NAME=${device_name}"
-D "OV_PLUGIN_PROPERTIES=${${device_name}_CONFIG}"
-D "OV_PLUGIN_LIBRARY_NAME=${library_name}"
-P "${IEDevScripts_DIR}/plugins/create_plugin_file.cmake"
-P "${OpenVINODeveloperScripts_DIR}/plugins/create_plugin_file.cmake"
COMMENT "Register ${device_name} device as ${library_name}"
VERBATIM)
@@ -247,7 +240,7 @@ macro(ov_register_in_plugins_xml)
-D "CMAKE_SHARED_MODULE_PREFIX=${CMAKE_SHARED_MODULE_PREFIX}"
-D "OV_CONFIG_OUTPUT_FILE=${config_output_file}"
-D "OV_CONFIGS_DIR=${CMAKE_BINARY_DIR}/plugins"
-P "${IEDevScripts_DIR}/plugins/register_plugin_cmake.cmake"
-P "${OpenVINODeveloperScripts_DIR}/plugins/register_plugin_cmake.cmake"
COMMENT
"Registering plugins to plugins.xml config file"
VERBATIM)
@@ -262,13 +255,6 @@ macro(ov_register_plugins)
endif()
endmacro()
#
# ie_register_plugins()
#
macro(ie_register_plugins)
ov_register_plugins(${ARGN})
endmacro()
#
# ov_target_link_plugins(<TARGET_NAME>)
#
@@ -346,7 +332,7 @@ function(ov_generate_plugins_hpp)
else()
set(ov_plugins_hpp "${CMAKE_BINARY_DIR}/src/inference/ov_plugins.hpp")
endif()
set(plugins_hpp_in "${IEDevScripts_DIR}/plugins/plugins.hpp.in")
set(plugins_hpp_in "${OpenVINODeveloperScripts_DIR}/plugins/plugins.hpp.in")
add_custom_command(OUTPUT "${ov_plugins_hpp}"
COMMAND
@@ -357,10 +343,10 @@ function(ov_generate_plugins_hpp)
-D "OV_PLUGINS_HPP_HEADER=${ov_plugins_hpp}"
${device_configs}
${as_extension}
-P "${IEDevScripts_DIR}/plugins/create_plugins_hpp.cmake"
-P "${OpenVINODeveloperScripts_DIR}/plugins/create_plugins_hpp.cmake"
DEPENDS
"${plugins_hpp_in}"
"${IEDevScripts_DIR}/plugins/create_plugins_hpp.cmake"
"${OpenVINODeveloperScripts_DIR}/plugins/create_plugins_hpp.cmake"
COMMENT
"Generate ov_plugins.hpp"
VERBATIM)
@@ -7,7 +7,7 @@ if(NOT EXISTS "${OV_CONFIG_OUTPUT_FILE}")
endif()
# remove plugin file
file(REMOVE "${OV_CONFIGS_DIR}/${IE_PLUGIN_NAME}.xml")
file(REMOVE "${OV_CONFIGS_DIR}/${OV_PLUGIN_NAME}.xml")
# remove plugin
set(newContent "")
@@ -15,7 +15,7 @@ file(STRINGS "${OV_CONFIG_OUTPUT_FILE}" content)
set(skip_plugin OFF)
foreach(line IN LISTS content)
if("${line}" MATCHES "name=\"${IE_PLUGIN_NAME}\"")
if("${line}" MATCHES "name=\"${OV_PLUGIN_NAME}\"")
set(skip_plugin ON)
endif()
@@ -9,7 +9,7 @@
# [MESSAGE_MODE <WARNING | FATAL_ERROR | TRACE>])
#
function(ov_check_pip_package)
find_host_package(PythonInterp 3 QUIET)
find_host_package(Python3 QUIET COMPONENTS Interpreter)
set(oneValueOptionalArgs
MESSAGE_MODE # Set the type of message: { FATAL_ERROR | WARNING | ... }
@@ -42,19 +42,21 @@ function(ov_check_pip_package)
# quote '3.x' with \'3.x\'
string(REPLACE "'" "\\'" REQ "${ARG_REQUIREMENT}")
if(PYTHONINTERP_FOUND)
if(Python3_Interpreter_FOUND)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import pkg_resources ; pkg_resources.require('${REQ}')"
COMMAND ${Python3_EXECUTABLE} -c "import pkg_resources ; pkg_resources.require('${REQ}')"
RESULT_VARIABLE EXIT_CODE
OUTPUT_VARIABLE OUTPUT_TEXT
ERROR_VARIABLE ERROR_TEXT)
else()
set(EXIT_CODE 1)
endif()
if(NOT EXIT_CODE EQUAL 0)
if(EXIT_CODE EQUAL 0)
set(${ARG_RESULT_VAR} ON PARENT_SCOPE)
else()
set(${ARG_RESULT_VAR} OFF PARENT_SCOPE)
message(${ARG_MESSAGE_MODE} "Python module '${REQ}' is missed, ${ARG_WARNING_MESSAGE}")
else()
set(${ARG_RESULT_VAR} ON PARENT_SCOPE)
endif()
endfunction()
@@ -65,7 +67,7 @@ endfunction()
# [MESSAGE_MODE <WARNING | FATAL_ERROR | TRACE>])
#
function(ov_check_pip_packages)
find_host_package(PythonInterp 3 QUIET)
find_host_package(Python3 QUIET COMPONENTS Interpreter)
set(oneValueOptionalArgs
MESSAGE_MODE # Set the type of message: { FATAL_ERROR | WARNING | ... }
@@ -95,22 +97,24 @@ function(ov_check_pip_packages)
message(SEND_ERROR "Unexpected parameters have passed to the function: ${ARG_UNPARSED_ARGUMENTS}")
endif()
if(PYTHONINTERP_FOUND)
if(Python3_Interpreter_FOUND)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "
COMMAND ${Python3_EXECUTABLE} -c "
from check_python_requirements import check_python_requirements ;
check_python_requirements('${ARG_REQUIREMENTS_FILE}') ;
"
WORKING_DIRECTORY "${IEDevScripts_DIR}"
WORKING_DIRECTORY "${OpenVINODeveloperScripts_DIR}"
RESULT_VARIABLE EXIT_CODE
OUTPUT_VARIABLE OUTPUT_TEXT
ERROR_VARIABLE ERROR_TEXT)
else()
set(EXIT_CODE 1)
endif()
if(NOT EXIT_CODE EQUAL 0)
if(EXIT_CODE EQUAL 0)
set(${ARG_RESULT_VAR} ON PARENT_SCOPE)
else()
set(${ARG_RESULT_VAR} OFF PARENT_SCOPE)
message(${ARG_MESSAGE_MODE} "Python requirement file ${ARG_REQUIREMENTS_FILE} is not installed, ${ARG_WARNING_MESSAGE}")
else()
set(${ARG_RESULT_VAR} ON PARENT_SCOPE)
endif()
endfunction()
@@ -17,20 +17,20 @@ if(shellcheck_PROGRAM)
endif()
endif()
function(ie_shellcheck_process)
function(ov_shellcheck_process)
if(NOT shellcheck_PROGRAM)
message(WARNING "shellcheck tool is not found")
return()
endif()
cmake_parse_arguments(IE_SHELLCHECK "" "DIRECTORY" "SKIP" ${ARGN})
cmake_parse_arguments(SHELLCHECK "" "DIRECTORY" "SKIP" ${ARGN})
set(IE_SHELLCHECK_SCRIPT "${IEDevScripts_DIR}/shellcheck/shellcheck_process.cmake")
file(GLOB_RECURSE scripts "${IE_SHELLCHECK_DIRECTORY}/*.sh")
set(SHELLCHECK_SCRIPT "${OpenVINODeveloperScripts_DIR}/shellcheck/shellcheck_process.cmake")
file(GLOB_RECURSE scripts "${SHELLCHECK_DIRECTORY}/*.sh")
foreach(script IN LISTS scripts)
# check if we need to skip scripts
unset(skip_script)
foreach(skip_directory IN LISTS IE_SHELLCHECK_SKIP)
foreach(skip_directory IN LISTS SHELLCHECK_SKIP)
if(script MATCHES "${skip_directory}/*")
set(skip_script ON)
endif()
@@ -39,21 +39,21 @@ function(ie_shellcheck_process)
continue()
endif()
string(REPLACE "${IE_SHELLCHECK_DIRECTORY}" "${CMAKE_BINARY_DIR}/shellcheck" output_file ${script})
string(REPLACE "${SHELLCHECK_DIRECTORY}" "${CMAKE_BINARY_DIR}/shellcheck" output_file ${script})
set(output_file "${output_file}.txt")
get_filename_component(script_name "${script}" NAME)
add_custom_command(OUTPUT ${output_file}
COMMAND ${CMAKE_COMMAND}
-D IE_SHELLCHECK_PROGRAM=${shellcheck_PROGRAM}
-D IE_SHELL_SCRIPT=${script}
-D IE_SHELLCHECK_OUTPUT=${output_file}
-P ${IE_SHELLCHECK_SCRIPT}
DEPENDS ${script} ${IE_SHELLCHECK_SCRIPT}
-D SHELLCHECK_PROGRAM=${shellcheck_PROGRAM}
-D SHELL_SCRIPT=${script}
-D SHELLCHECK_OUTPUT=${output_file}
-P ${SHELLCHECK_SCRIPT}
DEPENDS ${script} ${SHELLCHECK_SCRIPT}
COMMENT "Check script ${script_name}"
VERBATIM)
list(APPEND outputs ${output_file})
endforeach()
add_custom_target(ie_shellcheck DEPENDS ${outputs})
add_custom_target(ov_shellcheck DEPENDS ${outputs})
endfunction()
@@ -2,25 +2,19 @@
# SPDX-License-Identifier: Apache-2.0
#
if(NOT DEFINED IE_SHELLCHECK_PROGRAM)
message(FATAL_ERROR "IE_SHELLCHECK_PROGRAM is not defined")
endif()
if(NOT DEFINED IE_SHELL_SCRIPT)
message(FATAL_ERROR "IE_SHELL_SCRIPT is not defined")
endif()
if(NOT DEFINED IE_SHELLCHECK_OUTPUT)
message(FATAL_ERROR "IE_SHELLCHECK_OUTPUT is not defined")
endif()
foreach(var SHELLCHECK_PROGRAM SHELL_SCRIPT SHELLCHECK_OUTPUT)
if(NOT DEFINED ${var})
message(FATAL_ERROR "${var} is not defined")
endif()
endforeach()
set(rules "SC1091,SC2164,SC2162,SC1090")
execute_process(COMMAND ${IE_SHELLCHECK_PROGRAM} --exclude=${rules} ${IE_SHELL_SCRIPT}
execute_process(COMMAND ${SHELLCHECK_PROGRAM} --exclude=${rules} ${SHELL_SCRIPT}
OUTPUT_VARIABLE error_message
RESULT_VARIABLE exit_code
OUTPUT_STRIP_TRAILING_WHITESPACE)
file(WRITE "${IE_SHELLCHECK_OUTPUT}" "${error_message}")
file(WRITE "${SHELLCHECK_OUTPUT}" "${error_message}")
if(NOT exit_code EQUAL 0)
message(FATAL_ERROR "${error_message}")
+7 -5
View File
@@ -14,13 +14,13 @@
# Path to IE own version of TBBConfig.cmake old TBB version without cmake config.
if(APPLE)
set(IE_OWN_TBB_CONFIG tbb/mac)
set(_OV_OWN_TBB_CONFIG tbb/mac)
elseif(UNIX)
set(IE_OWN_TBB_CONFIG tbb/lnx)
set(_OV_OWN_TBB_CONFIG tbb/lnx)
elseif(WIN)
set(IE_OWN_TBB_CONFIG tbb/win)
set(_OV_OWN_TBB_CONFIG tbb/win)
else()
unset(IE_OWN_TBB_CONFIG)
unset(_OV_OWN_TBB_CONFIG)
endif()
unset(TBB_DIR)
@@ -29,8 +29,10 @@ unset(TBB_DIR CACHE)
find_package(TBB
2017.0
CONFIG
PATHS "${IEDevScripts_DIR}/${IE_OWN_TBB_CONFIG}"
PATHS "${OpenVINODeveloperScripts_DIR}/${_OV_OWN_TBB_CONFIG}"
NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH)
find_package_handle_standard_args(TBB CONFIG_MODE)
unset(_OV_OWN_TBB_CONFIG)
+55 -74
View File
@@ -4,50 +4,63 @@
find_package(Git QUIET)
function (branchName VAR)
if(NOT DEFINED repo_root)
message(FATAL_ERROR "repo_root is not defined")
endif()
function(ov_branch_name VAR REPO_ROOT)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY ${repo_root}
WORKING_DIRECTORY ${REPO_ROOT}
OUTPUT_VARIABLE GIT_BRANCH
RESULT_VARIABLE EXIT_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE)
set (${VAR} ${GIT_BRANCH} PARENT_SCOPE)
if(EXIT_CODE EQUAL 0)
set(${VAR} ${GIT_BRANCH} PARENT_SCOPE)
endif()
endif()
endfunction()
function (commitHash VAR)
if(NOT DEFINED repo_root)
message(FATAL_ERROR "repo_root is not defined")
endif()
function(ov_commit_hash VAR REPO_ROOT)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short=11 HEAD
WORKING_DIRECTORY ${repo_root}
WORKING_DIRECTORY ${REPO_ROOT}
OUTPUT_VARIABLE GIT_COMMIT_HASH
RESULT_VARIABLE EXIT_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE)
set (${VAR} ${GIT_COMMIT_HASH} PARENT_SCOPE)
if(EXIT_CODE EQUAL 0)
set(${VAR} ${GIT_COMMIT_HASH} PARENT_SCOPE)
endif()
endif()
endfunction()
function (commitNumber VAR)
if(NOT DEFINED repo_root)
message(FATAL_ERROR "repo_root is not defined")
endif()
function(ov_commit_number VAR REPO_ROOT)
set(GIT_COMMIT_NUMBER_FOUND OFF)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-list --count --first-parent HEAD
WORKING_DIRECTORY ${repo_root}
WORKING_DIRECTORY ${REPO_ROOT}
OUTPUT_VARIABLE GIT_COMMIT_NUMBER
RESULT_VARIABLE EXIT_CODE
OUTPUT_STRIP_TRAILING_WHITESPACE)
set (${VAR} ${GIT_COMMIT_NUMBER} PARENT_SCOPE)
if(EXIT_CODE EQUAL 0)
set(GIT_COMMIT_NUMBER_FOUND ON)
set(${VAR} ${GIT_COMMIT_NUMBER} PARENT_SCOPE)
endif()
endif()
if(NOT GIT_COMMIT_NUMBER_FOUND)
# set zeros since git is not available
set(${VAR} "000" PARENT_SCOPE)
endif()
endfunction()
macro(ov_parse_ci_build_number)
set(OpenVINO_VERSION_BUILD 000)
macro(ov_parse_ci_build_number repo_root)
# provides OpenVINO version
# 1. If CI_BUILD_NUMBER is defined, parses this information
# 2. Otherwise, either:
# - parses openvino/core/version.hpp
# - takes from OpenVINOConfig-version.cmake in case of relocatable Developer package
if (DEFINED ENV{CI_BUILD_NUMBER})
set(CI_BUILD_NUMBER $ENV{CI_BUILD_NUMBER})
endif()
if(CI_BUILD_NUMBER MATCHES "^([0-9]+)\.([0-9]+)\.([0-9]+)\-([0-9]+)\-.*")
set(OpenVINO_VERSION_MAJOR ${CMAKE_MATCH_1})
@@ -63,12 +76,9 @@ macro(ov_parse_ci_build_number)
message(FATAL_ERROR "Failed to parse CI_BUILD_NUMBER which is ${CI_BUILD_NUMBER}")
endif()
if(NOT DEFINED repo_root)
message(FATAL_ERROR "repo_root is not defined")
endif()
macro(ov_get_hpp_version)
function(ov_compare_version_with_headers)
if(NOT DEFINED OpenVINO_SOURCE_DIR)
# if we are not in OpenVINO source tree, let's ignore this comparison
return()
endif()
@@ -101,30 +111,29 @@ macro(ov_parse_ci_build_number)
endif()
endforeach()
# detect commit number
commitNumber(OpenVINO_VERSION_BUILD_HPP)
if(OpenVINO_VERSION_BUILD STREQUAL "000" AND DEFINED OpenVINO_VERSION_BUILD_HPP)
set(OpenVINO_VERSION_BUILD "${OpenVINO_VERSION_BUILD_HPP}")
else()
set(OpenVINO_VERSION_BUILD_HPP "${OpenVINO_VERSION_BUILD}")
endif()
set(ov_hpp_version_is_found ON)
endmacro()
# detect OpenVINO version via openvino/core/version.hpp and ie_version.hpp
ov_get_hpp_version()
if(ov_hpp_version_is_found)
foreach(var OpenVINO_VERSION_MAJOR OpenVINO_VERSION_MINOR OpenVINO_VERSION_PATCH OpenVINO_VERSION_BUILD)
foreach(var OpenVINO_VERSION_MAJOR OpenVINO_VERSION_MINOR OpenVINO_VERSION_PATCH)
if(DEFINED ${var} AND NOT ${var} EQUAL ${var}_HPP)
message(FATAL_ERROR "${var} parsed from CI_BUILD_NUMBER (${${var}}) \
and from openvino/core/version.hpp (${${var}_HPP}) are different")
else()
# CI_BUILD_NUMBER is not defined well, take info from openvino/core/version.hpp as a baseline
set(${var} ${${var}_HPP})
set(${var} ${${var}_HPP} PARENT_SCOPE)
endif()
endforeach()
endfunction()
# detect OpenVINO version via openvino/core/version.hpp and ie_version.hpp
ov_compare_version_with_headers()
# detect commit number
ov_commit_number(OpenVINO_VERSION_BUILD_FROM_GIT "${repo_root}")
if(OpenVINO_VERSION_BUILD AND NOT OpenVINO_VERSION_BUILD STREQUAL OpenVINO_VERSION_BUILD_FROM_GIT)
# TODO: replace with FATAL_ERROR once NPU version will be discussed
message(WARNING "OpenVINO_VERSION_BUILD parsed from CI_BUILD_NUMBER (${OpenVINO_VERSION_BUILD}) \
and determined by git (${OpenVINO_VERSION_BUILD_FROM_GIT}) are different")
else()
set(OpenVINO_VERSION_BUILD "${OpenVINO_VERSION_BUILD_FROM_GIT}")
endif()
set(OpenVINO_SOVERSION "${OpenVINO_VERSION_MAJOR}${OpenVINO_VERSION_MINOR}${OpenVINO_VERSION_PATCH}")
@@ -140,10 +149,10 @@ macro(ov_parse_ci_build_number)
if(NOT the_whole_version_is_defined_by_ci)
# create CI_BUILD_NUMBER
branchName(GIT_BRANCH)
commitHash(GIT_COMMIT_HASH)
ov_branch_name(GIT_BRANCH "${repo_root}")
ov_commit_hash(GIT_COMMIT_HASH "${repo_root}")
if(NOT GIT_BRANCH STREQUAL "master")
if(NOT GIT_BRANCH MATCHES "^(master|HEAD)$")
set(GIT_BRANCH_POSTFIX "-${GIT_BRANCH}")
endif()
@@ -157,34 +166,6 @@ macro(ov_parse_ci_build_number)
endif()
endmacro()
# provides OpenVINO version
# 1. If CI_BUILD_NUMBER is defined, parses this information
# 2. Otherwise, parses openvino/core/version.hpp
if (DEFINED ENV{CI_BUILD_NUMBER})
set(CI_BUILD_NUMBER $ENV{CI_BUILD_NUMBER})
endif()
ov_parse_ci_build_number()
macro (addVersionDefines FILE)
set(__version_file ${FILE})
if(NOT IS_ABSOLUTE ${__version_file})
set(__version_file "${CMAKE_CURRENT_SOURCE_DIR}/${__version_file}")
endif()
if(NOT EXISTS ${__version_file})
message(FATAL_ERROR "${FILE} does not exists in current source directory")
endif()
foreach (VAR ${ARGN})
if (DEFINED ${VAR} AND NOT "${${VAR}}" STREQUAL "")
set_property(
SOURCE ${__version_file}
APPEND
PROPERTY COMPILE_DEFINITIONS
${VAR}="${${VAR}}")
endif()
endforeach()
unset(__version_file)
endmacro()
macro (ov_add_version_defines FILE TARGET)
set(__version_file ${FILE})
if(NOT IS_ABSOLUTE ${__version_file})
@@ -218,7 +199,7 @@ macro (ov_add_version_defines FILE TARGET)
$<TARGET_PROPERTY:${TARGET},INTERFACE_COMPILE_OPTIONS>
$<TARGET_PROPERTY:${TARGET},COMPILE_OPTIONS>)
set_target_properties(${TARGET}_version
PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE
PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE
$<TARGET_PROPERTY:${TARGET},INTERPROCEDURAL_OPTIMIZATION_RELEASE>)
target_sources(${TARGET} PRIVATE $<TARGET_OBJECTS:${TARGET}_version>)
@@ -73,7 +73,7 @@ function(ov_add_vs_version_file)
set(OV_VS_VER_INTERNALNAME_STR ${VS_VER_NAME})
set(vs_version_output "${CMAKE_CURRENT_BINARY_DIR}/vs_version.rc")
configure_file("${IEDevScripts_DIR}/vs_version/vs_version.rc.in" "${vs_version_output}" @ONLY)
configure_file("${OpenVINODeveloperScripts_DIR}/vs_version/vs_version.rc.in" "${vs_version_output}" @ONLY)
source_group("src" FILES ${vs_version_output})
target_sources(${VS_VER_NAME} PRIVATE ${vs_version_output})
+4 -5
View File
@@ -5,15 +5,14 @@
#[[
function links static library without removing any symbol from it.
ieTargetLinkWholeArchive(<target name> <lib1> [<lib2> ...])
ov_target_link_whole_archive(<target name> <lib1> [<lib2> ...])
Example:
ieTargetLinkWholeArchive("FunctionalTests" "CommonLib" "AnotherLib")
ov_target_link_whole_archive("FunctionalTests" "CommonLib" "AnotherLib")
#]]
function(ieTargetLinkWholeArchive targetName)
set(libs)
foreach(staticLib ${ARGN})
function(ov_target_link_whole_archive targetName)
foreach(staticLib IN LISTS ARGN)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# CMake does not support generator expression in LINK_FLAGS, so we workaround it a little bit:
# passing same static library as normal link (to get build deps working, and includes too), than using WHOLEARCHIVE option
+83 -69
View File
@@ -2,41 +2,6 @@
# SPDX-License-Identifier: Apache-2.0
#
function(ie_generate_dev_package_config)
# dummy check that OpenCV is here
find_package(OpenCV QUIET)
if(OpenCV_VERSION VERSION_LESS 3.0)
set(OpenCV_FOUND OFF)
endif()
foreach(component IN LISTS openvino_export_components)
# export all targets with prefix and use them during extra modules build
export(TARGETS ${${component}} NAMESPACE IE::
APPEND FILE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake")
list(APPEND all_dev_targets ${${component}})
endforeach()
add_custom_target(ie_dev_targets DEPENDS ${all_dev_targets})
set(PATH_VARS "OpenVINO_SOURCE_DIR")
if(ENABLE_SAMPLES OR ENABLE_TESTS)
list(APPEND PATH_VARS "gflags_BINARY_DIR")
# if we've found system gflags
if(gflags_DIR)
set(gflags_BINARY_DIR "${gflags_DIR}")
endif()
endif()
configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/InferenceEngineDeveloperPackageConfig.cmake.in"
"${CMAKE_BINARY_DIR}/InferenceEngineDeveloperPackageConfig.cmake"
INSTALL_DESTINATION share # not used
PATH_VARS ${PATH_VARS}
NO_CHECK_REQUIRED_COMPONENTS_MACRO)
configure_file("${OpenVINO_SOURCE_DIR}/cmake/templates/InferenceEngineConfig-version.cmake.in"
"${CMAKE_BINARY_DIR}/InferenceEngineDeveloperPackageConfig-version.cmake"
@ONLY)
endfunction()
function(ov_generate_dev_package_config)
# dummy check that OpenCV is here
find_package(OpenCV QUIET)
@@ -44,20 +9,20 @@ function(ov_generate_dev_package_config)
set(OpenCV_FOUND OFF)
endif()
foreach(component IN LISTS openvino_export_components)
# filter out targets which are installed by OpenVINOConfig.cmake static build case
set(exported_targets)
foreach(target IN LISTS ${component})
if(NOT target IN_LIST openvino_installed_targets)
list(APPEND exported_targets ${target})
endif()
endforeach()
# export all developer targets with prefix and use them during extra modules build
export(TARGETS ${exported_targets} NAMESPACE openvino::
APPEND FILE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake")
list(APPEND all_dev_targets ${${component}})
endforeach()
add_custom_target(ov_dev_targets DEPENDS ${all_dev_targets})
# create a helper target to build all developer package targets
add_custom_target(ov_dev_targets DEPENDS ${_OPENVINO_DEVELOPER_PACKAGE_TARGETS})
# filter out targets which are installed by OpenVINOConfig.cmake static build case
if(openvino_installed_targets)
list(REMOVE_ITEM _OPENVINO_DEVELOPER_PACKAGE_TARGETS ${openvino_installed_targets})
endif()
# export all developer targets with prefix and use them during extra modules build
export(TARGETS ${_OPENVINO_DEVELOPER_PACKAGE_TARGETS} NAMESPACE openvino::
APPEND FILE "${CMAKE_BINARY_DIR}/openvino_developer_package_targets.cmake")
#
# OpenVINODeveloperPackageConfig.cmake for build tree
#
set(PATH_VARS "OpenVINO_SOURCE_DIR")
if(ENABLE_SAMPLES OR ENABLE_TESTS)
@@ -77,38 +42,91 @@ function(ov_generate_dev_package_config)
configure_file("${OpenVINO_SOURCE_DIR}/cmake/templates/OpenVINOConfig-version.cmake.in"
"${CMAKE_BINARY_DIR}/OpenVINODeveloperPackageConfig-version.cmake"
@ONLY)
#
# OpenVINODeveloperPackageConfig.cmake for installation tree
#
set(DEV_PACKAGE_ROOT_DIR developer_package)
set(DEV_PACKAGE_CMAKE_DIR ${DEV_PACKAGE_ROOT_DIR}/cmake)
set(DEVELOPER_PACKAGE_COMPONENT developer_package)
set(DEVELOPER_PACKAGE_EXPORT_SET OpenVINODeveloperTargets)
# create and install main developer package config files
configure_package_config_file("${OpenVINO_SOURCE_DIR}/cmake/templates/OpenVINODeveloperPackageConfigRelocatable.cmake.in"
"${OpenVINO_BINARY_DIR}/share/OpenVINODeveloperPackageConfig.cmake"
INSTALL_DESTINATION ${DEV_PACKAGE_CMAKE_DIR}
NO_CHECK_REQUIRED_COMPONENTS_MACRO)
configure_file("${OpenVINO_SOURCE_DIR}/cmake/templates/OpenVINOConfig-version.cmake.in"
"${OpenVINO_BINARY_DIR}/share/OpenVINODeveloperPackageConfig-version.cmake"
@ONLY)
install(FILES "${OpenVINO_BINARY_DIR}/share/OpenVINODeveloperPackageConfig.cmake"
"${OpenVINO_BINARY_DIR}/share/OpenVINODeveloperPackageConfig-version.cmake"
DESTINATION ${DEV_PACKAGE_CMAKE_DIR}
COMPONENT ${DEVELOPER_PACKAGE_COMPONENT}
EXCLUDE_FROM_ALL)
# Install whole 'cmake/developer_package' folder
install(DIRECTORY "${OpenVINODeveloperScripts_DIR}/"
DESTINATION "${DEV_PACKAGE_CMAKE_DIR}"
COMPONENT ${DEVELOPER_PACKAGE_COMPONENT}
EXCLUDE_FROM_ALL)
# Install CMakeLists.txt to read cache variables from
install(FILES "${OpenVINO_BINARY_DIR}/CMakeCache.txt"
DESTINATION ${DEV_PACKAGE_CMAKE_DIR}
COMPONENT ${DEVELOPER_PACKAGE_COMPONENT}
EXCLUDE_FROM_ALL)
# install developer package targets
install(TARGETS ${_OPENVINO_DEVELOPER_PACKAGE_TARGETS} EXPORT ${DEVELOPER_PACKAGE_EXPORT_SET}
RUNTIME DESTINATION ${DEV_PACKAGE_ROOT_DIR}/bin COMPONENT ${DEVELOPER_PACKAGE_COMPONENT} EXCLUDE_FROM_ALL
ARCHIVE DESTINATION ${DEV_PACKAGE_ROOT_DIR}/lib COMPONENT ${DEVELOPER_PACKAGE_COMPONENT} EXCLUDE_FROM_ALL
LIBRARY DESTINATION ${DEV_PACKAGE_ROOT_DIR}/lib COMPONENT ${DEVELOPER_PACKAGE_COMPONENT} EXCLUDE_FROM_ALL)
install(EXPORT ${DEVELOPER_PACKAGE_EXPORT_SET}
FILE OpenVINODeveloperPackageTargets.cmake
NAMESPACE openvino::
DESTINATION ${DEV_PACKAGE_ROOT_DIR}/cmake
COMPONENT ${DEVELOPER_PACKAGE_COMPONENT}
EXCLUDE_FROM_ALL)
# Note: that OpenCV and gflags are explicitly not installed to simplify relocatable
# OpenVINO Developer package maintainance. OpenVINO_SOURCE_DIR is also unvailable, because
# relocatable developer package can be used on a different machine where OpenVINO repo is not available
endfunction()
#
# Add extra modules
#
function(register_extra_modules)
function(_ov_register_extra_modules)
set(InferenceEngineDeveloperPackage_DIR "${CMAKE_CURRENT_BINARY_DIR}/build-modules")
set(OpenVINODeveloperPackage_DIR "${CMAKE_BINARY_DIR}/build-modules")
set(OpenVINO_DIR "${CMAKE_BINARY_DIR}")
function(generate_fake_dev_package NS)
function(_ov_generate_fake_developer_package NS)
if(NS STREQUAL "openvino")
set(devconfig_file "${OpenVINODeveloperPackage_DIR}/OpenVINODeveloperPackageConfig.cmake")
else()
set(devconfig_file "${InferenceEngineDeveloperPackage_DIR}/InferenceEngineDeveloperPackageConfig.cmake")
endif()
file(REMOVE "${devconfig_file}")
file(REMOVE "${devconfig_file}")
file(WRITE "${devconfig_file}" "\# !! AUTOGENERATED: DON'T EDIT !!\n\n")
foreach(targets_list IN LISTS ${openvino_export_components})
foreach(target IN LISTS targets_list)
file(APPEND "${devconfig_file}" "if(NOT TARGET ${NS}::${target})
add_library(${NS}::${target} ALIAS ${target})
foreach(exported_target IN LISTS _OPENVINO_DEVELOPER_PACKAGE_TARGETS)
file(APPEND "${devconfig_file}" "if(NOT TARGET ${NS}::${exported_target})
add_library(${NS}::${exported_target} ALIAS ${exported_target})
endif()\n")
endforeach()
endforeach()
endfunction()
generate_fake_dev_package("openvino")
generate_fake_dev_package("IE")
_ov_generate_fake_developer_package("openvino")
# TODO: remove with API 1.0 removal
_ov_generate_fake_developer_package("IE")
# detect where OPENVINO_EXTRA_MODULES contains folders with CMakeLists.txt
# other folders are supposed to have sub-folders with CMakeLists.txt
@@ -155,21 +173,17 @@ endfunction()
# Extra modules support
#
# this InferenceEngineDeveloperPackageConfig.cmake is not used
# during extra modules build since it's generated after modules
# are configured
ie_generate_dev_package_config()
# this OpenVINODeveloperPackageConfig.cmake is not used during extra modules build
# since it's generated after modules are configured
ov_generate_dev_package_config()
# extra modules must be registered after inference_engine library
# and all other OpenVINO Core libraries are creared
# because 'register_extra_modules' creates fake InferenceEngineDeveloperPackageConfig.cmake
# because '_ov_register_extra_modules' creates fake InferenceEngineDeveloperPackageConfig.cmake
# with all imported developer targets
register_extra_modules()
_ov_register_extra_modules()
# for static libraries case we need to generate final ov_plugins.hpp
# with all the information about plugins
# we need to generate final ov_plugins.hpp with all the information about plugins
ov_generate_plugins_hpp()
# used for static build
# we need to generate final ov_frontends.hpp with all the information about frontends
ov_generate_frontends_hpp()
+84 -73
View File
@@ -5,15 +5,26 @@
#
# Common cmake options
#
ov_option (ENABLE_PROXY "Proxy plugin for OpenVINO Runtime" ON)
ie_dependent_option (ENABLE_INTEL_CPU "CPU plugin for OpenVINO Runtime" ON "RISCV64 OR X86 OR X86_64 OR AARCH64 OR ARM" OFF)
if(WIN32 AND AARCH64 AND OV_COMPILER_IS_CLANG)
set(ENABLE_INTEL_CPU_DEFAULT OFF)
else()
set(ENABLE_INTEL_CPU_DEFAULT ON)
endif()
ie_dependent_option (ENABLE_ARM_COMPUTE_CMAKE "Enable ARM Compute build via cmake" OFF "ENABLE_INTEL_CPU" OFF)
ov_dependent_option (ENABLE_INTEL_CPU "CPU plugin for OpenVINO Runtime" ${ENABLE_INTEL_CPU_DEFAULT}
"RISCV64 OR X86 OR X86_64 OR AARCH64 OR ARM" OFF)
ie_option (ENABLE_TESTS "unit, behavior and functional tests" OFF)
ov_dependent_option (ENABLE_ARM_COMPUTE_CMAKE "Enable ARM Compute build via cmake" OFF "ENABLE_INTEL_CPU" OFF)
ie_option (ENABLE_STRICT_DEPENDENCIES "Skip configuring \"convinient\" dependencies for efficient parallel builds" ON)
ov_option (ENABLE_TESTS "unit, behavior and functional tests" OFF)
if(ENABLE_TESTS)
include(CTest)
enable_testing()
endif()
if(X86_64)
set(ENABLE_INTEL_GPU_DEFAULT ON)
@@ -21,7 +32,7 @@ else()
set(ENABLE_INTEL_GPU_DEFAULT OFF)
endif()
ie_dependent_option (ENABLE_INTEL_GPU "GPU OpenCL-based plugin for OpenVINO Runtime" ${ENABLE_INTEL_GPU_DEFAULT} "X86_64 OR AARCH64;NOT APPLE;NOT WINDOWS_STORE;NOT WINDOWS_PHONE" OFF)
ov_dependent_option (ENABLE_INTEL_GPU "GPU OpenCL-based plugin for OpenVINO Runtime" ${ENABLE_INTEL_GPU_DEFAULT} "X86_64 OR AARCH64;NOT APPLE;NOT WINDOWS_STORE;NOT WINDOWS_PHONE" OFF)
if (ANDROID OR MINGW OR (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) OR (NOT BUILD_SHARED_LIBS AND ENABLE_INTEL_CPU))
# oneDNN doesn't support old compilers and android builds for now, so we'll build GPU plugin without oneDNN
@@ -31,49 +42,54 @@ else()
set(ENABLE_ONEDNN_FOR_GPU_DEFAULT ON)
endif()
ie_dependent_option (ENABLE_ONEDNN_FOR_GPU "Enable oneDNN with GPU support" ${ENABLE_ONEDNN_FOR_GPU_DEFAULT} "ENABLE_INTEL_GPU" OFF)
ov_dependent_option (ENABLE_ONEDNN_FOR_GPU "Enable oneDNN with GPU support" ${ENABLE_ONEDNN_FOR_GPU_DEFAULT} "ENABLE_INTEL_GPU" OFF)
ie_option (ENABLE_DEBUG_CAPS "enable OpenVINO debug capabilities at runtime" OFF)
ie_dependent_option (ENABLE_GPU_DEBUG_CAPS "enable GPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS;ENABLE_INTEL_GPU" OFF)
ie_dependent_option (ENABLE_CPU_DEBUG_CAPS "enable CPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS;ENABLE_INTEL_CPU" OFF)
ov_option (ENABLE_DEBUG_CAPS "enable OpenVINO debug capabilities at runtime" OFF)
ov_dependent_option (ENABLE_GPU_DEBUG_CAPS "enable GPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS;ENABLE_INTEL_GPU" OFF)
ov_dependent_option (ENABLE_CPU_DEBUG_CAPS "enable CPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS;ENABLE_INTEL_CPU" OFF)
ie_option (ENABLE_PROFILING_ITT "Build with ITT tracing. Optionally configure pre-built ittnotify library though INTEL_VTUNE_DIR variable." OFF)
ov_option (ENABLE_PROFILING_ITT "Build with ITT tracing. Optionally configure pre-built ittnotify library though INTEL_VTUNE_DIR variable." OFF)
ie_option_enum(ENABLE_PROFILING_FILTER "Enable or disable ITT counter groups.\
ov_option_enum(ENABLE_PROFILING_FILTER "Enable or disable ITT counter groups.\
Supported values:\
ALL - enable all ITT counters (default value)\
FIRST_INFERENCE - enable only first inference time counters" ALL
ALLOWED_VALUES ALL FIRST_INFERENCE)
ie_option (ENABLE_PROFILING_FIRST_INFERENCE "Build with ITT tracing of first inference time." ON)
ov_option (ENABLE_PROFILING_FIRST_INFERENCE "Build with ITT tracing of first inference time." ON)
ie_option_enum(SELECTIVE_BUILD "Enable OpenVINO conditional compilation or statistics collection. \
ov_option_enum(SELECTIVE_BUILD "Enable OpenVINO conditional compilation or statistics collection. \
In case SELECTIVE_BUILD is enabled, the SELECTIVE_BUILD_STAT variable should contain the path to the collected IntelSEAPI statistics. \
Usage: -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=/path/*.csv" OFF
ALLOWED_VALUES ON OFF COLLECT)
ie_option (ENABLE_DOCS "Build docs using Doxygen" OFF)
ov_option (ENABLE_DOCS "Build docs using Doxygen" OFF)
if(NOT ANDROID)
# on Android build FindPkgConfig.cmake finds host system pkg-config, which is not appropriate
find_package(PkgConfig QUIET)
endif()
ie_dependent_option (ENABLE_PKGCONFIG_GEN "Enable openvino.pc pkg-config file generation" ON "LINUX OR APPLE;PkgConfig_FOUND;BUILD_SHARED_LIBS" OFF)
find_package(PkgConfig QUIET)
ov_dependent_option (ENABLE_PKGCONFIG_GEN "Enable openvino.pc pkg-config file generation" ON "LINUX OR APPLE;PkgConfig_FOUND;BUILD_SHARED_LIBS" OFF)
#
# OpenVINO Runtime specific options
#
# "OneDNN library based on OMP or TBB or Sequential implementation: TBB|OMP|SEQ"
set(THREADING "TBB" CACHE STRING "Threading")
set_property(CACHE THREADING PROPERTY STRINGS "TBB" "TBB_AUTO" "OMP" "SEQ")
list (APPEND IE_OPTIONS THREADING)
if (NOT THREADING STREQUAL "TBB" AND
NOT THREADING STREQUAL "TBB_AUTO" AND
NOT THREADING STREQUAL "OMP" AND
NOT THREADING STREQUAL "SEQ")
message(FATAL_ERROR "THREADING should be set to TBB (default), TBB_AUTO, OMP or SEQ")
if(RISCV64)
# oneDNN does not support non-SEQ for RISC-V architecture
set(THREADING_DEFAULT "SEQ")
else()
set(THREADING_DEFAULT "TBB")
endif()
set(THREADING_OPTIONS "TBB" "TBB_AUTO" "SEQ")
if(NOT APPLE)
list(APPEND THREADING_OPTIONS "OMP")
endif()
set(THREADING "${THREADING_DEFAULT}" CACHE STRING "Threading")
set_property(CACHE THREADING PROPERTY STRINGS ${THREADING_OPTIONS})
list (APPEND OV_OPTIONS THREADING)
if(NOT THREADING IN_LIST THREADING_OPTIONS)
message(FATAL_ERROR "THREADING should be set to either ${THREADING_OPTIONS}")
endif()
if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND
@@ -83,45 +99,51 @@ else()
set(ENABLE_TBBBIND_2_5_DEFAULT OFF)
endif()
ie_dependent_option (ENABLE_TBBBIND_2_5 "Enable TBBBind_2_5 static usage in OpenVINO runtime" ${ENABLE_TBBBIND_2_5_DEFAULT} "THREADING MATCHES TBB; NOT APPLE" OFF)
ie_dependent_option (ENABLE_TBB_RELEASE_ONLY "Only Release TBB libraries are linked to the OpenVINO Runtime binaries" ON "THREADING MATCHES TBB;LINUX" OFF)
ov_dependent_option (ENABLE_TBBBIND_2_5 "Enable TBBBind_2_5 static usage in OpenVINO runtime" ${ENABLE_TBBBIND_2_5_DEFAULT} "THREADING MATCHES TBB; NOT APPLE" OFF)
ov_dependent_option (ENABLE_TBB_RELEASE_ONLY "Only Release TBB libraries are linked to the OpenVINO Runtime binaries" ON "THREADING MATCHES TBB;LINUX" OFF)
ie_dependent_option (ENABLE_INTEL_GNA "GNA support for OpenVINO Runtime" ON
ov_dependent_option (ENABLE_INTEL_GNA "GNA support for OpenVINO Runtime" ON
"NOT APPLE;NOT ANDROID;X86_64;CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.4" OFF)
ie_dependent_option (ENABLE_INTEL_GNA_DEBUG "GNA debug build" OFF "ENABLE_INTEL_GNA" OFF)
ie_dependent_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF "ENABLE_INTEL_GNA" OFF)
ie_dependent_option (ENABLE_IR_V7_READER "Enables IR v7 reader" ${BUILD_SHARED_LIBS} "ENABLE_TESTS;ENABLE_INTEL_GNA" OFF)
ov_dependent_option (ENABLE_INTEL_GNA_DEBUG "GNA debug build" OFF "ENABLE_INTEL_GNA" OFF)
ov_dependent_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF "ENABLE_INTEL_GNA" OFF)
ov_dependent_option (ENABLE_IR_V7_READER "Enables IR v7 reader" ${BUILD_SHARED_LIBS} "ENABLE_TESTS;ENABLE_INTEL_GNA" OFF)
ie_dependent_option (ENABLE_GAPI_PREPROCESSING "Enables G-API preprocessing" ON "NOT MINGW64" OFF)
ov_dependent_option (ENABLE_GAPI_PREPROCESSING "Enables G-API preprocessing" ON "NOT MINGW64" OFF)
ie_option (ENABLE_MULTI "Enables MULTI Device Plugin" ON)
ie_option (ENABLE_AUTO "Enables AUTO Device Plugin" ON)
ie_option (ENABLE_AUTO_BATCH "Enables Auto-Batching Plugin" ON)
ie_option (ENABLE_HETERO "Enables Hetero Device Plugin" ON)
ie_option (ENABLE_TEMPLATE "Enable template plugin" ON)
ov_option (ENABLE_MULTI "Enables MULTI Device Plugin" ON)
ov_option (ENABLE_AUTO "Enables AUTO Device Plugin" ON)
ov_option (ENABLE_AUTO_BATCH "Enables Auto-Batching Plugin" ON)
ov_option (ENABLE_HETERO "Enables Hetero Device Plugin" ON)
ov_option (ENABLE_TEMPLATE "Enable template plugin" ON)
ie_dependent_option (ENABLE_PLUGINS_XML "Generate plugins.xml configuration file or not" OFF "BUILD_SHARED_LIBS" OFF)
ov_dependent_option (ENABLE_PLUGINS_XML "Generate plugins.xml configuration file or not" OFF "BUILD_SHARED_LIBS" OFF)
ie_dependent_option (GAPI_TEST_PERF "if GAPI unit tests should examine performance" OFF "ENABLE_TESTS;ENABLE_GAPI_PREPROCESSING" OFF)
ov_dependent_option (GAPI_TEST_PERF "if GAPI unit tests should examine performance" OFF "ENABLE_TESTS;ENABLE_GAPI_PREPROCESSING" OFF)
ie_dependent_option (ENABLE_FUNCTIONAL_TESTS "functional tests" ON "ENABLE_TESTS" OFF)
ov_dependent_option (ENABLE_FUNCTIONAL_TESTS "functional tests" ON "ENABLE_TESTS" OFF)
ie_option (ENABLE_SAMPLES "console samples are part of OpenVINO Runtime package" ON)
ov_option (ENABLE_SAMPLES "console samples are part of OpenVINO Runtime package" ON)
set(OPENVINO_EXTRA_MODULES "" CACHE STRING "Extra paths for extra modules to include into OpenVINO build")
find_host_package(PythonInterp 3 QUIET)
ie_option(ENABLE_OV_ONNX_FRONTEND "Enable ONNX FrontEnd" ${PYTHONINTERP_FOUND})
ie_option(ENABLE_OV_PADDLE_FRONTEND "Enable PaddlePaddle FrontEnd" ON)
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ie_option(ENABLE_OV_PYTORCH_FRONTEND "Enable PyTorch FrontEnd" ON)
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ie_option(ENABLE_OV_TF_FRONTEND "Enable TensorFlow FrontEnd" ON)
ie_option(ENABLE_OV_TF_LITE_FRONTEND "Enable TensorFlow Lite FrontEnd" ON)
ie_dependent_option(ENABLE_SNAPPY_COMPRESSION "Enables compression support for TF FE" ON
find_host_package(Python3 QUIET COMPONENTS Interpreter)
if(Python3_Interpreter_FOUND)
ov_option(ENABLE_OV_ONNX_FRONTEND "Enable ONNX FrontEnd" ON)
else()
ov_option(ENABLE_OV_ONNX_FRONTEND "Enable ONNX FrontEnd" OFF)
endif()
ov_option(ENABLE_OV_PADDLE_FRONTEND "Enable PaddlePaddle FrontEnd" ON)
ov_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ov_option(ENABLE_OV_PYTORCH_FRONTEND "Enable PyTorch FrontEnd" ON)
ov_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ov_option(ENABLE_OV_TF_FRONTEND "Enable TensorFlow FrontEnd" ON)
ov_option(ENABLE_OV_TF_LITE_FRONTEND "Enable TensorFlow Lite FrontEnd" ON)
ov_dependent_option(ENABLE_SNAPPY_COMPRESSION "Enables compression support for TF FE" ON
"ENABLE_OV_TF_FRONTEND" OFF)
ov_dependent_option (ENABLE_STRICT_DEPENDENCIES "Skip configuring \"convinient\" dependencies for efficient parallel builds" ON "ENABLE_TESTS;ENABLE_OV_ONNX_FRONTEND" OFF)
if(CMAKE_HOST_LINUX AND LINUX)
# Debian packages are enabled on Ubuntu systems
# so, system TBB / pugixml / OpenCL can be tried for usage
@@ -130,15 +152,6 @@ else()
set(ENABLE_SYSTEM_LIBS_DEFAULT OFF)
endif()
if(BUILD_SHARED_LIBS)
set(ENABLE_SYSTEM_PUGIXML_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT})
else()
# for static libraries case libpugixml.a must be compiled with -fPIC
# but we still need an ability to compile with system PugiXML and BUILD_SHARED_LIBS
# for Conan case where everything is compiled statically
set(ENABLE_SYSTEM_PUGIXML_DEFAULT OFF)
endif()
if(ANDROID)
# when protobuf from /usr/include is used, then Android toolchain ignores include paths
# but if we build for Android using vcpkg / conan / etc where flatbuffers is not located in
@@ -155,28 +168,26 @@ else()
set(ENABLE_SYSTEM_TBB_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT})
endif()
ie_dependent_option (ENABLE_SYSTEM_TBB "Enables use of system TBB" ${ENABLE_SYSTEM_TBB_DEFAULT}
ov_dependent_option (ENABLE_SYSTEM_TBB "Enables use of system TBB" ${ENABLE_SYSTEM_TBB_DEFAULT}
"THREADING MATCHES TBB" OFF)
# TODO: turn it off by default during the work on cross-os distribution, because pugixml is not
# available out of box on all systems (like RHEL, UBI)
ie_option (ENABLE_SYSTEM_PUGIXML "Enables use of system PugiXML" ${ENABLE_SYSTEM_PUGIXML_DEFAULT})
ov_option (ENABLE_SYSTEM_PUGIXML "Enables use of system PugiXML" OFF)
# the option is on by default, because we use only flatc compiler and don't use any libraries
ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Enables use of system flatbuffers" ${ENABLE_SYSTEM_FLATBUFFERS_DEFAULT}
ov_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Enables use of system flatbuffers" ${ENABLE_SYSTEM_FLATBUFFERS_DEFAULT}
"ENABLE_OV_TF_LITE_FRONTEND" OFF)
ie_dependent_option (ENABLE_SYSTEM_OPENCL "Enables use of system OpenCL" ${ENABLE_SYSTEM_LIBS_DEFAULT}
ov_dependent_option (ENABLE_SYSTEM_OPENCL "Enables use of system OpenCL" ${ENABLE_SYSTEM_LIBS_DEFAULT}
"ENABLE_INTEL_GPU" OFF)
# the option is turned off by default, because we compile our own static version of protobuf
# with LTO and -fPIC options, while system one does not have such flags
ie_dependent_option (ENABLE_SYSTEM_PROTOBUF "Enables use of system Protobuf" OFF
ov_dependent_option (ENABLE_SYSTEM_PROTOBUF "Enables use of system Protobuf" OFF
"ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_TF_FRONTEND" OFF)
# the option is turned off by default, because we don't want to have a dependency on libsnappy.so
ie_dependent_option (ENABLE_SYSTEM_SNAPPY "Enables use of system version of Snappy" OFF
ov_dependent_option (ENABLE_SYSTEM_SNAPPY "Enables use of system version of Snappy" OFF
"ENABLE_SNAPPY_COMPRESSION" OFF)
ie_dependent_option (ENABLE_PYTHON_PACKAGING "Enables packaging of Python API in APT / YUM" OFF
ov_dependent_option (ENABLE_PYTHON_PACKAGING "Enables packaging of Python API in APT / YUM" OFF
"ENABLE_PYTHON;UNIX" OFF)
ie_option(ENABLE_OPENVINO_DEBUG "Enable output for OPENVINO_DEBUG statements" OFF)
ov_option(ENABLE_OPENVINO_DEBUG "Enable output for OPENVINO_DEBUG statements" OFF)
if(NOT BUILD_SHARED_LIBS AND ENABLE_OV_TF_FRONTEND)
set(FORCE_FRONTENDS_USE_PROTOBUF ON)
@@ -196,4 +207,4 @@ if (ENABLE_PROFILING_RAW)
add_definitions(-DENABLE_PROFILING_RAW=1)
endif()
print_enabled_features()
ov_print_enabled_features()

Some files were not shown because too many files have changed in this diff Show More