Compare commits

..

553 Commits

Author SHA1 Message Date
Mikhail Ryzhov
54e969012d [GNA] Fixed gna_unit tests for debug build (#17792)
* fixed gna_unit tests for debug build
2023-06-23 11:30:18 +02:00
Evgeny Kotov
c7f2676961 [GNA] Sinking Transpose through Split and Concat without changing axis (#18121) 2023-06-23 11:28:11 +02:00
Alexandra Sidorova
db4e3bf83d [Snippets] Added tailing processing support for splitted Loops (#17878) 2023-06-23 12:58:53 +04:00
Ivan Tikhonov
9630766e03 Enable ResolveNamesCollisions transformation in MOC (#18052)
* ResolveNamesCollisions transformation refactoring; enable it in MOC

* fix the description

* call ResolveNamesCollisions transformation in the frontends; resolve review comments

* Resolve review comments
2023-06-23 11:56:26 +04:00
Oleg Pipikin
48b47e754f Rename ngraph with ov in common_test_utils (#17905)
* Rename ngraph with ov in common_test_utils

* Fix comments

* Delete opset includes from commonTestUtils

* Fix CI and code style

* Apply comments

* Fix CI and apply comments
2023-06-23 09:51:47 +02:00
Ilya Lavrenov
b7e14deddd Revert "[PyOV] Model wrappers on Python side (#18027)" (#18201)
This reverts commit b022137d80.
2023-06-23 11:44:39 +04:00
Mateusz Mikolajczyk
f9e4e32118 [PT FE] Extend aten::pad transformation to accept aten::reflection_pad2d (#18117)
* Refactor pad transformation

* Fix conflict

* fix changes

* Add parentheses

* Remove rt_info
2023-06-23 10:23:15 +04:00
Ilya Lavrenov
15e69c280a Used pip wheel to build OpenVINO wheel (#18029)
* Used pip wheel to build OpenVINO wheel

* Improvements

* Added python api properly into deb / rpm packages

* Use cmake -E variant from cmake 3.13

* Improvements to fix CI

* Some refactoring

* Don't use developer package for scripts projects

* Final fixes
2023-06-23 09:17:02 +04:00
Xuejun Zhai
1b495e3221 [Remote Context] Add operate () overload method in class RemoteContext (#18186)
* [Remote Context] Add operate () overload method in class RemoteContext to check is initialized or not

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

* [Remote Context] fix format issue

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

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-06-23 09:10:55 +04:00
Łukasz Mielicki
2983b6abb0 Fix duplicate -Wno-all (#18197)
Trivial fix to a duplicate flag.
2023-06-23 09:04:15 +04:00
Ekaterina Aidova
df0bd18ed2 [PT FE]: fix constant folding for dequantization (#18190)
* [PT FE]: fix constant folding for dequantization

* add test
2023-06-23 06:41:32 +02:00
Steve Yoo
d13adf7ae8 Allow new shape infer of ShapeOf (#17912)
* Fixed to use input shape rank when calculating output layout, added unit test case

* Fixed to use input shape rank when creating shape_of primitive, added functional tests
2023-06-22 21:04:41 -07:00
Maciej Smyk
ad0ac4bfb6 [DOCS] Docker and GPU update for master (#18192)
port: https://github.com/openvinotoolkit/openvino/pull/17851
2023-06-22 18:07:05 +02:00
Irina Efode
71a970546e [OV UTIL] Fix method in case file_size == 0 (#18187) 2023-06-22 17:30:10 +02:00
Evgeny Kotov
92ec5991b2 [GNA] GatherSinking (#16446)
Prerequisite commit for layout transformations feature
2023-06-22 15:12:45 +00:00
Mingyu Kim
c40efac569 [GPU] Typo (#18167) 2023-06-22 17:49:34 +09:00
Roman Kazantsev
5482e85082 [TF FE] Handle control dependencies to have correct outputs (#18175)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-06-22 12:46:11 +04:00
Pavel Durandin
a104e6218a [GPU] Fix windows debug fail in contexts (#18168) 2023-06-22 12:39:01 +04:00
Alexandra Sidorova
6130a90d4e [Snippets] Refactored LoopManager (#17975) 2023-06-22 12:08:15 +04:00
Anastasia Kuporosova
b022137d80 [PyOV] Model wrappers on Python side (#18027) 2023-06-22 10:05:44 +02:00
Tomasz Dołbniak
45125c24cc ScatterElementsUpdate-12 core op (#18069) 2023-06-22 09:33:45 +02:00
Tingqian Li
54bb74be38 [CPU] Enable f16 inference precision (#16500) 2023-06-22 11:03:38 +04:00
Nesterov Alexander
ed087d9bf1 [ARM CPU] Add parallel reference power operation (#18093) 2023-06-22 10:33:10 +04:00
Maxim Kurin
3276b8d657 [CompileTool] Throw when provided plugin config is incorrect (#18143)
* [CompileTool] Throw when a plugin config is missing a space separator between key and value

* Use OPENVINO_ASSERT macro to check for the separator presence
2023-06-22 00:39:56 +04:00
Ilya Lavrenov
c970d576a3 Fixed build of wheel package in tatic build (#18170) 2023-06-21 20:03:48 +04:00
dependabot[bot]
25573279e7 Bump paddlepaddle from 2.4.2 to 2.5.0 in /tests (#18166)
Bumps [paddlepaddle](https://github.com/paddlepaddle/paddle) from 2.4.2 to 2.5.0.
- [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.4.2...v2.5.0)

---
updated-dependencies:
- dependency-name: paddlepaddle
  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-06-21 16:29:18 +04:00
Alexander Suvorov
ec82af040b [DOCS] Added initial version of selector tool (#17799) 2023-06-21 14:20:43 +02:00
Andrew Kwangwoong Park
52b9df4a6d [GPU] Dynamism support for ReadValue and Assign ops (#18086)
Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-06-21 13:07:55 +04:00
Min, Byungil
96a0c539bd [GPU] Not to convert crop to implicit on dynamic (#18148)
Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-06-21 09:55:55 +02:00
hyunback kim
bcd2463813 [GPU] Fix skipped GemmBaseTests in iGPU. (#18001)
* [GPU] Fix skipped GemmBaseTests in iGPU.

Current GemmBaseTests in iGPU are skipped, just showed pass, but actual not run.

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-06-21 16:09:06 +09:00
Luwei Zhou
731ef78608 [CPU] Move the FC fusing bias into CPU graph optimizer (#17082) 2023-06-21 10:20:21 +04:00
yanlan song
684ae645d5 fix post ci failure (#18159)
Signed-off-by: fishbell <bell.song@intel.com>
2023-06-21 03:37:44 +00:00
Xuejun Zhai
08dc2cf1d6 [AUTO BATCH PLUGIN] renaming the class name in auto batch plugin & remove namespace (#18145)
* [AUTO BATCH PLUGIN] change namespace AutoBatchPlugin to ov::auto_batch_plugin & remove macro MockAutoBatchPlugin

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

* [AUTO BATCH PLUGIN] change class AutoBatchInferencePlugin to Plugin

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

* [AUTO BATCH PLUGIN] change class AutoBatchExecutableNetwork to CompiledModel & class member naming style

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

* [AUTO BATCH PLUGIN] change class AutoBatchInferRequest to SyncInferRequest & class member naming style

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

* [AUTO BATCH PLUGIN] change class AutoBatchAsyncInferRequest to AsyncInferRequest & class member naming style

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

* [AUTO BATCH PLUGIN] fix code format issues

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

* [AUTO BATCH PLUGIN] remove name space InferenceEngine

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

* [AUTO BATCH PLUGIN] remove explict & change name network to model

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

* [AUTO BATCH PLUGIN] remove name space MockAutoBatchPlugin

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

* [AUTO BATCH PLUGIN] fix static build issue

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

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-06-21 10:11:14 +08:00
yanlan song
05e8bd375e Bell/auto api 2.0 (#17805)
* 2.0 innitial

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

* enable all tests

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

* remove unecessary files

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

* move container header to auto foler, remove uncessary macro define

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

* enable caching

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

* enable query_model

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

* support loaded_from_cache property

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

* fix some build warning

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

fake inputs/outputs if needed

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

* resolve conflict

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

* skip unsupported test

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

* use mock icore from common foler

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

* fix failure for remote tensors

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

* apply ppp related fix in auto

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

* fix build warning on windows

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

* fix ppp output layout issue

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

* fix ppp output layout issue

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

* clean up headers

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

* log formatting

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

* enable fps logging for binder mode

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

* apply review comments

apply review comments

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

* remove all legacy namings, exenetwork/network/metric/IE etc

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

* update readme

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

* fix build lto issue

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

* minor wording

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

* case fix

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

---------

Signed-off-by: fishbell <bell.song@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-06-21 00:10:59 +08:00
Ilya Lavrenov
c05d8862cf Added ocl-icd as dependency for GPU to install_dependencies.sh (#18123) 2023-06-20 19:40:35 +04:00
Ekaterina Aidova
a8a366de08 [PT FE]: use example input for dtype and rank detection (#18083)
* [PT FE]: use example input for dtype and rank detection, support unordered input dict

* Apply suggestions from code review

* restore old behaviour for old torch versions

* move info addition after parsing
2023-06-20 17:31:30 +04:00
Mateusz Tabaka
37c538d6bd Reject negative pads in SpaceToBatchFusion (#18028) 2023-06-20 10:02:56 +02:00
Egor Duplenskii
b7cc327cb8 [IE_TESTS] Correct random data generation for real numbers (#17734) 2023-06-20 10:01:33 +04:00
Chen Xu
b4e608cf47 [Snippets] Implement shuffling based horizontal reduction emitter (#18099) 2023-06-20 09:15:18 +04:00
Wanglei Shen
a9c4e4ab56 enable node support (#17943)
* enable node support on Linux

* fix code style issue

* enable node support on Windows

* fix merge conflict

* update for comments

* update for comments

* enable numa node id and socket id in proc_type_table and udpate inference unit test

* update get_streams_info_table() and smoke test cases in CPU unit test

* fix code style issue

* update numa node id and socket id in proc_type_table on windows

* update for comments

* update for comments

* update for comments
2023-06-20 10:04:42 +08:00
Wilson Seok
3519050ef0 skip all user format check when dynamic shape in get_preferred_format() to avoid endless recursive call (#18096) 2023-06-19 18:52:58 -07:00
Sofya Balandina
429af27b86 Add full summary for apiConformance (#17818)
* Add full summary for apiConformance

* Move to summarize.py, split mandatory and opt scope
2023-06-19 18:40:26 +04:00
Przemyslaw Wysocki
b63e8433b0 Update labeler and numpy (#18136) 2023-06-19 14:21:10 +00:00
Patman11
b9575d9586 [GPU] Disable threaded kernel compilation when running in Windows Store app (#18062) 2023-06-19 17:55:47 +04:00
Egor Duplenskii
6143a4fa42 [CPU] Add early throw for filtering primitive descriptors (#17065)
Otherwise the plugin will throw later when trying to init optimal
primitive descriptor (when there is actually no descriptors at all)
2023-06-19 12:16:02 +00:00
dependabot[bot]
e54bd6ab1b Update numpy requirement in /tests (#18134)
Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](https://github.com/numpy/numpy/compare/v1.16.6...v1.25.0)

---
updated-dependencies:
- dependency-name: numpy
  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-06-19 14:46:06 +04:00
Haiqi Pan
3c619d8339 ov_remote_context -> Remote Context (#18132) 2023-06-19 12:58:14 +04:00
Xuejun Zhai
5c2925ada6 [AUTO BATCH PLUGIN] Split auto_batch.cpp & auto_batch.hpp to small files (#18133)
* [AUTO BATCH PLUGIN] split the auto_batch.hpp to plugin.hpp, complied_model.hpp sync_infer_request.hpp async_infer_request.hpp

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

* [AUTO BATCH PLUGIN] Add plugin.cpp, seprate the plugin related operations from auto_batch.cpp

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

* [AUTO BATCH PLUGIN] Add compiled_model.cpp, seprate the compiled model related operations from auto_batch.cpp

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

* [AUTO BATCH PLUGIN] Add sync_infer_request.cpp, seprate the sync request related operations from auto_batch.cpp

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

* [AUTO BATCH PLUGIN] Add async_infer_request.cpp, seprate the async request related operations from auto_batch.cpp

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

* [AUTO BATCH PLUGIN] remove auto_batch.cpp

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

* [AUTO BATCH PLUGIN] fix code format issue

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

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-06-19 12:52:36 +04:00
Min, Byungil
9943ffc259 [GPU] Fix unit-tests for dGPU (#18125)
+ Resolved unit-tests failure on dGPU
+ Applied get_test_default_config for testing config

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-06-19 11:41:47 +04:00
Luo Cheng
fa545ffb1c [CPU] MHA will produce NAN when all inputs are negative (#15995) 2023-06-19 09:30:23 +04:00
Min, Byungil
555c083336 [GPU] Optimize out Gather by converting to implicit crop (#17743)
+ Changed Gather if it divides input tensor along batch axis
+ Converted Gather to cldnn Crop in CreateGatherOpBase
+ Added implicit Crop condition for batch axis

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-06-19 05:05:22 +00:00
Ilya Lavrenov
5574acc6ca Fixed Snappy dependent option default value (#18128) 2023-06-18 21:33:57 +04:00
Roman Kazantsev
3c623e890d [MO][TF FE] Remove WA for supporting different TF formats (#18078)
* [MO][TF FE] Remove WA for supporting different TF formats

After providing direct support of all TensorFlow formats, we are ready to remove WA
that converts all unsupported formats to frozen protobuf using native TensorFlow

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

* Debug failure for LSTM multicell

* Reset default graph before entering session

* Remove temporal debug info

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-06-17 17:44:20 +00:00
Georgiy Manuilov
26c4ed7ba8 Add workaround for MSVC141 bug evoking C2440 compilation error (#18122)
MSVC141 fails to handle reinterpret cast of a template function
pointer due to a bug in the compiler:
https://developercommunity.visualstudio.com/t/bug-reinterpret-cast-address-of-templated-static-f/396044
2023-06-17 17:49:41 +04:00
Ilya Lavrenov
358893c758 Fixed compilaiton of ONNX FE tests (#18126) 2023-06-17 15:22:38 +04:00
Georgy Krivoruchko
5aa03f8e30 [TF FE] Extended support of tagged MetaGraphs and variables handling in SavedModel (#18084)
* Added support of alternate MetaGraph tags
Added support of variables without explicit RestoreV2

* Applied comments
2023-06-17 11:25:19 +04:00
Andrei Kashchikhin
74be4e04f3 rm explicit job specification (#18105) 2023-06-17 00:25:36 +04:00
Georgiy Manuilov
957ab9b831 Add missing header for std::tolower (#18118) 2023-06-17 00:25:13 +04:00
Ivan Tikhonov
6f14a43ea6 TSForwardBase class and a transformation to reset no_sinking attribute (#17913)
* Added TSForwardBase class and a new transformation to reset no_sinking attribute

* Refactoring

* fix an issue with legacy_output_names

* resolve review comments

* Resolve review comments
2023-06-16 20:43:26 +04:00
Georgy Krivoruchko
2f59e5d697 Fixed Windows behavior if folder path on input (#18112) 2023-06-16 20:32:40 +04:00
Mateusz Bencer
79e935fe97 [ONNX FE] Allow to mix new and legacy extensions (#18103) 2023-06-16 16:29:36 +00:00
Pavel Esir
cb63b39c72 do not change names while replacing FQ nodes (#17936)
* do not change names while replacing FQ nodes

* more solid fix

* even more solid fix

* fix UT failure
2023-06-16 15:51:50 +04:00
Tomasz Adamowicz
a4519f0a2c 16 byte memory alignment and concat (#17712)
* use device specific alignment instead of ALIGN64 macro

* update for tests

* update after review
2023-06-16 12:30:59 +01:00
Santhosh Mamidisetti
0b708b5eff updated py_checks.yml , workflow to be triggered (#17956)
* updated py_checks , trying to trigger workflow

* trail trigger

* undone changes

* changes after PR

* corrected flake for logger , constants .py

* fixed flake8 test on modified files

* fixed flake8 test on modified files

* fixed logger.py to trigger workflow

* Update .github/workflows/py_checks.yml

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>

* Update .github/workflows/py_checks.yml

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

---------

Co-authored-by: Przemyslaw Wysocki <przemyslaw.wysocki@intel.com>
Co-authored-by: Anastasia Kuporosova <anastasia.kuporosova@intel.com>
2023-06-16 14:02:43 +04:00
Mateusz Mikolajczyk
42c93a70d4 [PT FE] Add aten::fft_rfftn and aten::fft_irfft complex replacers (#17999)
* Add transformations for rfftn and irfftn

* Formatting & reduce tests

* Improvements

* rm unused namespace

* Apply suggestions from review

* Fix format

* Add tests for dynamic type

* Add error messages
2023-06-16 11:35:30 +02:00
Tatiana Savina
945157cc7b [DOCS] Local distribution page improvements (#18049)
* add slider with os specific libs

* doc review

* local distrib doc changes
2023-06-16 11:21:51 +02:00
Tatiana Savina
f165d8cb2b add python block (#18085) 2023-06-16 11:21:33 +02:00
Maciej Smyk
a7442c8ed3 [DOCS] CMake options description in build guide for master (#18101) 2023-06-16 10:37:03 +02:00
Xuejun Zhai
e56405ef3b [C API] Fix str copy to char* issue in debug & release mode, issue number 18019 (#18097)
Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-06-16 12:31:31 +04:00
Yury Gaydaychuk
f5dc8e7796 [ONNX FE] [CPU] Tests were aligned with DeformableConvolution specification (#10808) 2023-06-16 09:02:25 +02:00
Maxim Vafin
77584d301e Fix automatic scripting for quantized models (#18089) 2023-06-16 08:51:21 +02:00
Vladimir Paramuzov
3d79bd1ac5 [GPU] Minor layout optimizer refactoring (#17553) 2023-06-16 10:33:53 +04:00
Maxim Vafin
55156f9a6c Validate only one If body if condiction is const (#18087)
* Validate only one If body if condiction is const

* Add test with invalid body
2023-06-15 20:04:10 +00:00
Maxim Vafin
10ace822ef [PT FE] Do not freeze for quantized models (#18082)
* Do not freeze for quantized models

* Update tests/layer_tests/pytorch_tests/pytorch_layer_test_class.py

* Fix getitem
2023-06-15 19:41:06 +02:00
Tatiana Savina
8031cfea98 [DOCS] PORT Add examples of using named outputs in extensions (#17622) (#17754)
* [DOCS] Add examples of using named outputs in extensions (#17622)

* [DOCS]Add examples of using named outputs in extensions

* Fix opset

* Apply suggestions from code review

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

* Update docs/Extensibility_UG/frontend_extensions.md

* Add reference to external docs

* Update docs/Extensibility_UG/frontend_extensions.md

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

---------

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

* Update docs/Extensibility_UG/frontend_extensions.md

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-06-15 16:35:45 +02:00
Maxim Vafin
9684f9184a [PT FE] Improve operation naming (#17997)
* Improve operation naming

* Use set to reduce operations with indexes, fix code style

* Refactor

* Make good names in transformations

* Remove tensor index from input/output names

* Fix tests
2023-06-15 14:28:38 +02:00
Nikita Malinin
483a040d52 Update OMZ submodule with MMAP (#18073) 2023-06-15 14:32:34 +04:00
Pavel Esir
aa32ff1df3 keep Const + DecompressionConvert for CPU (#15930)
* keep Const+DecompressionConvert pattern for CPU

* temporary disabled failing unit-tests

* disable CF by modifying bounds evaluate as well; minor corrections

* added TODOs with ticket numbers

* join const+decompression markings

* minimized convert_precision.cpp changes

* minor corrections

* refactor fp16 transformations: moved into separate fp16_compression folder

* style-fix

* minor fixes

* do not disable evaluate and CF in shape path

* safer disabling of Const conversion

* style-fix and minor corrections

* restore original placement of ConvertPrecision
2023-06-15 13:07:22 +04:00
Maxim Vafin
caedb6a6b4 [PT FE] Print better exception message (#18015)
* [PT FE] Print better exception message

* Sort ops and fix code style

* Apply feedback

* Remove obsolete variable

* Rearrange newlines

* Apply feedback, add messages in transformations

* Fix style

* Add exceptions in cat and getitem replacers

* Add test

* Fix test regex
2023-06-15 12:04:01 +04:00
Anastasia Kuporosova
7fd394e87e [PyOV] AsyncInferQueue documentation notice about iteration limit (#18042) 2023-06-15 09:23:26 +02:00
Andrei Gorbachev
52834659c4 [GPU] additional checks fixed for fully_connected (#18068) 2023-06-15 09:11:38 +04:00
Haiqi Pan
3e63ab0dc3 Remove ov::core dependency after CPU CompiledModel constructed (#17156)
* fx repr

* remove isNewApi

* add cisLegacyApi

* remove isNewApi

* fix logic

* add test case

* remove comment

* fix bug

* add configuration

* skip in template

* skip failed case

* skip AUTO and MULTI to test

* resolve conflicts

* fix confilcts

* skip AUTO and MULTI to test

* template on

* Revert "template on"

This reverts commit d82a5a4964.

* get log

* add tmp core

* reset to test

* Revert "reset to test"

This reverts commit 7a39d4e24b.

* try to push

* use createCoreWithTemplate()

* remove AUTO and MULTI in skip_config

* Revert "remove AUTO and MULTI in skip_config"

This reverts commit d42420590f.

* fix confilcts

* fix conflicts

* remove AUTO and MULTI in skip config

* fix confilcts

* remove isLegacyAPI

* remove useless code

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-06-15 01:50:24 +04:00
Roman Kazantsev
79683c24ca [TF FE] Support models with v1 checkpoints (#18000)
* [TF FE] Support models with v1 checkpoints

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

* Fix build issue

* Fix issue in load_impl

* Fix MO unit-tests

* Check input_checkpoint in argv

* Fix build issue

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

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

* Apply comments from code-review: split CheckpointV1Reader constructor

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-06-14 21:01:33 +00:00
Ilya Lavrenov
967faf878a t Improved samples build stability (#18053) 2023-06-14 18:23:02 +00:00
Mykhailo Hnap
bae926de22 [GPU] Unique-10 operation implementation. (#16412)
* [GPU] Unique-10 operation implementation.

* Handled flattened case.

* Created results for all outputs in single layer test.

* Save total unique count as fifth output.

* Handled axis case.

* Added unique reshape kernel.

* Moved data types to unique primitive constructor.

* Added shape agnostic Unique ref kernel.

* Added blocked layout support to Unique-10.

* Use int in bubble sort.

* Added unit tests.

* Added support for blocked layouts to flattened mode.

* Fixed usage of shape_info in kernel.

* Use correct total data size for dynamic shapes.

* Commented some functional tests.

For some reasons big shapes cause std::bad_alloc.

* Initialize out_counts with zeros.

* Implemented new approach for reducing memory footprint.

Changed first kernel to only count unique values and changed second kernel to fill all outputs.

* Revert "Commented some functional tests."

This reverts commit a7f9763c575e71e14b85ee37adf1e98f10785c15.

* Fixed calc output layouts for flattened case when rank in greater than 4.

* Added temporary fix for axis case when rank is greater than 4.

* Revert "Added temporary fix for axis case when rank is greater than 4."

This reverts commit 236640d2f0e9d5b1f8dcbbf9482763badd7fde66.

* Renamed "unique" to "unique_count" and "unique_reshape" to "unique_gather" primitives.

* Quick fix for add_intermediate_node to consider dep_idx of multiple output

* Fix bug for multiple output:
1) get_reorder was getting reorder from cache regardless of the dep_idx.
2) remove_redundant_reorder was not considering original dep_idx

* Fixed conflicts.

* Fixed win build issue.

* Fixed build issue.

* Revert "Fix bug for multiple output:"

This reverts commit d4a2c4f32eabe9108df31d4837fed8995c93bd1c.

* Revert "Quick fix for add_intermediate_node to consider dep_idx of multiple output"

This reverts commit 2dfd2aaefdf32067a7469505b35f7096632ac5f2.

* Added some tests to skip config.

---------

Co-authored-by: Taylor Yeonbok Lee <taylor.lee@intel.com>
2023-06-14 10:41:51 -07:00
Anastasiia Pnevskaia
5993c4942a Fixed load_by_model() test. (#18060) 2023-06-14 18:43:40 +04:00
Wanglei Shen
277e759dcd rebase (#17212) 2023-06-14 21:19:39 +08:00
Sebastian Golebiewski
92ac04dcac [DOCS] Restyling tabs fix
Fixing style of active tabs.
2023-06-14 15:01:33 +03:00
Andrei Gorbachev
1761427ab1 fixed fp16 x fp16 overflow in NonMaxSuppression (#18038) 2023-06-14 15:58:49 +04:00
Ekaterina Aidova
d3461074ea [PT FE]: support aten::t and inplace tril/triu (#18040) 2023-06-14 15:08:45 +04:00
Sebastian Golebiewski
b69c11d8ef [DOCS] Restyling tabs 2023-06-14 11:03:59 +00:00
Roman Lyamin
63a5ec5762 [GPU] Several fixes for format traits (#18018) 2023-06-14 14:33:58 +04:00
Maciej Smyk
008d9a83ce Update build_linux.md (#18035) 2023-06-14 10:45:47 +02:00
Alexandra Sidorova
67dc220d38 [Snippets] Added support of MatMuls with transposed inputs (#17819) 2023-06-14 11:55:24 +04:00
Tatiana Savina
9754117a61 change classification notebook (#18037) 2023-06-14 09:34:06 +02:00
Ekaterina Aidova
838d792d96 [PT FE]: fix unflatten for list construct sizes (#18039) 2023-06-14 11:28:19 +04:00
Egor Duplenskii
d66e322529 [CPU] Add and correct tests for int8 LSTM (#17447) 2023-06-14 09:58:31 +04:00
Pawel Raasz
ca0d40969a Reduce binary size by optimize exceptions (#18022)
* Separate macros for OPENVINO_THROW
add default message to exception to avoid using literals

* Restore the suppress deprecated macro in node

* Restore to public the Exception ctor
for nvidia plugin
2023-06-14 07:27:51 +04:00
Sergey Shlyapnikov
e631f65a9b [GPU] Fix in-order queue synchronization issue related to OCL/OneDNN impls interaction with CPU impls (#17976) 2023-06-14 10:15:04 +09:00
Tomasz Dołbniak
b023119b9a Preprocessor's resize shared tests (#17937) 2023-06-13 17:13:45 +00:00
Fang Xu
661f66b5c5 combine test for stream_info_table (#17930)
* combine test for stream_info_table

* fix failed test cases

* add check for performance hint and core type

* add comments for the parameters of test case
2023-06-14 00:40:08 +08:00
Wanglei Shen
0541a12730 update numactl support and add test cases (#17879)
* update numactl support and add test cases

* fix typo

* remove debug info

* update for comments

* update for comments

* move test case into separated file

* update for comments

* update code style
2023-06-13 23:37:08 +08:00
Egor Duplenskii
e738c4e83f [CPU] Use primitive priority list more efficiently (#17135) 2023-06-13 13:55:27 +00:00
Anastasia Kuporosova
d95c49d888 [PyOV] Deprecate python IE and nG API (#17791) 2023-06-13 13:18:30 +00:00
Egor Duplenskii
dcba37d897 [CPU][TESTS] Exclude cpplint check for custom test targets (#17867) 2023-06-13 12:18:59 +00:00
Anastasiia Pnevskaia
77711be786 tf.Graph decoder. (#16355)
* tf.Graph decoder.

* Fix conflicts.

* Fixed det_input_node()

* Added support of non-frozen models.

* Cleaned code.

* Small fix.

* Small corrections.

* Error fixes.

* Code style.

* Code style.

* Code style.

* Small correction.

* Fixed float32 attributes.

* Small correction.

* Fixed tests.

* Fixed errors.

* Added statefull partitioned call test.

* Import fix.

* Code corrections.

* BOM test fixed.

* Corrected check, added comment.

* Added checks.

* Supported TF Fraph Iterator in load_by_model().

* Clang format.

* Small correction.

* Fixed example_input logic, added tests.

* Added comment.

* Small correction.

* Corrected example_input description.

* Moved load_by_model test to MO Python API tests.

* Minor corrections.

* Code corrections.

* Small correction.

* Clang format.

* Fixed tests.

* Import change.

* Moved GraphIterator to common FE.

* Tests refactoring, minor fixes.

* Small test correction.

* Removed not needed change.

* Removed commented code.

* Removed not needed change.

* Unit tests fix.

* Temporarily added debug output.

* Test fix.

* Applied comments.

* Fixed test.
2023-06-13 16:04:26 +04:00
jszczepa
af9204488d Fuzzer import model (#17865)
* Fuzzer - import_model

* Fix after review part 1

* Replace c-like cast to static_cast operator

* Replace c-like cast with reinterpret_cast
2023-06-13 13:41:30 +02:00
Maxim Vafin
48dec1000e [PT FE] Support inplace operations on aliases of tensors (#17856)
* Support operations on aliases of tensors

* Add tests

* Fix issue with convnd

* Fix code style

* Fix issue with tensor index of mutated tensor

* Fix if types alignment

* Fix issues in keypoint detectron2

* Fix issue with masks in detectron2

* Fix acuracy issue in mobilevitv2 models

* Remove unused includes

* Return upsample case in lictconstruct replacer

* Fix types, apply review feedback

* Apply feedback

* Revert change of not using shared_from_this for getitem

* Fix issue in prim::device transformation

* Fix layer tests

* Apply review feedback

* Fix issue with not existing alias to tensor
2023-06-13 13:30:48 +02:00
Tatiana Savina
ec2db81468 [DOCS] Port docs (#18032)
* add enter dir (#17897)

* add tabs (#18007)
2023-06-13 12:54:07 +02:00
Ilya Churaev
6043bcb5c0 Fixed Core import model call (Ported from proxy) (#18020) 2023-06-13 08:16:25 +00:00
Yury Gaydaychuk
b25c8ef860 [Commit slider] Tune shell settings for linux (#17884) 2023-06-13 11:54:45 +04:00
Sebastian Golebiewski
78303aecba [DOCS] Restyling elements on home page 2023-06-13 08:50:34 +02:00
Alexandra Sidorova
883a70c91e [Snippets] Fixed set for Windows (#17859) 2023-06-13 10:12:54 +04:00
Sebastian Golebiewski
4270dca591 [DOCS] Fixing formatting issues in articles (#17994)
* fixing-formatting
2023-06-13 07:59:27 +02:00
Ilya Churaev
c8f3ed814b Finalize deprecation of public IE API (#17962)
* Remove NV12 and I420 blobs and deprecate some legacy API

* Fixed some errors

* Remove NV12 blobs

* Remote NV12 conversion

* Fixed other warnings

* Suppress version

* Fix some warnings

* Fixed version

* Try to fix some warnings

* Suppress warnings in C header

* Suppress warnings in C

* Fixed Windows exceptions

* Try to fix warnings

* Try to fix C bindings build

* Suppress InferRequest

* Fixed some build issues

* Fixed some errors

* Fixed build all for macOS

* Suppress some warnings

* Fixed merge conflict
2023-06-13 07:12:17 +04:00
Ilya Lavrenov
7f1d26ddca Fixed debian packages (#18017) 2023-06-13 02:35:15 +04:00
Ilya Lavrenov
2b05cf4d00 Build only release for vcpkg (#17990) 2023-06-13 01:49:49 +04:00
Wang Kai
2d5e087b8b fixing typos in src/plugins/intel_cpu/src/transformations (#18016) 2023-06-13 00:19:46 +04:00
Ilya Churaev
0743e9bfb5 Removed legacy methods SetBatch and SetBlob (#17984)
* Removed legacy methods SetBatch and SetBlob

* Fixed GPU plugin build

* Remove DYN_BATCH_LIMIT from tests

* Revert some changes in GPU plugin
2023-06-12 18:54:23 +00:00
Ilya Churaev
df44f92a97 Remove NV12 and I420 blobs and deprecate some legacy API (#17919)
* Remove NV12 and I420 blobs and deprecate some legacy API

* Fixed some errors

* Remove NV12 blobs

* Remote NV12 conversion

* Fixed other warnings

* Suppress version

* Fix some warnings

* Fixed version

* Try to fix some warnings

* Suppress warnings in C header

* Suppress warnings in C

* Fixed Windows exceptions

* Try to fix warnings

* Try to fix C bindings build

* Suppress InferRequest

* Fixed some build issues

* Fixed some errors
2023-06-12 21:15:02 +04:00
Ilya Lavrenov
90a0e5f81a Refactored setup.py; used pip wheel to build package (#17991) 2023-06-12 14:42:09 +00:00
Evgenya Stepyreva
dd02a0f440 [TFLite] Custom attribute reading and While operation support (#17932)
* Custom attribute reading and While operation support

* Rearanges FLATBUFFERS_LOCALE_INDEPENDENT setting

* Style

* Make flatbuffers code as version independent as possible

* Comments addressed
2023-06-12 14:42:18 +04:00
Aleksandr Voron
1588a33217 [CPU][ARM] Dynamic shapes support in ARM transformations (#17548) 2023-06-12 14:13:16 +04:00
Ivan Novoselov
a106eb0d75 [Snippets] Documentation update (#17678) 2023-06-12 11:07:49 +04:00
Pawel Raasz
16bde0bba6 Add static shape adapters to reduce dimension conversion in shape_infer for CPU (#17862)
* 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

* Fix build issues

* Correct shape adapter compare
- minor static shape adapter refactor

* Minor corrections in ShapeInferenceTA

* Fix subscript operator in StaticShapeRef
2023-06-12 07:05:46 +02:00
Sergey Shlyapnikov
70e0caca4f [GPU] Fix dynamic padding processing of static dimension (#17978) 2023-06-12 08:39:42 +04:00
Mateusz Tabaka
8653f1cbd9 Fix static analysis issues in pruning mask propagation (#17910)
Ticket: CVS-108960
2023-06-11 10:49:31 +02:00
Mateusz Tabaka
93689cc417 Don't constantfold weights in MatMulConstTransposesExtraction transformation (#17917)
get_constant_from_source for Transpose node calls evaluate method
twice which is unnecessary in this case.

Ticket: CVS-105967
2023-06-11 09:49:21 +02:00
Ilya Lavrenov
50c85f01ab ARM static build (#17970) 2023-06-10 23:40:39 +04:00
Ilya Churaev
a0e8d9a630 Deprecate main IE developer API classes (#17983)
* Deprecate main IE develiper API classes

* Remove legacy snippet

* Fixed warning for VariableState
2023-06-10 19:25:54 +04:00
Ivan Tikhonov
74100670ac Delete the deprecated LowLatency (version1) transformation (#17965)
* Delete the deprecated LowLatency (version1) transformation

* detele LowLatency refs from the docs
2023-06-10 12:24:43 +04:00
Wilson Seok
cff083f83d [GPU] gather nd shape agnostic kernel implementation (#17940)
* gather nd shape agnostic kernel implementation

* add func test

* fix minor bugs

* minor bug fixes

* fix win build error
2023-06-10 00:28:00 -07:00
Andrew Kwangwoong Park
c413825845 [GPU] Fuse type conversion only reorders to the prev nodes (#17881)
* Fuse convert reorder to prev MVN/Concat node

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add dynamic TCs for ov_gpu_unit_test

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add descriptions for changes

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Fix kernel selection failure

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add is_type_conversion_only function for reorder_node

Signed-off-by: Andrew Park <andrew.park@intel.com>

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-06-09 16:07:01 -07:00
Egor Duplenskii
36a4c0cb2b [CPU][DEBUG_CAPS] Fix compilation warnings (#17977) 2023-06-10 02:09:59 +04:00
Wang Kai
7b86b427cb fixing some typos (#17980) 2023-06-10 01:13:31 +04:00
Edward Shogulin
8adce06348 [LPT] tests rename for nightly: part #2 (#17926) 2023-06-10 01:12:52 +04:00
Ilya Churaev
724eb94a1d Deprecate plugins config keys (#17974) 2023-06-09 17:55:14 +00:00
Mateusz Tabaka
67f7808fc4 AlignEltwiseInputRanks - fix when output rank is less than constant rank (#17895)
Fixes an issue when AlignEltwiseInputRanks is applied on FakeQuantize with
scalar as a first input and input/output low/high being Shape{1} constants.
In such case FakeQuantize output is still a scalar, so the difference
between output rank and input/output low/high rank is negative.

Ticket: CVS-112454
2023-06-09 20:31:20 +04:00
Ilya Churaev
c8e331003f Port some changes from proxy branch (#17961)
* Port some changes from proxy branch

* Port test changes

* Rewrite approach for compile model and tensor

* Fixed review
2023-06-09 16:08:53 +02:00
Ilya Churaev
21c2b513d1 Update OMZ to support OpenCV without GAPI (#17972) 2023-06-09 15:48:04 +04:00
Alexey Kazakov
a14a2c0eb0 Move dependencies to the new share (#17825) 2023-06-09 15:15:02 +04:00
Maciej Smyk
1886ca483b Update build_linux.md (#17966) 2023-06-09 15:04:00 +04:00
Wonju Lee
34d4c81b76 [DOCS] Adding Datumaro document into OV Ecosystems (#17944)
* add Datumaro document
* add datumaro into toctree
2023-06-09 11:56:30 +02:00
Ilya Churaev
3ef4dac6d5 Update OMZ submodule (#17963) 2023-06-09 13:09:17 +04:00
Sebastian Golebiewski
ae73973c11 [DOCS] Fixing broken code blocks (#17959)
* code-blocks-fixes
2023-06-09 09:08:14 +02:00
Ilya Lavrenov
a0119fe33c Android debug build (#17955) 2023-06-09 08:03:10 +04:00
Ilya Lavrenov
2ff430fa80 Try to use system flatbuffers on Android (#17954) 2023-06-08 21:22:33 +04:00
Gorokhov Dmitriy
e564c50d35 [CPU] Fixed KEY_LP_TRANSFORMS_MODE internal propery behavior (#17945) 2023-06-08 21:09:37 +04:00
Zlobin Vladimir
55ddbcaf23 cpp/samples: update build (#17900)
* cpp/samples: update build

Ticket 111295

* Fix sample_type extraction

* Fix inputLog type

* include <limits>

* Add missing const

* Revert cpp/speech_sample error message

* update azure CI
2023-06-08 19:30:29 +04:00
Mircea-Aurelian Dan
67c0327cd1 Set default duration to 60 for device VPU (#17952) 2023-06-08 18:55:53 +04:00
Ilya Lavrenov
97532622cb Fixes for deployment manager (#17899) 2023-06-08 18:31:55 +04:00
Sun Xiaoxia
9e8d64bf70 Xiaoxia/update cpu mapping (#17451)
* generate cpu mapping table pre tbb

* change function name

* fix proc_type_table is wrong in RPL

* add getCpuMapFromCores test, fix comments

* modify test case

* fix comments

* fix code style

* add throw an exception

* fix numa_nodes=0 on ARM

* modify numa_nodes

* fix ExportOptimalNumStreams failed on ARM

* fix comments

* add discription of get_cpu_mapping_from_cores

* update for numactl support

* fix cores is wrong

---------

Co-authored-by: Wanglei Shen <wanglei.shen@intel.com>
2023-06-08 22:28:35 +08:00
Daria Mityagina
6ad0e5a1e7 Update comments and help text (#17707) 2023-06-08 13:47:40 +00:00
Alexandra Sidorova
385cfee24a [Snippets] Fixed copy runtime info which contains PortDescriptors (#17774) 2023-06-08 12:22:48 +00:00
Ilya Lavrenov
b1b1014a34 Enable python API in deb / rpm packages (#17923)
* Enable python API in debian package

* Enable python API in debian package
2023-06-08 15:35:27 +04:00
Ilya Lavrenov
ad5b8f8687 Align tabs in install archives Linux (#17947) 2023-06-08 15:00:25 +04:00
Sergey Shlyapnikov
58d79aa3a6 [GPU] Add shape_of subgraphs markup and initial cpu implementations (#17762)
* [GPU] Add shape of subgraphs markup and initial cpu implementations for some of primitives

* Apply review comments

* Exclude eltwise with boolean mode types from shape of subgraphs and fix leftovers
2023-06-08 13:46:21 +04:00
Alexandra Sidorova
eb3e6a65eb [Snippets] Add support of MHA Tokenization for different precisions (#15647) 2023-06-08 08:05:14 +00:00
Ilya Lavrenov
bdfa970c7a Support different names for ITTAPI (#17889) 2023-06-08 11:08:58 +04:00
Sebastian Golebiewski
912e4b6f0d update-deployment-manager (#17903) 2023-06-08 10:32:08 +04:00
Taylor Yeonbok Lee
f246015dd7 [GPU] Fix issue in runtime buffer fusing (#17909)
* There were two issues in runtime buffer fusing
1) Missing condition in matcher for dyanmic tensor
2) If the node is marked as can_be_optimized = true at build time and then turned out to false at runtime, the kernel compilation has been skipped becuaes it was checking node->can_be_optimized
=> To resolve this issue, added can_be_optimzied to impl_param and let the impl create check can_be_optimized in impl_param instead of that in node.

* Fixed primtiive::can_be_optimize to be set through function
2023-06-07 19:39:26 -07:00
Mingyu Kim
0b06d15178 [docs] typo fix (#17915) 2023-06-08 10:27:26 +09:00
Tatiana Savina
0a94aeb1bb [DOCS] Port release doc fixes (#17939)
* [DOCS]  Model optimization paragraph fix  (#17907)

* fix mo guide paragraph

* fix format

* fix paragraph

* remove extra line

* fix archive link (#17918)

* [DOCS]  Add sudo to uninstall (#17929)

* add sudo to uninstall

* Update uninstalling-openvino.md
2023-06-07 18:57:42 +02:00
Zlobin Vladimir
7fe13f341b Update open_model_zoo submodule (#17927)
Catch up https://github.com/openvinotoolkit/open_model_zoo/pull/3782
2023-06-07 19:20:42 +04:00
Edward Shogulin
655c21adf1 [CPU] Quantized MHA extension for SmoothQuant (#17906) 2023-06-07 14:31:06 +00:00
Anton Voronov
2547301fa7 [CPU] gemm convolution: fixed bias offset (#17357) 2023-06-07 17:15:01 +04:00
Georgy Krivoruchko
ee659c1ce8 [TF FE] Workaround for Broadcast/Concat issue with empty tensors (#17864)
* Added transformation for Concat

* Added test

* CI fix

* Fixed behavior of the "empty tensor list" test
2023-06-07 14:17:20 +04:00
Tomasz Otoka
323dbec93c Adds configuration file for cspell (#17355)
the file for future use with cspell
2023-06-07 12:16:28 +02:00
Tomasz Otoka
d8a78137a7 Adds Python wheel requirements info to docs (#17922) 2023-06-07 10:13:15 +00:00
Ilya Lavrenov
6df054b073 Added cmake_policy call to allow IN_LIST in if() (#17916) 2023-06-07 14:12:54 +04:00
Pawel Raasz
f023f5d672 Add interpolate from all opsets to cpu shape infer (#17875) 2023-06-07 11:28:45 +02:00
hyunback kim
13028397b7 Optimize permute gemm onednn (#17621)
* [GPU] Optimized out permute in permute-gemm(onednn) pattern.

Permute can be optimized out when permute's in and out are compatible and onednn gemm.

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-06-07 16:20:59 +09:00
Chen Xu
3a1326fb58 [CPU] Reduce node improve parallelism (#17615) 2023-06-07 05:11:18 +00:00
Wang Wangwang
84bd391369 [AUTO] Support setting log_level from config (#17569)
* [AUTO] Support setting log_level from config

* Add test cases

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-06-07 10:31:27 +08:00
Wanglei Shen
4ca8d40e43 update scheduling core type value (#17771)
* update scheduling core type value

* update for comments

* update for comments

* fix code style issue
2023-06-06 22:14:40 +08:00
Alexandra Sidorova
2ec9fe915c [Snippets] Added support of 3D MHA (#17817) 2023-06-06 16:55:01 +04:00
Nikita Malinin
29f06692d6 ENABLE_MMAP property pos (#17896) 2023-06-06 12:19:53 +00:00
Tatiana Savina
94597d8391 [DOCS] Port release doc fixes to master (#17901)
* [DOCS] Change downloads directory link  (#17846)

* installation link

* fix path

* change notebooks links (#17857)

* fix apt and yum links (#17877)

* [DOCS] Fix list and links to POT (#17887)

* change link to POT

* change header label

* fix typo
2023-06-06 12:48:18 +02:00
Ilya Lavrenov
13e9752012 Use tbb from vcpkg (#17891) 2023-06-06 09:12:16 +04:00
Ilya Lavrenov
ace4fb6ecd Fixed compilation with clang (#17890) 2023-06-06 00:23:07 +04:00
Zlobin Vladimir
86e46e5e35 Work around deprecation error (#17888)
For some reason my MSVC gives the following error:
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\utility(176,5): error C4996: 'ngraph::SlicePlan::SlicePlan': T
he nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openv
ino.ai/latest/openvino_2_0_transition_guide.html [C:\Users\vzlobin\r\openvino\build\src\common\transformations\inference_engine_transformations_obj.vcxproj
]
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\xmemory(680,47): message : see reference to function 'std::pai
r<std::shared_ptr<ov::op::v1::StridedSlice>,ngraph::SlicePlan>::pair(std::pair<std::shared_ptr<ov::op::v1::StridedSlice>,ngraph::SlicePlan> &&)' [C:\Users\
vzlobin\r\openvino\build\src\common\transformations\inference_engine_transformations_obj.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\utility(175,5): error C4996: 'ngraph::SlicePlan::SlicePlan': T
he nGraph API is deprecated and will be removed in the 2024.0 release. For instructions on transitioning to the new API, please refer to https://docs.openv
ino.ai/latest/openvino_2_0_transition_guide.html [C:\Users\vzlobin\r\openvino\build\src\common\transformations\inference_engine_transformations_obj.vcxproj
]
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.35.32215\include\xmemory(680,47): message : see reference to function 'std::pai
r<std::shared_ptr<ov::op::v1::StridedSlice>,ngraph::SlicePlan>::pair(const std::pair<std::shared_ptr<ov::op::v1::StridedSlice>,ngraph::SlicePlan> &)' [C:\U
sers\vzlobin\r\openvino\build\src\common\transformations\inference_engine_transformations_obj.vcxproj]
2023-06-05 20:31:05 +04:00
Ilya Lavrenov
2799fe9855 Install all python build artifacts to a single folder (#17883) 2023-06-05 18:12:17 +02:00
Karol Blaszczak
6167619e28 DOCS post-release adjustments (#17874) 2023-06-05 16:39:19 +02:00
Chen Xu
1dafb405fd [CPU] Improve performance in 5D scenario of Reduce node (#17828) 2023-06-05 14:52:18 +04:00
Yury Gaydaychuk
43bf90f90c [CPU] Align jit and ref offsets handling in DeformableConvolution implementation (#10686) 2023-06-05 14:17:54 +04:00
Roman Zubarev
8e97010595 remove quantization config for vpu (#17507)
* remove quantization config for vpu

* remove VPU config testcases from test unify scales

---------

Co-authored-by: shokinal <alexander.shokin@intel.com>
Co-authored-by: Alexander Kozlov <alexander.kozlov@intel.com>
2023-06-05 13:14:48 +03:00
Piotr Krzemiński
0d9109acf3 [PT FE] Add aten::_shape_as_tensor (#17804)
* [PT FE] Add aten::_shape_as_tensor impl

* Update shape_as_tensor.cpp

* [PT FE] Fix headers, add explicit type, comment out shape detection

* [PT FE] Reverse example comments
2023-06-05 10:59:12 +02:00
Aleksandr Voron
0944295d61 [CPU] Enable SLT Eltwise tests on ARM (#17713) 2023-06-05 12:58:12 +04:00
Piotr Krzemiński
3d8a620ac3 [PT FE] Add aten::_native_multi_head_attention (#17550)
* [PT FE] Add implementation of MHA

* [PT FE] Add tests, add scaled dot product attention

* [PT FE] Fix missing transpose for Q,K,V & output Attention

* [PT FE] Formatting errors

* [PT FE] Fix testing class with nn.Linear

* [PT FE] Fix incorrect key franspose in dot product attention computation

* [PT FE] Fix incorrect matmul due to lack of transpose

* [PT FE] Enable support for all boolean masks

* [PT FE] Fix returned weights

* [PT FE] Remove debugging artifacts

* [PT FE] Remove unused nodes, optimize transpose nodes' usage, add comments to floating masks

* [PT FE] Further reduce node usage, return None instead of 0 for return_weights=false

* [PT FE] Allow for dynamic num_num_head, embed_dim

* [PT FE] Improve error comment, remove unnecessary Unsqueeze

* [PT FE] Clang format

* Update tests/layer_tests/pytorch_tests/test_native_multi_head_attention.py

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

* [PT FE] Add masks comments, improve mask broadcasting

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-06-05 10:55:03 +02:00
Yury Gaydaychuk
c0fb831c6e [CPU][Commit slider] Rmtree fixed (#17858) 2023-06-05 12:52:58 +04:00
Ilya Churaev
36625404eb [GPU] Fix GPU remote context name initialization (#17850) 2023-06-05 12:00:04 +04:00
Sergey Shlyapnikov
db8d23231a [GPU] Change priority of CPU implementations (#17829) 2023-06-05 11:21:26 +04:00
Sebastian Golebiewski
a9ddc2b553 update-diagram (#17871) 2023-06-05 08:16:29 +02:00
Vladimir Paramuzov
1ce447674e [GPU] Better device input memory reuse (#17853) 2023-06-05 09:30:22 +04:00
Asthestarsfalll
14da93c155 【PaddlePaddle Hackathon 4】add paddle set_value op (#15888)
* add set_value op

* Support for tensor input

* fix shape error

* refactor for dynamic shape

* update process of target_value_shape and add comments

* support arbitrary steps

* fix

* fix ends_node

* fix and add test cases

* fix error when slice operation return maximum number in int32

* remove redundant function call

* update for minus step

* add constraints for minus inputs

---------

Co-authored-by: mei, yang <yang.mei@intel.com>
2023-06-05 05:06:05 +02:00
Wanglei Shen
a0c8fdbd86 enable CPU map and multiple streams for ARM Linux (#17450)
* enable CPU map for ARM Linux based on freqency information

* fix code style issue

* fix code style issue

* remove 'streams = 1' WA for ARM linux

* update for typo and comments

* update for comments

* keep  WA

* keep WA of streams = 1 for ARM Linux

* update num_streams WA for ARM Linux in test case

* update for comments

* update for comments

* update for comments

* update for comments

* update for merge conflict

* update and add test case for MTL
2023-06-03 17:07:02 +08:00
Kelvin Choi
ec0daa5b10 [GPU] Apply m_pythondiv for fusing of eltwise div (#17590) 2023-06-02 17:29:02 -07:00
Alina Kladieva
acb4b1d37b Revert "Stale PRs/Issues action limit extention (#17491)" (#17868)
This reverts commit c351335661.
2023-06-02 22:50:57 +00:00
Yaroslav Torziuk
eb588f0336 Add subgroup block reading in softmax_gpu_items_class_optimized.cl (#16223) 2023-06-02 12:59:55 -07:00
Taylor Yeonbok Lee
f670dc5a0d [GPU] Enable runtime buffer fusing for dynamic shape (#17668)
* Initial impl for runtime buffer fusing
Passing unittest with static kernel

* pass unittest with dynamic impl

* Refactor allocate_output

* Separate header of buffer fusing

* Refactored buffer fusing :: matcher/optimize

* More cleanup

* Fix crash in dolly

* Reset can_be_optimized of primitive_inst when it is not

* Fix empty tensor : Primitive with empty data should be skipped

* Fix issue in dynamic padding : Static kernel should not contain dynamic padding dims
Fix missing reset of update_shape_done_by_other flag

* Not to add cache with emtpy kernel for optimized out inst

* Fix corner case error in buffer fusing
- Shapes of some preds may not be changed, but still needed to do update_impl because 1) paddings are changed 2) output memory should be updated
- optimizable impl should not be added to the cache

* Allowing reorder & permute_ref to be optimized concat predecessor

* Some more fixes :
runtime buffer fusing is available only when all preds/concat are dynamic
runtime buffer fusing is to be executed only if the node is dynamic

* Fix allocate_output parameter called by get_estimated_device_mem_usage according to the new change

* Fixed error in cascaded concatt

* Need to reinterprete even though the size is same
2023-06-02 12:39:28 -07:00
Marcus van Houdt
c3a54b0a6e Add missing != operator, fixing compilation issue with Visual Studio 17.6 together with /std:c++latest (#17860) 2023-06-02 22:05:57 +04:00
Sofya Balandina
b430802d0c [conformance] Add rel pass rate to highlight table (#17783) 2023-06-02 21:44:54 +04:00
Sergey Shlyapnikov
5afbd4cf92 [GPU] Remove clFinish call from USM memory lock function (#17830) 2023-06-02 16:17:05 +04:00
Edward Shogulin
43d67b0a32 [LPT] StridedSlice dequantization improvement (#17563)
* [LPT] StridedSlice dequantization improvement

* review comments: refactoring & simplification
2023-06-02 08:47:36 +01:00
Chen Peter
031f2cc7d1 Requirements for the HW plugin to integrate with AUTO (#17053)
* Requirements for the HW plugin to integrate with AUTO

Signed-off-by: Peter Chen <peter.chen@intel.com>

* Update property requirements and wording

1. Added purpose for each reqired property
2. Removed autobatching properties
3. Updated wording

Signed-off-by: Peter Chen <peter.chen@intel.com>

* Add one BA test and update purpose for model_name

Signed-off-by: Peter Chen <peter.chen@intel.com>

* Add request to ov::compilation_num_threads

Signed-off-by: Peter Chen <peter.chen@intel.com>

* Add link to intgration with AUTO

Signed-off-by: Peter Chen <peter.chen@intel.com>

* Wording with API 2.0

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

* Try to fix the link

* Remove ":doc:"

* Add postfix "__" for external link

* Apply suggestions from code review

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

* bash command and multiple devices description update

Signed-off-by: Peter Chen <peter.chen@intel.com>

---------

Signed-off-by: Peter Chen <peter.chen@intel.com>
Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2023-06-02 15:04:33 +08:00
bstankix
e1ed6599f0 Add default platform type selection to ov graphs (#17844) 2023-06-01 15:28:37 +02:00
Karol Blaszczak
e0f241f382 DOCS homepage update (#17842) 2023-06-01 15:16:10 +02:00
dependabot[bot]
266764171f Update networkx requirement from <=2.8.8 to <3.1.0 in /tools/mo (#15293) 2023-06-01 14:11:05 +02:00
Piotr Krzemiński
482c030408 [PT FE] Add aten::LogSoftmax (#17629)
* [PT FE] Add aten::LogSoftmax implementation & tests

* Update log_softmax.cpp

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

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

* [PT FE] Add recommended comment, replace get_input_tensor with new implementation

* [PT FE] Align to f32 if no dtype provided

* [PT FE] Revert type align

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-06-01 12:04:27 +00:00
Ilya Lavrenov
6d42a15e07 Use 2023.0.0 debian packages on CI (#17840) 2023-06-01 15:23:08 +04:00
Maciej Kwapulinski
4b1d0fbc37 [GNA] convertFunctionToICNNNetwork operation performance improovement (#17685)
* make CNNLayerCreator be persistent accross single convertFunctionToICNNNetwork operation

* [GNA] RR comments applied

* [GNA] RR comments applied
2023-06-01 13:21:54 +02:00
Katarzyna Mitrus
edf089bf22 [Pad-12] Introduce PadBase and Pad-12 operation (#17796)
* Introduce PadBase

* Update ov scope name

* Introduce Pad-12

* Common type_prop Pad tests

* Init Pad-12 ref tests

* Add Pad reference tests

* attr and op  check tests

* Move eval and clone inputs from PadBase

* Init opset12

* Headers clean up

* Update shape_inference map for CPU

* Update Pad evaluates to use ov::TensorVetor

* Update shape infer map with Pads

* Fix namespace

* Update op check test

* Add common Pad shape_inference tests

* Reuse PadBase shape_infer
2023-06-01 13:21:43 +02:00
Ilya Lavrenov
7697bacfca Use OpenCL from CCI (#17839) 2023-06-01 15:04:32 +04:00
Yury Gaydaychuk
2467f655b7 [CPU][Tools] wa for tmp directory handling in linux (#17824) 2023-06-01 14:20:30 +04:00
Alexandra Sidorova
95fe905783 [Snippets] Refactored work with Loop ID (#17680) 2023-06-01 13:51:55 +04:00
Xuejun Zhai
0e4855a87c Fix C API registers unit test failed (#17800)
* Fix C API registers unit test failed

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

* Fix compile error in macos

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

* Fix CI format issue

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

* using the getExecutableDirectory() func from openvino::utils

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

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-06-01 12:52:47 +04:00
Ilya Churaev
18d6ece4e4 Deprecate ExecutableNetwork and InferRequest API (#17801)
* Deprecate ExecutableNetwork and InferRequest API

* Fixed some warnings

* Fixed some warnings

* Try to fix documentation

* Try to skip documentation warnings
2023-06-01 12:50:56 +04:00
Ilya Churaev
d53339ff67 Deprecate legacy precisions and layouts (#17803)
* Deprecate legacy precisions and layouts

* Suppress some warnings

* Fixed some warnings
2023-06-01 12:47:55 +04:00
Ilya Churaev
ea04f8217d Mark as deprecated nGraph API (#17647)
* Mark as deprecated nGraph API

* Fixed code style

* Added IN_OV_LIBRARY define

* Suppress warnings for log

* Suppress warning

* Updated nGraph headers

* Fixed build for macOS

* Fixed lpt and snippets

* Fixed build all on macOS

* Suppress some warnings

* Fixed some new warnings

* Fixed new warnings

* Try to fix some warnings

* More warnings

* Soome change

* Suppress more warnings

* Suppress warnings for transformations

* Suppress warnings for LPT

* One more fix

* Suppress more warnings

* Try to fix opset error

* Remove opset constructor

* Cannot fix opset warning

* Suppress warnings for offline transfromations

* Fixed some warnings for Windows

* Fixed code style

* Suppress some warnings for onnx FE

* Revert "Suppress some warnings for onnx FE"

This reverts commit 75d23b64fc.

* Revert "Fixed code style"

This reverts commit c6eba63116.

* Revert "Fixed some warnings for Windows"

This reverts commit 23d7ed88b6.

* Revert "Suppress warnings for offline transfromations"

This reverts commit 0b9f6317bf.

* Revert "Cannot fix opset warning"

This reverts commit 19ea658639.

* Revert "Remove opset constructor"

This reverts commit 06afb1bc20.

* Revert "Suppress warnings for LPT"

This reverts commit 58b1c0f5a0.

* Revert "Suppress warnings for transformations"

This reverts commit f8bb9814a1.

* Revert "Suppress more warnings"

This reverts commit f9f0da9acb.

* Revert "Soome change"

This reverts commit e545d4984e.

* Remove deprecation for ngraph::OpSet and FactoryRegistry
2023-06-01 12:44:28 +04:00
Ilya Lavrenov
6b3a252f92 Update archive names for 2023.0 release (#17835) 2023-06-01 08:28:47 +00:00
Anton Voronov
5e64a7c0c1 [DOC] cpu documentation fixes (#17815) 2023-06-01 12:26:06 +04:00
Ilya Lavrenov
24cddecb57 Updated badges to reflect new release 2023.0 (#17834) 2023-06-01 08:24:02 +00:00
Andrei Gorbachev
97113b317f [GPU] fix incorrect deformable_group_idx calculation (#17759) 2023-06-01 10:51:48 +04:00
Tomasz Dołbniak
02124aece4 GroupNormalization core op (#17781) 2023-06-01 08:49:02 +02:00
Ilya Lavrenov
0b6b16c83a Added vcpkg build to CI (#17808) 2023-06-01 10:31:10 +04:00
Vladimir Paramuzov
ac26216869 [GPU] Functional fixes for nvidia (#17735) 2023-06-01 09:45:30 +04:00
Haiqi Pan
2dd0b75529 [C API] some contents missed in doxygen (#17671)
* remove @param and separate line

* separate line of ov_remote_context_free

* fix code style

* Update src/bindings/c/include/openvino/c/ov_remote_context.h

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

* add ...

* add ...

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-06-01 10:22:08 +08:00
Mateusz Mikolajczyk
e45068bd64 [PT FE] Fix aten::squeeze translation + add tests for aten::slice (#17584)
* Fix squeeze compatibility

* Fix issue in remainder causing model to fail

* Add tests for slice

* Modify remainder to support int + add type tests

* Apply requested changes

* Add comment
2023-05-31 22:26:39 +02:00
Nikolay Shchegolev
caa2273b37 [CPU] GridSample tests threshold. (#17782) 2023-05-31 17:05:59 +00:00
Sebastian Golebiewski
6c287986b7 [DOCS] convert_model() as a default conversion path (#17454) 2023-05-31 17:53:22 +02:00
Pawel Raasz
b779dc3246 Relax sizes and scales check for (#17811) 2023-05-31 17:33:48 +02:00
Vladislav Golubev
9176f31085 [CPU] Skip some DefConv test cases (#17810) 2023-05-31 16:25:59 +02:00
Sebastian Golebiewski
6187b3fe90 [DOCS] Updating Tutorials (#17769) 2023-05-31 15:47:24 +02:00
Vladislav Golubev
b167460fe3 [CPU] Graph::DropNode fix (#17702) 2023-05-31 17:39:17 +04:00
OK
f2017e8c2e Validation: Test AUTO plugin timetests (#17508)
* Validation: Test AUTO plugin

* config

* Add debug logs against AUTO

* Iteration

* iteration

* iteration

* iteration

* iter

* iteration

* iteration

* iteration

* iteration

---------

Co-authored-by: Daria Ilina <daria.ilina@intel.com>
2023-05-31 15:38:57 +02:00
Vladislav Golubev
b655fa55a1 [CPU] RNN: Shape checks are relaxed (#17724) 2023-05-31 12:13:44 +00:00
Nadezhda Ageeva
65caa9d745 [HETERO]: Avoid duplicated results (#17725)
* [HETERO]: Avoid duplicated results

* Code style
2023-05-31 15:13:01 +04:00
Karol Blaszczak
f49935323e Updated install docs for 2023.0 (#17764) (#17807)
port: #17764

authored by @ilya-lavrenov
2023-05-31 12:39:10 +02:00
Vladislav Golubev
34d4535170 [CPU] Deconv dummy shape calculation: validate upper bound only if it is defined (#17690) 2023-05-31 14:25:17 +04:00
Ekaterina Aidova
fb4efe7203 [PT FE]: support flip operation (#17705)
* [PT FE]: support flip operation

* more tests
2023-05-31 12:07:24 +02:00
Ekaterina Aidova
2d7db5e3d3 [PT FE]: support aten::cdist and aten::pairwise_distance (#17718)
* [PT FE]: support aten::cdist and aten::pairwise_distance

* p and eps non-const
2023-05-31 12:07:12 +02:00
Karol Blaszczak
a91446a875 DOCS operation support articles update (#17449)
conformance table added
ARM merged with CPU
precision support and layout tables removed from the overview device article (info available in device articles)
2023-05-31 12:01:55 +02:00
Mingyu Kim
a757506f6f Typo fix (#17723) 2023-05-31 18:39:19 +09:00
Maciej Smyk
dc36ec11b5 [DOCS] Link adjustment for dev docs + fix to build.md CPU link for master (#17744)
* link-update-1

* link update

* Update build.md

* dl workbench

* Update README.md
2023-05-31 13:27:20 +04:00
Ivan Vikhrev
70b935dfe2 Align sync mode fps measurement in py benchmark_app with cpp benchmark_app (#17773) 2023-05-31 11:04:12 +02:00
Karol Blaszczak
4d2d58b647 [DOCS] benchmark 23.0 update (#17789) 2023-05-31 10:51:43 +02:00
Xiping Yan
dba5de6513 [CPU]Remove warning suppression '-Wno-sign-compare' and fix warnings (#16476)
* fix some warning sign-compare
1: get_length() sometime return dimension, sometime return static_dimension(template param), all convert to int64_t for comparing;
	src/core/include/openvino/core/dimension.hpp:28 value_type=int64_t;
	src/plugins/intel_cpu/src/utils/shape_inference/static_dimension.hpp:24 value_type = size_t;
2: auto default = int; for loop and const declaration;
3: sign and no-sign compare, compiler will convert them to no-sign to compare automatically;
	So recommend to static_cast<size_t>;

Signed-off-by: xipingya <xiping.yan@intel.com>

* -    size_t brg0BaseIdx = -1;
+    int64_t brg0BaseIdx = -1;

And some test case sign no-sign comparison.

* Fix new warnings after rebase.

Signed-off-by: Yan, Xiping <xiping.yan@intel.com>

* Update based on maxnick review.

Signed-off-by: xipingya <xiping.yan@intel.com>

* Process latest comments.

Signed-off-by: Yan, Xiping <xiping.yan@intel.com>

* Change embIndex from int to size_t

Signed-off-by: Yan, Xiping <xiping.yan@intel.com>

* 1: Revert lastNumSegments_, segmentIds_ to int
2: Initialize size_t brg1BaseIdx = std::numeric_limits<size_t>::max();

Signed-off-by: Yan, Xiping <xiping.yan@intel.com>

* Simplify this comparing.
-            indexes.push_back(std::max<size_t>(idx - 1, 0u));
+            indexes.push_back(0u == idx ? 0 : idx - 1);

Signed-off-by: Yan, Xiping <xiping.yan@intel.com>

* Fix arm build warning.

Signed-off-by: xipingya <xiping.yan@intel.com>

* Fix ARM plugin build fail issue.

Signed-off-by: xipingya <xiping.yan@intel.com>

* Fix new warning

Signed-off-by: xipingya <xiping.yan@intel.com>

* outConf.inPlace() maybe is -1

Signed-off-by: xipingya <xiping.yan@intel.com>

---------

Signed-off-by: xipingya <xiping.yan@intel.com>
Signed-off-by: Yan, Xiping <xiping.yan@intel.com>
2023-05-31 11:58:29 +04:00
Wanglei Shen
d84face9ee [DOC] Add multi threading for 2023.0 release in CPU plugin document (#17638) 2023-05-31 11:31:56 +04:00
Anton Voronov
263e51a1be [DOC][CPU] Documentation update (#17784) 2023-05-31 10:37:32 +04:00
Wanglei Shen
047d2d1d7f support numactl on Linux in multi-threading 2.0 (#17209)
* support numactl on Linux in multi-threading 2.0

* update cache file reader

* fix warning

* keep change for numactl support only

* keep change for numactl support only

* keep change for numactl support only

* keep change for numactl support only

* keep change for numactl support only

* fix typo

* update for comments

* fix code style issue

* update is_cpu_map_available()

* update for comments

* update for comments

* update for comments
2023-05-31 09:44:19 +08:00
bstankix
2f2f0b850a [DOCS] Add ability to build notebooks from local files (#17797)
* Add build notebooks from local files
* Add local notebook files v0.1.0-latest/20230529220816
2023-05-30 16:11:14 +02:00
Egor Duplenskii
f6141ccc89 [CPU] Fix assert in oneDNN dw conv (#17634) 2023-05-30 18:00:43 +04:00
Anastasia Kuporosova
9c63a9bbd0 [PyOV] Add objects representations (#17519) 2023-05-30 11:47:40 +00:00
Pawel Raasz
5299c3378b Review interpolate for shape inference aspects (#17667)
* Review interpolate shapes and label propagation

* Review shape_infer template implementation

* Update shape infer of interpolate in GPU plugin
- Add new tensor accessor for ov::Tensor map

* Correct casting in dim::scale function

* Remove validation of size of input 1 in v0

* Relax inputs check for interpolate v4

* Correct GPU shape inference

* Use ov::Tensors in interpolate's evaluate
- Remove some duplicated code
- Apply comments from review

* Set shape in interpolate's eval for output tensor
2023-05-30 14:49:54 +04:00
Katarzyna Mitrus
328d852f5a [ShapeInference] Reduce* ops shape inference review and update (#17677)
* Tests

* Add eval_lower/upper support to ReduceMax

* Add support for ITensorAccessor in reduce shape infer

* Add tests for duplicated axes and output shapes size

* Push to output_shapes instead final copy to vector

* Remove old shape_infer API

* Move axes rank validation to  shape_infer

* Restore shape_infer API for GPU
2023-05-30 14:29:23 +04:00
Mateusz Tabaka
6f7e9cd786 Update docs for frontend extensions (#16752)
* Update docs for frontend extensions

* Apply suggestions from code review

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

* fix order in openvino_framework_map

* no discard return value

* add note of openvino_contrib repo

* update example for PT

* note

* add paragraph of named inputs and outputs

Signed-off-by: Mateusz Tabaka <mateusz.tabaka@intel.com>

* title underline too short

* review comments

* remove m_ prefix from CustomOp attr names

---------

Signed-off-by: Mateusz Tabaka <mateusz.tabaka@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-05-30 12:53:59 +04:00
River Li
1ca75640ed [DOCS] Add conditional compilation tutorial to official docs (#16551)
* Add condtional compilation deploy guide

* Fix url link issue

* Update minor words

* Add more contens

* Resolve comments

* Resolve reviewer's comments
2023-05-30 16:28:05 +08:00
Fang Xu
25865201ef enable cpu map for mac (#17499)
* enable cpu map for mac

enable nstreams and nthreads setting for mac

* keep streams=1 for M1

* add explicit type conversion

* remove definition of static cpu

* Update with master

* separate branches for __APPLE__ and __EMSCRIPTEN__

* modify the implementation of is_cpu_map_available function

---------

Co-authored-by: Wanglei Shen <wanglei.shen@intel.com>
2023-05-30 15:53:23 +08:00
Pavel Esir
84f6deb757 [MO] disabling inserting redundant Converts for int in legacy IR serialization (#17572)
* disabling inserting redundant Converts for integer types for legacy IR serialization

* Revert "disabling inserting redundant Converts for integer types for legacy IR serialization"

This reverts commit ddd96e2034.

* more selective skip; added unit-tests

* corrected unit-tests

* fix unit-tests: replace dynamic Parameter input with Const

* fix unit-tests: implemented reading with IR frontend

* sort imports

* final revision of unit-tests

---------

Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>
2023-05-30 11:51:56 +04:00
Mateusz Mikolajczyk
a1a753bb03 [PT FE] Add translation for aten::__range_length and aten::__derive_index (#17618)
* Add operators and tests

* Fix op kind

* Merge tests

* Fix freeze issue as separate bug

* Fix indent

* Fix print placement

* Fix dtype
2023-05-29 13:34:08 +00:00
Roman Kazantsev
a6d3f9d093 [TFC][TFL] Avoid ngraph in tensoflow common and lite parts (#17775)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-29 14:20:09 +02:00
Ruslan Nugmanov
28d2e77a92 TFLite layer tests second part (#17688)
* tfl - removes redundant params

* tfl - batch matmul

* tfl - expand_dims

* tfl - squeeze

* tfl - hardswish

* tfl - batch matmul

* tfl - padv2

* tfl - fixes for dynamic shapes

* tfl - where

* tfl - zeros_like

* tfl - zeros_like

* tfl - precommit fix

* tfl - shape and xfail for expand dims
2023-05-29 15:50:34 +04:00
Ilya Lavrenov
bd0117d648 Vcpkg conan fixes (#17765)
* Small fixes for openvino::pugixml creation for Dev packages

* Flexiable components installation

* Fixed compilation for x86

* Added extra checks for ENABLE_NCC_STYLE

* Fixed typo in RPM
2023-05-29 15:40:51 +04:00
Marcin Kacprzak
8c6c46425b [GNA] Fix for unsupported concat on axis 0 (#17558) 2023-05-29 12:00:13 +01:00
Tomasz Adamowicz
cccbf7ce7e [GNA] Limitations refactoring (#16957)
* Limitations refactoring

* fix CI builds/tests

* changes after review

* Move GraphCompiler initialization to constructor

* resolve conflicts after rebase

* update after review

* resolve problem with double initialization for Limitations
2023-05-29 09:03:58 +01:00
Ekaterina Aidova
3300543eac [PT FE]: support frobenius norm and fix aten::norm (#17701)
* [PT FE]: support frobenius norm and fix aten::norm

* fix code style
2023-05-29 11:14:16 +04:00
Maciej Smyk
00f94426f1 [DOCS] Configuring devices article update for master (#17756)
* Update configure_devices.md
2023-05-29 09:02:39 +02:00
Pavel Durandin
dfb6c8ae38 [GPU] Mvn skipconfig update and typos fix (#17660) 2023-05-29 09:09:36 +04:00
Pawel Raasz
57e23ffc0a Calculate TensorView strides on demand not in ctor (#17729)
* Optimize strides calculation using one loop

* Calculate strides on get_strides or set_shape
instead in ctor in TensorView

* Call once update strides on get
2023-05-29 08:20:27 +04:00
Ilya Lavrenov
334114844d Building Linux arm64 samples (#17767) 2023-05-28 17:04:51 +04:00
Ilya Lavrenov
72993e70c0 Fixed Android build (#17704)
* Fixed Android build

* Update thirdparty/dependencies.cmake
2023-05-27 15:02:03 +04:00
Ilya Lavrenov
6a562268d3 Avoid global targets in thirdparty dependencies (#17755)
* Added dependencies via vcpkg

* Try to remove global imported targets

* Fix for conan

* Fixed RHEL case

* Fixed RHEL, U18 cases

* Returned OpenCV finding

* Update cmake/templates/OpenVINOConfig.cmake.in

Fixed IMPORTED_GLOBAL => GLOBAL in OpenVINOConfig.cmake.in template file

* Apply suggestions from code review

Properply used NAMES in find_package

* Fixed case with zlib

* Final fixes

* Fixes

* Removed CONFIG from find package ZLIB

* Fixed RHEL

* Reverted changes with gflags back

* Turn off LTO after thirdparty dependencies are built
2023-05-27 10:47:41 +04:00
Evgenya Stepyreva
b0b540aeaf Auto-Batch: fix data race (#17752)
* Auto-Batch clone model which is being changed

* Comments adressed

* Style

* The fix

* Final change
2023-05-26 18:09:35 +00:00
Mateusz Mikolajczyk
6501d963fc Add aten::item (#17730) 2023-05-26 18:05:24 +02:00
Tatiana Savina
0d86a82041 [DOCS] Ecosystem page update (#17693)
* ecosystem change

* ovtf changes

* caption

* headers fix

* remove page
2023-05-26 17:29:15 +02:00
Ekaterina Aidova
b2aaa10ef6 [PT FE]: support aten::unflatten (#17736)
* [PT FE]: support aten::unflatten

* Update src/frontends/pytorch/src/utils.cpp

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

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-05-26 15:27:05 +00:00
Zlobin Vladimir
84f46bd048 benchmark_app: except ALLOW_AUTO_BATCHING (#17731)
* benchmark_app: except ALLOW_AUTO_BATCHING

Running benchmark_app.py with -b 1 -d CPU fails with
`Unsupported property ALLOW_AUTO_BATCHING by CPU plugin`.

C++ benchmark_app sets ALLOW_AUTO_BATCHING in
ov::Core::compile_model() call, which doesn't trigger the error.

* Move `ALLOW_AUTO_BATCHING` to `device_config`
2023-05-26 14:52:15 +00:00
Tatiana Savina
cd4b920bc9 [DOCS] Deploy and run documentation sections (#17708)
* first draft

* change name

* restructure

* workflow headers change

* change note

* remove deployment guide

* change deployment description
2023-05-26 16:34:50 +02:00
Ilya Churaev
ad1fbe6684 Remove redundant dependencies from Auto batch unit tests (#17750) 2023-05-26 13:22:51 +00:00
Ekaterina Aidova
307b666d99 [PT FE]: support boolean data type in sum operation (#17715) 2023-05-26 15:44:50 +04:00
Yury Gorbachev
ed8333a94c Updated badges to include conda downloads and fix links from badges (#17748)
* Restructured badges a bit

* tuning a bit
2023-05-26 14:57:27 +04:00
Ryszard Jezierski
79f46c0d1f [GNA] Rewrite FP32 tests to the new API (#16088)
* Reimplemented models in ngraph, added fp32 tests

* Deleted olf FP32 tests

* Switched test implementation to SubgraphBaseTest

* extended existing subgraph tests by SW_FP32 mode instead of separate FP32 tests

* Extended additional subgraph tests by SW_FP32 mode, needed to modify base test classes

* remove scale factor from fp32 tests

* revert failing test

* Added ticket number for disabled tests
2023-05-26 11:13:48 +01:00
Vladislav Golubev
2df980aa9f ReorgYolo shape inference fix (#17728) 2023-05-26 13:06:49 +04:00
Irina Efode
9e646bf446 [CONFORMANCE] Add generation of archieve with failed IRs (#17739) 2023-05-26 10:53:38 +02:00
Pawel Raasz
23258c8bcf [ShapeInfer] Review Proposal op for shape inference aspects (#17578)
* Review Proposal op for shape infer aspects:
- Check partial shape and label propagation.
- Check template implementation of shape_infer.
- Add/update unit test for static and dynamic shapes.
- Drop using `ngraph` namespace from reviewed operator.

* Add missing includes

* Correct shape infer if batch defined in input only

* Improvement in tensor accessor:
- Make possible to create TA as constexpr
- Make empty TA as cons reference to existing object

* Remove not used tensor accessor
2023-05-26 09:24:41 +04:00
Evgenya Stepyreva
b1b5d65951 Random Uniform: precise shape inference (#17740) 2023-05-26 09:05:42 +04:00
Ilya Churaev
1dad2c003b Move Python tests to the end of CI Pipeline. (#17716)
* Move Python tests to the end of CI Pipeline.

First of all we need to run tests on C++ in order to show C++ issues

* Move CPU func tests to the end of pipeline

* Changed Windows
2023-05-26 07:06:18 +04:00
Ilya Churaev
dd0060a582 Deprecate legacy Core and Allocator (#17646)
* Deprecate legacy Core and Allocator

* Suppress blob warnings

* Suppress some warnings

* Suppress more warnings

* Suppress blob allocator

* Suppress more warnings

* Suppress more warnings

* Fixed compilation issues for Template plugin

* Fixed some warnings

* Fixed tests

* Add WA for benchmark_app

* Suppress #warning for developer package

* Rename define

* Disable warnings for compile_tool and benchmark_app

* Suppress Windows warnings

* Suppress more warnings for Windows

* Fixed compile_tool install

* Added message for VS

* Fixed snippets and throw only first error
2023-05-26 07:06:03 +04:00
Eddy Kim
ef041565a8 [GPU] primitive serialization (#17670)
* primitive serialization

* updated primitive::desc() to use impl_param instead of program_node

* added hash caching unit tests

* added missed calls to save and load of parent

* updated copyright year
2023-05-25 18:31:32 -07:00
Andrew Kwangwoong Park
eeb552cc93 [GPU] Added shape agnostic optimized Permute_tile_8x8_4x4 kernel (#17652)
* [GPU] Added shape agnostic optimized Permute_tile_8x8_4x4 kernel

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add permute_gpu_tile_8x8_4x4 shape agnostic TCs for ov_gpu_unit_tests

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Fix calculation for required local mem size

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Update not to condisder x and feature dimension for tile size on shape agnostic kernel case

Signed-off-by: Andrew Park <andrew.park@intel.com>

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-05-25 15:07:07 -07:00
Yury Gaydaychuk
640359a5b3 [CPU][Debug Tool] Support of commit-slider for Win OS (#15912) 2023-05-25 15:48:34 +00:00
Karol Blaszczak
1051dcae83 [DOCS] install-guide fix (#17672) 2023-05-25 16:38:28 +02:00
Andrei Gorbachev
71dcdf8a28 [GPU] Remove reorder fix (#17691) 2023-05-25 14:32:32 +04:00
Evgenya Stepyreva
5e299c1949 Make pre-commit green again (#17727)
* Make pre-commit green again

* Minimize impact
2023-05-25 14:01:22 +04:00
Wanglei Shen
29f1ba9f42 [CPU] HOT FIX: allow latency mode (streams = 1) to use hyper threading processors (#17592) 2023-05-25 11:12:56 +04:00
guozhong wang
b93b863bac 1.Remove MULTI test cases 2.Reduce iteration from 50 to 10 (#17551)
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-05-25 11:10:02 +08:00
Ilya Churaev
9f1757f400 Don't print check in case of throwing ov::Exception (#17699)
* Don't print check in case of throwing ov::Exception

* Fixed code style
2023-05-25 07:04:38 +04:00
Ilya Lavrenov
a21fe95ae6 Enabled fdupes checks for Linux arm64 (#17711) 2023-05-24 23:14:29 +04:00
Roman Kazantsev
3925abfb19 [TF FE] Avoid usage of NGraph routines (#17709)
* [TF FE] Avoid usage of NGraph routines

Also, it introduces separate test fixture with graph comparison
for FEs

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

* Specify tickets for TODOs

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-24 19:42:41 +02:00
Tatiana Savina
5edc5e7010 [DOCS] Operations to RST (#17692)
* pad12

* pad1

* change code directives

* fix snippet directive
2023-05-24 15:16:23 +02:00
Szymon Irzabek
59555872f9 [GNA] Switch GNA library to version 03.05.00.2116 (#17683) 2023-05-24 14:04:03 +01:00
Egor Duplenskii
2e8548ca36 [IE_TESTS] Correct random data generation (#17244) 2023-05-24 15:50:30 +04:00
Sofya Balandina
be96f5438c [apiConformance] Fix issues in core properties tests (#17608) 2023-05-24 15:29:31 +04:00
Maciej Smyk
13c966f293 [DOCS] Link adjustment (Snippets) for master (#17659)
* link fix

* diagram_workflow

Removal of not used diagram_workflow.svg images

---------

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-05-24 14:03:54 +04:00
Aleksandr Voron
534101da92 [DOCS][CPU] Update ARM CPU plugin documentation (#16893) 2023-05-24 13:29:15 +04:00
Ilya Lavrenov
02b848d0b8 Unified cmake find_host_package and other host commands (#17662)
* Unified cmake find_host_package and other host commands

* should work

* Moved files
2023-05-24 08:43:59 +00:00
Pawel Raasz
e09b1a9fa2 Fix StridedSlice constant folding when disabled attribute set. (#17679)
* Do not fold StridedSlice when:
- On begin or end there is ShapeOf with disabled constant folding.
- StridedSlice op has disabled constant folding.

* Copy rt info to folded StridedSlice
2023-05-24 11:20:17 +04:00
Ivan Tikhonov
fa428a12e6 Fix TransposeSinking transformation for Gather op (#17540)
* fix TransposeSinking for Gather op

* add test

* fix copyright

* Resolve review comments
2023-05-24 10:34:32 +04:00
Min, Byungil
0d3b636d1c [GPU] BugFix reduce_b_fs_yx_fsv16 kernel (#17477)
+ Invalid calculation in reducing un-aligned feature axis for b_fs_yx_fsv16
+ Some reduce modes are not invariant by using 0 value out of range
+ Added jit ZERO_INVARIANT_REDUCTION
+ Enable blocked unit-tests on dGPU by PR#15873

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-05-24 13:56:55 +09:00
Przemyslaw Wysocki
60d55729aa Bump (#17686) 2023-05-24 00:53:03 +04:00
Alexey Kazakov
14bdfbc016 Enable cron trigger for stale PR/issues action (#17689) 2023-05-23 17:33:12 +01:00
bstankix
d1e73f2ffe [DOCS] Change html_baseurl to canonical
Change html_baseurl to canonical (#17687)
2023-05-23 13:51:41 +00:00
Ilya Churaev
38fc26325d Remove Legacy preprocessing from C API (#17673) 2023-05-23 16:17:53 +04:00
Ilya Churaev
294eb1a4d4 Remove legacy Python API (#17674) 2023-05-23 16:17:26 +04:00
dependabot[bot]
e2cb6dafe1 Bump pytest-html from 1.19.0 to 3.2.0 in /tests (#16624)
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html) from 1.19.0 to 3.2.0.
- [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/v1.19.0...v3.2.0)

---
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>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-05-23 11:22:59 +00:00
Alexey Kazakov
65b734083c Stale issue new rule (#17549) 2023-05-23 11:28:01 +01:00
Bo Liu
703e5421ca extend PaddlePaddle elementwise broadcast type support (#17102)
* enable PaddlePaddle elementwise broadcast

* fix CI fail issue

* Apply suggestions from code review

* fix CI fail issue

* only B to A broadcast is supported for PDPD

* fix GPU plugin testcase fail issue

* keep PDPD broadcast_merge cpu plugin implement align with ov core

* add type prop test case for pdpd broadcast dst shape smaller than src shape
2023-05-23 14:25:56 +04:00
Tomasz Dołbniak
04904e5147 GroupNormalization op specification (#17630) 2023-05-23 10:20:51 +02:00
Tatyana Raguzova
f8598be80b [build_samples] Using make instead of cmake (#17559) 2023-05-23 11:44:21 +04:00
dependabot[bot]
a52bfa216e Bump requests from 2.28.1 to 2.31.0 in /docs (#17669)
Bumps [requests](https://github.com/psf/requests) from 2.28.1 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.1...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  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-05-23 11:05:35 +04:00
Ilya Churaev
854537c60e Update Open Model Zoo submodule (#17665) 2023-05-23 10:54:29 +04:00
Ilya Churaev
a72f17dec0 Fixed compile_tool install (#17666) 2023-05-23 10:53:22 +04:00
Tatiana Savina
1f1bb6008a [DOCS] Compile tool docs change (#17460)
* add compile tool description

* change refs

* remove page to build docs

* doc reference fix

* review comments

* fix comment

* snippet comment

* Update docs/snippets/compile_model.cpp

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

* change snippet name

* create ov object

* code block fix

* cpp code block

* include change

* code test

* change snippet

* Update docs/snippets/export_compiled_model.cpp

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>

---------

Co-authored-by: Ilya Churaev <ilyachur@gmail.com>
2023-05-23 07:37:31 +04:00
Taylor Yeonbok Lee
de2302a711 Prevented gather fusion test for dgpu dynamic shape (#17616) 2023-05-23 01:57:56 +02:00
Ilya Lavrenov
a591514250 Ability to build universal2 wheel packages (#17661) 2023-05-23 00:35:55 +04:00
Ilya Lavrenov
4c92ffa563 Build wheel arm64 packages using cross-compilation (#17635) 2023-05-23 00:31:35 +04:00
Andrew Kwangwoong Park
4ccb6794a4 [GPU] Minor fix for shape inference of dynmaic reshape (#17565)
Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-05-22 10:44:23 -07:00
Mateusz Tabaka
48f207f961 GRUCellFusion - fix handling bias in rz order (#17651)
Currently GRUCellFusion treats bias as if it's always in zr order,
which sometimes is not the case. So whenever GRUCellFusion detects rz order,
it should also split bias into r and z and concat the halves into zr.

Ticket: CVS-97025
2023-05-22 20:29:05 +04:00
Ilya Lavrenov
c5f4406c34 Install libtbb12 on U22 (#17655) 2023-05-22 17:51:52 +04:00
Sebastian Golebiewski
e69bcdb7a5 [DOCS] Update Interactive Tutorials (#17598) 2023-05-22 14:45:54 +02:00
Ilya Lavrenov
b69e94c297 Fixed macOS compilation (#17656) 2023-05-22 14:49:33 +04:00
Ilya Lavrenov
77bd72081f Updated build instruction for macOS x86_64 (#17628) 2023-05-22 14:22:01 +04:00
dependabot[bot]
added5c44e Bump attrs from 22.2.0 to 23.1.0 in /tests (#17649)
Bumps [attrs](https://github.com/python-attrs/attrs) from 22.2.0 to 23.1.0.
- [Release notes](https://github.com/python-attrs/attrs/releases)
- [Changelog](https://github.com/python-attrs/attrs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python-attrs/attrs/compare/22.2.0...23.1.0)

---
updated-dependencies:
- dependency-name: attrs
  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-05-22 09:52:28 +00:00
Ilya Lavrenov
ef9b3e3cd1 ARM Compute Library flags (#17640) 2023-05-22 13:23:43 +04:00
Maxim Vafin
fe1ac700f0 [PT FE] Fix issues in multiple operations (#17418)
* Fix issues in aten::chunk and aten::split_with_sizes replacers

* Fix code style

* Fix compute issue

* Fix code style

* Support 1 chunk

* Fix issues in meshgrid, sqrt, rsqrt and exp operations

* Use Interpolate-11

* Fix unary ops

* Add tests for unary ops

* Fix unary ops tests

* Add changes in utils

* Fix mo test

* Remove extra line

* Fix mo tests for int
2023-05-22 10:35:34 +02:00
Wanglei Shen
2302e10d3e enable proc_type_table on MacOS for both ARM and x86 (#17427)
* enable proc_type_table on MacOS for both ARM and x86

* fix code style issue

* update for comments
2023-05-22 16:29:05 +08:00
Mateusz Mikolajczyk
9b52a77531 [PT FE] Fix aten::conv2d conversion issues related to bias (#17228)
* Allow for conversion

* Check for const

* Apply requested changes

* Improve tests
2023-05-22 09:59:02 +02:00
dependabot[bot]
4ccc6e3034 Update pytest requirement from <7.3,>=5.0 to >=5.0,<7.4 in /tests (#17641)
Updates the requirements on [pytest](https://github.com/pytest-dev/pytest) to permit the latest version.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/5.0.0...7.3.1)

---
updated-dependencies:
- dependency-name: pytest
  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-05-22 10:19:00 +04:00
NetPunk
0963c23b29 【PaddlePaddle Hackathon 4】add paddle one_hot_v2 op (#15859)
* update op linspace

* rewrite function name

* add one_hot op mapping

* change status

* add depth_tensor

* adjust op test

* Update generate_one_hot_v2.py

* adjust cpp

* adjust cpp

* remove default value

* Update Supported_Frameworks_Layers.md

* support N-dims

* remove restriction

---------

Co-authored-by: Yu Xu <yu.xu@intel.com>
Co-authored-by: cecilia peng <cecilia.peng@intel.com>
Co-authored-by: Xiuchuan Zhai <xiuchuan.zhai@intel.com>
2023-05-22 05:24:50 +00:00
dependabot[bot]
5b6bab2636 Bump pytest-html from 1.19.0 to 3.1.1 in /src/bindings/python (#16852)
Bumps [pytest-html](https://github.com/pytest-dev/pytest-html) from 1.19.0 to 3.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/v1.19.0...v3.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>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-05-21 18:57:31 +04:00
Egor Duplenskii
0501434032 [CPU][GPU] Fix ENABLE_DEBUG_CAPS configuration in cmake (#17639) 2023-05-21 11:12:13 +00:00
Xiuchuan Zhai
0b72998631 [MO][PDPD] Convert Paddle models from memory (#17005)
* support convert_model in paddle runtime

* add convert runtime paddle test

* fix a pylint error

* fix ci error

* skip test_mo_convert_paddle.py # Ticket: 95904

* auto remove tmp file

* add docs for PDFE

* enable paddle mo test in ci

* fix docs

* fix docs

* fix the docs
2023-05-20 18:13:21 +04:00
Pavel Esir
1b24e15e1e [MO] fix IR graph comparator (#17411)
* fix graph compare (legacy python MO)

* fix failing unit-tests

* fix failing unit-tests: check that shape is defined

* added explanation comment

* Apply suggestions from code review

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

* minor corrections

* add unit-tests

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-05-20 10:05:26 +04:00
dependabot[bot]
f2e71cbd0a Update fastjsonschema requirement from ~=2.15.1 to ~=2.16.3 in /tests (#16623)
Updates the requirements on [fastjsonschema](https://github.com/horejsek/python-fastjsonschema) to permit the latest version.
- [Release notes](https://github.com/horejsek/python-fastjsonschema/releases)
- [Changelog](https://github.com/horejsek/python-fastjsonschema/blob/master/CHANGELOG.txt)
- [Commits](https://github.com/horejsek/python-fastjsonschema/compare/v2.15.1...v2.16.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-05-20 00:15:36 +04:00
Ilya Lavrenov
da9f6c557f Fixed linkage when THREADING=SEQ (#17620) 2023-05-19 17:30:29 +00:00
Ekaterina Aidova
dcd034fb4d [PT FE]: support aten::argmax and aten::argmin (#17489) 2023-05-19 15:55:36 +00:00
Maksim Proshin
2513db5a04 DOCS Update optimization docs with NNCF PTQ changes and deprecation of POT (#17398)
* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update home.rst

* Update ptq_introduction.md

* Update Introduction.md

* Update Introduction.md

* Update Introduction.md

* Update ptq_introduction.md

* Update ptq_introduction.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update quantization_w_accuracy_control.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update model_optimization_guide.md

* Update ptq_introduction.md

* Update quantization_w_accuracy_control.md

* Update model_optimization_guide.md

* Update quantization_w_accuracy_control.md

* Update model_optimization_guide.md

* Update quantization_w_accuracy_control.md

* Update model_optimization_guide.md

* Update Introduction.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update quantization_w_accuracy_control.md

* Update ptq_introduction.md

* Update Introduction.md

* Update model_optimization_guide.md

* Update basic_quantization_flow.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update quantization_w_accuracy_control.md

* Update Introduction.md

* Update FrequentlyAskedQuestions.md

* Update model_optimization_guide.md

* Update Introduction.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update model_optimization_guide.md

* Update ptq_introduction.md

* Update ptq_introduction.md

* added code snippet (#1)

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update quantization_w_accuracy_control.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update ptq_introduction.md

* Update model_optimization_guide.md

* Update basic_quantization_flow.md

* Update ptq_introduction.md

* Update quantization_w_accuracy_control.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update basic_quantization_flow.md

* Update ptq_introduction.md

* Update ptq_introduction.md

* Delete ptq_introduction.md

* Update FrequentlyAskedQuestions.md

* Update Introduction.md

* Update quantization_w_accuracy_control.md

* Update introduction.md

* Update basic_quantization_flow.md code blocks

* Update quantization_w_accuracy_control.md code snippets

* Update docs/optimization_guide/nncf/ptq/code/ptq_torch.py

Co-authored-by: Alexander Suslov <alexander.suslov@intel.com>

* Update model_optimization_guide.md

* Optimization docs proofreading  (#2)

* images updated

* delete reminder

* review

* text review

* change images to original ones

* Update filter_pruning.md code blocks

* Update basic_quantization_flow.md

* Update quantization_w_accuracy_control.md

* Update images (#3)

* images updated

* delete reminder

* review

* text review

* change images to original ones

* Update filter_pruning.md code blocks

* update images

* resolve conflicts

* resolve conflicts

* change images to original ones

* resolve conflicts

* update images

* fix conflicts

* Update model_optimization_guide.md

* Update docs/optimization_guide/nncf/ptq/code/ptq_tensorflow.py

Co-authored-by: Alexander Suslov <alexander.suslov@intel.com>

* Update docs/optimization_guide/nncf/ptq/code/ptq_torch.py

Co-authored-by: Alexander Suslov <alexander.suslov@intel.com>

* Update docs/optimization_guide/nncf/ptq/code/ptq_onnx.py

Co-authored-by: Alexander Suslov <alexander.suslov@intel.com>

* Update docs/optimization_guide/nncf/ptq/code/ptq_aa_openvino.py

Co-authored-by: Alexander Suslov <alexander.suslov@intel.com>

* Update docs/optimization_guide/nncf/ptq/code/ptq_openvino.py

Co-authored-by: Alexander Suslov <alexander.suslov@intel.com>

* table format fix

* Update headers

* Update qat.md code blocks

---------

Co-authored-by: Alexander Suslov <alexander.suslov@intel.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2023-05-19 14:36:22 +00:00
Ilya Lavrenov
8b215ca363 Upgrade vresions to 2023.1 in packaging (#17626) 2023-05-19 18:07:05 +04:00
dependabot[bot]
50957cdddf Bump pytest-timeout from 2.0.1 to 2.1.0 in /tests (#16750)
Bumps [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/pytest-dev/pytest-timeout/releases)
- [Commits](https://github.com/pytest-dev/pytest-timeout/compare/2.0.1...2.1.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>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-05-19 13:30:37 +00:00
Alexandra Sidorova
9fafcabb7c [Snippets] Moved infrastructure to Linear Intermediate Representation (#16402) 2023-05-19 17:16:36 +04:00
Maxim Vafin
41de4ba638 Add transformation to convert adaptive pool to reduce (#17488)
* Add transformation to convert adaptive pool to reduce

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

* Add tests and apply feedback

* Simplify if branches

* Add to common pipeline

* Remove 3d AdaptivePool with out_shape 1

* Skip test instead of remove

---------

Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
2023-05-19 13:21:19 +02:00
Artyom Anokhov
0b48fc7159 Updated APT/YUM instructions with actual version. Added instructions for Ubuntu22. Updated subfolders naming for APT. (#17562) 2023-05-19 12:46:45 +02:00
Ilya Lavrenov
84db7d0ee6 Build using conanfile.txt (#17580)
* Build using conanfile.txt

* Update .ci/azure/linux_arm64.yml

* Several improvements

* Removed conanfile.py

* Try to use activate / deactivate

* Fixed clang-format code style

* Supported TBB version from Conan

* Added more NOMINMAX

* Fixed static build

* More improvements for static build

* Add usage of static snappy in case of static build

* More fixes

* Small fixes

* Final fixes
2023-05-19 14:01:39 +04:00
Pavel Durandin
54bbc9e603 [GPU] Fix out of range check for pooling (#17612)
* [GPU] Fix out of range check for pooling

* [GPU] Fix out of range check for pooling
2023-05-19 14:01:27 +04:00
Ilya Churaev
4eebd3a976 Register new plugin extensions (#17614)
* Register new plugin extensions

* Fixed build
2023-05-19 09:44:11 +00:00
Vladimir Paramuzov
b95aa84b45 [GPU] Removed some redundant internal passes (#17552) 2023-05-19 13:34:42 +04:00
Asthestarsfalll
36dbe95d9e 【PaddlePaddle Hackathon 4】add paddle flip op (#15828)
* add flip op

* fix

* fix signedness error

* update flip

* use Slice

* remove redundant codes

* unify flip and reverse

* fix bug

---------

Co-authored-by: cecilia peng <cecilia.peng@intel.com>
2023-05-19 11:30:27 +02:00
PuQing
d52efb96ea 【PaddlePaddle Hackathon 4】add paddle index_select op (#15851)
* add index_select

* fix func error

* fix index size error

* add axis native test

* set  default dim 0

* fix supported md

---------

Co-authored-by: Xiuchuan Zhai <xiuchuan.zhai@intel.com>
2023-05-19 10:57:11 +02:00
Ilya Lavrenov
c72a950701 Updated macOS build instruction for arm64 (#17610) 2023-05-19 11:05:02 +04:00
NetPunk
2e5468646c 【PaddlePaddle Hackathon 4】add paddle linspace op (#15835)
* update op linspace

* rewrite function name

* adjust op test

* adjust op test

* adjust op test

* format fuzzy

* remove annotations

* add suppot for int64

* remove umap

---------

Co-authored-by: cecilia peng <cecilia.peng@intel.com>
2023-05-19 08:34:06 +02:00
Egor Duplenskii
2680e9b7aa [CPU][ARM][TESTS] Expect ref implementation for GeluErf (#17611) 2023-05-19 07:43:05 +02:00
dependabot[bot]
aec146ff8c Bump pytest-timeout from 2.0.1 to 2.1.0 in /src/bindings/python (#16748)
Bumps [pytest-timeout](https://github.com/pytest-dev/pytest-timeout) from 2.0.1 to 2.1.0.
- [Release notes](https://github.com/pytest-dev/pytest-timeout/releases)
- [Commits](https://github.com/pytest-dev/pytest-timeout/compare/2.0.1...2.1.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>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-05-18 22:42:28 +00:00
Eddy Kim
7c84a586f9 [GPU] Fixed deserialization logic for dynamic batch (#17486)
* deserialization of dynamic batch

* updated multi stream tests

* added unit tests

* updated cache dir name

* resolved type conversion warning

* removed teardown()

* added const
2023-05-18 15:40:04 -07:00
Kelvin Choi
fac6668ed1 [GPU] Shape agnostic ref kernels implementation for convolution (#16593) 2023-05-18 15:21:30 -07:00
Pavel Durandin
ff0bea88cc Reverse instead of sort in NMS ref (#17591) 2023-05-18 21:47:35 +04:00
Nadezhda Ageeva
fba272a298 Api2.0 fixes (#17475)
* Fix exception for BLOCKED layout

* Add set_task_executor/set_callback_executor methods for compiled model

* Fix inccorrect version

* Add SCALAR

* Clear extension in FrontEnd destructor
2023-05-18 18:20:35 +02:00
bstankix
7077ccc1b0 [DOCS] Remove latest from search (#17594) 2023-05-18 17:38:14 +02:00
Maciej Smyk
568f0eb21b [DOCS] Link adjustment for master (#17607) 2023-05-18 15:12:34 +00:00
Maciej Smyk
d3d249afc6 [DOCS] RST fixes for master (#17603) 2023-05-18 15:55:43 +02:00
Alexandra Sidorova
b01cc9297f [CPU][Tests] Removed Swish ref primitive (#17597) 2023-05-18 13:04:47 +00:00
Roman Kazantsev
ea35e35090 [MO][TF FE] Document freezing as essential step for pruning SM format (#17595)
* [MO][TF FE] Document freezing as essential step for pruning SM format

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

* Update docs/MO_DG/prepare_model/convert_model/Convert_Model_From_TensorFlow.md

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

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2023-05-18 14:25:39 +04:00
Irina Efode
8cda1fdc51 Initial commit (#17538) 2023-05-18 11:42:10 +04:00
Egor Duplenskii
20cddb3a6e [CPU][TESTS] Separate custom single layer tests per architecture (#17520) 2023-05-18 11:02:39 +04:00
Nikolay Shchegolev
2343609a95 [Core][Ref] Conv postcommit compilation fix. (#17585) 2023-05-18 09:05:03 +04:00
Alexey Kazakov
2f3efede4d Temporary remove cron trigger from stale action (#17586)
* Temporary remove cron trigger from stale action

* Update stale_prs_and_issues.yml
2023-05-17 20:58:32 +02:00
Eddy Kim
2120e5ffe3 [GPU] enables ImportNetwork with remote_context API (#17482)
* enabled two ImportNetwork APIs

* removed unnecessary import_network impl

* added unit tests

* added include file_utils.hpp
2023-05-17 11:21:38 -07:00
David Nam
1173288777 [GPU] Fix layout optimizer removing reorder inappropriately in batch 2 (#17496)
* [GPU] Fix with permute mismatching input layout with ouput in batch 2

* Add unit test

* Fix unit test

* Don't use deprecated interface for layer test
2023-05-17 10:20:26 -07:00
Egor Duplenskii
1e878b6a01 [CPU] Reorganize development documentation (#16708) 2023-05-17 17:29:47 +04:00
Surya Siddharth Pemmaraju
e14d1b2a07 Torchscript backend (#17132)
* Added torch script backend

* Added ts_backend to pytorch layer tests

* Added use_ts_backend fixture to the test suite to activate the
torchscript backend

* Fixed failing test_dict layer test

* Added USE_TS_BACKEND as an env variable

* Removed use_ts_backend fixture

* Added more tests for ts backend

* Added more information in the comments about usage

* Removed convolution3d test from precommit_ts_backend

* Added some torchscript backend tests to ci

* Removed tests from CI as torch.compile doesn't support 3.11 currently

* Fixed linter issues

* Addressed PR comments and linter issues
2023-05-17 14:58:38 +02:00
Evgenya Stepyreva
293fccc4fe Normalize_L2 relax constant input restriction (#17568)
* Normalize_L2 relax constant input restriction

* Fix warning treated as error during windows build
2023-05-17 12:28:50 +00:00
Jan Iwaszkiewicz
a880cba9b7 [PyOV] Remove numpy strides from Tensor creation (#17515)
* [PyOV] Remove numpy strides from Tensor creation

* [PyOV] Add test for stride calculation

* [PyOV] Fix flake issue

---------

Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2023-05-17 12:13:34 +00:00
Nikolay Shchegolev
a6b043b1ca [Core] Conv reference optimization. (#17303) 2023-05-17 15:54:33 +04:00
Maxim Vafin
db58355fad Remove posibility to export to onnx (#17442)
* Remove posibility to export to onnx

* Add OOB pytorch convert_model test
2023-05-17 13:39:35 +02:00
Maciej Smyk
43acbf59b6 [DOCS] Precision Control article for master (#17413) 2023-05-17 11:54:48 +02:00
Sun Xiaoxia
ae1beb296e remove definition of static CPU (#17393)
* remove definition of static CPU

* revert old format

* definition of cpu_info covers macOS

* add lock in is_cpu_map_available
2023-05-17 12:08:38 +04:00
Katarzyna Mitrus
d26c587198 [Spec][Pad-12] Pad-12 op specification (#17510)
* Pad-12 spec init

* Add opset12 to docs

* Enssure output dim is not negative

* Apply review suggestions to description

* Update shrinking to cropping
2023-05-17 10:07:36 +02:00
gklodkox
bbf77b359a Enable code coverage for github actions (#15767)
* Add code coverage for github actions

* Add code coverage for github actions

* Add code coverage for github actions

* Add code coverage for github actions

* Split tests to parts

* minor fix

* minor fixes

* minor fixes

* minor fixes

* minor fixes

* minor fixes

* minor fixes

* minor fixes

* Fixed dependencies

* Fixed dependencies

* ubuntu 16 cores

* revert ubu and add coverage dependency

* minor fixes

* minor fixes

* minor fixes

* Update coverage.yml

* Update coverage.yml

* Coverage

* Coverage

* ubuntu-latest-16-cores

* ubuntu-latest-16-cores

* change triggers

* add newline

* Added GNinja and ccache

* Change to ubuntu-latest for testing purposes

* Change to ubuntu-latest for testing purposes

* Change to ubuntu-latest for testing purposes

* Fix getting cpu cores

* Disable GNinja

* Enable GNinja, change compiler, warnings no longer as errors

* Enable GNinja, change compiler, warnings no longer as errors

* Enable GNinja, change compiler, warnings no longer as errors

* Enable GNinja, change compiler, warnings no longer as errors

* Enable GNinja, change compiler, warnings no longer as errors

* Enable GNinja, change compiler, warnings no longer as errors

* Enable GNinja, change compiler, warnings no longer as errors

* Enable GNinja, change compiler, warnings no longer as errors

* fixes

* change coverage cmake

* 16-cores

* Disable GNinja

* GNinja comes back, turned off dependencies and py

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* only test OV

* only test OV

* install lcov

* change coverage building

* only OV

* no tests

* change coverage building method

* wrong directory fix

* disable onnx

* enable python

* enable python

* enable python

* disable action for cmake

* Revert "disable action for cmake"

This reverts commit d0294570fa82c5ce06170866ab1f3572221c8407.

* disable lcov

* check files after build

* disable gninja for coverage

* change trigger to trigger by /coverage comment

* Added rest of the tests

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Disable gninja, run tests by ctest

* tf req

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

* Update coverage.yml

---------

Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2023-05-17 12:07:07 +04:00
Ilya Churaev
3cbc5581ab Mark some legacy API as deprecated (#17469)
* Mark some legacy API as deprecated

* Try to fix some issues

* Fixed some warnings

* Disable deprecation warnings for GNA

* Fixed some warnings

* Disable deprecation errors for all plugins

* Suppress some warnings

* Suppress some warnings

* Suppress deprecated for tests

* Mark all contend as suppressed

* Try to fix extensions

* Suppress more warnings

* Suppress warnings for transformations

* Global suppress of deprecation warnings

* FIxed some warnings

* Fixed comments

* Create macro for deprecation API

* Fixed data tests
2023-05-17 11:31:01 +04:00
Ilya Churaev
92a0108f0d Fixed mock_engine for proxy tests (#17431)
* Fixed mock_engine for proxy tests

* Fixed some caching tests

* FIxed build

* Fixed CoreThreading tests

* Try to fix crash in functional tests

* Fixed typo

* Fixed typo

* Small change

* Remove shared pointer from MockPluginWrapper

* Small fixes

* Do not throw an exception from device_supports_cache_dir
2023-05-17 11:15:28 +04:00
Nesterov Alexander
96a80ffc3d [ARM CPU] Enable swish (#17542) 2023-05-17 10:20:42 +04:00
Egor Duplenskii
84b9262aea [CPU] Get rid of shouldTryBrgconv flag (#17539)
No code logic changed overall
2023-05-17 10:17:36 +04:00
Jade Cho
2cc3a45959 [GPU] Fuse eltwise into MVN (#17473)
* [GPU] Fuse eltwise into MVN
2023-05-17 14:27:24 +09:00
Ilya Lavrenov
04171416f4 Put mingw on gcc code path (#16101)
* Supported mingw-w64

* Supported mingw-w64

* Supported mingw-w64
2023-05-17 00:47:55 +04:00
Taylor Yeonbok Lee
87a39fb007 [GPU] Fix bug in shape agnosic kernel for fused cases (#17533)
* Fix bug in shape agnosic kernel for fused cases

* Fix gather unittest to use ov::Shape as input

* Minor change (just changed line locatiions)
2023-05-16 20:23:28 +00:00
Anastasia Kuporosova
75fa11c80f [PyOV] Remove deprecated (#17512)
* [PyOV] Remove deprecated

* remove deprecated api

* remove tests

* update pot
2023-05-16 21:48:39 +02:00
River Li
b9fd6d69b3 Enable ctest for wasm (#17466)
* Enable ctest for wasm

* Remove js init file
2023-05-16 22:34:27 +04:00
Pavel Durandin
06490957ca [GPU] fix matmul smoke test fail on windows (#17545)
* fix matmul smoke test fail on windows

* fix matmul smoke test fail on windows

* fix matmul smoke test fail on windows
2023-05-16 22:24:30 +04:00
Ryszard Jezierski
850d35eafa Removed deprecated layer tests (#17153) 2023-05-16 16:03:39 +02:00
Evgenya Stepyreva
6ae318d6e3 Strided Slice fix constant creation (#17556)
* Strided Slice fix constant creation

* Final touches

* style:
2023-05-16 17:50:41 +04:00
Pawel Raasz
78bb0c4837 [ShapeInfer] Review experimental detectron prior grid generator class for shape inference aspects (#17474)
* Review detectron prior grid generator for:
- Check interval shapes and label propagation.
- Check template implementation of shape infer.
- Add update or correct unit test for static and dynamic shapes.

* Remove ngraph namespace in reviewed op

* Use detectron validation util to check inputs
in all related detectrons operators

* Relax first dim of feat map and im data check

* Fix test after dimension validation update

* Fix typo in detectron util file name
2023-05-16 14:58:00 +04:00
Pawel Raasz
5ff0081489 [ShapeInfer] Review detectron ROI feature extractor shape inference aspects (#17532)
* Review detectron ROI feature extractor shape infer
- Check Interval dimension and label propagation.
- Check template implementation of shape_infer.
- Add/Update unit test for static and dynamic shapes.
- Remove `ngraph` namespace from reviewed operator.

* Fix compilation issues
2023-05-16 14:57:29 +04:00
Mingyu Kim
8a847cc817 [GPU] Check cl_cache_dir env variable for unit test (#17526) 2023-05-16 18:27:59 +09:00
Mingyu Kim
27047e995a [GPU] Doc writing for opencl-intercept-layer (#17527) 2023-05-16 17:57:33 +09:00
River Li
48fdee3a72 [AUTO_BATCH]Create separated auto_batch plugin testcase (#15051)
* Create separated auto_batch plugin testcase

* Add test sample into azure

* Move to auto_plugin directory

* Fix CI build issues

* move batch test cases from gpu/cpu/template plugin to auto batch plugin

* Check OpenCL to decide whether enable auto_batch gpu test cases

* Revert "move batch test cases from gpu/cpu/template plugin to auto batch plugin"

This reverts commit 9f4f2ce1af.

* Add functional tests for auto_batch

* Runtime check gpu available to decide whether run gpu test cases

* Remove HW plugins from functional test

1. Apply Template plugin for auto_batch functional test
2. Remove unnecessary code

* Restore some original tests

* Apply new api property replace old config

* Solve warning suppressions issue

* Fix CI build error

* Solve CI failure issues

* Fix getOutputsFromFunctionWithSeveralOutputs bug

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-05-16 16:37:58 +08:00
Pavel Durandin
524a291c2b [GPU] Fix convert reduce to reshape (#17529) 2023-05-16 11:31:11 +04:00
Vladimir Paramuzov
4cda67da15 [GPU] Fixed unit tests for dGPU (#17541) 2023-05-16 09:36:09 +04:00
Georgy Krivoruchko
04f216ce3e Fix for wrong sign extending (#17543) 2023-05-15 20:40:09 +04:00
Egor Duplenskii
ab119faa0b [CPU] Use switch case to ensure to_string methods are complete (#17522)
And add missing cases
Compiler can warn about missed enum entry in switch case
2023-05-15 15:57:13 +00:00
Fang Xu
2fb984b60f update oneTBB2021.2.2 for windows (#17390)
oneTBB https://github.com/oneapi-src/oneTBB/releases/tag/v2021.2.2 (a25ebdf)
2023-05-15 19:33:54 +04:00
Anastasia Kuporosova
b4852b3bdf [PyOV] leave one setup.py (#17472)
* [PyOV] leave one setup.py

* remove setup from setup.cfg
2023-05-15 18:53:46 +04:00
Edward Shogulin
3525cae612 [LPT] tests rename for nightly (#17425) 2023-05-15 18:41:54 +04:00
Egor Duplenskii
fe95ed27b1 [CPU][ARM] Enable oneDNN acl fullyconnected (inner_product) (#17331) 2023-05-15 17:50:28 +04:00
Mingyu Kim
5d9424f84d [doc] typo (#17528)
* [doc] typo

* [doc] more typo

* [doc] more typo
2023-05-15 17:45:53 +04:00
Roman Kazantsev
1ded4ede41 [TF FE] Report a reason of no conversion of internal operations (#17534)
* [TF FE] Report a reason of no conversion of internal operations

Some operations during translations can be temporarily converted to InternalOperation
such as Const operation of string type for which we need to define more elaborated reason
why it is represented as InternalOperation.
Also, restrict instantiation of InternalOperation because instead user should use FrameworkNode.
InternalOperation is a base class for internal operation types of TF FE that have
extended API compare to FrameWorkNode.
For all internal operation we defined a reason why it is not converted to OpenVINO opset
that will be reported in TF FE if they are not gone finally.

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

* Update src/frontends/tensorflow/tests/convert_unsupported.cpp

* Correct a script for generation of the test model

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-15 12:17:04 +00:00
Ruslan Nugmanov
aa932d341a Layer test tflite (#17410)
* tfl argvalue test

* tfl add_n test

* tfl batch to space and space to batch

* tfl batch to space and space to batch

* tfl broadcast

* tfl avgpool

* tfl concat

* tfl conv2d and depthtospace

* tfl depthwise_conv2d

* tfl broadcast_args

* tfl fill

* tfl floordiv

* tfl fully_connected

* tfl fully_connected

* tfl gather

* tfl gather_nd

* tfl l2_normalization

* tfl matrix_diag

* tfl maxpool2d

* tfl mirror_pad

* tfl one_hot

* tfl pack

* tfl pad

* tfl range

* tfl relu

* tfl reshape

* tfl resize_bilinear

* tfl resize

* tfl reverse

* tfl tfft2d

* tfl scatter_nd

* tfl rfft2d fix

* tfl segment_sum

* tfl select

* tfl select_v2

* tfl slice

* tfl space_to_depth

* tfl split

* tfl split_v

* tfl strided_slice

* tfl tile

* tfl topk_v2

* tfl transpose

* tfl transpose_conv

* tfl fix conv tests

* tfl unique + refactoring

* tfl unpack

* refactoring

* tfl review - reformat params

* tfl review - fixes

* tfl review - fixes

* tfl review - xfails

* tfl review - remove redundant tickets

* tfl review - xfail for pad
2023-05-15 15:03:09 +04:00
Irina Efode
8fed094168 [CONFORMANCE] Fix functions with several dynamic inputs (#17404) 2023-05-15 14:49:55 +04:00
Roman Kazantsev
ac3d339811 [TF FE] Update TensorFlow Frontend developer guide (#17521)
* [TF FE] Update TensorFlow Frontend developer guide

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

* Apply suggestions from code review

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

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2023-05-15 10:14:36 +00:00
Haiqi Pan
49b0c7248a AUTO_CAUSES_COPY in c bindings (#17391)
* change auto in for() to auto const &

* fix code style

* fix code style

* const&
2023-05-15 14:03:52 +04:00
Pawel Raasz
5df0a006df [Core] StridedSlice improvements of bound evaluation and constant folding (#17505)
* StridedSlice improvements:
-Bound evaluation for begin, end partial values when ignore mask set.
- Custom constant fold implementation.

* Improve const folding when all begin or end values
are ignored
2023-05-15 08:54:41 +00:00
Karol Blaszczak
3394f654e7 [DOCS] framework deprecation notice (#17484)
---------

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2023-05-15 10:39:10 +02:00
Sergey Shlyapnikov
808647dfb3 [GPU] Weights reorders primitive cachcing (#16638)
Co-authored-by: Vladimir Paramuzov <vladimir.paramuzov@intel.com>
2023-05-15 09:57:04 +04:00
Przemyslaw Wysocki
42ef81a9e6 Add exempt-pr-labels entry to stale_prs_and_issues.yml workflow (#17511)
* Add exempt

* Changel label name
2023-05-12 15:37:21 +02:00
Przemyslaw Wysocki
22fc22a4fe [Docs] Update docs with information about Contributions Welcome issue (#17503) 2023-05-12 15:19:58 +02:00
Vladimir Paramuzov
8251399222 [GPU] convolution primitive updates (#17351) 2023-05-12 17:19:29 +04:00
Irina Efode
4303d10e26 [IE TESTS] Fix abs for FP16 comparation (#17414)
* [IE TESTS] Fix abs for FP16 comparation

* Update data_utils.hpp

* Skipps failed tests
2023-05-12 14:25:03 +02:00
Gorokhov Dmitriy
dab190b988 [CPU] Restore OneDNN InnerProduct primitive os_block computation behavior (#17495) 2023-05-12 15:50:04 +04:00
Mikhail Ryzhov
464bf5937c [GNA] Extract gathers and transposes (#15997)
* Init

* Fixed review comments

* Fixed descriptions

* review fix

* clang fix

* Moved utils.hpp to common dir

* test refactoring

* Added more comments

* Update src/plugins/intel_gna/src/transformations/utils/transformation_helper.hpp

Co-authored-by: Marcin Kacprzak <marcin.kacprzak@intel.com>

* Update src/plugins/intel_gna/src/transformations/remove_in_out_processing.cpp

Co-authored-by: Marcin Kacprzak <marcin.kacprzak@intel.com>

* Update src/plugins/intel_gna/src/transformations/utils/transformation_helper.cpp

Co-authored-by: Marcin Kacprzak <marcin.kacprzak@intel.com>

* clang fixes for unit tests

* Fixed failed tests

* Update src/plugins/intel_gna/src/transformations/remove_in_out_processing.cpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/transformations/remove_in_out_processing.cpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/transformations/remove_in_out_processing.cpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/transformations/remove_in_out_processing.hpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/transformations/remove_in_out_processing.hpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/common/graph_utils.hpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/common/graph_utils.hpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/common/graph_utils.hpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Update src/plugins/intel_gna/src/gna_transformations_pipeline.cpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Moved shared func to utils

* Update src/plugins/intel_gna/src/common/graph_utils.hpp

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* Fixed review comments

* Revert json schema

* Update src/plugins/intel_gna/src/gna_transformations_pipeline.cpp

Co-authored-by: Marcin Kusmierski <marcin.kusmierski@intel.com>

* Fixed tests

* fixed code style job

* mvn skip pattern

* fixed code style schema

* skipped MVNv1

---------

Co-authored-by: Marcin Kacprzak <marcin.kacprzak@intel.com>
Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>
Co-authored-by: Marcin Kusmierski <marcin.kusmierski@intel.com>
2023-05-12 11:38:07 +00:00
Roman Lyamin
ad03c631b9 [GPU] Added os_is_yx_osv16_isv2 format (#17476) 2023-05-12 15:11:09 +04:00
Wanglei Shen
a4314faf29 disable set_cpu_used in master branch (#17459) 2023-05-12 14:16:52 +08:00
Mateusz Mikolajczyk
fe1d081e44 [CPU] Add missing check for special zero (#17490) 2023-05-12 09:49:32 +04:00
Katarzyna Mitrus
25a1968d57 [Shape_infer] Use axes param shape to deduce Squeeze output rank (#17238)
* Use axes param shape to deduce Squeeze output rank

* Improve squeezable dims detection and output shape deduction

* Unskip related tests

* Add more onnx tests

* Skip dynamic model test for legacy api

* Exclude Shape{0} case

* Add more tests

* Adjustment for single element axes

* Move axes param output shape calculation below

* Move back the axes param based calculations

* Adjust onnx python tests

* Consider only single element axes param

* Deduce rank only to enable param value validation

* Prevent negative rank if data input is scalar

* Comment update

* Add missing new line

* Skip dynamic squeeze tests for legacy api

* Add check for zero squeezable dims

* tests update

* Update squeezable dims validation
2023-05-12 07:27:10 +02:00
Taylor Yeonbok Lee
078c5cb7e9 [GPU] Dynamic padding support (#16668) 2023-05-12 09:22:58 +04:00
Fisher
99a7fa1287 【PaddlePaddle Hackathon 4】Add paddle op mapper silu (#15874)
* Add paddle op mapper silu

* Add more test cases

* Add dynamic shape test for op silu

---------

Co-authored-by: Xiuchuan Zhai <xiuchuan.zhai@intel.com>
2023-05-12 13:11:31 +08:00
NetPunk
306df51001 【PaddlePaddle Hackathon 4】add paddle grid_sampler op (#15869)
* update op linspace

* rewrite function name

* add paddle grid_sample op mapping

* add op_fuzzy

* adjust op logic

* adjust op name

* format code

* add tests

* adjust test

* adjust test

* adjust test

* adjust test

* format code

---------

Co-authored-by: Xiuchuan Zhai <xiuchuan.zhai@intel.com>
2023-05-12 13:11:04 +08:00
Dmitry Kurtaev
ae1245ae92 [CMake] Add CMAKE_MAKE_PROGRAM arg (#17341)
Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2023-05-12 06:54:23 +04:00
Alexey Kazakov
c351335661 Stale PRs/Issues action limit extention (#17491) 2023-05-11 18:20:19 +02:00
Evgeny Kotov
03256adf79 add Concat to CanPropagateForwardThrough (#17463) 2023-05-11 17:27:23 +02:00
Pavel Durandin
a6a9a44a0a fix eltwise with one input (#17480) 2023-05-11 18:26:39 +04:00
Przemyslaw Wysocki
aaf4fdb84f [Docs] Add Python dependencies management docs (#17439)
Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-05-11 11:17:03 +00:00
Vitaliy Urusovskij
d99a5ab1ba Prepare "memory_optimization_guide.md" (#17022)
* Prepare "memory_optimizing_guide.md"

* Modify `memory_optimization_guide.md`

* Add memory guide into toctree

* Rephrase memory_optimization_guide.md

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

---------

Co-authored-by: Karol Blaszczak <karol.blaszczak@intel.com>
2023-05-11 14:23:36 +04:00
Pawel Raasz
c13423e2ca Introduce data accessor function for infer in IStaticShapeInfer (#15574)
* Tensor accessor for shape inference
- as functor for getting data from tensor vector or map.
- as lambda in GPU plugin on tile op

* Make tensor data adapter pure virtual
- function accessor to data returns pointer to interface

* Refactor tensor data accessor and adapter

* Extract memory adapter make it GPU graph internal
- can't be part of GPU runtime memory core dev API not visible there

* Expand IStaticShapeInfer by port map
- update factory map for new infer interface with port map information
- add bit util to generate bit mask use it in PortMask

* Pass tensor accessor as reference not fun object
- Add cldnn data adapter and accessor
- Reduce dynamic allocations in data accessors

* Fix compilation issues

* Use ov::Tensor for data accessor
- remove data adapters are they not required

* Update comments

* Fix build issues

* Fix tile shape infer test

* Add empty null tensor accessor as specialization

* Apply style formatting

* Move data accessor from dev API to shape inference

* Fix linking issues
2023-05-11 13:30:30 +04:00
hyunback kim
30395c3e96 Revert "[GPU] Fix proposal sort condition (#16981)" (#17399)
Daily Perf regression occured becuase of changing sort condition.
mask_rcnn_resnet101_atrous_coco,int8
mask_rcnn_resnet50_atrous_coco,int8
faster_rcnn_inception_v2_coco,int8

This reverts commit bd8ca523b9.
2023-05-11 13:32:50 +09:00
Oleg Pipikin
f61d49a146 Delete limitation for value size in graph comparator (#17446) 2023-05-11 08:06:46 +04:00
Kelvin Choi
370b39e475 [GPU] rnnt accuracy degradation (#17247) 2023-05-11 02:59:57 +02:00
Alina Kladieva
80bf2b4ef9 Use ascending order for stale_prs action 2023-05-10 19:24:28 +02:00
Karol Blaszczak
8c2f085c52 [DOCS] Update GPU.md (#17401) 2023-05-10 17:30:09 +02:00
Alexey Kazakov
47f1c43d68 Stale PRs/Issues github action adding (#17420) 2023-05-10 16:47:57 +02:00
Oleg Pipikin
ce82fc78df Revert code style formatting for lp transformation tests (#17437) 2023-05-10 14:44:16 +01:00
Jan Iwaszkiewicz
076f71a4ce [PyOV] Adjust style in dev docs (#17440) 2023-05-10 15:20:31 +02:00
Mateusz Bencer
5eab00a116 Fixed default value of score threshold (#17448) 2023-05-10 13:49:35 +02:00
Roman Kazantsev
014eafda00 [TF FE] Update docs for TF FE (#17453) 2023-05-10 14:30:23 +03:00
Zlobin Vladimir
c378a8e912 benchmark_app/py fill batch dim correctly (#17417)
Ticket 104401
2023-05-10 10:45:19 +00:00
Ekaterina Aidova
66e1af18b5 [Pt FE]: aten::embedding_bag (#17098)
* [Pt FE]: aten::embedding_bag

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

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

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-05-10 09:44:08 +02:00
Eddy Kim
e7d94ba020 [GPU] fix adaptive pooling kernel (#17429)
* fixed not to use ceil

* added an unit test
2023-05-09 23:56:43 -07:00
Andrew Kwangwoong Park
00eacd2a96 [GPU] Fix accuracy issue for assign and fully_connected_mmad (#17430)
* Add reorder with usr's output data type for assign

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Fix incorrect input index for handling leftovers

Signed-off-by: Andrew Park <andrew.park@intel.com>

* Add TCs for ov_gpu_unit_tests

Signed-off-by: Andrew Park <andrew.park@intel.com>

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-05-09 20:31:18 -07:00
hyunback kim
3b90165581 [GPU] Improve dump naming rule in debug feature. (#17275)
* [GPU] Improve dump naming rule in debug feature.

Now, we can support below dump naming rule.
- Exec_graph name
- Wildcard letter for target names ('*', '?')
- Case-insensitive name searching
- Apply to show loop body primitives.

New introduces OV_GPU_xxx
- OV_GPU_ListLayers = 1 (Show layer names and exit)
- OV_GPU_VerboseColor = 1 (Show verbose with color)

Add file, line, function in log prefix.


Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-05-09 21:30:50 +09:00
Pawel Raasz
0a26372a4f Review experimental detectron detection output for shape inference aspects (#17407)
* Review detectron detection output for:
- Interval shapes and label propagation.
- Check template implementation of shape_infer.
- Add/update unit test for static and dynamic shapes.

* Remove ngraph namespace from experimental
detectron detection output
2023-05-09 14:08:23 +03:00
Vitaliy Urusovskij
0d4e9eb328 Remove funcTestUtils from ov_cond_compil_tests (#17409)
Because `ov_conditional_compilation_tests` is enabled via
`ENABLE_TESTS`, so with `ENABLE_FUNCTIONAL_TESTS=OFF`
build fails with "fatal error: openvino/itt.hpp:
No such file or directory" due `funcTestUtils` dependency
2023-05-09 12:08:20 +01:00
Katarzyna Mitrus
43936bd18a [ONNX FE] ONNX Resize (1-10) import use scale input and fix (#16789) 2023-05-09 12:05:29 +01:00
Roman Kazantsev
eb178a753b [TF FE] Handle incorrect models (empty, fake) by TF FE (#17408)
* [TF FE] Handle incorrect models (empty, fake) by TF FE

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

* Apply suggestions from code review

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-09 00:00:12 -07:00
Anastasiia Pnevskaia
fd9d501306 Removed checks of unsatisfied dependencies in MO (#16991)
* Fixed dependencies check, made unsatisfied dependencies show only in case of error.

* Small fix.

* Test correction.

* Small test correction.

* Temporarily added debug print.

* Debug output.

* Debug output.

* Debug output.

* Test fix.

* Removed debug output.

* Small fix.

* Moved tests to check_info_messages_test.py

* Remove dependies checks from MO.

* Small corrections.
2023-05-08 16:54:21 +04:00
Pavel Esir
585c33dfa6 Fix faq numbers (#17222)
* workaround to refer to correct FAQ questions when fail

* renumber FAQ
2023-05-08 15:54:21 +04:00
Maciej Smyk
d1d4633e42 [DOCS] Legacy MO Extensibility update for master (#15931)
Divided MO Extensibility article into separate smaller articles,
Applied the suggestion from [DOCS] Better statement about MO extensions as internal API [Recreating #14062] #15679
Recreated images in svg format
Fixing directives
2023-05-08 10:33:47 +00:00
Maciej Smyk
9ea3553d5d [DOCS] Recreation of BDTI PRs - master (#16913)
Recreation of BDTI PRs for master.

Recreated PRs:

Docs: Update Dynamic Shapes documentation #15216
Docs: Edits to Performance Hints and Cumulative Throughput documentation #14793
Docs: Update Devices pages to state improved INT8 performance with 11th & 12th gen devices #12067
2023-05-08 10:33:15 +00:00
Evgenya Stepyreva
af3d1d69dd Segment Sum renamed in common lib (#17378) 2023-05-08 11:00:58 +04:00
Pawel Raasz
94a7342548 Review roi align class for shape inference aspects (#17154)
* Review ROIAlign for shape inference aspects:
- Check interval shape and label propagation
- Check template implementation of shape_infer
- Add unit test for static and dynamic shapes

* Update ROIAlign::evaluate to use ov::Tensor
- remove ngraph namespace from op where possible
2023-05-08 10:42:55 +04:00
Pawel Raasz
f3fa1a5f96 Review prior box and clustered class for shape inference aspects (#17382)
* Review PriorBox op for shape inference aspects:
- check interval shape and label propagation
- check preserve interval values and labels on inputs
- add template shape_infer function
- add/update test for dynamic and static shape inference

* Update PriorBox evaluate to use ov::Tensor
- remove ngraph namespace form PriorBox where possible

* Review PriorBoxClustered for shape infer aspects
- check interval dimension and label propagation
- check preserve partial values and labels on inputs
- add template implementation of shape_infer
- add/update test for static and dynamic shapes

* Use correct shape for PriorBox transformation test

* PriorBoxClustered evaluate use ov::Tensor
Remove ngraph namespace from op where possible

* Fix compilation issues
2023-05-08 10:40:07 +04:00
Pawel Raasz
8d81223a28 Review experimental detectron topk rois for shape inference aspects (#17018)
* Review experimental detectron topk rois for:
- interval shape and label propagation
- template implementation of shape_infer
- expand unit test fot partial and static shapes

* Fix build issues
2023-05-08 10:34:56 +04:00
Pawel Raasz
f93c8dda78 Review detectron generate proposal for: (#17103)
- interval shape propagation
- label propagation
- template implementation of shape_infer
- add more unit tests for dynamic and static shapes
2023-05-08 10:34:37 +04:00
Jade Cho
78cdf22040 [GPU] Add a debug feature to dump by iteration (#17035)
+ 108686
2023-05-08 06:24:27 +00:00
Sofya Balandina
fcee9833af Move analyze_confomance_fails to analyze separate files (#17242) 2023-05-08 09:04:36 +04:00
Edward Shogulin
000311d72e LPT cmake warning flag was removed (#17358) 2023-05-08 09:03:40 +04:00
Eddy Kim
634c58903d [GPU] fix gen9_common_conv_fwd_data_f32 kernel to support op fusion when #input_channel == 3 (#17318)
* added op fusion code

* fixed typo

* added unit tests

* size reduction
2023-05-07 20:54:03 -07:00
Maxim Vafin
48604e9092 Support sizes input as list to upsample ops (#17350) 2023-05-07 19:23:51 +02:00
Edward Shogulin
9c3186b243 [LPT] Concat: different branch precisions support (#17330)
* [LPT] Concat: different branch precisions support
2023-05-07 11:38:32 +01:00
Sun Xiaoxia
8e675c71c8 fix binding wrong core with latency mode on i9-13900 (#17362) 2023-05-06 17:17:18 +08:00
Roman Kazantsev
fb38fcef2b [TF FE] Refer Frontend Extension page in case unsupported operations (#17387)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-06 06:20:13 +01:00
Roman Kazantsev
b6098fed90 [TF FE] Provide single tensor names for inputs and outputs in SavedModel (#17370)
* [TF FE] Provide single tensor names for inputs and outputs in SavedModel

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

* Fix build issue

* Xfail some cases due to internal problems in TF

* Xfail other layer test

* Extend documentation for function to adjust tensor names

* Use old path of tf2 layer testing for legacy frontend

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-06 05:37:47 +01:00
Sebastian Golebiewski
b6bbf3c44c [DOCS] Fix links (#17353) 2023-05-05 18:15:01 +02:00
Egor Duplenskii
03ad798615 [DOCS] Correct compilation option for paddle-paddle front end (#17386) 2023-05-05 17:25:28 +02:00
Mateusz Tabaka
48281376a0 [TF frontend] use InterpolateMode::LINEAR_ONNX if input rank is 4 (#17381)
This change mimicks LinearToLinearONNXReplacer transformation in
legacy frontend, where linear interpolate mode is replaced with
linear_onnx due to performance reasons.

Ticket: CVS-108343
2023-05-05 17:12:18 +02:00
Tatiana Savina
61fc3ae42a DOCS shift to rst - Model representation doc (#17320)
* model representation to rst

* fix indentation

* fix cide tabs

* fix indentation

* change doc

* fix snippets

* fix snippet
2023-05-05 14:44:16 +02:00
Chen Xu
4fd42cdd62 [CPU] Fix kernel precision mismatch in Reduce node (#17371)
* [CPU] Fix kernel precision mismatch in Reduce node

* Apply review comments
2023-05-05 14:39:02 +02:00
Taylor Yeonbok Lee
7b4455d748 [GPU] Update dynamic shape document (#17274)
* Update dynamic shape document for GPU
* Applied review comments
2023-05-05 13:00:03 +02:00
Sebastian Golebiewski
963f30a2fe DOCS shift to rst (#17375) 2023-05-05 10:55:40 +02:00
Maciej Smyk
175e169537 DOCS shift to rst - Opsets E for master (#17363) 2023-05-05 10:16:49 +02:00
Karol Blaszczak
909d539698 Update prerelease_information.md (#17374) 2023-05-05 05:46:00 +00:00
Oleg Pipikin
974d2f6f89 Fix OpenVINOConfig.cmake (#17360) 2023-05-04 19:08:26 +01:00
Nikolay Shchegolev
2f9fe67691 [CPU] Fix for SpaceToBatch dead loop. (#17352) 2023-05-04 18:24:47 +02:00
Tomasz Otoka
557b189d83 Fix install guides typos (#17354) 2023-05-04 13:59:32 +02:00
Sebastian Golebiewski
0456528651 DOCS shift to rst (#17345) 2023-05-04 13:29:25 +02:00
Yuan Hu
88c154953e [CPU] fix coverity issue in multiclass and a bug in matrix_nms (#17180)
* fix coverity issue in multiclass_nms

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

* fix issue in matrix_nms.cpp

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

---------

Signed-off-by: Hu Yuan2 <yuan2.hu@intel.com>
2023-05-04 10:34:56 +02:00
PuQing
bc6402fb27 【PaddlePaddle Hackathon 4】add paddle softshrink op (#15845)
* add softshrink

* Modify the implementation

* fix input unsigned

* fix name typo

* fix unsigned

* fix selct

* add input dtype check

---------

Co-authored-by: Bo Liu <bo4.liu@intel.com>
2023-05-04 16:18:44 +08:00
Maxim Vafin
c1933fcaf0 [PT FE] Support default strides for avg and max pooling (#17337)
* Support default strides for avg and max pooling

* Fix code style

* Remove changes from other ticket
2023-05-04 09:27:10 +02:00
Oleg Pipikin
ec90869969 Fix config mapping for runtime and frontend targets for RelWithDebugInfo config (#17312)
* Fix samples RelWithDebugInfo config binding

* Fix1:

* Add default config map for openvino::runtime

* Fix2

* Fix3

* Fix4
2023-05-04 11:26:23 +04:00
Maxim Vafin
1d59dab362 [PT FE] Improve exception when decoder cannot trace or script the model (#17338)
* [PT FE] Improve exception when decoder cannot trace or script the model

* Add exception in convert_model

* Add test
2023-05-04 07:58:40 +02:00
yanlan song
3a0fa86ef9 add doc update (#17223)
Signed-off-by: fishbell <bell.song@intel.com>
2023-05-04 12:49:24 +08:00
Taylor Yeonbok Lee
9062b81edb [GPU] Fix bug in reorder_redundant_reorder (#17329)
* Fix bug
1) reshape w/ fused primiitive should not be optimized out
2) Wrong usage of slice mem / concat mem in loop
3) LWS not set in lstm_elt

* Added unittest
2023-05-03 16:43:34 -07:00
Roman Kazantsev
7464b4d396 [MO][TF FE] Recover MOC TF FE unit-tests in the pre-commit (#17233)
* [MO][TF FE] Recover MOC TF FE unit-tests

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

* Fix python environment to get test_util

* Correct Python environment for MO UT tests

* Correct Python env for linux-debian

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-03 23:39:46 +00:00
Paul Youngsoo Ahn
0afe835811 [GPU] update padding info for optimized out node (#17286)
* [GPU] update padding info for optimized out node

* [GPU] Fix padding propagation issue for crop's user nodes(#17286)
- Fix unit test failure
2023-05-03 11:01:23 -07:00
Irina Efode
7aea8d6641 [CONFORMANCE] Remove extra print from op_summary (#17336) 2023-05-03 12:31:05 +00:00
Evgenya Stepyreva
9291e5ecd2 NMS-5 calculate upper-bound (#17313)
* NMS-5 calculate upper-bound

* Test
2023-05-03 11:42:20 +00:00
Irina Efode
e616bcbad8 [CONFORMANCE] Remove duplications from API Conformance report (#17339)
* [CONFORMANCE] Remove duplications from API Conformance report

* remove extra prints
2023-05-03 12:01:56 +01:00
Ivan Tikhonov
52f32ae437 Fix the names copying in TransposeSinking backward transformations (#17283)
* Fix tensor names copying in TS transformations

* added a check that sinking is available for all consumers in TS backward transformations

* codestyle

* Apply review comments, add result sorting by tensor names in graph comparator

* delete debug code

* fix RemoveConsumers method implementation

* fix snippet tests

* use reference instead of raw pointer

* add new transformation tests

* fix transformation tests
2023-05-03 14:59:05 +04:00
Sofya Balandina
bda41b7321 [ie tests] Move CheckOperationInProfilingInfo to common part (#17282) 2023-05-03 14:42:03 +04:00
Sofya Balandina
96c5cd16d5 [conformance] Rebalance props tests (#17124) 2023-05-03 14:22:43 +04:00
Irina Efode
fd2ccab93b [CONFORMANCE] Add message to explain passrates in report (#17314) 2023-05-03 12:54:39 +04:00
Egor Duplenskii
f22aaaf239 [CPU] Clean up primitive desc creation in prepareParams (#16739) 2023-05-03 09:51:03 +02:00
Vladimir Paramuzov
e282a25d94 [GPU] Minor binary size reduction (#17308) 2023-05-03 09:07:52 +04:00
Ilya Lavrenov
4d7947efc8 Increment minor OV version (#17299) 2023-05-02 22:32:18 +02:00
Piotr Krzemiński
1c286e4636 [PT FE] Add aten::all implementation (#16901)
* [PT FE] aten::all implementation with tests

* [PT FE] Add non-dynamic type check

* [PT FE] Update tests, temporarily turn off uint8 tests

* [PT FE] Fix dtype for uint8

* [PT FE] Apply suggested optimizations

---------

Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
2023-05-02 21:12:12 +02:00
Sofya Balandina
56290fee01 [apiConformance] Fix rebalance missing changes (#17270) 2023-05-02 15:42:19 +00:00
Maxim Vafin
89d3eaa67f Fix issue with Pow when both inputs are scalars (#17305)
* Fix issue with Pow when both inputs are scalars

* Fix code style
2023-05-02 16:49:42 +02:00
Roman Kazantsev
35cae6251c [MO][TF FE] Handle constant with undefined value (#17311)
Since TF 2.10 the native model freezing can produce constants with undefined value,
i.e. tensor shape can be any and value is []. In this case the tensor just fills up with
the default value (0 - for numerics, "" - for strings)

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-02 14:02:36 +00:00
Anton Voronov
d9b04be3ae [DOC] small fix for sparse weights decompression feature documentation (#17315) 2023-05-02 15:50:37 +02:00
Sergey Shlyapnikov
3b8bb1fb17 [GPU] Use BFS processing order for out_of_order queue (#17250) 2023-05-02 15:14:38 +04:00
Yuan Hu
82ec92dd98 [CPU][coverity] fix coverity issue in concat and graph_optimizer (#17191)
* fix coverity issue in concat

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

* fix coverity issue in graph_optimizer.cpp

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

* fix review issue

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

* fix the mistaken that there are two throw

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

---------

Signed-off-by: Hu Yuan2 <yuan2.hu@intel.com>
2023-05-02 12:27:05 +02:00
Tatiana Savina
93980873a0 update OTE and Datumaro links (#17269) 2023-05-02 11:49:25 +02:00
Sebastian Golebiewski
f6600665ba DOCS shift to rst - Opsets H & I (#17284)
* update

* update

* cpp
2023-05-02 11:15:23 +02:00
Przemyslaw Wysocki
89167ddcf5 Bump OMZ submodule (#17117)
* Bump submodule sha

* Bump pybind

* Bump OMZ

* Skip transformers[onnx]

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
Co-authored-by: gklodkox <gracjanx.klodkowski@intel.com>
2023-05-02 10:55:21 +02:00
Maxim Vafin
82dbca998a Do not fuse Pad with negative pads (#17239)
* Do not fuse Pad with negative pad values

* Update src/common/transformations/tests/common_optimizations/pad_fusion.cpp

* Update src/common/transformations/tests/common_optimizations/pad_fusion.cpp
2023-05-02 10:49:53 +02:00
Andrew Kwangwoong Park
583f3e243c [GPU] Remove temporary W/A for GPU NMS shape inference (#17306)
Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-05-02 12:23:13 +04:00
Vladimir Paramuzov
b6761beb55 [GPU] Don't throw exception if no devices are found (#17288) 2023-05-01 13:57:06 +00:00
Roman Kazantsev
14e146b7c8 [TF FE] Extend pre-commit for SpaceToBatch after CPU crash (#17278)
Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-01 17:29:50 +04:00
Roman Kazantsev
b253342ea6 [TF FE] Use original input types for SavedModel (#17295)
Also, refactor TF FE unit-tests

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-05-01 15:46:29 +04:00
Piotr Krzemiński
b7311d8907 [PT FE] Fix aten::chunk for dynamic shapes (#16902)
* [PT FE] Add replacer for chunk+getitem

* [PT FE] Fix missing replaced nodes, fix incorrent chunk size calculation

* [PT FE] Fix incorrect item shape, reduce tests count

* [PT FE] Convert back with frontend

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-05-01 09:32:10 +00:00
Taylor Yeonbok Lee
52bf9abb8c Added batch_hash and entry_hash of corresponding opencl kernel to be used in debugging (#17277) 2023-04-29 01:11:24 +00:00
Ilya Lavrenov
2ae23dd1ad Fixed Python API build for Ubuntu 22.04 with python3.11 (#17297) (#17298)
* Fixed Python API build for Ubuntu 22.04 with python3.11

* Update ONNX CI docker to test python 3.11 and system pybind11
2023-04-29 04:34:10 +04:00
Ilya Lavrenov
7743e175b7 Warn if OpenVINO symbols require new CXX ABI (#16080)
* Warn if OpenVINO symbols require new CXX ABI

* Fixed warnings / errors on Windows
2023-04-29 01:17:52 +01:00
Ilya Lavrenov
0374a65fad Fixed cpplint for arm (#17296) 2023-04-29 01:31:42 +04:00
Ilya Lavrenov
7ac5bab343 Fixes for OpenCL via brew package (#17291) 2023-04-29 00:06:19 +04:00
Maksim Doronin
9776f4d11f Fix enable_plugins_xml (#17294) 2023-04-29 00:02:49 +04:00
Nesterov Alexander
f4d78ff9d8 [ARM CPU] Fix AVGPool tests (#17272)
* fix interpolate bug

* fix ceil part in avgpool

* Update acl_interpolate.cpp

* Update acl_interpolate.cpp

* Update acl_pooling.cpp

* Update acl_pooling.cpp
2023-04-28 23:44:57 +04:00
Vladimir Paramuzov
c6ec6d457f [GPU] Move functional tests to intel_gpu/tests (#17248) 2023-04-28 22:10:18 +04:00
Tatiana Savina
62ed45b9a0 [DOCS] Fix missing snippet and line (#17292)
* fix snippet path

* fix indent
2023-04-28 16:53:44 +00:00
Egor Duplenskii
058c07008c [CPU][ARM][DEBUG_CAPS] Fix cross-compilation issue (#17285) 2023-04-28 16:02:23 +00:00
Egor Duplenskii
25ed941691 [CPU] Add CPU plugin specific properties to supported_properties list (#16720)
* [CPU] Add CPU plugin specific properties to supported_properties list

* Add tests and move cpu specific tests from shared_tests_instances

---------

Co-authored-by: Anton Voronov <anton.voronov@intel.com>
2023-04-28 19:09:38 +04:00
Vladislav Golubev
4ffde4c786 [CPU] Deconv dummy shape generation fix (#17210)
* [CPU] Deconv dummy shape generation fix

* Added test cases

* genaral padding generation solution

* Review comments applied
2023-04-28 17:02:34 +02:00
Irina Efode
8c7a0800b6 [CONFORMANCE] Add rel_weights reporting for QM tests (#17198) 2023-04-28 13:28:27 +01:00
Sofya Balandina
9248ecadee [apiConformance] Rebalance ImportExport and LifeTime tests (#17129) 2023-04-28 16:19:20 +04:00
Pavel Esir
e2baf7f0a2 DOCS remove deprecated options (#17167)
* DOCS remove deprecated options

* removed a couple more not actual questions

* remove the whole lines completely

* remove a couple of more deprecations
2023-04-28 11:53:46 +00:00
Tatiana Savina
2ae7d4428b [DOCS] shift to rst - opsets N (#17267)
* opset to rst

* change list indentations

* fix formula

* add n operations

* add negative and nonzero

* fix link

* specs to rst

* fix matrixnms path

* change path to if

* fix list

* fix format
2023-04-28 13:04:07 +02:00
Chenhu Wang
43842e2486 [CPU] proofreading correction (#17246) 2023-04-28 12:13:30 +02:00
Sofya Balandina
740ee3c185 [apiConformance] Move models to concat (#16759) 2023-04-28 13:19:24 +04:00
Georgy Krivoruchko
835f51a5d2 [TF FE] Added additional pruned inputs for MetaGraph support (#17237)
* Added handling of additional pruned inputs
Added possible topology of RestoreV2 -> AssignVariableOp
Added additional checks

* Extended tests coverage
2023-04-28 13:03:33 +04:00
Anastasiia Pnevskaia
269ed1d9cc Fix of groupconv_to_conv() in MO IR reader (#17118)
* Fixed bug in groupconv_to_conv() method.

* Small correction.

* Test correction.
2023-04-28 11:25:29 +04:00
Karol Blaszczak
dd0b1f0ab3 [DOCS] shift to rst - opsets F,G (#17266) 2023-04-28 08:48:01 +02:00
Karol Blaszczak
94cf2f8321 [DOCS] shift to rst - opsets F,G (#17253) 2023-04-28 08:47:50 +02:00
Nikita Savelyev
100d56261a Added missing import keyword (#17271) 2023-04-28 00:05:20 +04:00
Roman Lyamin
fbc14a2efb [GPU] Coverity fixes (#17241) 2023-04-27 22:14:27 +04:00
Anastasiia Pnevskaia
6be92361a2 [DOCS] Document Model Optimizer Python API (#14380)
* Added MO convert_model() documentation.

* Apply suggestions from code review

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

* Updated Convert_Model pages for PyTorch and TF with PythonAPI info. United TF2 and TF formats lists.

* Added info on flag params, example_input formats list, small corrections.

* Moved MO python API to separate doc. Small text corrections.

* Added TF types conversion description.

* Removed duplicating info.

* Added description of InputCutInfo types and default onnx opset.

* Small correction.

* Changed type table to bullets, added blank lines.

* Added quote marks.

* Removed redunrant bullets.

* Apply suggestions from code review

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

* Apply suggestions from code review.

* Added new line.

* Apply comments from review.d

* Update docs/MO_DG/prepare_model/convert_model/Convert_Model_From_TensorFlow.md

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

* Added description of lists of parameters.

* Update docs/MO_DG/prepare_model/MO_Python_API.md

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

* Added details about input_shape, example_input.

* Updated PyTorch page.

* Corrected input_signature description.

* Format correction.

* Format correction.

* Format correction.

* Format correction.

* Small correction.

* Small correction.

* Removed input_signature param description.

* Updated text.

* Small correction.

* Small correction.

* Removed not needed examples.

* Apply suggestions from code review

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

* Added new line.

* Update docs/MO_DG/prepare_model/MO_Python_API.md

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

* Added titles of examples.

* Update docs/MO_DG/prepare_model/MO_Python_API.md

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

* Apply suggestions from code review

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

* Update docs/MO_DG/prepare_model/MO_Python_API.md

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

* Update docs/MO_DG/prepare_model/convert_model/Convert_Model_From_PyTorch.md

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

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
2023-04-27 17:59:19 +00:00
Vladimir Paramuzov
b019868653 [GPU] Added missing second input to splitted reshape in handle reshape pass (#17254) 2023-04-27 17:21:17 +01:00
Vladislav Golubev
bf59a67d94 [Shape inference] Pooling: Dimension div fix (#17197)
* Dimension div fix

* codestyle fixes

* Convolution labels propagation test instances corrected
2023-04-27 17:18:12 +01:00
3782 changed files with 116636 additions and 68440 deletions

View File

@@ -31,6 +31,13 @@ pr:
- 'tools/*'
- 'tests/layer_tests/*'
resources:
repositories:
- repository: vcpkg
type: github
endpoint: openvinotoolkit
name: microsoft/vcpkg
variables:
- group: github
@@ -46,11 +53,13 @@ jobs:
system.debug: true
VSTS_HTTP_RETRY: 5
VSTS_HTTP_TIMEOUT: 200
BUILD_TYPE: Release
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
@@ -108,21 +117,25 @@ jobs:
displayName: 'Make dir'
- checkout: self
clean: 'true'
submodules: 'true'
clean: 'true'
path: openvino
- checkout: vcpkg
clean: 'true'
path: vcpkg
- script: |
set -e
sudo -E $(OPENVINO_REPO_DIR)/install_build_dependencies.sh
# Move into contrib install_build_dependencies.sh
sudo apt --assume-yes install scons crossbuild-essential-arm64 default-jdk
# Speed up build
sudo apt -y --no-install-recommends install unzip
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
unzip ninja-linux.zip
sudo cp -v ninja /usr/local/bin/
# Install Android SDK, NDK and TOOLS
# 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 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
@@ -130,19 +143,34 @@ jobs:
./cmdline-tools/bin/sdkmanager --sdk_root=$(ANDROID_TOOLS) --install "ndk-bundle" "platform-tools" "platforms;android-$(ANDROID_SDK_VERSION)"
displayName: 'Install dependencies'
- script: |
$(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 Multi-Config"
-G Ninja
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_TOOLCHAIN_FILE=$(ANDROID_TOOLS)/ndk-bundle/build/cmake/android.toolchain.cmake
-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_STL=c++_shared
-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_LINKER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-S $(OPENVINO_REPO_DIR)

View File

@@ -32,13 +32,13 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: releases/2023/0
ref: master
- repository: testdata
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: releases/2023/0
ref: master
variables:
- group: github
@@ -304,32 +304,6 @@ jobs:
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install test files'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
export LD_LIBRARY_PATH=$(REPO_DIR)/temp/gna_03.05.00.1906/linux/x64:$(LD_LIBRARY_PATH)
python3 -m pytest -s $(INSTALL_TEST_DIR)/pyngraph $(PYTHON_STATIC_ARGS) \
--junitxml=$(INSTALL_TEST_DIR)/TEST-Pyngraph.xml \
--ignore=$(INSTALL_TEST_DIR)/pyngraph/tests/test_onnx/test_zoo_models.py \
--ignore=$(INSTALL_TEST_DIR)/pyngraph/tests/test_onnx/test_backend.py
displayName: 'nGraph and IE Python Bindings Tests'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
# For python imports to import pybind_mock_frontend
export LD_LIBRARY_PATH=$(REPO_DIR)/temp/gna_03.05.00.1906/linux/x64:$(LD_LIBRARY_PATH)
export PYTHONPATH=$(INSTALL_TEST_DIR):$(INSTALL_DIR)/python/python3.8:$PYTHONPATH
python3 -m pytest -sv $(INSTALL_TEST_DIR)/pyopenvino $(PYTHON_STATIC_ARGS) \
--junitxml=$(INSTALL_TEST_DIR)/TEST-Pyngraph.xml \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_utils/test_utils.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_zoo_models.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_backend.py
displayName: 'Python API 2.0 Tests'
- script: |
export LD_LIBRARY_PATH=$(REPO_DIR)/temp/gna_03.05.00.1906/linux/x64:$(LD_LIBRARY_PATH)
python3 -m pytest -s $(INSTALL_TEST_DIR)/mo/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-ModelOptimizer.xml
displayName: 'Model Optimizer UT'
- script: |
sudo apt-get install libtbb-dev libpugixml-dev -y
cmake --build $(BUILD_DIR) --target package --parallel
@@ -434,8 +408,8 @@ jobs:
displayName: 'GNA UT'
enabled: 'false' # TODO: fix
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml
displayName: 'MULTI UT'
- 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'
@@ -443,10 +417,6 @@ jobs:
- 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)/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'))
- script: |
$(RUN_PREFIX) $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
displayName: 'IE CAPITests'
@@ -455,6 +425,34 @@ jobs:
$(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: |
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'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
python3 -m pytest -sv $(INSTALL_TEST_DIR)/pyopenvino $(PYTHON_STATIC_ARGS) \
--junitxml=$(INSTALL_TEST_DIR)/TEST-Pyngraph.xml \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_utils/test_utils.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_zoo_models.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_backend.py
displayName: 'Python API 2.0 Tests'
- script: |
python3 -m pytest -s $(INSTALL_TEST_DIR)/mo/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-ModelOptimizer.xml
displayName: 'Model Optimizer 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: >

View File

@@ -46,8 +46,7 @@ jobs:
system.debug: true
VSTS_HTTP_RETRY: 5
VSTS_HTTP_TIMEOUT: 200
OPENVINO_ARCH: 'aarch64'
NUM_PROC: 1
NUM_PROC: 2
BUILD_TYPE: Release
OPENVINO_REPO_DIR: $(Build.Repository.LocalPath)
BUILD_OPENVINO: $(WORK_DIR)/build
@@ -57,7 +56,8 @@ jobs:
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: 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
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
@@ -115,40 +115,61 @@ jobs:
python3 -m pip install --upgrade pip
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/requirements.txt
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
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 crossbuild-essential-arm64
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
# Speed up build
sudo -E apt -y --no-install-recommends install unzip
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
unzip ninja-linux.zip
sudo cp -v ninja /usr/local/bin/
displayName: 'Install dependencies'
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: |
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: |
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" >> $(BUILD_OPENVINO)/linux_arm64
echo "CXX=aarch64-linux-gnu-g++" >> $(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
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
export CMAKE_C_COMPILER_LAUNCHER=ccache
conan install $(OPENVINO_REPO_DIR)/conanfile.txt \
-pr:h $(BUILD_OPENVINO)/linux_arm64 \
-s:h arch=armv8 \
-of $(BUILD_OPENVINO) \
-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)
@@ -157,14 +178,20 @@ jobs:
- script: |
source $(BUILD_OPENVINO)/conanbuild.sh
# TODO: return tests building once GPU plugin migrates to Plugin API 2.0
cmake \
-G Ninja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DENABLE_CPPLINT=OFF \
-DENABLE_PYTHON=OFF \
-DENABLE_TESTS=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_DATA=OFF \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_PROTOBUF=ON \
@@ -176,6 +203,7 @@ jobs:
-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)/deactivate_conanbuild.sh
@@ -192,8 +220,10 @@ jobs:
- script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE) --target install
displayName: 'Install OpenVINO Runtime'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
ArtifactName: 'openvino_aarch64_linux'
displayName: 'Publish OpenVINO Runtime for ARM'
- script: |
source $(BUILD_OPENVINO)/conanbuild.sh
$(INSTALL_OPENVINO)/samples/cpp/build_samples.sh
source $(BUILD_OPENVINO)/deactivate_conanbuild.sh
env:
CMAKE_TOOLCHAIN_FILE: $(BUILD_OPENVINO)/conan_toolchain.cmake
displayName: 'Build OpenVINO C++ samples'

View File

@@ -35,7 +35,6 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: releases/2023/0
variables:
- group: github

View File

@@ -4,7 +4,7 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: releases/2023/0
ref: master
variables:
- group: github

View File

@@ -42,13 +42,11 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: releases/2023/0
- repository: testdata
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: releases/2023/0
jobs:
- job: CUDAPlugin_Lin

View File

@@ -34,7 +34,7 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: releases/2023/0
ref: master
jobs:
- job: Lin_Debian
@@ -62,6 +62,8 @@ jobs:
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
@@ -111,25 +113,32 @@ jobs:
# '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
# For opencv-python: python3-setuptools and pip upgrade
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
# 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
python3 -m pip install -r $(REPO_DIR)/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
$(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
python3 -m pip install -r $(REPO_DIR)/src/frontends/paddle/tests/requirements.txt
$(BUILD_VENV)/bin/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
$(BUILD_VENV)/bin/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
$(BUILD_VENV)/bin/python3 -m pip install -r $(REPO_DIR)/src/frontends/tensorflow/tests/requirements.txt
# For MO unit tests
python3 -m pip install -r $(REPO_DIR)/tools/mo/requirements_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
(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 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
@@ -137,7 +146,7 @@ jobs:
sudo cp -v ninja /usr/local/bin/
# Speed up tests
git clone https://github.com/google/gtest-parallel.git
displayName: 'Install dependencies'
displayName: 'Install build dependencies'
# Should be after 'Install dependencies' because Git lfs is not installed
- checkout: testdata
@@ -155,7 +164,7 @@ jobs:
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DENABLE_PYTHON=ON
-DENABLE_INTEL_GNA=OFF
-DPYTHON_EXECUTABLE=/usr/bin/python3.8
-DPYTHON_EXECUTABLE=$(BUILD_VENV)/bin/python3
-DENABLE_TESTS=ON
-DENABLE_FASTER_BUILD=ON
-DENABLE_STRICT_DEPENDENCIES=OFF
@@ -164,6 +173,7 @@ jobs:
-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)
@@ -213,44 +223,12 @@ jobs:
- script: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_LAYER_TESTS_DIR)/cmake_install.cmake
displayName: 'Install Layer Tests'
- script: python3 -m pip install openvino-dev --find-links=$(INSTALL_DIR)/tools
displayName: 'Install python wheels'
- script: cmake -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -DCOMPONENT=tests -P $(BUILD_DIR)/cmake_install.cmake
displayName: 'Install tests'
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install test files'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
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'
# Skip test_onnx/test_zoo_models and test_onnx/test_backend due to long execution time
- script: |
# Required by python imports to load requires libraries
# - tests install dir for mock_py
# - OpenVINO wheel installation dir for others frontend required by mock_py (is not part of wheel pkg)
export LD_LIBRARY_PATH=$(PYTHON_WHEEL_INSTALL_DIR)/openvino/libs:$(INSTALL_TEST_DIR):$LD_LIBRARY_PATH
# For python imports to import pybind_mock_frontend
export PYTHONPATH=$(INSTALL_TEST_DIR):$PYTHONPATH
python3 -m pytest -s $(INSTALL_TEST_DIR)/pyopenvino \
--junitxml=$(INSTALL_TEST_DIR)/TEST-Pyngraph.xml \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_utils/test_utils.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_zoo_models.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_backend.py -v
displayName: 'Python API 2.0 Tests'
- script: |
python3 -m pytest -s $(INSTALL_TEST_DIR)/mo/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-ModelOptimizer.xml
displayName: 'Model Optimizer UT'
- script: |
sudo apt-get install libtbb-dev libpugixml-dev -y
cmake --build $(BUILD_DIR) --config $(BUILD_TYPE) --target package --parallel
@@ -262,15 +240,15 @@ jobs:
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
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 -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/intel-openvino-2023.list
sudo apt-get install openvino -y || exit 1
# install our local one and make sure the conflicts are resolved
sudo apt-get install --no-install-recommends dpkg-dev -y
rm -r _CPack_Packages
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
echo "deb [trusted=yes] file:$(BUILD_DIR) ./" | sudo tee /etc/apt/sources.list.d/openvino-local.list
sudo apt-get update -o Dir::Etc::sourcelist=/etc/apt/sources.list.d/openvino-local.list
sudo apt-get update
sudo apt-get install openvino -y
workingDirectory: $(BUILD_DIR)
displayName: 'Install Debian packages'
@@ -293,14 +271,12 @@ jobs:
- 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
- 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_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ONNXFrontend.xml
- 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'
@@ -317,14 +293,12 @@ jobs:
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
- 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
- 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'
@@ -332,21 +306,15 @@ jobs:
- script: $(INSTALL_TEST_DIR)/ov_cpu_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_unit_tests.xml
displayName: 'Intel CPU Unit Tests'
- script: $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml
displayName: 'MULTI UT'
- 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
- 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'
# 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'
- script: |
$(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
- script: $(INSTALL_TEST_DIR)/InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineCAPITests.xml
env:
DATA_PATH: $(MODELS_PATH)
MODELS_PATH: $(MODELS_PATH)
@@ -358,6 +326,41 @@ jobs:
MODELS_PATH: $(MODELS_PATH)
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'
# 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)/pyopenvino \
--junitxml=$(INSTALL_TEST_DIR)/TEST-Pyngraph.xml \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_utils/test_utils.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_zoo_models.py \
--ignore=$(INSTALL_TEST_DIR)/pyopenvino/tests/test_onnx/test_backend.py -v
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)
displayName: 'Python API 2.0 Tests'
- script: |
# 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
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: >
@@ -369,13 +372,10 @@ jobs:
- 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: |
export PATH=$HOME/.local/bin:$PATH
/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
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
/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
@@ -385,16 +385,18 @@ jobs:
displayName: 'Samples Smoke Tests'
- script: |
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
export PYTHONPATH=$(LAYER_TESTS_DIR):$PYTHONPATH
python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=$(INSTALL_TEST_DIR)/TEST-tf_Roll.xmlTEST
$(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: $(LAYER_TESTS_DIR)
displayName: 'TensorFlow 1 Layer Tests - Legacy FE'
- script: |
python3 -m pip install -r $(LAYER_TESTS_DIR)/requirements.txt
export PYTHONPATH=$(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR):$PYTHONPATH
export TEST_DEVICE=CPU
$(RUN_PREFIX) python3 -m pytest $(LAYER_TESTS_DIR)/tensorflow_lite_tests/ --junitxml=$(INSTALL_TEST_DIR)/TEST-tfl_fe.xmlTEST
$(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/mo/:$(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'TensorFlow Lite Layer Tests - TFL FE'
- task: PublishTestResults@2

View File

@@ -4,7 +4,7 @@
# type: github
# endpoint: openvinotoolkit
# name: openvinotoolkit/testdata
# ref: releases/2023/0
# ref: master
jobs:
- job: Lin_lohika

View File

@@ -35,13 +35,13 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: releases/2023/0
ref: master
- repository: testdata
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: releases/2023/0
ref: master
variables:
- group: github
@@ -196,8 +196,8 @@ jobs:
displayName: 'Intel CPU Unit Tests'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ieMultiPluginUnitTests.xml
displayName: 'MULTI UT'
- 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

View File

@@ -32,13 +32,13 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/openvino_contrib
ref: releases/2023/0
ref: master
- repository: testdata
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: releases/2023/0
ref: master
jobs:
- job: Win
@@ -222,10 +222,14 @@ jobs:
$(CMAKE_CMD) -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=$(INSTALL_DIR) -P $(BUILD_SAMPLES_TESTS_DIR)\cmake_install.cmake
displayName: 'Install Samples Tests'
- script: $(INSTALL_DIR)\samples\cpp\build_samples_msvc.bat -i $(INSTALL_DIR)
- script: |
$(INSTALL_DIR)\samples\cpp\build_samples_msvc.bat -i $(INSTALL_DIR)
if not exist %USERPROFILE%\Documents\Intel\OpenVINO\openvino_cpp_samples_build\ exit 1
displayName: 'Build cpp samples'
- script: $(INSTALL_DIR)\samples\c\build_samples_msvc.bat -i $(INSTALL_DIR)
- script: |
$(INSTALL_DIR)\samples\c\build_samples_msvc.bat -i $(INSTALL_DIR)
if not exist %USERPROFILE%\Documents\Intel\OpenVINO\openvino_c_samples_build\ exit 1
displayName: 'Build c samples'
- script: python -m pip install -r $(INSTALL_TEST_DIR)\smoke_tests\requirements.txt
@@ -302,8 +306,8 @@ jobs:
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_gna_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_gna_unit_tests.xml
displayName: 'GNA UT'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ieMultiPluginUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ieMultiPluginUnitTests.xml
displayName: 'MULTI UT'
- 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_batch_unit_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_auto_batch_unit_tests.xml
displayName: 'AutoBatch UT'
@@ -311,9 +315,8 @@ jobs:
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_template_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-templateFuncTests.xml
displayName: 'TEMPLATE FuncTests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_cpu_func_tests --gtest_filter=*smoke* --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'))
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_auto_batch_func_tests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_auto_batch_func_tests.xml
displayName: 'AutoBatch FuncTests'
- script: |
call $(SETUPVARS) && $(INSTALL_TEST_DIR)\InferenceEngineCAPITests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceEngineCAPITests.xml
@@ -323,6 +326,10 @@ jobs:
call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_capi_test --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_capi_test.xml
displayName: 'OV CAPITests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_cpu_func_tests --gtest_filter=*smoke* --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ov_cpu_func_tests.xml
displayName: 'CPU FuncTests'
condition: and(succeeded(), eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'OFF'))
- task: PublishTestResults@2
condition: always()
inputs:

View File

@@ -35,7 +35,6 @@ resources:
type: github
endpoint: openvinotoolkit
name: openvinotoolkit/testdata
ref: releases/2023/0
variables:
- group: github

View File

@@ -72,5 +72,5 @@ RUN ninja install
WORKDIR /openvino/src/bindings/python
ENV OpenVINO_DIR=/openvino/dist/runtime/cmake
ENV LD_LIBRARY_PATH=/openvino/dist/runtime/lib/intel64:/openvino/dist/runtime/3rdparty/tbb/lib
ENV PYTHONPATH=/openvino/bin/intel64/${BUILD_TYPE}/python_api/python3.11:${PYTHONPATH}
ENV PYTHONPATH=/openvino/bin/intel64/${BUILD_TYPE}/python:${PYTHONPATH}
CMD tox

1
.github/labeler.yml vendored
View File

@@ -41,6 +41,7 @@
'category: dependency_changes':
- '**/requirement*.txt'
- '**/constraints*.txt'
- 'scripts/**/*'
- '.gitmodules'
- '**/setup.py'

143
.github/workflows/coverage.yml vendored Normal file
View File

@@ -0,0 +1,143 @@
name: Code coverage
on: workflow_dispatch
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Coverage:
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- { name: "Ubuntu gcc", os: ubuntu-latest-16-cores, cc: "gcc", cxx: "g++" }
steps:
- name: Setup python
uses: actions/setup-python@v4
with:
python-version: '3.10.10'
architecture: 'x64'
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
max-size: 50G
- name: Clone OpenVINO
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt --assume-yes update
sudo -E ${{ github.workspace }}/install_build_dependencies.sh
sudo apt --assume-yes install lcov
python3 -m pip install --upgrade pip
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/requirements.txt
# For running Python API tests
python3 -m pip install -r ${{ github.workspace }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running Paddle frontend unit tests
python3 -m pip install -r ${{ github.workspace }}/src/frontends/paddle/tests/requirements.txt
# For running ONNX frontend unit tests
python3 -m pip install -r ${{ github.workspace }}/src/frontends/onnx/tests/requirements.txt
# For running TensorFlow frontend unit tests
python3 -m pip install -r ${{ github.workspace }}/src/frontends/tensorflow/tests/requirements.txt
# For MO unit tests
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_mxnet.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ github.workspace }}/tools/mo/requirements_dev.txt
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores
- name: Build OpenVINO with CMake
uses: ashutoshvarma/action-cmake-build@master
with:
build-dir: ${{ github.workspace }}/build
cc: ${{ matrix.config.cc }}
cxx: ${{ matrix.config.cxx }}
configure-options: >
-GNinja
-DCMAKE_VERBOSE_MAKEFILE=ON
-DENABLE_PYTHON=ON
-DENABLE_ONEDNN_FOR_GPU=ON
-DBUILD_SHARED_LIBS=ON
-DENABLE_TESTS=ON
-DENABLE_OV_ONNX_FRONTEND=ON
-DENABLE_FASTER_BUILD=ON
-DENABLE_STRICT_DEPENDENCIES=OFF
-DENABLE_COVERAGE=ON
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
-DENABLE_SYSTEM_SNAPPY=ON
build-type: Release
parallel: ${{ steps.cpu-cores.outputs.count }}
- name: Install wheel packages
run: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install_pkg -P '${{ github.workspace }}/build/cmake_install.cmake'
- name: Install python wheels
run: python3 -m pip install openvino-dev --find-links=${{ github.workspace }}/install_pkg/tools
- name: List binaries
run: ls -la ${{ github.workspace }}/bin/intel64/Release
- name: Install OpenVINO
run: cmake -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install_pkg -P '${{ github.workspace }}/build/cmake_install.cmake'
- name: Run OV core unit tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_core_unit_tests # --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ github.workspace }}/testdata/TEST-NGraphUT.xml
- name: Run IR frontend tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_ir_frontend_tests # --gtest_print_time=1 --gtest_output=xml:${{ github.workspace }}/testdata/TEST-IRFrontend.xml
- name: Run ONNX frontend tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_onnx_frontend_tests --gtest_filter=-*IE_GPU*
#- name: Run Paddle frontend unit tests
# run: ${{ github.workspace }}/bin/intel64/Release/paddle_tests --gtest_filter=-*IE_GPU*
- name: Run TensorFlow frontend unit tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_tensorflow_frontend_tests --gtest_filter=-*IE_GPU*
- name: Build coverage with CMake
uses: ashutoshvarma/action-cmake-build@master
with:
build-dir: ${{ github.workspace }}/coverage
cc: ${{ matrix.config.cc }}
cxx: ${{ matrix.config.cxx }}
target: ov_coverage
configure-options: >
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
parallel: ${{ steps.cpu-cores.outputs.count }}
- name: Print info
run: |
ls -laR
pwd
- name: Generate raport
run: |
lcov --capture --directory ${{ github.workspace }}/. --output-file coverage.info
genhtml coverage.info --output-directory coverage-report
- name: Collect coverage
uses: codecov/codecov-action@v3
with:
verbose: true

View File

@@ -151,3 +151,16 @@ jobs:
- name: Run Bandit
run: python -m bandit -r ./ -f screen
working-directory: src/bindings/python/src/compatibility/openvino
# layer_tests Flake code-style
- name: Run flake8 on python tests in openvino/tests/layer_tests
run: |
modified_files=$(git diff --name-only)
for file in $modified_files; do
if [[ $file == "openvino/tests/layer_tests/"* ]]; then
if [[ -f "$file" ]]; then
python -m flake8 "$file" --config= ./setup.cfg
fi
fi
done

View File

@@ -0,0 +1,25 @@
name: 'Close stale issues and PRs'
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
permissions:
issues: write
pull-requests: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
with:
stale-issue-message: 'This issue will be closed in a week because of 9 months of no activity.'
stale-pr-message: 'This PR will be closed in a week because of 2 weeks of no activity.'
close-issue-message: 'This issue was closed because it has been stalled for 9 months with no activity.'
close-pr-message: 'This PR was closed because it has been stalled for 2 week with no activity.'
days-before-pr-stale: 14
days-before-issue-stale: 274
days-before-close: 7
ascending: true
exempt-pr-labels: 'no_stale'

1
.gitignore vendored
View File

@@ -13,6 +13,7 @@ cmake-build*
*.idea
.vscode
.vs/
.vsconan/
.DS_Store
**/tags
compile_commands.json

View File

@@ -3,10 +3,11 @@
#
if(DEFINED BUILD_SHARED_LIBS AND NOT BUILD_SHARED_LIBS)
# 'target_link_libraries' does not work correctly when called from
# 3.17: 'target_link_libraries' does not work correctly when called from
# different directory where 'add_library' is called: CMake generates
# incorrect OpenVINOConfig.cmake in this case
cmake_minimum_required(VERSION 3.17)
# 3.18: add_library cannot create ALIAS for non-GLOBAL targets
cmake_minimum_required(VERSION 3.18)
else()
if(CPACK_GENERATOR STREQUAL "DEB")
# we have to use CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS variable
@@ -120,7 +121,7 @@ if (ENABLE_TESTS)
include(cmake/test_model_zoo.cmake)
endif()
add_subdirectory(thirdparty)
include(thirdparty/dependencies.cmake)
add_subdirectory(src)
if(ENABLE_SAMPLES OR ENABLE_TESTS OR ENABLE_COMPILE_TOOL)

View File

@@ -1,32 +1,32 @@
# How to contribute to the OpenVINO repository
We welcome community contributions to OpenVINO™. Please read the following guide to learn how to find ideas for contribution, practices for good pull requests, checking your changes with our tests and more.
We welcome community contributions to OpenVINO™. Please read the following guide to learn how to find ideas for contribution, follow best practices for pull requests, and test your changes with our established checks.
## Before you start contributing you should
- Make sure you agree to contribute your code under [OpenVINO™ (Apache 2.0)](https://github.com/openvinotoolkit/openvino/blob/master/LICENSE) license.
- Figure out what youre going to contribute. If you dont know what you are going to work on, navigate to the [Github "Issues" tab](https://github.com/openvinotoolkit/openvino/issues). Make sure that there isn't someone working on it. In the latter case you might provide support or suggestion in the issue or in the linked pull request.
- If you are going to fix a bug, check that it's still exists in the latest release. This can be done by building the latest master branch, and make sure that the error is still reproducible there. We do not fix bugs that only affect older non-LTS releases like 2020.2 for example (more details about [branching strategy](https://github.com/openvinotoolkit/openvino/wiki/Branches)).
- Make sure you agree to contribute your code under [OpenVINO™ (Apache 2.0) license](https://github.com/openvinotoolkit/openvino/blob/master/LICENSE).
- Decide what youre going to contribute. If you are not sure what you want to work on, check out [Contributions Welcome](https://github.com/openvinotoolkit/openvino/issues/17502). See if there isn't anyone already working on the subject you choose, in which case you may still contribute, providing support and suggestions for the given issue or pull request.
- If you are going to fix a bug, check if it still exists. You can do it by building the latest master branch and making sure that the error is still reproducible there. We do not fix bugs that only affect older non-LTS releases like 2020.2, for example (see more details about our [branching strategy](https://github.com/openvinotoolkit/openvino/wiki/Branches)).
## "Fork & Pull Request model" for code contribution
### [](https://github.com/openvinotoolkit/openvino/blob/master/CONTRIBUTING.md#the-instruction-in-brief)The instruction in brief
- Register at GitHub. Create your fork of OpenVINO™ repository [https://github.com/openvinotoolkit/openvino](https://github.com/openvinotoolkit/openvino) (see [https://help.github.com/articles/fork-a-repo](https://help.github.com/articles/fork-a-repo) for details).
- Register at GitHub. Create your fork of the OpenVINO™ repository [https://github.com/openvinotoolkit/openvino](https://github.com/openvinotoolkit/openvino) (see [https://help.github.com/articles/fork-a-repo](https://help.github.com/articles/fork-a-repo) for details).
- Install Git.
- Set your user name and email address in a Git configuration according to GitHub account (see [https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for details).
- Choose a task for yourself. It could be a bugfix or some new code.
- Set your user name and email address in Git configuration according to the GitHub account (see [First-Time-Git-Setup](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for details).
- Choose a task for yourself. It may be a bugfix or an entirely new piece of code.
- Choose a base branch for your work. More details about branches and policies are here: [Branches](https://github.com/openvinotoolkit/openvino/wiki/Branches)
- Clone your fork to your computer.
- Create a new branch (with a meaningful name) from the base branch you chose.
- Modify / add the code following our [Coding Style Guide](./docs/dev/coding_style.md).
- If you want to add a new sample, please look at this [Guide for contributing to C++/C/Python IE samples](https://github.com/openvinotoolkit/openvino/wiki/SampleContribute)
- Create a new branch (give it a meaningful name) from the base branch of your choice.
- Modify / add the code, following our [Coding Style Guide](./docs/dev/coding_style.md).
- If you want to add a new sample, please have a look at the [Guide for contributing to C++/C/Python IE samples](https://github.com/openvinotoolkit/openvino/wiki/SampleContribute)
- If you want to contribute to the documentation and want to add a new guide, follow that instruction [Documentation guidelines](https://github.com/openvinotoolkit/openvino/wiki/CodingStyleGuideLinesDocumentation)
- Run testsuite locally:
- execute each test binary from the artifacts directory, e.g. `<source dir>/bin/intel64/Release/ieFuncTests`
- When you are done, make sure that your branch is to date with latest state of the branch you want to contribute to (e.g. `git fetch upstream && git merge upstream/master`), push your branch to your GitHub fork; then create a pull request from your branch to the base branch (see [https://help.github.com/articles/using-pull-requests](https://help.github.com/articles/using-pull-requests) for details).
- When you are done, make sure that your branch is up to date with latest state of the branch you want to contribute to (e.g. `git fetch upstream && git merge upstream/master`). If so, push your branch to your GitHub fork and create a pull request from your branch to the base branch (see [using-pull-requests](https://help.github.com/articles/using-pull-requests) for details).
## Making a good pull request
@@ -34,22 +34,20 @@ Following these guidelines will increase the likelihood of your pull request bei
- One PR one issue.
- Build perfectly on your local system.
- Choose the right base branch [Branches](https://github.com/openvinotoolkit/openvino/wiki/Branches).
- Choose the right base branch, based on our [Branch Guidelines](https://github.com/openvinotoolkit/openvino/wiki/Branches).
- Follow the [Coding Style Guide](./docs/dev/coding_style.md) for your code.
- Update documentation using [Documentation guidelines](https://github.com/openvinotoolkit/openvino/wiki/CodingStyleGuideLinesDocumentation) if needed.
- Document your contribution, if you decide it may benefit OpenVINO users. You may do it yourself by editing the files in the "docs" directory or contact someone working with documentation to provide them with the right information.
- Cover your changes with test.
- Add license at the top of new files [C++ example](https://github.com/openvinotoolkit/openvino/blob/master/samples/cpp/classification_sample_async/main.cpp#L1-L2), [Python example](https://github.com/openvinotoolkit/openvino/blob/master/samples/python/hello_classification/hello_classification.py#L3-L4).
- Add enough information: a meaningful title, the reason why you made the commit and a link to the issue page if exists.
- Remove unrelated to PR changes.
- If it is still WIP and you want to check CI test results early then use _Draft_ PR.
- Add the license statement at the top of new files [C++ example](https://github.com/openvinotoolkit/openvino/blob/master/samples/cpp/classification_sample_async/main.cpp#L1-L2), [Python example](https://github.com/openvinotoolkit/openvino/blob/master/samples/python/hello_classification/hello_classification.py#L3-L4).
- Add proper information to the PR: a meaningful title, the reason why you made the commit, and a link to the issue page, if it exists.
- Remove changes unrelated to the PR.
- If it is still WIP and you want to check CI test results early, use a _Draft_ PR.
- Submit your PR and become an OpenVINO™ contributor!
## Testing and merging pull requests
Your pull request will be automatically tested by OpenVINO™'s precommit (testing status are automatically reported as "green" or "red" circles in precommit steps on PR's page). If any builders have failed, you need fix the issue. To rerun the automatic builds just push changes to your branch on GitHub. No need to close pull request and open a new one!
Your pull request will be automatically tested by OpenVINO™'s precommit (testing statuses are automatically reported as "green" or "red" circles in precommit steps on the PR page). If any builders fail, you need to fix the issues before the PR can be merged. If you push any changes to your branch on GitHub the tests will re-run automatically. No need to close pull request and open a new one!
## Merging PR
When the reviewer accepts the pull request and the pre-commit shows a "green" status, the review status is set to "Approved", which signals to the OpenVINO™ maintainers that they can merge your pull request.
When an assigned reviewer accepts the pull request and the pre-commit is "green", the review status is set to "Approved", which informs OpenVINO™ maintainers that they can merge your pull request.

View File

@@ -1,5 +1,4 @@
<div align="center">
<img src="docs/img/openvino-logo-purple-black.png" width="400px">
[![PyPI Status](https://badge.fury.io/py/openvino.svg)](https://badge.fury.io/py/openvino)
@@ -9,7 +8,6 @@
[![PyPI Downloads](https://pepy.tech/badge/openvino)](https://pepy.tech/project/openvino)
[![Anaconda Downloads](https://anaconda.org/conda-forge/openvino/badges/downloads.svg)](https://anaconda.org/conda-forge/openvino/files)
[![brew Downloads](https://img.shields.io/homebrew/installs/dy/openvino)](https://formulae.brew.sh/formula/openvino)
</div>
## Contents:
@@ -168,7 +166,9 @@ See [How to build OpenVINO](./docs/dev/build.md) to get more information about t
## How to contribute
See [CONTRIBUTING](./CONTRIBUTING.md) for details. Thank you!
See [Contributions Welcome](https://github.com/openvinotoolkit/openvino/issues/17502) for good first issues.
See [CONTRIBUTING](./CONTRIBUTING.md) for contribution details. Thank you!
## Get a support

View File

@@ -9,67 +9,3 @@ set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
set(CMAKE_STRIP arm-linux-gnueabihf-strip)
set(PKG_CONFIG_EXECUTABLE arm-linux-gnueabihf-pkg-config CACHE PATH "Path to ARM pkg-config")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
macro(__cmake_find_root_save_and_reset)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(__save_${v} ${${v}})
set(${v} NEVER)
endforeach()
endmacro()
macro(__cmake_find_root_restore)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(${v} ${__save_${v}})
unset(__save_${v})
endforeach()
endmacro()
# macro to find programs on the host OS
macro(find_host_program)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_program(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()
# macro to find packages on the host OS
macro(find_host_package)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_package(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()

View File

@@ -9,67 +9,3 @@ set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
set(CMAKE_STRIP aarch64-linux-gnu-strip)
set(PKG_CONFIG_EXECUTABLE aarch64-linux-gnu-pkg-config CACHE PATH "Path to ARM64 pkg-config")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
macro(__cmake_find_root_save_and_reset)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(__save_${v} ${${v}})
set(${v} NEVER)
endforeach()
endmacro()
macro(__cmake_find_root_restore)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(${v} ${__save_${v}})
unset(__save_${v})
endforeach()
endmacro()
# macro to find programs on the host OS
macro(find_host_program)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_program(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()
# macro to find packages on the host OS
macro(find_host_package)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_package(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()

View File

@@ -32,21 +32,24 @@ if(THREADING STREQUAL "OMP")
TARGET_PATH "${TEMP}/omp"
ENVIRONMENT "OMP"
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*"
SHA256 "62c68646747fb10f19b53217cb04a1e10ff93606f992e6b35eb8c31187c68fbf")
SHA256 "62c68646747fb10f19b53217cb04a1e10ff93606f992e6b35eb8c31187c68fbf"
USE_NEW_LOCATION TRUE)
elseif(LINUX AND X86_64)
RESOLVE_DEPENDENCY(OMP
ARCHIVE_LIN "iomp.tgz"
TARGET_PATH "${TEMP}/omp"
ENVIRONMENT "OMP"
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*"
SHA256 "7832b16d82513ee880d97c27c7626f9525ebd678decf6a8fe6c38550f73227d9")
SHA256 "7832b16d82513ee880d97c27c7626f9525ebd678decf6a8fe6c38550f73227d9"
USE_NEW_LOCATION TRUE)
elseif(APPLE AND X86_64)
RESOLVE_DEPENDENCY(OMP
ARCHIVE_MAC "iomp_20190130_mac.tgz"
TARGET_PATH "${TEMP}/omp"
ENVIRONMENT "OMP"
VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*"
SHA256 "591ea4a7e08bbe0062648916f42bded71d24c27f00af30a8f31a29b5878ea0cc")
SHA256 "591ea4a7e08bbe0062648916f42bded71d24c27f00af30a8f31a29b5878ea0cc"
USE_NEW_LOCATION TRUE)
else()
message(FATAL_ERROR "Intel OMP is not available on current platform")
endif()
@@ -108,7 +111,8 @@ function(ov_download_tbb)
ARCHIVE_ANDROID "tbb2020_20200404_android.tgz"
TARGET_PATH "${TEMP}/tbb"
ENVIRONMENT "TBBROOT"
SHA256 "f42d084224cc2d643314bd483ad180b081774608844000f132859fca3e9bf0ce")
SHA256 "f42d084224cc2d643314bd483ad180b081774608844000f132859fca3e9bf0ce"
USE_NEW_LOCATION TRUE)
elseif(LINUX AND X86_64 AND OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.17)
# build oneTBB 2021.2.1 with gcc 4.8 (glibc 2.17)
RESOLVE_DEPENDENCY(TBB
@@ -122,7 +126,8 @@ function(ov_download_tbb)
ARCHIVE_LIN "keembay/tbb2020_38404_kmb_lic.tgz"
TARGET_PATH "${TEMP}/tbb_yocto"
ENVIRONMENT "TBBROOT"
SHA256 "321261ff2eda6d4568a473cb883262bce77a93dac599f7bd65d2918bdee4d75b")
SHA256 "321261ff2eda6d4568a473cb883262bce77a93dac599f7bd65d2918bdee4d75b"
USE_NEW_LOCATION TRUE)
elseif(APPLE AND X86_64)
# build oneTBB 2021.2.1 with OS version 11.4
RESOLVE_DEPENDENCY(TBB
@@ -327,8 +332,8 @@ if(ENABLE_INTEL_GNA)
GNA_LIB_DIR
libGNA_INCLUDE_DIRS
libGNA_LIBRARIES_BASE_PATH)
set(GNA_VERSION "03.05.00.1906")
set(GNA_HASH "4a5be86d9c026b0e10afac2a57fc7c99d762b30e3d506abb3a3380fbcfe2726e")
set(GNA_VERSION "03.05.00.2116")
set(GNA_HASH "960350567702bda17276ac4c060d7524fb7ce7ced785004bd861c81ff2bfe2c5")
set(FILES_TO_EXTRACT_LIST gna_${GNA_VERSION}/include)
if(WIN32)

View File

@@ -8,6 +8,12 @@ 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}")
@@ -71,23 +77,8 @@ endfunction()
# For cross-compilation
#
# Search packages for the host system instead of packages for the target system
# in case of cross compilation these macros should be defined by the toolchain file
if(NOT COMMAND find_host_package)
macro(find_host_package)
find_package(${ARGN})
endmacro()
endif()
if(NOT COMMAND find_host_library)
macro(find_host_library)
find_library(${ARGN})
endmacro()
endif()
if(NOT COMMAND find_host_program)
macro(find_host_program)
find_program(${ARGN})
endmacro()
endif()
include(cross_compile/find_commands)
include(cross_compile/native_compile)
#
# Common scripts
@@ -166,12 +157,6 @@ else()
endif()
add_definitions(-DIE_BUILD_POSTFIX=\"${IE_BUILD_POSTFIX}\")
macro(ov_set_if_not_defined var value)
if(NOT DEFINED ${var})
set(${var} ${value})
endif()
endmacro()
ov_set_if_not_defined(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
ov_set_if_not_defined(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
ov_set_if_not_defined(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
@@ -179,7 +164,7 @@ ov_set_if_not_defined(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
ov_set_if_not_defined(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
if(CPACK_GENERATOR MATCHES "^(DEB|RPM)$")
# to make sure that lib/<multiarch-tuple> is created on Debian
# to make sure that lib/<multiarch-triplet> is created on Debian
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Cmake install prefix" FORCE)
endif()
@@ -196,10 +181,6 @@ if(APPLE)
message(FATAL_ERROR "Internal error: OV_CPACK_LIBRARYDIR is not defined, while it's required to initialize RPATH")
endif()
if(CPACK_GENERATOR STREQUAL "BREW")
set(CMAKE_SKIP_INSTALL_RPATH OFF)
endif()
# WA for Xcode generator + object libraries issue:
# https://gitlab.kitware.com/cmake/cmake/issues/20260
# http://cmake.3232098.n2.nabble.com/XCODE-DEPEND-HELPER-make-Deletes-Targets-Before-and-While-They-re-Built-td7598277.html
@@ -247,17 +228,6 @@ endif()
# General flags
macro(ov_install_static_lib target comp)
if(NOT BUILD_SHARED_LIBS)
get_target_property(target_type ${target} TYPE)
if(target_type STREQUAL "STATIC_LIBRARY")
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL OFF)
endif()
install(TARGETS ${target} EXPORT OpenVINOTargets
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
endif()
endmacro()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
@@ -312,7 +282,6 @@ function(ov_mark_target_as_cc)
endfunction()
include(python_requirements)
include(native_compile)
# Code style utils

View File

@@ -163,7 +163,22 @@ function(addIeTargetTest)
addIeTarget(TYPE EXECUTABLE NAME ${ARG_NAME} ${ARG_UNPARSED_ARGUMENTS})
add_test(NAME ${ARG_NAME} COMMAND ${ARG_NAME})
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}

View File

@@ -54,6 +54,8 @@ macro(ov_deprecated_no_errors)
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(ie_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")
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
@@ -73,7 +75,7 @@ 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")
if(SUGGEST_OVERRIDE_SUPPORTED)
set(ie_cxx_dev_no_errors "${ie_c_cxx_dev_no_errors} -Wno-error=suggest-override")
set(ie_cxx_dev_no_errors "-Wno-error=suggest-override")
endif()
endif()
@@ -250,6 +252,20 @@ function(ov_force_include target scope header_file)
endif()
endfunction()
#
# ov_abi_free_target(<target name>)
#
# Marks target to be compiliance in CXX ABI free manner
#
function(ov_abi_free_target target)
# To guarantee OpenVINO can be used with gcc versions 7 through 12.2
# - https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
# - https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW64)
target_compile_options(${target} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-Wabi=11>)
endif()
endfunction()
#
# ie_python_minimal_api(<target>)
#
@@ -410,6 +426,13 @@ else()
# Warn if an undefined identifier is evaluated in an #if directive. Such identifiers are replaced with zero.
ie_add_compiler_flags(-Wundef)
# To guarantee OpenVINO can be used with gcc versions 7 through 12
# - https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html
# - https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html
if(CMAKE_COMPILER_IS_GNUCXX)
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wabi=11")
endif()
#
# Warnings as errors
#

View File

@@ -0,0 +1,160 @@
# Copyright (C) 2018-2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
# Search packages for the host system instead of packages for the target system
# in case of cross compilation these macros should be defined by the toolchain file
if(CMAKE_CROSSCOMPILING AND NOT (OV_ARCH STREQUAL OV_HOST_ARCH AND
CMAKE_SYSTEM_NAME STREQUAL CMAKE_HOST_SYSTEM_NAME))
# don't look at directories which are part of PATH (with removed bin / sbin at the end)
# like /opt/homebrew on macOS where we cannot use system env path, because brew's
# dependencies will be found, but at the same time we need to find flatbufffers and
# other build system dependencies
# ov_set_if_not_defined(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH OFF)
ov_set_if_not_defined(CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY OFF)
# it contains /usr and if we set this var to OFF, then CMAKE_FIND_ROOT_PATH is ignored
# ov_set_if_not_defined(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH OFF)
if(LINUX)
# set root paths (overridden to /usr/lib/<CMAKE_LIBRARY_ARCHITECTURE>/cmake)
# CMAKE_LIBRARY_ARCHITECTURE is defined automatically by cmake after trying the compilers
# ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH "/usr")
endif()
# controling CMAKE_FIND_ROOT_PATH usage
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
ov_set_if_not_defined(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
endif()
macro(__ov_cmake_find_system_path_save_and_reset)
foreach(v
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
)
if(DEFINED ${v})
set(__ov_save_${v} ${${v}})
else()
set(__ov_save_${v} ON)
endif()
set(${v} ON)
endforeach()
endmacro()
macro(__ov_cmake_find_system_path_restore)
foreach(v
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH
CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH
)
set(${v} ${__ov_save_${v}})
unset(__ov_save_${v})
endforeach()
endmacro()
macro(__ov_cmake_find_root_save_and_reset)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(__ov_save_${v} ${${v}})
set(${v} NEVER)
endforeach()
endmacro()
macro(__ov_cmake_find_root_restore)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(${v} ${__ov_save_${v}})
unset(__ov_save_${v})
endforeach()
endmacro()
macro(__ov_cmake_target_flags_save_and_reset)
foreach(v WIN32 UNIX LINUX APPLE ANDROID BSD)
set(__ov_target_save_${v} ${${v}})
unset(${v})
endforeach()
if(CMAKE_HOST_WIN32)
set(WIN32 1)
elseif(CMAKE_HOST_APPLE)
set(APPLE 1)
set(UNIX 1)
elseif(CMAKE_HOST_LINUX)
set(LINUX 1)
set(UNIX 1)
elseif(CMAKE_HOST_UNIX)
set(UNIX 1)
elseif(CMAKE_HOST_BSD)
set(BSD 1)
endif()
endmacro()
macro(__ov_cmake_target_flags_restore)
foreach(v WIN32 UNIX LINUX APPLE ANDROID BSD)
set(${v} ${__ov_target_save_${v}})
unset(__ov_target_save_${v})
endforeach()
endmacro()
if(CMAKE_CROSSCOMPILING)
# macro to find programs on the host OS
if(NOT COMMAND find_host_package)
macro(find_host_package)
__ov_cmake_find_root_save_and_reset()
__ov_cmake_target_flags_save_and_reset()
__ov_cmake_find_system_path_save_and_reset()
find_package(${ARGN})
__ov_cmake_find_system_path_restore()
__ov_cmake_target_flags_restore()
__ov_cmake_find_root_restore()
endmacro()
endif()
if(NOT COMMAND find_host_program)
macro(find_host_program)
__ov_cmake_find_root_save_and_reset()
__ov_cmake_target_flags_save_and_reset()
__ov_cmake_find_system_path_save_and_reset()
find_program(${ARGN})
__ov_cmake_find_system_path_restore()
__ov_cmake_target_flags_restore()
__ov_cmake_find_root_restore()
endmacro()
endif()
if(NOT COMMAND find_host_library)
macro(find_host_library)
__ov_cmake_find_root_save_and_reset()
__ov_cmake_target_flags_save_and_reset()
__ov_cmake_find_system_path_save_and_reset()
find_library(${ARGN})
__ov_cmake_find_system_path_restore()
__ov_cmake_target_flags_restore()
__ov_cmake_find_root_restore()
endmacro()
endif()
else()
if(NOT COMMAND find_host_package)
macro(find_host_package)
find_package(${ARGN})
endmacro()
endif()
if(NOT COMMAND find_host_program)
macro(find_host_program)
find_program(${ARGN})
endmacro()
endif()
if(NOT COMMAND find_host_library)
macro(find_host_library)
find_library(${ARGN})
endmacro()
endif()
endif()

View File

@@ -272,6 +272,10 @@ macro(ov_add_frontend)
# must be called after all target_link_libraries
ie_add_api_validator_post_build_step(TARGET ${TARGET_NAME})
# since frontends are user-facing component which can be linked against,
# then we need to mark it to be CXX ABI free
ov_abi_free_target(${TARGET_NAME})
# installation
if(NOT OV_FRONTEND_SKIP_INSTALL)

View File

@@ -11,29 +11,32 @@ set(ncc_style_bin_dir "${CMAKE_CURRENT_BINARY_DIR}/ncc_naming_style")
# find python3
find_host_package(PythonInterp 3 QUIET)
if(NOT PYTHONINTERP_FOUND)
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
set(ENABLE_NCC_STYLE OFF)
if(ENABLE_NCC_STYLE)
find_host_package(PythonInterp 3 QUIET)
if(NOT PYTHONINTERP_FOUND)
message(WARNING "Python3 interpreter was not found (required for ncc naming style check)")
set(ENABLE_NCC_STYLE OFF)
endif()
endif()
if(PYTHON_VERSION_MINOR EQUAL 6)
set(clang_version 10)
elseif(PYTHON_VERSION_MINOR EQUAL 7)
set(clang_version 11)
elseif(PYTHON_VERSION_MINOR EQUAL 8)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 9)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 10)
set(clang_version 14)
elseif(PYTHON_VERSION_MINOR EQUAL 11)
set(clang_version 14)
else()
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
if(ENABLE_NCC_STYLE)
if(PYTHON_VERSION_MINOR EQUAL 6)
set(clang_version 10)
elseif(PYTHON_VERSION_MINOR EQUAL 7)
set(clang_version 11)
elseif(PYTHON_VERSION_MINOR EQUAL 8)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 9)
set(clang_version 12)
elseif(PYTHON_VERSION_MINOR EQUAL 10)
set(clang_version 14)
elseif(PYTHON_VERSION_MINOR EQUAL 11)
set(clang_version 14)
else()
message(WARNING "Cannot suggest clang package for python ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
endif()
endif()
if(ENABLE_NCC_STYLE)
# try to find_package(Clang QUIET)
# ClangConfig.cmake contains bug that if libclang-XX-dev is not
@@ -58,16 +61,22 @@ endif()
# Since we were able to find_package(Clang) in a separate process
# let's try to find in current process
if(ENABLE_NCC_STYLE)
if(WIN32)
set(CLANG_LIB_NAME libclang.dll)
find_host_program(CLANG NAMES ${CLANG_LIB_NAME} PATHS ENV PATH)
if(CLANG)
set(libclang_location ${CLANG})
endif()
elseif(APPLE)
if(CMAKE_HOST_WIN32)
find_host_program(libclang_location NAMES libclang.dll
PATHS $ENV{PATH}
NO_CMAKE_FIND_ROOT_PATH)
elseif(CMAKE_HOST_APPLE)
set(_old_CMAKE_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES})
set(_old_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib")
find_host_library(libclang_location NAMES clang
PATHS /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
DOC "Path to clang library")
DOC "Path to clang library"
NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH)
set(CMAKE_FIND_LIBRARY_PREFIXES ${_old_CMAKE_FIND_LIBRARY_PREFIXES})
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_old_CMAKE_FIND_LIBRARY_SUFFIXES})
else()
find_host_package(Clang QUIET)
endif()

View File

@@ -21,14 +21,22 @@ macro(ov_common_libraries_cpack_set_dirs)
endif()
set(OV_WHEEL_RUNTIMEDIR ${OV_CPACK_RUNTIMEDIR})
set(OV_CPACK_ARCHIVEDIR ${CMAKE_INSTALL_LIBDIR})
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR}/openvino-${OpenVINO_VERSION})
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
if(CPACK_GENERATOR MATCHES "^(CONAN|VCPKG)$")
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_DATADIR}/openvino)
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR})
else()
set(OV_CPACK_IE_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/inferenceengine${OpenVINO_VERSION})
set(OV_CPACK_NGRAPH_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph${OpenVINO_VERSION})
set(OV_CPACK_OPENVINO_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/openvino${OpenVINO_VERSION})
set(OV_CPACK_PLUGINSDIR ${OV_CPACK_RUNTIMEDIR}/openvino-${OpenVINO_VERSION})
endif()
set(OV_CPACK_LICENSESDIR licenses)
ov_get_pyversion(pyversion)
if(pyversion)
# should not be used in production; only by setup.py install
set(OV_CPACK_PYTHONDIR ${CMAKE_INSTALL_LIBDIR}/${pyversion}/site-packages)
endif()
@@ -45,6 +53,10 @@ macro(ov_common_libraries_cpack_set_dirs)
set(IE_CPACK_LIBRARY_PATH ${OV_CPACK_LIBRARYDIR})
set(IE_CPACK_RUNTIME_PATH ${OV_CPACK_RUNTIMEDIR})
set(IE_CPACK_ARCHIVE_PATH ${OV_CPACK_ARCHIVEDIR})
if(CPACK_GENERATOR STREQUAL "BREW")
set(CMAKE_SKIP_INSTALL_RPATH OFF)
endif()
endmacro()
ov_common_libraries_cpack_set_dirs()
@@ -67,9 +79,47 @@ macro(ov_override_component_names)
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# move requirements.txt to core-dev
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# move core_tools to core-dev
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
endmacro()
ov_override_component_names()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. debian packages don't require setupvars scripts)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
# licensing
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# samples
set(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
set(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# python
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
# we don't pack artifacts of setup.py install, because it's called explicitly in conda / brew
# or not used at all like in cases with conan / vcpkg
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
# we don't need wheels in package, it's used installed only in open source distribution
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
endmacro()
ov_define_component_include_rules()

View File

@@ -69,13 +69,59 @@ macro(ov_override_component_names)
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# move requirements.txt to core-dev
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# move core_tools to core-dev
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
endmacro()
ov_override_component_names()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. debian packages don't require setupvars scripts)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
# licensing
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
if(ENABLE_PYTHON_PACKAGING)
unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
else()
set(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
endif()
# python
if(ENABLE_PYTHON_PACKAGING)
# pack artifacts of setup.py install
unset(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL)
else()
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
endif()
# we don't pack python components itself, we pack artifacts of setup.py install
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
# we don't need wheels in Debian packages
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
endmacro()
ov_define_component_include_rules()
#
# Common Debian specific settings
#
@@ -138,9 +184,9 @@ endmacro()
ov_debian_specific_settings()
# needed to override cmake auto generated files
set(def_postinst "${OpenVINO_BINARY_DIR}/_CPack_Packages/postinst")
set(def_postrm "${OpenVINO_BINARY_DIR}/_CPack_Packages/postrm")
set(def_triggers "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers")
set(def_postinst "${CMAKE_CURRENT_BINARY_DIR}/_CPack_Packages/postinst")
set(def_postrm "${CMAKE_CURRENT_BINARY_DIR}/_CPack_Packages/postrm")
set(def_triggers "${CMAKE_CURRENT_BINARY_DIR}/_CPack_Packages/triggers")
set(triggers_content "activate-noawait ldconfig\n\n")
set(post_content "#!/bin/sh\n\nset -e;\nset -e\n\n")
@@ -276,7 +322,7 @@ macro(ov_debian_add_latest_component comp)
set(upper_case "${ucomp}_LATEST")
set(CPACK_COMPONENT_${upper_case}_DESCRIPTION "${CPACK_COMPONENT_${ucomp}_DESCRIPTION}")
set(CPACK_COMPONENT_${upper_case}_ARCHITECTURE "all")
set(CPACK_DEBIAN_${upper_case}_PACKAGE_ARCHITECTURE "all")
set(CPACK_COMPONENT_${upper_case}_DEPENDS "${comp}")
set(${comp_name}_copyright "generic")

View File

@@ -2,40 +2,78 @@
# SPDX-License-Identifier: Apache-2.0
#
# installation directory
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Intel")
macro(ov_nsis_specific_settings)
# installation directory
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Intel")
# TODO: provide icons
# set(CPACK_NSIS_MUI_ICON "")
# set(CPACK_NSIS_MUI_UNIICON "${CPACK_NSIS_MUI_ICON}")
# set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_HEADERIMAGE "")
# TODO: provide icons
# set(CPACK_NSIS_MUI_ICON "")
# set(CPACK_NSIS_MUI_UNIICON "${CPACK_NSIS_MUI_ICON}")
# set(CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP "")
# set(CPACK_NSIS_MUI_HEADERIMAGE "")
# we allow to install several packages at once
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL OFF)
set(CPACK_NSIS_MODIFY_PATH OFF)
# we allow to install several packages at once
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL OFF)
set(CPACK_NSIS_MODIFY_PATH OFF)
set(CPACK_NSIS_DISPLAY_NAME "Intel(R) OpenVINO(TM) ${OpenVINO_VERSION}")
set(CPACK_NSIS_PACKAGE_NAME "Intel(R) OpenVINO(TM) ToolKit, v. ${OpenVINO_VERSION}.${OpenVINO_PATCH_VERSION}")
set(CPACK_NSIS_DISPLAY_NAME "Intel(R) OpenVINO(TM) ${OpenVINO_VERSION}")
set(CPACK_NSIS_PACKAGE_NAME "Intel(R) OpenVINO(TM) ToolKit, v. ${OpenVINO_VERSION}.${OpenVINO_PATCH_VERSION}")
# contact
set(CPACK_NSIS_CONTACT "CPACK_NSIS_CONTACT")
# contact
set(CPACK_NSIS_CONTACT "CPACK_NSIS_CONTACT")
# links in menu
set(CPACK_NSIS_MENU_LINKS
"https://docs.openvinoo.ai" "OpenVINO Documentation")
# links in menu
set(CPACK_NSIS_MENU_LINKS "https://docs.openvinoo.ai" "OpenVINO Documentation")
# welcome and finish titles
set(CPACK_NSIS_WELCOME_TITLE "Welcome to Intel(R) Distribution of OpenVINO(TM) Toolkit installation")
set(CPACK_NSIS_FINISH_TITLE "")
# welcome and finish titles
set(CPACK_NSIS_WELCOME_TITLE "Welcome to Intel(R) Distribution of OpenVINO(TM) Toolkit installation")
set(CPACK_NSIS_FINISH_TITLE "")
# autoresize?
set(CPACK_NSIS_MANIFEST_DPI_AWARE ON)
# autoresize?
set(CPACK_NSIS_MANIFEST_DPI_AWARE ON)
# branding text
set(CPACK_NSIS_BRANDING_TEXT "Intel(R) Corp.")
set(CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION RIGHT)
# branding text
set(CPACK_NSIS_BRANDING_TEXT "Intel(R) Corp.")
set(CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION RIGHT)
# don't set this variable since we need a user to agree with a lincense
# set(CPACK_NSIS_IGNORE_LICENSE_PAGE OFF)
# don't set this variable since we need a user to agree with a lincense
# set(CPACK_NSIS_IGNORE_LICENSE_PAGE OFF)
endmacro()
ov_nsis_specific_settings()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. NSIS packages don't require wheels to be packacged)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL)
# licensing
unset(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
# python
unset(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
unset(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL)
unset(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
# scripts
unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
endmacro()
ov_define_component_include_rules()

View File

@@ -5,7 +5,21 @@
include(CPackComponent)
#
# ov_get_pyversion()
# ov_install_static_lib(<target> <comp>)
#
macro(ov_install_static_lib target comp)
if(NOT BUILD_SHARED_LIBS)
get_target_property(target_type ${target} TYPE)
if(target_type STREQUAL "STATIC_LIBRARY")
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL OFF)
endif()
install(TARGETS ${target} EXPORT OpenVINOTargets
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
endif()
endmacro()
#
# ov_get_pyversion(<OUT pyversion>)
#
function(ov_get_pyversion pyversion)
find_package(PythonInterp 3 QUIET)
@@ -29,16 +43,12 @@ macro(ov_cpack_set_dirs)
set(OV_CPACK_NGRAPH_CMAKEDIR runtime/cmake)
set(OV_CPACK_OPENVINO_CMAKEDIR runtime/cmake)
set(OV_CPACK_DOCDIR docs)
set(OV_CPACK_LICENSESDIR ${OV_CPACK_DOCDIR}/licenses)
set(OV_CPACK_LICENSESDIR licenses)
set(OV_CPACK_SAMPLESDIR samples)
set(OV_CPACK_WHEELSDIR tools)
set(OV_CPACK_TOOLSDIR tools)
set(OV_CPACK_DEVREQDIR tools)
ov_get_pyversion(pyversion)
if(pyversion)
set(OV_CPACK_PYTHONDIR python/${pyversion})
endif()
set(OV_CPACK_PYTHONDIR python)
if(WIN32)
set(OV_CPACK_LIBRARYDIR runtime/lib/${ARCH_FOLDER}/$<CONFIG>)
@@ -138,10 +148,11 @@ macro(ov_define_component_names)
set(OV_CPACK_COMP_PYTHON_IE_API "pyie")
set(OV_CPACK_COMP_PYTHON_NGRAPH "pyngraph")
set(OV_CPACK_COMP_PYTHON_OPENVINO "pyopenvino")
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE "pyopenvino_package")
set(OV_CPACK_COMP_PYTHON_WHEELS "python_wheels")
# tools
set(OV_CPACK_COMP_CORE_TOOLS "core_tools")
set(OV_CPACK_COMP_DEV_REQ_FILES "openvino_dev_req_files")
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "openvino_dev_req_files")
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER "deployment_manager")
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES "install_dependencies")
@@ -150,20 +161,69 @@ endmacro()
ov_define_component_names()
# Include Debian specific configuration file:
# - overrides directories set by ov_debian_cpack_set_dirs()
# - merges some components using ov_override_component_names()
# - sets ov_debian_specific_settings() with DEB generator variables
# - defines the following helper functions:
# - ov_add_lintian_suppression()
# - ov_add_latest_component()
# default components for case when CPACK_GENERATOR is not set (i.e. default open source user)
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
unset(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL)
# licensing
unset(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
# python
unset(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL)
unset(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL)
# TODO: think about python entry points
# maybe we can create entry points without python interpreter and use it in debian / rpm as well?
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
unset(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL)
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
unset(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL)
# scripts
unset(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL)
unset(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL)
endmacro()
ov_define_component_include_rules()
#
# Include generator specific configuration file:
# 1. Overrides directories set by ov_<debian | rpm | common_libraries>_cpack_set_dirs()
# This is requried, because different generator use different locations for installed files
# 2. Merges some components using ov_override_component_names()
# This is required, because different generators have different set of components
# (e.g. C and C++ API are separate components)
# 3. Exclude some components using ov_define_component_include_rules()
# This steps exclude some files from installation by defining variables meaning EXCLUDE_ALL
# 4. Sets ov_<debian | rpm | ...>_specific_settings() with DEB generator variables
# This 'callback' is later called from ov_cpack (wrapper for standard cpack) to set
# per-component settings (e.g. package names, dependencies, versions and system dependencies)
# 5. (Optional) Defines the following helper functions, which can be used by 3rdparty modules:
# Debian:
# - ov_debian_add_changelog_and_copyright()
# - ov_debian_add_lintian_suppression()
# - ov_debian_generate_conflicts()
# - ov_debian_add_latest_component()
# RPM:
# - ov_rpm_add_rpmlint_suppression()
# - ov_rpm_generate_conflicts()
# - ov_rpm_copyright()
# - ov_rpm_add_latest_component()
#
if(CPACK_GENERATOR STREQUAL "DEB")
include(packaging/debian/debian)
elseif(CPACK_GENERATOR STREQUAL "RPM")
include(packaging/rpm/rpm)
elseif(CPACK_GENERATOR STREQUAL "NSIS")
include(packaging/nsis)
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN)$")
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN|VCPKG)$")
include(packaging/common-libraries)
endif()

View File

@@ -24,11 +24,6 @@ macro(ov_rpm_cpack_set_dirs)
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
set(OV_CPACK_LICENSESDIR ${OV_CPACK_DOCDIR}/licenses)
# TODO:
# 1. define python installation directories for RPM packages
# 2. make sure only a single version of python API can be installed at the same time (define conflicts section)
# set(OV_CPACK_PYTHONDIR lib/python3/dist-packages)
ov_get_pyversion(pyversion)
if(pyversion)
set(OV_CPACK_PYTHONDIR ${CMAKE_INSTALL_LIBDIR}/${pyversion}/site-packages)
@@ -70,13 +65,59 @@ macro(ov_override_component_names)
set(OV_CPACK_COMP_C_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# set(OV_CPACK_COMP_PYTHON_SAMPLES "${OV_CPACK_COMP_CPP_SAMPLES}")
# move requirements.txt to core-dev
set(OV_CPACK_COMP_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES "${OV_CPACK_COMP_CORE_DEV}")
# move core_tools to core-dev
# set(OV_CPACK_COMP_CORE_TOOLS "${OV_CPACK_COMP_CORE_DEV}")
endmacro()
ov_override_component_names()
#
# Override include / exclude rules for components
# This is required to exclude some files from installation
# (e.g. rpm packages don't require setupvars scripts or deployment_manager)
#
macro(ov_define_component_include_rules)
# core components
unset(OV_CPACK_COMP_CORE_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_EXCLUDE_ALL})
unset(OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL)
set(OV_CPACK_COMP_CORE_C_DEV_EXCLUDE_ALL ${OV_CPACK_COMP_CORE_DEV_EXCLUDE_ALL})
# licensing
set(OV_CPACK_COMP_LICENSING_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# samples
unset(OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL)
set(OV_CPACK_COMP_C_SAMPLES_EXCLUDE_ALL ${OV_CPACK_COMP_CPP_SAMPLES_EXCLUDE_ALL})
if(ENABLE_PYTHON_PACKAGING)
unset(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL)
else()
set(OV_CPACK_COMP_PYTHON_SAMPLES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
endif()
# python
if(ENABLE_PYTHON_PACKAGING)
# pack artifacts of setup.py install
unset(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL)
else()
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
endif()
# we don't pack python components itself, we pack artifacts of setup.py install
set(OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_PYTHON_IE_API_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
set(OV_CPACK_COMP_PYTHON_NGRAPH_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
# we don't need wheels in RPM packages
set(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# tools
set(OV_CPACK_COMP_CORE_TOOLS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_OPENVINO_DEV_REQ_FILES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_DEPLOYMENT_MANAGER_EXCLUDE_ALL EXCLUDE_FROM_ALL)
# scripts
set(OV_CPACK_COMP_INSTALL_DEPENDENCIES_EXCLUDE_ALL EXCLUDE_FROM_ALL)
set(OV_CPACK_COMP_SETUPVARS_EXCLUDE_ALL EXCLUDE_FROM_ALL)
endmacro()
ov_define_component_include_rules()
#
# Common RPM specific settings
#
@@ -98,9 +139,7 @@ macro(ov_rpm_specific_settings)
# use rpmlint to check packages in post-build step
set(CPACK_POST_BUILD_SCRIPTS "${IEDevScripts_DIR}/packaging/rpm/post_build.cmake")
# enable for debug cpack run
if(NOT DEFINED CPACK_RPM_PACKAGE_DEBUG)
set(CPACK_RPM_PACKAGE_DEBUG OFF)
endif()
ov_set_if_not_defined(CPACK_RPM_PACKAGE_DEBUG OFF)
# naming convention for rpm package files
set(CPACK_RPM_FILE_NAME "RPM-DEFAULT")

View File

@@ -108,6 +108,10 @@ function(ov_add_plugin)
add_cpplint_target(${OV_PLUGIN_NAME}_cpplint FOR_TARGETS ${OV_PLUGIN_NAME} CUSTOM_FILTERS ${custom_filter})
endif()
# plugins does not have to be CXX ABI free, because nobody links with plugins,
# but let's add this mark to see how it goes
ov_abi_free_target(${OV_PLUGIN_NAME})
add_dependencies(ov_plugins ${OV_PLUGIN_NAME})
# install rules

View File

@@ -17,59 +17,56 @@ if(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif()
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
set(host_arch_flag X86_64)
set(OV_HOST_ARCH X86_64)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
set(host_arch_flag X86)
set(OV_HOST_ARCH X86)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*)")
set(host_arch_flag AARCH64)
set(OV_HOST_ARCH AARCH64)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
set(host_arch_flag ARM)
set(OV_HOST_ARCH ARM)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^riscv64$")
set(host_arch_flag RISCV64)
set(OV_HOST_ARCH RISCV64)
endif()
set(HOST_${host_arch_flag} ON)
macro(_ov_detect_arch_by_processor_type)
if(CMAKE_OSX_ARCHITECTURES AND APPLE)
if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
set(AARCH64 ON)
set(OV_ARCH AARCH64)
elseif(CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
set(X86_64 ON)
set(OV_ARCH X86_64)
elseif(CMAKE_OSX_ARCHITECTURES MATCHES ".*x86_64.*" AND CMAKE_OSX_ARCHITECTURES MATCHES ".*arm64.*")
set(UNIVERSAL2 ON)
set(OV_ARCH UNIVERSAL2)
else()
message(FATAL_ERROR "Unsupported value: CMAKE_OSX_ARCHITECTURES = ${CMAKE_OSX_ARCHITECTURES}")
endif()
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
set(X86_64 ON)
set(OV_ARCH X86_64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*|wasm")
set(X86 ON)
set(OV_ARCH X86)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*|armv8)")
set(AARCH64 ON)
set(OV_ARCH AARCH64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
set(ARM ON)
set(OV_ARCH ARM)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64$")
set(RISCV64 ON)
set(OV_ARCH RISCV64)
endif()
endmacro()
macro(_ov_process_msvc_generator_platform)
# if cmake -A <ARM|ARM64|x64|Win32> is passed
if(CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64")
set(AARCH64 ON)
set(OV_ARCH AARCH64)
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "ARM")
set(ARM ON)
set(OV_ARCH ARM)
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "x64")
set(X86_64 ON)
set(OV_ARCH X86_64)
elseif(CMAKE_GENERATOR_PLATFORM STREQUAL "Win32")
set(X86 ON)
set(OV_ARCH X86)
else()
_ov_detect_arch_by_processor_type()
endif()
endmacro()
# TODO: why OpenCV is found by cmake
if(MSVC64 OR MINGW64)
_ov_process_msvc_generator_platform()
elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING))
@@ -78,6 +75,9 @@ else()
_ov_detect_arch_by_processor_type()
endif()
set(HOST_${OV_HOST_ARCH} ON)
set(${OV_ARCH} ON)
if(CMAKE_SYSTEM_NAME STREQUAL "Emscripten")
set(EMSCRIPTEN ON)
endif()
@@ -115,7 +115,7 @@ get_property(OV_GENERATOR_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG
function(ov_glibc_version)
# cmake needs to look at glibc version only when we build for Linux on Linux
if(CMAKE_HOST_LINUX AND LINUX)
if(LINUX)
function(ov_get_definition definition var)
execute_process(COMMAND echo "#include <errno.h>"
COMMAND "${CMAKE_CXX_COMPILER}" -xc - -E -dM

View File

@@ -24,9 +24,9 @@ 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)
if (ANDROID OR (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0))
# oneDNN doesn't support old compilers and android builds for now, so we'll
# build GPU plugin without oneDNN
if (ANDROID OR (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) OR NOT BUILD_SHARED_LIBS)
# oneDNN doesn't support old compilers and android builds for now, so we'll build GPU plugin without oneDNN
# also, in case of static build CPU's and GPU's oneDNNs will conflict, so we are disabling GPU's one in this case
set(ENABLE_ONEDNN_FOR_GPU_DEFAULT OFF)
else()
set(ENABLE_ONEDNN_FOR_GPU_DEFAULT ON)
@@ -35,8 +35,8 @@ endif()
ie_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_CPU" OFF)
ie_dependent_option (ENABLE_CPU_DEBUG_CAPS "enable CPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS;ENABLE_INTEL_GPU" 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)
ie_option (ENABLE_PROFILING_ITT "Build with ITT tracing. Optionally configure pre-built ittnotify library though INTEL_VTUNE_DIR variable." OFF)
@@ -49,13 +49,17 @@ Supported values:\
ie_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. \
In case SELECTIVE_BUILD is enabled, the SELECTIVE_BUILD_STAT variable should contain the path to the collected InelSEAPI statistics. \
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)
find_package(PkgConfig QUIET)
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)
#
@@ -80,7 +84,7 @@ 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" OFF)
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_INTEL_GNA "GNA support for OpenVINO Runtime" ON
"NOT APPLE;NOT ANDROID;X86_64;CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.4" OFF)
@@ -122,7 +126,7 @@ 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
"ENABLE_OV_TF_FRONTEND" ON)
"ENABLE_OV_TF_FRONTEND" OFF)
if(CMAKE_HOST_LINUX AND LINUX)
# Debian packages are enabled on Ubuntu systems
@@ -148,6 +152,15 @@ else()
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
# the /usr/include folders, we can still use 'system' flatbuffers
set(ENABLE_SYSTEM_FLATBUFFERS_DEFAULT OFF)
else()
set(ENABLE_SYSTEM_FLATBUFFERS_DEFAULT ON)
endif()
# users wants to use his own TBB version, specific either via env vars or cmake options
if(DEFINED ENV{TBBROOT} OR DEFINED ENV{TBB_DIR} OR DEFINED TBB_DIR OR DEFINED TBBROOT)
set(ENABLE_SYSTEM_TBB_DEFAULT OFF)
@@ -159,7 +172,7 @@ ie_dependent_option (ENABLE_SYSTEM_TBB "Enables use of system TBB" ${ENABLE_SYS
# available out of box on all systems (like RHEL, UBI)
ie_option (ENABLE_SYSTEM_PUGIXML "Enables use of system PugiXML" ${ENABLE_SYSTEM_PUGIXML_DEFAULT})
# 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" ON
ie_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}
"ENABLE_INTEL_GPU" OFF)
@@ -171,6 +184,10 @@ ie_dependent_option (ENABLE_SYSTEM_PROTOBUF "Enables use of system Protobuf" OFF
ie_dependent_option (ENABLE_SYSTEM_SNAPPY "Enables use of system version of Snappy" OFF
"ENABLE_SNAPPY_COMPRESSION" OFF)
# temporary option until we enable this by default when review python API distribution
ie_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)
if(NOT BUILD_SHARED_LIBS AND ENABLE_OV_TF_FRONTEND)

View File

@@ -10,28 +10,14 @@ macro(ov_cpack_settings)
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
unset(CPACK_COMPONENTS_ALL)
foreach(item IN LISTS cpack_components_all)
# filter out some components, which are not needed to be wrapped to conda-forge | brew | conan
if(# python is not a part of conda | brew | conan
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
# python wheels are not needed to be wrapped by conda | brew packages
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
# skip C / C++ / Python samples
NOT item STREQUAL OV_CPACK_COMP_CPP_SAMPLES AND
NOT item STREQUAL OV_CPACK_COMP_C_SAMPLES AND
NOT item STREQUAL OV_CPACK_COMP_PYTHON_SAMPLES AND
string(TOUPPER ${item} UPPER_COMP)
# filter out some components, which are not needed to be wrapped to conda-forge | brew | conan | vcpkg
if(NOT OV_CPACK_COMP_${UPPER_COMP}_EXCLUDE_ALL AND
# even for case of system TBB we have installation rules for wheels packages
# so, need to skip this explicitly since they are installed in `host` section
NOT item MATCHES "^tbb(_dev)?$" AND
# the same for pugixml
NOT item STREQUAL "pugixml" AND
# we have `license_file` field in conda meta.yml
NOT item STREQUAL OV_CPACK_COMP_LICENSING AND
# compile_tool is not needed
NOT item STREQUAL OV_CPACK_COMP_CORE_TOOLS AND
# not appropriate components
NOT item STREQUAL OV_CPACK_COMP_DEPLOYMENT_MANAGER AND
NOT item STREQUAL OV_CPACK_COMP_INSTALL_DEPENDENCIES AND
NOT item STREQUAL OV_CPACK_COMP_SETUPVARS)
NOT item STREQUAL "pugixml")
list(APPEND CPACK_COMPONENTS_ALL ${item})
endif()
endforeach()

View File

@@ -44,29 +44,22 @@ macro(ov_cpack_settings)
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
unset(CPACK_COMPONENTS_ALL)
foreach(item IN LISTS cpack_components_all)
string(TOUPPER ${item} UPPER_COMP)
# filter out some components, which are not needed to be wrapped to .deb package
if(# skip OpenVINO Pyhon API and samples
if(NOT OV_CPACK_COMP_${UPPER_COMP}_EXCLUDE_ALL AND
# skip OpenVINO Python API (pattern in form of "<pyie | pyopenvino | pyngraph>_python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
NOT item STREQUAL OV_CPACK_COMP_PYTHON_SAMPLES AND
# python wheels are not needed to be wrapped by debian packages
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
# because in case of .deb package, pyopenvino_package_python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} is installed
(NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE}_python.*" OR ENABLE_PYTHON_PACKAGING) AND
# see ticket # 82605
NOT item STREQUAL "gna" AND
# don't install Intel OpenMP during debian
# don't install Intel OpenMP
NOT item STREQUAL "omp" AND
# even for case of system TBB we have installation rules for wheels packages
# so, need to skip this explicitly
NOT item MATCHES "^tbb(_dev)?$" AND
# the same for pugixml
NOT item STREQUAL "pugixml" AND
# we have copyright file for debian package
NOT item STREQUAL OV_CPACK_COMP_LICENSING AND
# compile_tool is not needed
NOT item STREQUAL OV_CPACK_COMP_CORE_TOOLS AND
# not appropriate components
NOT item STREQUAL OV_CPACK_COMP_DEPLOYMENT_MANAGER AND
NOT item STREQUAL OV_CPACK_COMP_INSTALL_DEPENDENCIES AND
NOT item STREQUAL OV_CPACK_COMP_SETUPVARS)
NOT item STREQUAL "pugixml")
list(APPEND CPACK_COMPONENTS_ALL ${item})
endif()
endforeach()
@@ -93,7 +86,8 @@ macro(ov_cpack_settings)
# - 2022.1.0 is the last public release with debian packages from Intel install team
# - 2022.1.1, 2022.2 do not have debian packages enabled, distributed only as archives
# - 2022.3 is the first release where Debian updated packages are introduced, others 2022.3.X are LTS
2022.3.0 2022.3.1 2022.3.2 2022.3.3 2022.3.4 2022.3.5 2023.0.0
2022.3.0 2022.3.1 2022.3.2 2022.3.3 2022.3.4 2022.3.5
2023.0.0
)
#
@@ -117,7 +111,7 @@ macro(ov_cpack_settings)
# hetero
if(ENABLE_HETERO)
set(CPACK_COMPONENT_HETERO_DESCRIPTION "OpenVINO Hetero plugin")
set(CPACK_COMPONENT_HETERO_DESCRIPTION "OpenVINO Hetero software plugin")
set(CPACK_COMPONENT_HETERO_DEPENDS "${OV_CPACK_COMP_CORE}")
set(CPACK_DEBIAN_HETERO_PACKAGE_NAME "libopenvino-hetero-plugin-${cpack_name_ver}")
set(CPACK_DEBIAN_HETERO_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm}")
@@ -127,7 +121,7 @@ macro(ov_cpack_settings)
# auto batch
if(ENABLE_AUTO_BATCH)
set(CPACK_COMPONENT_BATCH_DESCRIPTION "OpenVINO Automatic Batching plugin")
set(CPACK_COMPONENT_BATCH_DESCRIPTION "OpenVINO Automatic Batching software plugin")
set(CPACK_COMPONENT_BATCH_DEPENDS "${OV_CPACK_COMP_CORE}")
set(CPACK_DEBIAN_BATCH_PACKAGE_NAME "libopenvino-auto-batch-plugin-${cpack_name_ver}")
set(CPACK_DEBIAN_BATCH_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm}")
@@ -138,9 +132,9 @@ macro(ov_cpack_settings)
# multi / auto plugins
if(ENABLE_MULTI)
if(ENABLE_AUTO)
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Auto / Multi plugin")
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Auto / Multi software plugin")
else()
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Multi plugin")
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Multi software plugin")
endif()
set(CPACK_COMPONENT_MULTI_DEPENDS "${OV_CPACK_COMP_CORE}")
set(CPACK_DEBIAN_MULTI_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
@@ -148,7 +142,7 @@ macro(ov_cpack_settings)
_ov_add_plugin(multi ON)
set(multi_copyright "generic")
elseif(ENABLE_AUTO)
set(CPACK_COMPONENT_AUTO_DESCRIPTION "OpenVINO Auto plugin")
set(CPACK_COMPONENT_AUTO_DESCRIPTION "OpenVINO Auto software plugin")
set(CPACK_COMPONENT_AUTO_DEPENDS "${OV_CPACK_COMP_CORE}")
set(CPACK_DEBIAN_AUTO_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
set(CPACK_DEBIAN_AUTO_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm}")
@@ -160,11 +154,11 @@ macro(ov_cpack_settings)
if(ENABLE_INTEL_CPU)
if(ARM OR AARCH64)
set(CPACK_DEBIAN_CPU_PACKAGE_NAME "libopenvino-arm-cpu-plugin-${cpack_name_ver}")
set(CPACK_COMPONENT_CPU_DESCRIPTION "ARM® CPU plugin")
set(CPACK_COMPONENT_CPU_DESCRIPTION "ARM® CPU inference plugin")
set(cpu_copyright "arm_cpu")
elseif(X86 OR X86_64)
set(CPACK_DEBIAN_CPU_PACKAGE_NAME "libopenvino-intel-cpu-plugin-${cpack_name_ver}")
set(CPACK_COMPONENT_CPU_DESCRIPTION "Intel® CPU plugin")
set(CPACK_COMPONENT_CPU_DESCRIPTION "Intel® CPU inference plugin")
set(cpu_copyright "generic")
else()
message(FATAL_ERROR "Unsupported CPU architecture: ${CMAKE_SYSTEM_PROCESSOR}")
@@ -176,19 +170,19 @@ macro(ov_cpack_settings)
# intel-gpu
if(ENABLE_INTEL_GPU)
set(CPACK_COMPONENT_GPU_DESCRIPTION "Intel® Processor Graphics plugin")
set(CPACK_COMPONENT_GPU_DESCRIPTION "Intel® Processor Graphics inference plugin")
set(CPACK_COMPONENT_GPU_DEPENDS "${OV_CPACK_COMP_CORE}")
set(CPACK_DEBIAN_GPU_PACKAGE_NAME "libopenvino-intel-gpu-plugin-${cpack_name_ver}")
set(CPACK_DEBIAN_GPU_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm}")
# auto batch exhances GPU
# set(CPACK_DEBIAN_BATCH_PACKAGE_ENHANCES "${CPACK_DEBIAN_GPU_PACKAGE_NAME} = (${cpack_full_ver})")
# set(CPACK_DEBIAN_BATCH_PACKAGE_ENHANCES "${CPACK_DEBIAN_GPU_PACKAGE_NAME} (= ${cpack_full_ver})")
_ov_add_plugin(gpu OFF)
set(gpu_copyright "generic")
endif()
# intel-gna
if(ENABLE_INTEL_GNA AND "gna" IN_LIST CPACK_COMPONENTS_ALL)
set(CPACK_COMPONENT_GNA_DESCRIPTION "Intel® Gaussian Neural Accelerator")
set(CPACK_COMPONENT_GNA_DESCRIPTION "Intel® Gaussian Neural Accelerator inference plugin")
set(CPACK_COMPONENT_GNA_DEPENDS "${OV_CPACK_COMP_CORE}")
set(CPACK_DEBIAN_GNA_PACKAGE_NAME "libopenvino-intel-gna-plugin-${cpack_name_ver}")
# since we have libgna.so we need to call ldconfig and have `def_triggers` here
@@ -298,28 +292,32 @@ macro(ov_cpack_settings)
#
set(CPACK_COMPONENT_CORE_DEV_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit C / C++ Development files")
set(CPACK_COMPONENT_CORE_DEV_DEPENDS "${OV_CPACK_COMP_CORE};${frontends}")
set(CPACK_COMPONENT_CORE_DEV_DEPENDS "${OV_CPACK_COMP_CORE}")
list(APPEND CPACK_COMPONENT_CORE_DEV_DEPENDS ${frontends})
set(CPACK_DEBIAN_CORE_DEV_PACKAGE_NAME "libopenvino-dev-${cpack_name_ver}")
ov_debian_generate_conflicts("${OV_CPACK_COMP_CORE_DEV}" ${conflicting_versions})
set(${OV_CPACK_COMP_CORE_DEV}_copyright "generic")
#
# Python bindings
# Python API
#
if(ENABLE_PYTHON)
if(ENABLE_PYTHON_PACKAGING)
ov_get_pyversion(pyversion)
set(python_component "${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion}")
set(python_component "${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE}_${pyversion}")
string(TOUPPER "${pyversion}" pyversion)
set(CPACK_COMPONENT_PYOPENVINO_${pyversion}_DESCRIPTION "OpenVINO Python bindings")
set(CPACK_COMPONENT_PYOPENVINO_${pyversion}_DEPENDS "${OV_CPACK_COMP_CORE}")
list(APPEND CPACK_COMPONENT_PYOPENVINO_${pyversion}_DEPENDS ${installed_plugins})
list(APPEND CPACK_COMPONENT_PYOPENVINO_${pyversion}_DEPENDS ${frontends})
set(CPACK_COMPONENT_PYOPENVINO_PACKAGE_${pyversion}_DESCRIPTION "OpenVINO Python API")
set(CPACK_COMPONENT_PYOPENVINO_PACKAGE_${pyversion}_DEPENDS "${OV_CPACK_COMP_CORE}")
list(APPEND CPACK_COMPONENT_PYOPENVINO_PACKAGE_${pyversion}_DEPENDS ${installed_plugins})
list(APPEND CPACK_COMPONENT_PYOPENVINO_PACKAGE_${pyversion}_DEPENDS ${frontends})
set(CPACK_DEBIAN_PYOPENVINO_${pyversion}_PACKAGE_NAME "libopenvino-python-${cpack_name_ver}")
set(CPACK_DEBIAN_PYOPENVINO_${pyversion}_PACKAGE_CONTROL_EXTRA "${def_postinst};${def_postrm}")
set(CPACK_DEBIAN_PYOPENVINO_${pyversion}_PACKAGE_DEPENDS "python3")
set(CPACK_DEBIAN_PYOPENVINO_PACKAGE_${pyversion}_PACKAGE_NAME "python3-openvino")
set(python_package "${CPACK_DEBIAN_PYOPENVINO_PACKAGE_${pyversion}_PACKAGE_NAME} (= ${cpack_full_ver})")
set(CPACK_DEBIAN_PYOPENVINO_PACKAGE_${pyversion}_PACKAGE_DEPENDS "python3, python3-numpy")
# we can have a single python installed, so we need to generate conflicts for all other versions
ov_debian_generate_conflicts(${python_component} ${conflicting_versions})
# TODO: fix all the warnings
ov_debian_add_lintian_suppression(${python_component}
@@ -329,6 +327,10 @@ macro(ov_cpack_settings)
"executable-not-elf-or-script"
# all directories
"non-standard-dir-perm"
# usr/bin/benchmark_app
"binary-without-manpage"
# usr/bin/benchmark_app
"non-standard-executable-perm"
# all python files
"non-standard-file-perm")
set(${python_component}_copyright "generic")
@@ -360,11 +362,12 @@ macro(ov_cpack_settings)
set(samples_copyright "generic")
# python_samples
if(ENABLE_PYTHON)
if(ENABLE_PYTHON_PACKAGING)
set(CPACK_COMPONENT_PYTHON_SAMPLES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Python Samples")
set(CPACK_COMPONENT_PYTHON_SAMPLES_DEPENDS "${python_component}")
set(CPACK_DEBIAN_PYTHON_SAMPLES_PACKAGE_NAME "openvino-samples-python-${cpack_name_ver}")
set(CPACK_DEBIAN_PYTHON_SAMPLES_PACKAGE_DEPENDS "python3")
set(python_samples_package "${CPACK_DEBIAN_PYTHON_SAMPLES_PACKAGE_NAME} (= ${cpack_full_ver})")
set(CPACK_DEBIAN_PYTHON_SAMPLES_PACKAGE_DEPENDS "python3, ${python_package}")
set(CPACK_DEBIAN_PYTHON_SAMPLES_PACKAGE_ARCHITECTURE "all")
set(python_samples_copyright "generic")
endif()
@@ -395,6 +398,9 @@ macro(ov_cpack_settings)
# all openvino
set(CPACK_COMPONENT_OPENVINO_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries and Development files")
set(CPACK_COMPONENT_OPENVINO_DEPENDS "libraries_dev;${OV_CPACK_COMP_CPP_SAMPLES}")
if(ENABLE_PYTHON_PACKAGING)
list(APPEND CPACK_DEBIAN_OPENVINO_PACKAGE_DEPENDS "${python_package}, ${python_samples_package}")
endif()
set(CPACK_DEBIAN_OPENVINO_PACKAGE_NAME "openvino-${cpack_name_ver}")
set(CPACK_DEBIAN_OPENVINO_PACKAGE_ARCHITECTURE "all")
ov_debian_generate_conflicts(openvino ${conflicting_versions})

View File

@@ -6,7 +6,7 @@ if(CPACK_GENERATOR STREQUAL "DEB")
include(cmake/packaging/debian.cmake)
elseif(CPACK_GENERATOR STREQUAL "RPM")
include(cmake/packaging/rpm.cmake)
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN)$")
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN|VCPKG)$")
include(cmake/packaging/common-libraries.cmake)
elseif(CPACK_GENERATOR STREQUAL "NSIS")
include(cmake/packaging/nsis.cmake)

View File

@@ -30,30 +30,23 @@ macro(ov_cpack_settings)
set(cpack_components_all ${CPACK_COMPONENTS_ALL})
unset(CPACK_COMPONENTS_ALL)
foreach(item IN LISTS cpack_components_all)
# filter out some components, which are not needed to be wrapped to .deb package
if(# skip OpenVINO Pyhon API and samples
string(TOUPPER ${item} UPPER_COMP)
# filter out some components, which are not needed to be wrapped to .rpm package
if(NOT OV_CPACK_COMP_${UPPER_COMP}_EXCLUDE_ALL AND
# skip OpenVINO Python API (pattern in form of "<pyie | pyopenvino | pyngraph>_python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}")
NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO}_python.*" AND
NOT item STREQUAL OV_CPACK_COMP_PYTHON_SAMPLES AND
# python wheels are not needed to be wrapped by rpm packages
NOT item STREQUAL OV_CPACK_COMP_PYTHON_WHEELS AND
# because in case of .rpm package, pyopenvino_package_python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} is installed
(NOT item MATCHES "^${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE}_python.*" OR ENABLE_PYTHON_PACKAGING) AND
# see ticket # 82605
NOT item STREQUAL "gna" AND
# don't install Intel OpenMP during rpm
# don't install Intel OpenMP
NOT item STREQUAL "omp" AND
# even for case of system TBB we have installation rules for wheels packages
# so, need to skip this explicitly
NOT item MATCHES "^tbb(_dev)?$" AND
# the same for pugixml
NOT item STREQUAL "pugixml" AND
# we have copyright file for rpm package
NOT item STREQUAL OV_CPACK_COMP_LICENSING AND
# compile_tool is not needed
NOT item STREQUAL OV_CPACK_COMP_CORE_TOOLS AND
# not appropriate components
NOT item STREQUAL OV_CPACK_COMP_DEPLOYMENT_MANAGER AND
NOT item STREQUAL OV_CPACK_COMP_INSTALL_DEPENDENCIES AND
NOT item STREQUAL OV_CPACK_COMP_SETUPVARS)
list(APPEND CPACK_COMPONENTS_ALL ${item})
NOT item STREQUAL "pugixml")
list(APPEND CPACK_COMPONENTS_ALL ${item})
endif()
endforeach()
list(REMOVE_DUPLICATES CPACK_COMPONENTS_ALL)
@@ -79,7 +72,8 @@ macro(ov_cpack_settings)
# - 2022.1.0 is the last public release with rpm packages from Intel install team
# - 2022.1.1, 2022.2 do not have rpm packages enabled, distributed only as archives
# - 2022.3 is the first release where RPM updated packages are introduced, others 2022.3.X are LTS
2022.3.0 2022.3.1 2022.3.2 2022.3.3 2022.3.4 2022.3.5 2023.0.0
2022.3.0 2022.3.1 2022.3.2 2022.3.3 2022.3.4 2022.3.5
2023.0.0
)
find_host_program(rpmlint_PROGRAM NAMES rpmlint DOC "Path to rpmlint")
@@ -121,7 +115,7 @@ macro(ov_cpack_settings)
# hetero
if(ENABLE_HETERO)
set(CPACK_COMPONENT_HETERO_DESCRIPTION "OpenVINO Hetero plugin")
set(CPACK_COMPONENT_HETERO_DESCRIPTION "OpenVINO Hetero software plugin")
set(CPACK_RPM_HETERO_PACKAGE_REQUIRES "${core_package}")
set(CPACK_RPM_HETERO_PACKAGE_NAME "libopenvino-hetero-plugin-${cpack_name_ver}")
_ov_add_package(plugin_packages hetero)
@@ -130,7 +124,7 @@ macro(ov_cpack_settings)
# auto batch
if(ENABLE_AUTO_BATCH)
set(CPACK_COMPONENT_BATCH_DESCRIPTION "OpenVINO Automatic Batching plugin")
set(CPACK_COMPONENT_BATCH_DESCRIPTION "OpenVINO Automatic Batching software plugin")
set(CPACK_RPM_BATCH_PACKAGE_REQUIRES "${core_package}")
set(CPACK_RPM_BATCH_PACKAGE_NAME "libopenvino-auto-batch-plugin-${cpack_name_ver}")
_ov_add_package(plugin_packages batch)
@@ -140,16 +134,16 @@ macro(ov_cpack_settings)
# multi / auto plugins
if(ENABLE_MULTI)
if(ENABLE_AUTO)
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Auto / Multi plugin")
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Auto / Multi software plugin")
else()
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Multi plugin")
set(CPACK_COMPONENT_MULTI_DESCRIPTION "OpenVINO Multi software plugin")
endif()
set(CPACK_RPM_MULTI_PACKAGE_REQUIRES "${core_package}")
set(CPACK_RPM_MULTI_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
_ov_add_package(plugin_packages multi)
set(multi_copyright "generic")
elseif(ENABLE_AUTO)
set(CPACK_COMPONENT_AUTO_DESCRIPTION "OpenVINO Auto plugin")
set(CPACK_COMPONENT_AUTO_DESCRIPTION "OpenVINO Auto software plugin")
set(CPACK_RPM_AUTO_PACKAGE_REQUIRES "${core_package}")
set(CPACK_RPM_AUTO_PACKAGE_NAME "libopenvino-auto-plugin-${cpack_name_ver}")
_ov_add_package(plugin_packages auto)
@@ -160,11 +154,11 @@ macro(ov_cpack_settings)
if(ENABLE_INTEL_CPU)
if(ARM OR AARCH64)
set(CPACK_RPM_CPU_PACKAGE_NAME "libopenvino-arm-cpu-plugin-${cpack_name_ver}")
set(CPACK_COMPONENT_CPU_DESCRIPTION "ARM® CPU plugin")
set(CPACK_COMPONENT_CPU_DESCRIPTION "ARM® CPU inference plugin")
set(cpu_copyright "arm_cpu")
elseif(X86 OR X86_64)
set(CPACK_RPM_CPU_PACKAGE_NAME "libopenvino-intel-cpu-plugin-${cpack_name_ver}")
set(CPACK_COMPONENT_CPU_DESCRIPTION "Intel® CPU")
set(CPACK_COMPONENT_CPU_DESCRIPTION "Intel® CPU inference plugin")
set(cpu_copyright "generic")
else()
message(FATAL_ERROR "Unsupported CPU architecture: ${CMAKE_SYSTEM_PROCESSOR}")
@@ -175,7 +169,7 @@ macro(ov_cpack_settings)
# intel-gpu
if(ENABLE_INTEL_GPU)
set(CPACK_COMPONENT_GPU_DESCRIPTION "Intel® Processor Graphics")
set(CPACK_COMPONENT_GPU_DESCRIPTION "Intel® Processor Graphics inference plugin")
set(CPACK_RPM_GPU_PACKAGE_REQUIRES "${core_package}")
set(CPACK_RPM_GPU_PACKAGE_NAME "libopenvino-intel-gpu-plugin-${cpack_name_ver}")
_ov_add_package(plugin_packages gpu)
@@ -184,7 +178,7 @@ macro(ov_cpack_settings)
# intel-gna
if(ENABLE_INTEL_GNA AND "gna" IN_LIST CPACK_COMPONENTS_ALL)
set(CPACK_COMPONENT_GNA_DESCRIPTION "Intel® Gaussian Neural Accelerator")
set(CPACK_COMPONENT_GNA_DESCRIPTION "Intel® Gaussian Neural Accelerator inference plugin")
set(CPACK_RPM_GNA_PACKAGE_REQUIRES "${core_package}")
set(CPACK_RPM_GNA_PACKAGE_NAME "libopenvino-intel-gna-plugin-${cpack_name_ver}")
_ov_add_package(plugin_packages gna)
@@ -272,17 +266,26 @@ macro(ov_cpack_settings)
# Python bindings
#
if(ENABLE_PYTHON)
if(ENABLE_PYTHON_PACKAGING)
ov_get_pyversion(pyversion)
set(python_component "${OV_CPACK_COMP_PYTHON_OPENVINO}_${pyversion}")
string(TOUPPER "${pyversion}" pyversion)
set(python_component "${OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE}_${pyversion}")
string(TOUPPER "${pyversion}" pyversion_upper)
set(CPACK_COMPONENT_PYOPENVINO_${pyversion}_DESCRIPTION "OpenVINO Python bindings")
set(CPACK_RPM_PYOPENVINO_${pyversion}_PACKAGE_REQUIRES
"${core_package}, ${frontend_packages}, ${plugin_packages}, python3")
set(CPACK_RPM_PYOPENVINO_${pyversion}_PACKAGE_NAME "libopenvino-python-${cpack_name_ver}")
set(python_package "${CPACK_RPM_PYOPENVINO_${pyversion}_PACKAGE_NAME} = ${cpack_full_ver}")
set(CPACK_COMPONENT_PYOPENVINO_PACKAGE_${pyversion_upper}_DESCRIPTION "OpenVINO Python API")
set(CPACK_RPM_PYOPENVINO_PACKAGE_${pyversion_upper}_PACKAGE_REQUIRES
"${core_package}, ${frontend_packages}, ${plugin_packages}, python3, python3-numpy")
set(CPACK_RPM_PYOPENVINO_PACKAGE_${pyversion_upper}_PACKAGE_NAME "python3-openvino")
set(python_package "${CPACK_RPM_PYOPENVINO_PACKAGE_${pyversion_upper}_PACKAGE_NAME} = ${cpack_full_ver}")
set(${python_component}_copyright "generic")
# we can have a single python installed, so we need to generate conflicts for all other versions
ov_rpm_generate_conflicts(${python_component} ${conflicting_versions})
ov_rpm_add_rpmlint_suppression("${python_component}"
# all directories
"non-standard-dir-perm /usr/lib64/${pyversion}/site-packages/openvino/*"
"non-standard-dir-perm /usr/lib64/${pyversion}/site-packages/ngraph/*"
)
endif()
#
@@ -317,12 +320,20 @@ macro(ov_cpack_settings)
set(samples_copyright "generic")
# python_samples
if(ENABLE_PYTHON)
if(ENABLE_PYTHON_PACKAGING)
set(CPACK_COMPONENT_PYTHON_SAMPLES_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Python Samples")
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_REQUIRES "${python_package}, python3")
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_NAME "openvino-samples-python-${cpack_name_ver}")
set(python_samples_package "${CPACK_RPM_PYTHON_SAMPLES_PACKAGE_NAME} = ${cpack_full_ver}")
set(CPACK_RPM_PYTHON_SAMPLES_PACKAGE_ARCHITECTURE "noarch")
set(python_samples_copyright "generic")
ov_rpm_add_rpmlint_suppression(${OV_CPACK_COMP_PYTHON_SAMPLES}
# all files
"non-executable-script /usr/share/openvino/samples/python/*"
# similar requirements.txt files
"files-duplicate /usr/share/openvino/samples/python/*"
)
endif()
#
@@ -353,6 +364,9 @@ macro(ov_cpack_settings)
# all openvino
set(CPACK_COMPONENT_OPENVINO_DESCRIPTION "Intel(R) Distribution of OpenVINO(TM) Toolkit Libraries and Development files")
set(CPACK_RPM_OPENVINO_PACKAGE_REQUIRES "${libraries_dev_package}, ${samples_package}")
if(ENABLE_PYTHON_PACKAGING)
set(CPACK_DEBIAN_OPENVINO_PACKAGE_DEPENDS "${CPACK_RPM_OPENVINO_PACKAGE_REQUIRES}, ${python_package}, ${python_samples_package}")
endif()
set(CPACK_RPM_OPENVINO_PACKAGE_NAME "openvino-${cpack_name_ver}")
set(CPACK_RPM_OPENVINO_PACKAGE_ARCHITECTURE "noarch")
ov_rpm_generate_conflicts(openvino ${conflicting_versions})

View File

@@ -238,7 +238,15 @@ macro(_ov_find_pugixml)
if(_ov_pugixml_pkgconfig_interface AND NOT ANDROID)
_ov_find_dependency(PkgConfig)
elseif(_ov_pugixml_cmake_interface)
_ov_find_dependency(PugiXML REQUIRED)
_ov_find_dependency(PugiXML NAMES PugiXML pugixml)
endif()
# see https://cmake.org/cmake/help/latest/command/add_library.html#alias-libraries
# cmake older than 3.18 cannot create an alias for imported non-GLOBAL targets
# so, we have to use 'GLOBAL' property for cases when we call from OpenVINODeveloperPackage
# because the alias openvino::pugixml is created later
if(CMAKE_VERSION VERSION_LESS 3.18 AND OpenVINODeveloperPackage_DIR)
set(_ov_pugixml_visibility GLOBAL)
endif()
if(PugiXML_FOUND)
@@ -248,9 +256,15 @@ macro(_ov_find_pugixml)
set(_ov_pugixml_target pugixml::pugixml)
endif()
if(OpenVINODeveloperPackage_DIR)
set_property(TARGET ${_ov_pugixml_target} PROPERTY IMPORTED_GLOBAL ON)
# align with build tree
add_library(openvino::pugixml ALIAS ${_ov_pugixml_target})
# align with build tree and create alias
if(_ov_pugixml_visibility STREQUAL "GLOBAL")
set_target_properties(${_ov_pugixml_target} PROPERTIES IMPORTED_GLOBAL TRUE)
endif()
# check whether openvino::pugixml is already defined in case of
# OpenVINODeveloperPackageConfig.cmake is found multiple times
if(NOT TARGET openvino::pugixml)
add_library(openvino::pugixml ALIAS ${_ov_pugixml_target})
endif()
endif()
unset(_ov_pugixml_target)
elseif(PkgConfig_FOUND)
@@ -265,7 +279,7 @@ macro(_ov_find_pugixml)
${pkg_config_quiet_arg}
${pkg_config_required_arg}
IMPORTED_TARGET
GLOBAL
${_ov_pugixml_visibility}
pugixml)
unset(pkg_config_quiet_arg)
@@ -273,7 +287,11 @@ macro(_ov_find_pugixml)
if(pugixml_FOUND)
if(OpenVINODeveloperPackage_DIR)
add_library(openvino::pugixml ALIAS PkgConfig::pugixml)
# check whether openvino::pugixml is already defined in case of
# OpenVINODeveloperPackageConfig.cmake is found multiple times
if(NOT TARGET openvino::pugixml)
add_library(openvino::pugixml ALIAS PkgConfig::pugixml)
endif()
endif()
# PATCH: on Ubuntu 18.04 pugixml.pc contains incorrect include directories
@@ -295,6 +313,8 @@ macro(_ov_find_pugixml)
message(FATAL_ERROR "Failed to find system pugixml in OpenVINO Developer Package")
endif()
endif()
unset(_ov_pugixml_visibility)
endif()
endmacro()
@@ -314,7 +334,7 @@ macro(_ov_find_ade)
# whether 'ade' is found via find_package
set(_ENABLE_SYSTEM_ADE "@ade_FOUND@")
if(_OV_ENABLE_GAPI_PREPROCESSING AND _ENABLE_SYSTEM_ADE)
_ov_find_dependency(ade 0.1.2)
_ov_find_dependency(ade @ade_VERSION@)
endif()
unset(_OV_ENABLE_GAPI_PREPROCESSING)
unset(_ENABLE_SYSTEM_ADE)
@@ -325,20 +345,15 @@ macro(_ov_find_intel_cpu_dependencies)
if(_OV_ENABLE_CPU_ACL)
if(_ov_as_external_package)
set_and_check(ARM_COMPUTE_LIB_DIR "@PACKAGE_ARM_COMPUTE_LIB_DIR@")
set(_ov_find_acl_options NO_DEFAULT_PATH)
set(_ov_find_acl_path "${CMAKE_CURRENT_LIST_DIR}")
set(ACL_DIR "${CMAKE_CURRENT_LIST_DIR}")
else()
set_and_check(_ov_find_acl_path "@PACKAGE_FIND_ACL_PATH@")
set_and_check(ACL_DIR "@PACKAGE_FIND_ACL_PATH@")
endif()
_ov_find_dependency(ACL
NO_MODULE
PATHS "${_ov_find_acl_path}"
${_ov_find_acl_options})
_ov_find_dependency(ACL)
unset(ARM_COMPUTE_LIB_DIR)
unset(_ov_find_acl_path)
unset(_ov_find_acl_options)
endif()
unset(_OV_ENABLE_CPU_ACL)
endmacro()
@@ -375,9 +390,8 @@ endmacro()
macro(_ov_find_protobuf_frontend_dependency)
set(_OV_ENABLE_SYSTEM_PROTOBUF "@ENABLE_SYSTEM_PROTOBUF@")
# TODO: remove check for target existence
if(_OV_ENABLE_SYSTEM_PROTOBUF AND NOT TARGET protobuf::libprotobuf)
_ov_find_dependency(Protobuf @Protobuf_VERSION@ EXACT)
if(_OV_ENABLE_SYSTEM_PROTOBUF)
_ov_find_dependency(Protobuf @Protobuf_VERSION@ EXACT NAMES Protobuf protobuf)
endif()
unset(_OV_ENABLE_SYSTEM_PROTOBUF)
endmacro()
@@ -385,8 +399,7 @@ endmacro()
macro(_ov_find_tensorflow_frontend_dependencies)
set(_OV_ENABLE_SYSTEM_SNAPPY "@ENABLE_SYSTEM_SNAPPY@")
set(_ov_snappy_lib "@ov_snappy_lib@")
# TODO: remove check for target existence
if(_OV_ENABLE_SYSTEM_SNAPPY AND NOT TARGET ${_ov_snappy_lib})
if(_OV_ENABLE_SYSTEM_SNAPPY)
_ov_find_dependency(Snappy @Snappy_VERSION@ EXACT)
endif()
unset(_OV_ENABLE_SYSTEM_SNAPPY)

View File

@@ -15,7 +15,7 @@ list(APPEND ov_options CMAKE_CXX_COMPILER_LAUNCHER CMAKE_C_COMPILER_LAUNCHER
CMAKE_CXX_LINKER_LAUNCHER CMAKE_C_LINKER_LAUNCHER
CMAKE_BUILD_TYPE CMAKE_SKIP_RPATH CMAKE_INSTALL_PREFIX
CMAKE_OSX_ARCHITECTURES CMAKE_OSX_DEPLOYMENT_TARGET
CMAKE_CONFIGURATION_TYPES CMAKE_DEFAULT_BUILD_TYPE)
CPACK_GENERATOR)
file(TO_CMAKE_PATH "${CMAKE_CURRENT_LIST_DIR}" cache_path)
message(STATUS "The following CMake options are exported from OpenVINO Developer package")
@@ -33,7 +33,11 @@ set(ENABLE_PLUGINS_XML ON)
# for samples in 3rd party projects
if(ENABLE_SAMPLES)
set_and_check(gflags_DIR "@gflags_BINARY_DIR@")
if("@gflags_FOUND@")
set_and_check(gflags_DIR "@gflags_DIR@")
else()
set_and_check(gflags_DIR "@gflags_BINARY_DIR@")
endif()
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")

View File

@@ -4,7 +4,7 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR i386)
set(CMAKE_STRIP i686-linux-gnu-strip)
set(PKG_CONFIG_EXECUTABLE i686-linux-gnu-pkg-config CACHE PATH "Path to 32-bits pkg-config")
set(CMAKE_CXX_FLAGS_INIT "-m32")

View File

@@ -14,82 +14,6 @@
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc-posix)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++-posix)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(PKG_CONFIG_EXECUTABLE x86_64-w64-mingw32-pkg-config CACHE PATH "Path to Windows x86_64 pkg-config")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
macro(__cmake_find_root_save_and_reset)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(__save_${v} ${${v}})
set(${v} NEVER)
endforeach()
endmacro()
macro(__cmake_find_root_restore)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(${v} ${__save_${v}})
unset(__save_${v})
endforeach()
endmacro()
# macro to find programs on the host OS
macro(find_host_program)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
SET(APPLE)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
SET(WIN32)
elseif(CMAKE_HOST_UNIX)
SET(UNIX 1)
SET(WIN32)
SET(APPLE)
endif()
find_program(${ARGN})
SET(WIN32 1)
SET(APPLE)
SET(UNIX)
__cmake_find_root_restore()
endmacro()
# macro to find packages on the host OS
macro(find_host_package)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
SET(APPLE)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(WIN32)
SET(UNIX)
elseif(CMAKE_HOST_UNIX)
SET(UNIX 1)
SET(WIN32)
SET(APPLE)
endif()
find_package(${ARGN})
SET(WIN32 1)
SET(APPLE)
SET(UNIX)
__cmake_find_root_restore()
endmacro()

View File

@@ -35,66 +35,3 @@ set(CMAKE_MODULE_LINKER_FLAGS_INIT "-L${CMAKE_SYSROOT}/lib")
set(CMAKE_C_STANDARD_LIBRARIES_INIT "-latomic" CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "-latomic" CACHE STRING "" FORCE)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
macro(__cmake_find_root_save_and_reset)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(__save_${v} ${${v}})
set(${v} NEVER)
endforeach()
endmacro()
macro(__cmake_find_root_restore)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(${v} ${__save_${v}})
unset(__save_${v})
endforeach()
endmacro()
# macro to find programs on the host OS
macro(find_host_program)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_program(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()
# macro to find packages on the host OS
macro(find_host_package)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_package(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()

View File

@@ -2,74 +2,13 @@
# SPDX-License-Identifier: Apache-2.0
#
# Install compiler on debian using:
# apt-get install -y gcc-x86-64-linux-gnu g++-x86-64-linux-gnu binutils-x86-64-linux-gnu pkg-config-x86-64-linux-gnu
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR amd64)
set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++)
set(CMAKE_STRIP x86_64-linux-gnu-strip)
set(PKG_CONFIG_EXECUTABLE "NOT-FOUND" CACHE PATH "Path to amd64 pkg-config")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
macro(__cmake_find_root_save_and_reset)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(__save_${v} ${${v}})
set(${v} NEVER)
endforeach()
endmacro()
macro(__cmake_find_root_restore)
foreach(v
CMAKE_FIND_ROOT_PATH_MODE_LIBRARY
CMAKE_FIND_ROOT_PATH_MODE_INCLUDE
CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM
)
set(${v} ${__save_${v}})
unset(__save_${v})
endforeach()
endmacro()
# macro to find programs on the host OS
macro(find_host_program)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_program(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()
# macro to find packages on the host OS
macro(find_host_package)
__cmake_find_root_save_and_reset()
if(CMAKE_HOST_WIN32)
SET(WIN32 1)
SET(UNIX)
elseif(CMAKE_HOST_APPLE)
SET(APPLE 1)
SET(UNIX)
endif()
find_package(${ARGN})
SET(WIN32)
SET(APPLE)
SET(UNIX 1)
__cmake_find_root_restore()
endmacro()
set(PKG_CONFIG_EXECUTABLE x86_64-linux-gnu-pkg-config CACHE PATH "Path to amd64 pkg-config")

View File

@@ -5,9 +5,9 @@ pugixml/[>=1.10]
protobuf/[>=3.20.3]
ittapi/[>=3.23.0]
zlib/[>=1.2.8]
opencl-icd-loader/[>=2022.09.30]
# opencl-clhpp-headers/[>=2022.09.30]
opencl-headers/[>=2022.09.30]
opencl-icd-loader/2023.04.17
opencl-clhpp-headers/2023.04.17
opencl-headers/2023.04.17
xbyak/[>=6.62]
snappy/[>=1.1.7]
gflags/2.2.2
@@ -24,8 +24,6 @@ flatbuffers/[>=22.9.24]
[options]
protobuf/*:lite=True
onetbb/*:tbbmalloc=True
onetbb/*:tbbproxy=True
flatbuffers/*:header_only=True
[generators]

85
cspell.json Normal file
View File

@@ -0,0 +1,85 @@
{
"version": "0.2",
"ignorePaths": [],
"dictionaryDefinitions": [],
"dictionaries": [],
"words": [
"armhf",
"autoremove",
"bblayers",
"bitbake",
"buildtools",
"caffe",
"chrpath",
"devel",
"devtoolset",
"dgpu",
"diffstat",
"Dockerfiles",
"dpkg",
"DWORD",
"endsphinxdirective",
"epel",
"ERRORLEVEL",
"executionpolicy",
"fafe",
"globbing",
"gmmlib",
"GNAs",
"googlenet",
"gpgcheck",
"gpgkey",
"hashfile",
"HKLM",
"HOSTTOOLS",
"iigd",
"insmod",
"intelocl",
"kaldi",
"Khronos",
"ldconfig",
"libopencl",
"libpython",
"linmac",
"LTSC",
"maxdepth",
"mklink",
"monodepth",
"mxnet",
"nocache",
"noglob",
"nohup",
"norestart",
"ocloc",
"onnx",
"opencl",
"openembedded",
"openvino",
"PACKAGECONFIG",
"patchelf",
"pkgdata",
"pkgs",
"pypi",
"pzstd",
"quantizer",
"Redistributable",
"remotesigned",
"repolist",
"rmmod",
"servercore",
"setupvars",
"SETX",
"skylake",
"sphinxdirective",
"toctree",
"Uninstallation",
"userspace",
"venv",
"WDDM",
"WORKDIR",
"yocto",
"zstd"
],
"ignoreWords": [],
"import": []
}

View File

@@ -53,5 +53,5 @@ This section describes how to obtain and prepare your model for work with OpenVI
* :doc:`See the supported formats and how to use them in your project <Supported_Model_Formats>`.
* :doc:`Convert different model formats to the ov.Model format <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>`.
@endsphinxdirective

View File

@@ -15,7 +15,6 @@
OpenVINO™ is not just one tool. It is an expansive ecosystem of utilities, providing a comprehensive workflow for deep learning solution development. Learn more about each of them to reach the full potential of OpenVINO™ Toolkit.
**Neural Network Compression Framework (NNCF)**
A suite of advanced algorithms for Neural Network inference optimization with minimal accuracy drop. NNCF applies quantization, filter pruning, binarization and sparsity algorithms to PyTorch and TensorFlow models during training.
@@ -37,7 +36,6 @@ More resources:
* `GitHub <https://github.com/openvinotoolkit/training_extensions>`__
* `Documentation <https://openvinotoolkit.github.io/training_extensions/stable/guide/get_started/introduction.html>`__
**OpenVINO™ Security Add-on**
A solution for Model Developers and Independent Software Vendors to use secure packaging and secure model execution.
@@ -63,21 +61,17 @@ More resources:
Compile tool is now deprecated. If you need to compile a model for inference on a specific device, use the following script:
.. tab-set::
.. tab:: python
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/export_compiled_model.py
:language: python
:fragment: [export_compiled_model]
.. doxygensnippet:: docs/snippets/export_compiled_model.py
:language: python
:fragment: [export_compiled_model]
.. tab:: cpp
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/export_compiled_model.cpp
:language: cpp
:fragment: [export_compiled_model]
.. doxygensnippet:: docs/snippets/export_compiled_model.cpp
:language: cpp
:fragment: [export_compiled_model]
To learn which device supports the import / export functionality, see the :doc:`feature support matrix <openvino_docs_OV_UG_Working_with_devices>`.
@@ -92,5 +86,6 @@ A web-based tool for deploying deep learning models. Built on the core of OpenVI
OpenVINO™ Integration with TensorFlow will no longer be supported as of OpenVINO release 2023.0. As part of the 2023.0 release, OpenVINO will feature a significantly enhanced TensorFlow user experience within native OpenVINO without needing offline model conversions. :doc:`Learn more <openvino_docs_MO_DG_TensorFlow_Frontend>`.
@endsphinxdirective

View File

@@ -194,4 +194,4 @@ See Also
* :doc:`Using OpenVINO Runtime Samples <openvino_docs_OV_UG_Samples_Overview>`
* :doc:`Hello Shape Infer SSD sample <openvino_inference_engine_samples_hello_reshape_ssd_README>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -96,7 +96,7 @@ In this case, you can directly say that 'MyRelu' -> ``Relu`` mapping should be u
:fragment: [frontend_extension_MyRelu]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
@@ -181,7 +181,7 @@ input name at position ``i`` maps to OpenVINO operation input at position ``i``
Let's see the following example. Like previously, we'd like to map ``CustomOperation`` in the original model,
to OpenVINO ``CustomOperation`` as is (so their name and attributes names match). This time, that framework operation
inputs and outputs are not stricly ordered and can be identified by their names ``A``, ``B``, ``C`` for inputs
inputs and outputs are not strictly ordered and can be identified by their names ``A``, ``B``, ``C`` for inputs
and ``X``, ``Y`` for outputs. Those inputs and outputs can be mapped to OpenVINO operation, such that inputs
``A``, ``B``, ``C`` map to OpenVINO ``CustomOperation`` first, second and third input and ``X`` and ``Y``
outputs map to OpenVINO ``CustomOperation`` first and second output respectively.
@@ -337,7 +337,7 @@ from ONNX according to the formula: ``ThresholdedRelu(x, alpha) -> Multiply(x, C
:fragment: [frontend_extension_ThresholdedReLU_header]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
@@ -353,7 +353,7 @@ from ONNX according to the formula: ``ThresholdedRelu(x, alpha) -> Multiply(x, C
:fragment: [frontend_extension_ThresholdedReLU]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
@@ -384,7 +384,7 @@ corresponding outputs of the original framework operation in the same order.
Some frameworks require output names of the operation to be provided during conversion.
For PaddlePaddle operations, it is generally necessary to provide names for all outputs using the ``NamedOutputs`` container.
Usually those names can be found in source code of the individual operation in PaddlePaddle code.
The next example shows such conversion for the ``top_k_v2`` operation.
The following example shows such conversion for the ``top_k_v2`` operation.
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp

View File

@@ -33,7 +33,7 @@ AsyncInferRequest()
The main goal of the ``AsyncInferRequest`` constructor is to define a device pipeline ``m_pipeline``. The example below demonstrates ``m_pipeline`` creation with the following stages:
* ``infer_preprocess_and_start_pipeline`` is a CPU ligthweight task to submit tasks to a remote device.
* ``infer_preprocess_and_start_pipeline`` is a CPU lightweight task to submit tasks to a remote device.
* ``wait_pipeline`` is a CPU non-compute task that waits for a response from a remote device.
* ``infer_postprocess`` is a CPU compute task.

View File

@@ -83,6 +83,7 @@ Detailed Guides
* :doc:`Quantized networks <openvino_docs_ov_plugin_dg_quantized_models>`
* :doc:`Low precision transformations <openvino_docs_OV_UG_lpt>` guide
* :doc:`Writing OpenVINO™ transformations <openvino_docs_transformations>` guide
* `Integration with AUTO Plugin <https://github.com/openvinotoolkit/openvino/blob/master/src/plugins/auto/docs/integration.md>`__
API References
##############

View File

@@ -3,7 +3,7 @@
@sphinxdirective
Performance varies by use, configuration and other factors. Learn more at `www.intel.com/PerformanceIndex <https://www.intel.com/PerformanceIndex>`__.
Performance varies by use, configuration and other factors. Learn more at [www.intel.com/PerformanceIndex](https://www.intel.com/PerformanceIndex).
Performance results are based on testing as of dates shown in configurations and may not reflect all publicly available updates. See backup for configuration details. No product or component can be absolutely secure.

View File

@@ -19,7 +19,7 @@ Overview of Artificial Neural Networks Representation
A deep learning network is usually represented as a directed graph describing the flow of data from the network input data to the inference results.
Input data can be in the form of images, video, text, audio, or preprocessed information representing objects from the target area of interest.
Here is an illustration sof a small graph representing a model that consists of a single Convolutional layer and activation function:
Here is an illustration of a small graph representing a model that consists of a single Convolutional layer and activation function:
.. image:: _static/images/small_IR_graph_demonstration.png
@@ -52,7 +52,7 @@ A set consists of several groups of operations:
* Generic element-wise arithmetic tensor operations such as ``Add``, ``Subtract``, and ``Multiply``.
* Comparison operations that compare two numeric tensors and produce boolean tensors, for example, ``Less``, ``Equeal``, ``Greater``.
* Comparison operations that compare two numeric tensors and produce boolean tensors, for example, ``Less``, ``Equal``, ``Greater``.
* Logical operations that are dealing with boolean tensors, for example, ``And``, ``Xor``, ``Not``.

View File

@@ -128,7 +128,7 @@ Information about layer precision is also stored in the performance counters.
resnet\_model/add\_5/fq\_input\_1 NOT\_RUN FakeQuantize undef 0 0
=========================================================== ============= ============== ===================== ================= ==============
| The ``exeStatus`` column of the table includes the following possible values:
| The ``execStatus`` column of the table includes the following possible values:
| - ``EXECUTED`` - the layer was executed by standalone primitive.
| - ``NOT_RUN`` - the layer was not executed by standalone primitive or was fused with another operation and executed in another layer primitive.
|

View File

@@ -18,7 +18,7 @@ Example of converting a PyTorch model directly from memory:
.. code-block:: python
import torchvision
model = torchvision.models.resnet50(pretrained=True)
ov_model = convert_model(model)
@@ -34,7 +34,7 @@ Example of using native Python classes to set ``input_shape``, ``mean_values`` a
.. code-block:: python
from openvino.runtime import PartialShape, Layout
ov_model = convert_model(model, input_shape=PartialShape([1,3,100,100]), mean_values=[127, 127, 127], layout=Layout("NCHW"))
Example of using strings for setting ``input_shape``, ``mean_values`` and ``layout``:
@@ -53,7 +53,7 @@ Example of using a tuple in the ``input`` parameter to cut a model:
ov_model = convert_model(model, input=("input_name", [3], np.float32))
For complex cases, when a value needs to be set in the ``input`` parameter, the ``InputCutInfo`` class can be used. ``InputCutInfo`` accepts four parameters: ``name``, ``shape``, ``type``, and ``value``.
For complex cases, when a value needs to be set in the ``input`` parameter, the ``InputCutInfo`` class can be used. ``InputCutInfo`` accepts four parameters: ``name``, ``shape``, ``type``, and ``value``.
``InputCutInfo("input_name", [3], np.float32, [0.5, 2.1, 3.4])`` is equivalent of ``InputCutInfo(name="input_name", shape=[3], type=np.float32, value=[0.5, 2.1, 3.4])``.
@@ -69,15 +69,15 @@ Example of using ``InputCutInfo`` to freeze an input with value:
.. code-block:: python
from openvino.tools.mo import convert_model, InputCutInfo
ov_model = convert_model(model, input=InputCutInfo("input_name", [3], np.float32, [0.5, 2.1, 3.4]))
To set parameters for models with multiple inputs, use ``list`` of parameters.
Parameters supporting ``list``:
Parameters supporting ``list``:
* input
* input_shape
* layout
* layout
* source_layout
* dest_layout
* mean_values
@@ -97,7 +97,7 @@ Example of using the ``Layout`` class to set the layout of a model input:
from openvino.runtime import Layout
from openvino.tools.mo import convert_model
ov_model = convert_model(model, source_layout=Layout("NCHW"))
To set both source and destination layouts in the ``layout`` parameter, use the ``LayoutMap`` class. ``LayoutMap`` accepts two parameters: ``source_layout`` and ``target_layout``.
@@ -109,7 +109,7 @@ Example of using the ``LayoutMap`` class to change the layout of a model input:
.. code-block:: python
from openvino.tools.mo import convert_model, LayoutMap
ov_model = convert_model(model, layout=LayoutMap("NCHW", "NHWC"))
@endsphinxdirective

View File

@@ -6,11 +6,8 @@
All of the issues below refer to :doc:`legacy functionalities <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer>`.
If your question is not covered by the topics below, use the `OpenVINO Support page <https://software.intel.com/en-us/openvino-toolkit/documentation/get-started>`__, where you can participate on a free forum.
If your question is not covered by the topics below, use the
`OpenVINO Support page <https://community.intel.com/t5/Intel-Distribution-of-OpenVINO/bd-p/distribution-openvino-toolkit>`__,
If your question is not covered by the topics below, use the
`OpenVINO Support page <https://community.intel.com/t5/Intel-Distribution-of-OpenVINO/bd-p/distribution-openvino-toolkit>`__,
where you can participate in a free forum discussion.
.. warning::
@@ -338,7 +335,7 @@ Q31. What does the message "Input port > 0 in --input is not supported if --inpu
**A:** When using the ``PORT:NODE`` notation for the ``--input`` command line argument and ``PORT`` > 0, you should specify ``--input_shape`` for this input. This is a limitation of the current Model Optimizer implementation.
.. note: It is no longer relevant message since the limitation on input port index for model truncation has been resolved.
> **NOTE**: It is no longer relevant message since the limitation on input port index for model truncation has been resolved.
.. _question-32:

View File

@@ -2,6 +2,7 @@
@sphinxdirective
.. warning::
Note that OpenVINO support for Caffe is currently being deprecated and will be removed entirely in the future.
@@ -43,17 +44,17 @@ CLI Examples Using Caffe-Specific Parameters
++++++++++++++++++++++++++++++++++++++++++++
* Launching model conversion for `bvlc_alexnet.caffemodel <https://github.com/BVLC/caffe/tree/master/models/bvlc_alexnet>`__ with a specified `prototxt` file. This is needed when the name of the Caffe model and the `.prototxt` file are different or are placed in different directories. Otherwise, it is enough to provide only the path to the input `model.caffemodel` file.
.. code-block:: cpp
mo --input_model bvlc_alexnet.caffemodel --input_proto bvlc_alexnet.prototxt
* Launching model conversion for `bvlc_alexnet.caffemodel <https://github.com/BVLC/caffe/tree/master/models/bvlc_alexnet>`__ with a specified `CustomLayersMapping` file. This is the legacy method of quickly enabling model conversion if your model has custom layers. This requires the Caffe system on the computer. Example of ``CustomLayersMapping.xml`` can be found in ``<OPENVINO_INSTALLATION_DIR>/mo/front/caffe/CustomLayersMapping.xml.example``. The optional parameters without default values and not specified by the user in the ``.prototxt`` file are removed from the Intermediate Representation, and nested parameters are flattened:
.. code-block:: cpp
mo --input_model bvlc_alexnet.caffemodel -k CustomLayersMapping.xml --disable_omitting_optional --enable_flattening_nested_params
This example shows a multi-input model with input layers: ``data``, ``rois``
.. code-block:: cpp

View File

@@ -2,18 +2,19 @@
@sphinxdirective
.. warning::
Note that OpenVINO support for Apache MXNet is currently being deprecated and will be removed entirely in the future.
To convert an MXNet model, run model conversion with the path to the ``.params`` file of the input model:
To convert an MXNet model, run Model Optimizer with the path to the ``.params`` file of the input model:
.. code-block:: sh
mo --input_model model-file-0000.params
Using MXNet-Specific Conversion Parameters
Using MXNet-Specific Conversion Parameters
##########################################
The following list provides the MXNet-specific parameters.
@@ -39,7 +40,7 @@ The following list provides the MXNet-specific parameters.
Use only if your topology is one of ssd gluoncv topologies
.. note::
.. note::
By default, model conversion API does not use the Apache MXNet loader. It transforms the topology to another format which is compatible with the latest version of Apache MXNet. However, the Apache MXNet loader is required for models trained with lower version of Apache MXNet. If your model was trained with an Apache MXNet version lower than 1.0.0, specify the ``--legacy_mxnet_model`` key to enable the Apache MXNet loader. Note that the loader does not support models with custom layers. In this case, you must manually recompile Apache MXNet with custom layers and install it in your environment.
@@ -76,3 +77,4 @@ See the :doc:`Model Conversion Tutorials <openvino_docs_MO_DG_prepare_model_conv
* :doc:`Convert MXNet Style Transfer Model <openvino_docs_MO_DG_prepare_model_convert_model_mxnet_specific_Convert_Style_Transfer_From_MXNet>`
@endsphinxdirective

View File

@@ -2,13 +2,20 @@
@sphinxdirective
This page provides general instructions on how to convert a model from a PaddlePaddle format to the OpenVINO IR format using Model Optimizer. The instructions are different depending on PaddlePaddle model format.
Converting PaddlePaddle Model Inference Format
##############################################
PaddlePaddle inference model includes ``.pdmodel`` (storing model structure) and ``.pdiparams`` (storing model weight). For how to export PaddlePaddle inference model, please refer to the `Exporting PaddlePaddle Inference Model <https://www.paddlepaddle.org.cn/documentation/docs/zh/develop/guides/beginner/model_save_load_cn.html>`__ Chinese guide.
To convert a PaddlePaddle model, use the ``mo`` script and specify the path to the input ``.pdmodel`` model file:
.. code-block:: sh
mo --input_model <INPUT_MODEL>.pdmodel
**For example,** this command converts a yolo v3 PaddlePaddle network to OpenVINO IR network:
**For example**, this command converts a yolo v3 PaddlePaddle network to OpenVINO IR network:
.. code-block:: sh

View File

@@ -112,7 +112,7 @@ TensorFlow 2 SavedModel format has a specific graph structure due to eager execu
pruning, find custom input nodes in the ``StatefulPartitionedCall/*`` subgraph.
Since the 2023.0 release, direct pruning of models in SavedModel format is not supported.
It is essential to freeze the model before pruning. Use the following code snippet for model freezing:
It is essential to freeze the model before pruning. Use the following code snippet for model freezing:
.. code-block:: python

View File

@@ -111,7 +111,7 @@ The patch modifies the framework code by adding a special command-line argument
+ else:
+ state_dict = torch.load(path, map_location=torch.device('cpu'))
# For backward compatability, remove these (the new variable is called layers)
# For backward compatibility, remove these (the new variable is called layers)
for key in list(state_dict.keys()):
@@ -673,8 +679,11 @@ class Yolact(nn.Module):
else:

View File

@@ -19,11 +19,14 @@
**OpenVINO IR (Intermediate Representation)** - the proprietary format of OpenVINO™, benefiting from the full extent of its features.
**ONNX, PaddlePaddle, TensorFlow, TensorFlow Lite** - formats supported directly, which means they can be used with
OpenVINO Runtime without any prior conversion. For a guide on how to run inference on ONNX, PaddlePaddle, or TensorFlow,
**ONNX, PaddlePaddle, TensorFlow, TensorFlow Lite** - formats supported directly, which means they can be used with
OpenVINO Runtime without any prior conversion. For a guide on how to run inference on ONNX, PaddlePaddle, or TensorFlow,
see how to :doc:`Integrate OpenVINO™ with Your Application <openvino_docs_OV_UG_Integrate_OV_with_your_application>`.
**MXNet, Caffe, Kaldi** - formats supported indirectly, which means they need to be converted to OpenVINO IR before running inference. The conversion is done with Model Conversion API and in some cases may involve intermediate steps.
**MXNet, Caffe, Kaldi** - legacy formats that need to be converted to OpenVINO IR before running inference.
The model conversion in some cases may involve intermediate steps. OpenVINO is currently proceeding
**to deprecate these formats** and **remove their support entirely in the future**.
Refer to the following articles for details on conversion for different formats and models:

View File

@@ -149,7 +149,7 @@ Converting a GNMT Model to the IR
**Step 1**. Clone the GitHub repository and check out the commit:
1. Clone the NMT reposirory:
1. Clone the NMT repository:
.. code-block:: sh

View File

@@ -11,7 +11,7 @@ To download the model for IR conversion, follow the instructions:
1. Create new directory to store the model:
.. code-block:: shell
.. code-block:: sh
mkdir lm_1b

View File

@@ -322,4 +322,4 @@ Additional Resources
* :doc:`Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions>`
* :doc:`Extending Model Optimizer with Caffe Python Layers <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Extending_Model_Optimizer_With_Caffe_Python_Layers>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -104,4 +104,4 @@ Additional Resources
* :doc:`Graph Traversal and Modification Using Ports and Connections <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer_Model_Optimizer_Ports_Connections>`
* :doc:`Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -54,4 +54,4 @@ Additional Resources
* :doc:`Graph Traversal and Modification Using Ports and Connections <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer_Model_Optimizer_Ports_Connections>`
* :doc:`Extending Model Optimizer with Caffe Python Layers <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Extending_Model_Optimizer_With_Caffe_Python_Layers>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -104,4 +104,4 @@ Additional Resources
* :doc:`Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions>`
* :doc:`Extending Model Optimizer with Caffe Python Layers <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Extending_Model_Optimizer_With_Caffe_Python_Layers>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -104,4 +104,4 @@ Additional Resources
* :doc:`Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions>`
* :doc:`Extending Model Optimizer with Caffe Python Layers <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Extending_Model_Optimizer_With_Caffe_Python_Layers>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -180,4 +180,4 @@ Additional Resources
* :doc:`Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions>`
* :doc:`Extending Model Optimizer with Caffe Python Layers <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Extending_Model_Optimizer_With_Caffe_Python_Layers>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -596,4 +596,4 @@ Additional Resources
* :doc:`Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Model_Optimizer_Extensions>`
* :doc:`Extending Model Optimizer with Caffe Python Layers <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Extending_Model_Optimizer_With_Caffe_Python_Layers>`
@endsphinxdirective
@endsphinxdirective

View File

@@ -1,126 +1,115 @@
# Debugging Auto-Device Plugin {#openvino_docs_OV_UG_supported_plugins_AUTO_debugging}
## Using Debug Log
In case of execution problems, just like all other plugins, Auto-Device provides the user with information on exceptions and error values. If the returned data is not enough for debugging purposes, more information may be acquired by means of `ov::log::Level`.
There are six levels of logs, which can be called explicitly or set via the `OPENVINO_LOG_LEVEL` environment variable (can be overwritten by `compile_model()` or `set_property()`):
0 - ov::log::Level::NO
1 - ov::log::Level::ERR
2 - ov::log::Level::WARNING
3 - ov::log::Level::INFO
4 - ov::log::Level::DEBUG
5 - ov::log::Level::TRACE
@sphinxdirective
Using Debug Log
###############
.. tab:: C++
In case of execution problems, just like all other plugins, Auto-Device provides the user with information on exceptions and error values. If the returned data is not enough for debugging purposes, more information may be acquired by means of ``ov::log::Level``.
.. doxygensnippet:: docs/snippets/AUTO6.cpp
:language: cpp
:fragment: [part6]
.. tab:: Python
There are six levels of logs, which can be called explicitly or set via the ``OPENVINO_LOG_LEVEL`` environment variable (can be overwritten by ``compile_model()`` or ``set_property()``):
.. doxygensnippet:: docs/snippets/ov_auto.py
:language: python
:fragment: [part6]
0 - `ov::log::Level::NO <https://docs.openvino.ai/2023.0/enumov_1_1log_1_1Level.html#doxid-group-ov-runtime-cpp-prop-api-1gga9868e1ed6b0286d17cdb0ab85b2cc66bac2f3f489a00553e7a01d369c103c7251>`__
.. tab:: OS environment variable
1 - `ov::log::Level::ERR <https://docs.openvino.ai/2023.0/enumov_1_1log_1_1Level.html#doxid-group-ov-runtime-cpp-prop-api-1gga9868e1ed6b0286d17cdb0ab85b2cc66bac2f3f489a00553e7a01d369c103c7251>`__
.. code-block:: sh
2 - `ov::log::Level::WARNING <https://docs.openvino.ai/2023.0/enumov_1_1log_1_1Level.html#doxid-group-ov-runtime-cpp-prop-api-1gga9868e1ed6b0286d17cdb0ab85b2cc66bac2f3f489a00553e7a01d369c103c7251>`__
3 - `ov::log::Level::INFO <https://docs.openvino.ai/2023.0/enumov_1_1log_1_1Level.html#doxid-group-ov-runtime-cpp-prop-api-1gga9868e1ed6b0286d17cdb0ab85b2cc66bac2f3f489a00553e7a01d369c103c7251>`__
4 - `ov::log::Level::DEBUG <https://docs.openvino.ai/2023.0/enumov_1_1log_1_1Level.html#doxid-group-ov-runtime-cpp-prop-api-1gga9868e1ed6b0286d17cdb0ab85b2cc66bac2f3f489a00553e7a01d369c103c7251>`__
5 - `ov::log::Level::TRACE <https://docs.openvino.ai/2023.0/enumov_1_1log_1_1Level.html#doxid-group-ov-runtime-cpp-prop-api-1gga9868e1ed6b0286d17cdb0ab85b2cc66bac2f3f489a00553e7a01d369c103c7251>`__
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/AUTO6.cpp
:language: cpp
:fragment: [part6]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_auto.py
:language: python
:fragment: [part6]
.. tab-item:: OS environment variable
:sync: os_env_variable
.. code-block:: sh
When defining it via the variable,
a number needs to be used instead of a log level name, e.g.:
Linux
export OPENVINO_LOG_LEVEL=0
Windows
set OPENVINO_LOG_LEVEL=0
When defining it via the variable,
a number needs to be used instead of a log level name, e.g.:
Linux
export OPENVINO_LOG_LEVEL=0
Windows
set OPENVINO_LOG_LEVEL=0
@endsphinxdirective
The property returns information in the following format:
@sphinxdirective
.. code-block:: sh
[time]LOG_LEVEL[file] [PLUGIN]: message
@endsphinxdirective
in which the ``LOG_LEVEL`` is represented by the first letter of its name (ERROR being an exception and using its full name). For example:
in which the `LOG_LEVEL` is represented by the first letter of its name (ERROR being an exception and using its full name). For example:
@sphinxdirective
.. code-block:: sh
[17:09:36.6188]D[plugin.cpp:167] deviceName:GPU, defaultDeviceID:, uniqueName:GPU_
[17:09:36.6242]I[executable_network.cpp:181] [AUTOPLUGIN]:select device:GPU
[17:09:36.6809]ERROR[executable_network.cpp:384] [AUTOPLUGIN] load failed, GPU:[ GENERAL_ERROR ]
@endsphinxdirective
Instrumentation and Tracing Technology
######################################
## Instrumentation and Tracing Technology
All major performance calls of both OpenVINO™ Runtime and the AUTO plugin are instrumented with Instrumentation and Tracing Technology (ITT) APIs. To enable ITT in OpenVINO™ Runtime, compile it with the following option:
@sphinxdirective
.. code-block:: sh
-DENABLE_PROFILING_ITT=ON
@endsphinxdirective
For more information, you can refer to:
* [Intel® VTune™ Profiler User Guide](https://www.intel.com/content/www/us/en/develop/documentation/vtune-help/top/api-support/instrumentation-and-tracing-technology-apis.html)
* `Intel® VTune™ Profiler User Guide <https://www.intel.com/content/www/us/en/develop/documentation/vtune-help/top/api-support/instrumentation-and-tracing-technology-apis.html>`__
### Analyze Code Performance on Linux
Analyze Code Performance on Linux
+++++++++++++++++++++++++++++++++
You can analyze code performance using Intel® VTune™ Profiler. For more information and installation instructions refer to the `installation guide (PDF) <https://software.intel.com/content/www/us/en/develop/download/intel-vtune-install-guide-linux-os.html>`__
You can analyze code performance using Intel® VTune™ Profiler. For more information and installation instructions refer to the [installation guide (PDF)](https://software.intel.com/content/www/us/en/develop/download/intel-vtune-install-guide-linux-os.html)
With Intel® VTune™ Profiler installed you can configure your analysis with the following steps:
1. Open Intel® VTune™ Profiler GUI on the host machine with the following command:
@sphinxdirective
.. code-block:: sh
cd /vtune install dir/intel/oneapi/vtune/2021.6.0/env
source vars.sh
vtune-gui
2. Select **Configure Analysis**
3. In the **where** pane, select **Local Host**
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img01-localhost.png
:align: center
4. In the **what** pane, specify your target application/script on the local system.
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img02-launch.png
:align: center
5. In the **how** pane, choose and configure the analysis type you want to perform, for example, **Hotspots Analysis**: identify the most time-consuming functions and drill down to see time spent on each line of source code. Focus optimization efforts on hot code for the greatest performance impact.
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img03-hotspots.png
:align: center
6. Start the analysis by clicking the start button. When it is done, you will get a summary of the run, including top hotspots and top tasks in your application:
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img04-vtunesummary.png
:align: center
7. To analyze ITT info related to the Auto plugin, click on the **Bottom-up** tab, choose the **Task Domain/Task Type/Function/Call Stack** from the dropdown list - Auto plugin-related ITT info is under the MULTIPlugin task domain:
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img05-vtunebottomup.png
:align: center
.. code-block:: sh
cd /vtune install dir/intel/oneapi/vtune/2021.6.0/env
source vars.sh
vtune-gui
@endsphinxdirective
2. select **Configure Analysis**
3. In the **where** pane, select **Local Host**
@sphinxdirective
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img01-localhost.png
:align: center
@endsphinxdirective
4. In the **what** pane, specify your target application/script on the local system.
@sphinxdirective
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img02-launch.png
:align: center
@endsphinxdirective
5. In the **how** pane, choose and configure the analysis type you want to perform, for example, **Hotspots Analysis**:
identify the most time-consuming functions and drill down to see time spent on each line of source code. Focus optimization efforts on hot code for the greatest performance impact.
@sphinxdirective
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img03-hotspots.png
:align: center
@endsphinxdirective
6. Start the analysis by clicking the start button. When it is done, you will get a summary of the run, including top hotspots and top tasks in your application:
@sphinxdirective
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img04-vtunesummary.png
:align: center
@endsphinxdirective
7. To analyze ITT info related to the Auto plugin, click on the **Bottom-up** tab, choose the **Task Domain/Task Type/Function/Call Stack** from the dropdown list - Auto plugin-related ITT info is under the MULTIPlugin task domain:
@sphinxdirective
.. image:: _static/images/OV_UG_supported_plugins_AUTO_debugging-img05-vtunebottomup.png
:align: center
@endsphinxdirective

View File

@@ -4,7 +4,7 @@
.. toctree::
:maxdepth: 1
Abs-1 <openvino_docs_ops_arithmetic_Abs_1>
Acos-1 <openvino_docs_ops_arithmetic_Acos_1>
Acosh-3 <openvino_docs_ops_arithmetic_Acosh_3>
@@ -82,6 +82,7 @@
Greater-1 <openvino_docs_ops_comparison_Greater_1>
GroupConvolutionBackpropData-1 <openvino_docs_ops_convolution_GroupConvolutionBackpropData_1>
GroupConvolution-1 <openvino_docs_ops_convolution_GroupConvolution_1>
GroupNormalization-12 <openvino_docs_ops_normalization_GroupNormalization_12>
HardSigmoid-1 <openvino_docs_ops_activation_HardSigmoid_1>
HSigmoid-5 <openvino_docs_ops_activation_HSigmoid_5>
HSwish-4 <openvino_docs_ops_activation_HSwish_4>
@@ -136,6 +137,7 @@
PReLU-1 <openvino_docs_ops_activation_PReLU_1>
PSROIPooling-1 <openvino_docs_ops_detection_PSROIPooling_1>
Pad-1 <openvino_docs_ops_movement_Pad_1>
Pad-12 <openvino_docs_ops_movement_Pad_12>
Parameter-1 <openvino_docs_ops_infrastructure_Parameter_1>
Power-1 <openvino_docs_ops_arithmetic_Power_1>
PriorBoxClustered-1 <openvino_docs_ops_detection_PriorBoxClustered_1>

View File

@@ -120,6 +120,10 @@ The ``start_async`` function call is not required to be synchronized - it waits
:language: python
:fragment: [asyncinferqueue]
.. warning::
``InferRequest`` objects that can be acquired by iterating over a ``AsyncInferQueue`` object or by ``[id]`` guaranteed to work with read-only methods like getting tensors.
Any mutating methods (e.g. start_async, set_callback) of a single request will put the parent AsyncInferQueue object in an invalid state.
Acquiring Results from Requests
-------------------------------

View File

@@ -0,0 +1,288 @@
# OpenVINO Conditional Compilation for Optimal Binary Size{#opevino_conditional_compilation_deploying_guide}
@sphinxdirective
Conditional compilation can significantly reduce the binary size of the OpenVINO package by excluding unnecessary components for inference of particular models. This is particularly useful for edge and client deployment scenarios, where reducing the size of application binary is important.
.. important::
The tradeoff of conditional compilation is that the produced OpenVINO runtime can only run inference for the models and platforms which conditional compilation was applied.
Lean more in the `conditional_compilation_guide <https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/conditional_compilation.md>`__ and `Conditional_compilation_developer_guide <https://github.com/openvinotoolkit/openvino/blob/master/src/common/conditional_compilation/docs/develop_cc_for_new_component.md>`__
There are two steps to reduce binary size of the OpenVINO runtime library with conditional compilation:
- Apply ``SELECTIVE_BUILD=COLLECT`` and ``DENABLE_PROFILING_ITT=ON`` build options to enable analysis mode of conditional compilation to collect statistics data using ``itt``.
- Apply ``SELECTIVE_BUILD=ON`` and ``SELECTIVE_BUILD_STAT=<statistics_data.csv>`` build options to exclude inactive code region with the help of previous statistics data and get the final OpenVINO package.
.. note::
install ``Python`` to help collect statistics data.
Conditional Compilation for Multiple Models
############################################
Stage 1: collecting statistics information about code usage
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- Build OpenVINO with ``SELECTIVE_BUILD=COLLECT`` option
.. code-block:: sh
git submodule init
git submodule update
mkdir build && cd build
cmake -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT ..
cmake --build .
- Build ITT collector for code usage analysis
.. code-block:: sh
cmake --build . --target sea_itt_lib
- Run the target application under the ITT collector for code usage analysis of each model
.. code-block:: sh
python thirdparty/itt_collector/runtool/sea_runtool.py --bindir ${OPENVINO_LIBRARY_DIR} -o ${MY_MODEL_RESULT} ! ./benchmark_app -niter 1 -nireq 1 -m ${MY_MODEL}.xml
Then, statistics information are generated and stored into .cvs format files under ``{MY_MODEL_RESULT}`` directory.
.. tip::
If you want to run other application rather than benchmark_app to get statistics data, please make sure to limit inference request number and iterations to avoid too long profiling time and too large statistics data.
You can run this `script <https://github.com/openvinotoolkit/openvino/blob/master/src/common/conditional_compilation/scripts/ccheader.py>`__ to get the generated header file from csv files, and to confirm whether the statistics is correct. This step will be implicitly done in stage 2 of conditional compilation, skip it, if not needed.
.. code-block:: sh
python3.8 ../../src/common/conditional_compilation/scripts/ccheader.py --stat ${csv_files} --out conditional_compilation_gen.h
The conditional_compilation_gen.h looks like this:
.. code-block:: cpp
#pragma once
#define tbb_bind_TBBbindSystemTopology 1
#define tbb_bind_task_arena_initialize 1
#define ov_opset_opset1_Parameter 1
#define ov_opset_opset1_Constant 1
#define ov_opset_opset1_Convolution 1
#define ov_opset_opset1_Add 1
#define ov_opset_opset1_Relu 1
#define ov_opset_opset1_GroupConvolution 1
#define ov_opset_opset3_ShapeOf 1
#define ov_opset_opset1_Squeeze 1
#define ov_opset_opset4_Range 1
#define ov_opset_opset1_ReduceMean 1
#define ov_opset_opset1_Softmax 1
#define ov_opset_opset1_Result 1
#define ov_op_v0_Parameter_visit_attributes 1
#define ov_op_v0_Parameter_validate_and_infer_types 1
#define ov_op_v0_Parameter_clone_with_new_inputs 1
#define ov_op_v0_Constant_visit_attributes 1
#define ov_op_v0_Constant_clone_with_new_inputs 1
#define ov_op_v1_Convolution_visit_attributes 1
#define ov_op_v1_Convolution_validate_and_infer_types 1
#define ov_op_v1_Convolution_clone_with_new_inputs 1
#define ov_op_v0_util_BinaryElementwiseArithmetic_visit_attributes 1
#define ov_op_v1_Add_visit_attributes 1
#define ov_op_v0_util_BinaryElementwiseArithmetic_validate_and_infer_types 1
#define ov_op_v1_Add_clone_with_new_inputs 1
#define ov_op_v0_Relu_visit_attributes 1
#define ov_op_util_UnaryElementwiseArithmetic_validate_and_infer_types 1
#define ov_op_v0_Relu_clone_with_new_inputs 1
#define ov_op_v1_GroupConvolution_visit_attributes 1
#define ov_op_v1_GroupConvolution_validate_and_infer_types 1
#define ov_op_v1_GroupConvolution_clone_with_new_inputs 1
#define ov_op_v3_ShapeOf_visit_attributes 1
#define ov_op_v3_ShapeOf_validate_and_infer_types 1
#define ov_op_v3_ShapeOf_clone_with_new_inputs 1
#define ov_op_v0_Squeeze_visit_attributes 1
...
Stage 2: build resulting OpenVINO package
++++++++++++++++++++++++++++++++++++++++++
Based on the statistics information, re-build OpenVINO to generate the optimal binary size of OpenVINO binaries
.. code-block:: sh
cmake -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=${ABSOLUTE_PATH_TO_STATISTICS_FILES}/*.csv -DENABLE_PROFILING_ITT=OFF ..
cmake --build .
.. tip::
The recommended scenario for conditional complication is static build of OpenVINO. In this case you can add ``-DBUILD_SHARED_LIBS=OFF`` to enable static build to get optimal binary size benefit.
Conditional Compilation for Different Instruction Set Architectures(ISAs)
#########################################################################
The steps are almost same with building for different models, except for collecting different statistics data on different ``ISAs``.
Run the target application under the ITT collector for code usage analysis on each ``ISAs``:
.. code-block:: sh
python thirdparty/itt_collector/runtool/sea_runtool.py --bindir ${OPENVINO_LIBRARY_DIR} -o ${MY_MODEL_RESULT} ! ./benchmark_app -niter 1 -nireq 1 -m ${MY_MODEL}.xml
Put all CSV files together for ``stage 2`` to generate resulting OpenVINO binaries:
.. code-block:: sh
cmake -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=${ABSOLUTE_PATH_TO_STATISTICS_FILES}/*.csv -DENABLE_PROFILING_ITT=OFF ..
cmake --build .
Device-agnostic Conditional Compilation (POC)
#############################################
In some cases, adopting conditional compilation is necessary to support multiple different ``SKUs``(Stock Keeping Unit: is usually a string of numbers and alphabets used by the manufacturer to identify their product), but there may be limitations in collecting statistics information for every target hardware. To achieve this, conditional compilation must be capable of running a model on an accelerator with all previous SKUs.
Conditional compilation requires the initial collection of statistical information to exclude unused code regions, such as ops and kernels. To do this, all included ops and kernels must be executed at least once. For multiple SKUs, it is necessary for all ops and kernels that will be used by any of the SKUs to be encountered at least once in the profiling data. If the profiling is done on a CPU platform, it is impossible without using an emulator.
A simple method is to leverage `SDE <https://www.intel.com/content/www/us/en/developer/articles/license/pre-release-license-agreement-for-software-development-emulator.html>`__ to emulate different CPU's SKU to generate multiple statistics CSV files for different SKUs, for example:
.. code-block:: sh
for cpu in spr adl tgl icl skl; do
python ../thirdparty/itt_collector/runtool/sea_runtool.py --bindir ${OPENVINO_LIBRARY_DIR} -o ${MY_MODEL_RESULT} ! sde -$cpu -- ./benchmark_app -niter 1 -nireq 1 -m ${MY_MODEL}.xml
done
Considering that JIT kernels can be affected by L1/L2/L3 cache size and the number of CPU cores, there also is a simple method to emulate L2/L3 cache size and CPU core's number.
- L2/L3 cache emulation
Hack the function of get cache size
``unsigned int dnnl::impl::cpu::platform::get_per_core_cache_size(int level)``
to make it return emulated cache size in analyzed stage, the simplest way is to leverage environment variable to pass the emulated cache size, for example:
.. code-block:: cpp
#if defined(SELECTIVE_BUILD_ANALYZER)
if (level == 2) {
const char* L2_cache_size = std::getenv("OV_CC_L2_CACHE_SIZE");
if (L2_cache_size) {
int size = std::atoi(L2_cache_size);
if (size > 0) {
return size;
}
}
} else if (level == 3) {
const char* L3_cache_size = std::getenv("OV_CC_L3_CACHE_SIZE");
if (L3_cache_size) {
int size = std::atoi(L3_cache_size);
if (size > 0) {
return size;
}
}
} else if (level == 1) {
const char* L1_cache_size = std::getenv("OV_CC_L1_CACHE_SIZE");
if (L1_cache_size) {
int size = std::atoi(L1_cache_size);
if (size > 0) {
return size;
}
}
}
#endif
- CPU core number emulation
Leverage ``numactl`` tool to control core number.
.. code-block:: sh
python thirdparty/itt_collector/runtool/sea_runtool.py --bindir ${OPENVINO_LIBRARY_DIR} -o ${MY_MODEL_RESULT} ! numactl -C 0-$core_num ./benchmark_app -niter 1 -nireq 1 -m ${MY_MODEL}.xml
Once the SKUs are decided, you can collect CPU information(CPUID, L1/L2/L3 cache size, core number) and then profile each pair of (CPUID, L1/L2/L3 cache size, core number) to get profiling CSV files, then apply all CSV files to generate final conditional compilation package.
Example of generation a conditional compilation package on a single system:
.. code-block:: sh
export OV_CC_L1_CACHE_SIZE=<L1 cache size>
export OV_CC_L2_CACHE_SIZE=<L2 cache size>
export OV_CC_L3_CACHE_SIZE=<L3 cache size>
python thirdparty/itt_collector/runtool/sea_runtool.py --bindir ${OPENVINO_LIBRARY_DIR} -o ${MY_MODEL_RESULT} ! sde -spr -- numactl -C 0-$core_num ./benchmark_app -niter 1 -nireq 1 -m ${MY_MODEL}.xml
Perform the above steps for each SKUs information (CPUID, L1/L2/L3 cache size, core number) to collect all generated statistics CSV files together, and provide them to build resulting OpenVINO package.
.. code-block:: sh
cmake -DSELECTIVE_BUILD=ON -DSELECTIVE_BUILD_STAT=${ABSOLUTE_PATH_TO_STATISTICS_FILES}/*.csv -DENABLE_PROFILING_ITT=OFF ..
cmake --build .
How to Enable Conditional Compilation on Windows
################################################
Find detailed information in the Building OpenVINO static libraries `document <https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/static_libaries.md>`__ .
Stage 1: Selective build analyzed stage
++++++++++++++++++++++++++++++++++++++++
Build OpenVINO with conditional compilation enabled:
.. code-block:: sh
call C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvar64.bat
set OPENVINO_HOME=D:\work_path\openvino
cd %OPENVINO_HOME%
md build_cc
cd build_cc
cmake -G Ninja -Wno-dev -DCMAKE_BUILD_TYPE=Debug -DENABLE_CPPLINT=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF -DENABLE_FASTER_BUILD=ON -DENABLE_SANITIZER=OFF -DTHREADING=TBB -DBUILD_SHARED_LIBS=OFF -DENABLE_PROFILING_ITT=ON -DSELECTIVE_BUILD=COLLECT -DENABLE_INTEL_GPU=OFF -DENABLE_INTEL_GNA=OFF -DENABLE_MULTI=OFF -DENABLE_AUTO=OFF -DENABLE_AUTO_BATCH=OFF -DENABLE_HETERO=OFF -DENABLE_TEMPLATE=OFF -DENABLE_OV_ONNX_FRONTEND=OFF -DENABLE_OV_PADDLE_FRONTEND=OFF -DENABLE_OV_PYTORCH_FRONTEND=OFF -DENABLE_OV_TF_FRONTEND=OFF -DCMAKE_INSTALL_PREFIX=install ..
cmake --build . --config Debug
Collect statistics data
.. code-block:: sh
cd %OPENVINO_HOME%\build_cc
cmake --build . --config Debug --target sea_itt_lib
cd %OPENVINO_HOME%
set PATH=%PATH%;%OPENVINO_HOME%\\temp\tbb\bin
mkdir cc_data
cd %OPENVINO_HOME%\cc_data
python3 ..\thirdparty\itt_collector\runtool\sea_runtool.py --bindir ..\bin\intel64\Debug -o %OPENVINO_HOME%\cc_data\data ! ..\bin\intel64\Debug\benchmark_app.exe -niter 1 -nireq 1 -m <your_model.xml>
.. note::
This stage is for profiling data. The choice of whether to build with Debug or Release depends on your specific requirements.
Stage 2: build resulting OpenVINO package
+++++++++++++++++++++++++++++++++++++++++
Generate final optimal binaries size of OpenVINO package
.. code-block:: sh
cd %OPENVINO_HOME%
md build
cd build
cmake -G "Visual Studio 16 2019" -A x64 -DENABLE_CPPLINT=OFF -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COMPILE_WARNING_AS_ERROR=OFF -DCMAKE_BUILD_TYPE=Release -DENABLE_FASTER_BUILD=ON -DENABLE_PROFILING_ITT=OFF -DSELECTIVE_BUILD=ON -DENABLE_INTEL_GPU=OFF -DENABLE_INTEL_GNA=OFF -DENABLE_MULTI=OFF -DENABLE_AUTO=OFF -DENABLE_AUTO_BATCH=OFF -DENABLE_HETERO=OFF -DENABLE_TEMPLATE=OFF -DENABLE_OV_ONNX_FRONTEND=OFF -DENABLE_OV_PADDLE_FRONTEND=OFF -DENABLE_OV_PYTORCH_FRONTEND=OFF -DENABLE_OV_TF_FRONTEND=OFF -DSELECTIVE_BUILD_STAT=%OPENVINO_HOME%\cc_data\*.csv -DBUILD_SHARED_LIBS=OFF -DENABLE_LTO=ON -DENABLE_ONEDNN_FOR_GPU=OFF -DENABLE_GAPI_PREPROCESSING=OFF -DENABLE_OV_TF_LITE_FRONTEND=OFF -DENABLE_CLDNN=OFF -DENABLE_PROFILING_FIRST_INFERENCE=OFF -DENABLE_INTEL_MYRIAD_COMMON=OFF -DENABLE_INTEL_MYRIAD=OFF ..
cmake --build . --config Release
.. tip::
``-DSELECTIVE_BUILD=ON`` and ``-DSELECTIVE_BUILD_STAT=%OPENVINO_HOME%\cc_data\*.csv`` are required, and ``-DBUILD_SHARED_LIBS=OFF`` is recommended.
@endsphinxdirective

View File

@@ -39,31 +39,27 @@ Running Deployment Manager in Interactive Mode
To launch the Deployment Manager in interactive mode, open a new terminal window, go to the Deployment Manager tool directory, and run the tool script without parameters:
.. tab-set::
.. tab:: Linux
.. tab-item:: Linux
:sync: linux
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py
.. tab-item:: Windows
:sync: windows
.. code-block:: bat
cd <INSTALL_DIR>\tools\deployment_manager
.\deployment_manager.py
.. tab-item:: macOS
:sync: macos
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py
.. tab:: Windows
.. code-block:: bat
cd <INSTALL_DIR>\tools\deployment_manager
.\deployment_manager.py
.. tab:: macOS
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py
The target device selection dialog is displayed:
@@ -101,31 +97,26 @@ Running Deployment Manager in Standard CLI Mode
To launch the Deployment Manager tool in the standard mode: open a new terminal window, go to the Deployment Manager tool directory, and run the tool command with the following syntax:
.. tab-set::
.. tab:: Linux
.. tab-item:: Linux
:sync: linux
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py <--targets> [--output_dir] [--archive_name] [--user_data]
.. tab-item:: Windows
:sync: windows
.. code-block:: bat
cd <INSTALL_DIR>\tools\deployment_manager
.\deployment_manager.py <--targets> [--output_dir] [--archive_name] [--user_data]
.. tab-item:: macOS
:sync: macos
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py <--targets> [--output_dir] [--archive_name] [--user_data]
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py <--targets> [--output_dir] [--archive_name] [--user_data]
.. tab:: Windows
.. code-block:: bat
cd <INSTALL_DIR>\tools\deployment_manager
.\deployment_manager.py <--targets> [--output_dir] [--archive_name] [--user_data]
.. tab:: macOS
.. code-block:: sh
cd <INSTALL_DIR>/tools/deployment_manager
./deployment_manager.py <--targets> [--output_dir] [--archive_name] [--user_data]
The following options are available:
@@ -153,28 +144,23 @@ To deploy the OpenVINO Runtime components from the development machine to the ta
2. Extract the archive to the destination directory on the target system. If the name of your archive is different from the default one shown below, replace ``openvino_deployment_package`` with your specified name.
.. tab-set::
.. tab:: Linux
.. tab-item:: Linux
:sync: linux
.. code-block:: sh
tar xf openvino_deployment_package.tar.gz -C <destination_dir>
.. tab-item:: Windows
:sync: windows
.. code-block:: bat
Use the archiver of your choice to unzip the file.
.. tab-item:: macOS
:sync: macos
.. code-block:: sh
tar xf openvino_deployment_package.tar.gz -C <destination_dir>
.. code-block:: sh
tar xf openvino_deployment_package.tar.gz -C <destination_dir>
.. tab:: Windows
.. code-block:: bat
Use the archiver of your choice to unzip the file.
.. tab:: macOS
.. code-block:: sh
tar xf openvino_deployment_package.tar.gz -C <destination_dir>
Now, the package is extracted to the destination directory. The following files and subdirectories are created:
@@ -194,31 +180,26 @@ To deploy the OpenVINO Runtime components from the development machine to the ta
4. Set up the environment variables:
.. tab-set::
.. tab-item:: Linux
:sync: linux
.. code-block:: sh
cd <destination_dir>/openvino/
source ./setupvars.sh
.. tab-item:: Windows
:sync: windows
.. code-block:: bat
cd <destination_dir>\openvino\
.\setupvars.bat
.. tab-item:: macOS
:sync: macos
.. code-block:: sh
cd <destination_dir>/openvino/
source ./setupvars.sh
.. tab:: Linux
.. code-block:: sh
cd <destination_dir>/openvino/
source ./setupvars.sh
.. tab:: Windows
.. code-block:: bat
cd <destination_dir>\openvino\
.\setupvars.bat
.. tab:: macOS
.. code-block:: sh
cd <destination_dir>/openvino/
source ./setupvars.sh
Now, you have finished the deployment of the OpenVINO Runtime components to the target system.

View File

@@ -8,6 +8,7 @@
Deploy Application with Deployment Manager <openvino_docs_install_guides_deployment_manager_tool>
Local Distribution Libraries <openvino_docs_deploy_local_distribution>
Optimize Binaries Size <opevino_conditional_compilation_deploying_guide>
.. note::
@@ -23,7 +24,7 @@ Local Deployment Options
- using PIP package manager on PyPI - the default approach for Python-based applications;
- using Docker images - if the application should be deployed as a Docker image, use a pre-built OpenVINO™ Runtime Docker image as a base image in the Dockerfile for the application container image. For more information about OpenVINO Docker images, refer to :doc:`Installing OpenVINO on Linux from Docker <openvino_docs_install_guides_installing_openvino_docker_linux>`
Furthermore, to customize your OpenVINO Docker image, use the `Docker CI Framework <https://github.com/openvinotoolkit/docker_ci>`__ to generate a Dockerfile and built the image.
Furthermore, to customize your OpenVINO Docker image, use the `Docker CI Framework <https://github.com/openvinotoolkit/docker_ci>` to generate a Dockerfile and built the image.
- Grab a necessary functionality of OpenVINO together with your application, also called "local distribution":

View File

@@ -2,22 +2,22 @@
@sphinxdirective
With a local distribution, each C or C++ application/installer will have its own copies of OpenVINO Runtime binaries. However, OpenVINO has a scalable plugin-based architecture, which means that some components can be loaded in runtime only when they are really needed. Therefore, it is important to understand which minimal set of libraries is really needed to deploy the application. This guide helps you to achieve that goal.
With local distribution, each C or C++ application/installer has its own copies of OpenVINO Runtime binaries. However, OpenVINO has a scalable plugin-based architecture, which means that some components can be loaded in runtime only when they are really needed. This guide helps you understand what minimal set of libraries is required to deploy the application.
Local distribution is also appropriate for OpenVINO binaries built from sources using `Build instructions <https://github.com/openvinotoolkit/openvino/wiki#how-to-build>`__,
but the guide below supposes OpenVINO Runtime is built dynamically. For case of `Static OpenVINO Runtime <https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/static_libaries.md>`__ select the required OpenVINO capabilities on CMake configuration stage using `CMake Options for Custom Compilation <https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/cmake_options_for_custom_comiplation.md>`__, the build and link the OpenVINO components into the final application.
Local distribution is also suitable for OpenVINO binaries built from source using `Build instructions <https://github.com/openvinotoolkit/openvino/wiki#how-to-build>`__,
but this guide assumes that OpenVINO Runtime is built dynamically. For `Static OpenVINO Runtime <https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/static_libaries.md>`__, select the required OpenVINO capabilities at the CMake configuration stage using `CMake Options for Custom Compilation <https://github.com/openvinotoolkit/openvino/blob/master/docs/dev/cmake_options_for_custom_compilation.md>`__, then build and link the OpenVINO components to the final application.
.. note::
The steps below are operating system independent and refer to a library file name without any prefixes (like ``lib`` on Unix systems) or suffixes (like ``.dll`` on Windows OS). Do not put ``.lib`` files on Windows OS to the distribution, because such files are needed only on a linker stage.
The steps below are independent of the operating system and refer to the library file name without any prefixes (like ``lib`` on Unix systems) or suffixes (like ``.dll`` on Windows OS). Do not put ``.lib`` files on Windows OS to the distribution because such files are needed only at a linker stage.
Library Requirements for C++ and C Languages
############################################
Independent on the language used to write the application, the ``openvino`` library must always be put to the final distribution, since it's a core library which orchestrates with all the inference and frontend plugins. In Intel® Distribution of OpenVINO™ toolkit, ``openvino`` depends on the TBB libraries which are used by OpenVINO Runtime to optimally saturate the devices with computations, so it must be put to the distribution package.
Regardless of the programming language of an application, the ``openvino`` library must always be included in its final distribution. This core library manages all inference and frontend plugins. The ``openvino`` library depends on the TBB libraries which are used by OpenVINO Runtime to optimally saturate devices with computations.
If your application is written with C language, you need to put the ``openvino_c`` library additionally.
If your application is in C language, you need to additionally include the ``openvino_c`` library.
The ``plugins.xml`` file with information about inference devices must also be taken as a support file for ``openvino``.
@@ -39,71 +39,71 @@ For each inference device, OpenVINO Runtime has its own plugin library:
- ``openvino_intel_gna_plugin`` for :doc:`Intel® GNA devices <openvino_docs_OV_UG_supported_plugins_GNA>`.
- ``openvino_arm_cpu_plugin`` for :doc:`ARM CPU devices <openvino_docs_OV_UG_supported_plugins_CPU>`.
Depending on what devices are used in the app, the appropriate libraries need to be put to the distribution package.
Depending on which devices are used in the app, the corresponding libraries should be included in the distribution package.
As it is shown on the picture above, some plugin libraries may have OS-specific dependencies which are either backend libraries or additional supports files with firmware, etc. Refer to the table below for details:
As shown in the picture above, some plugin libraries may have OS-specific dependencies which are either backend libraries or additional supports files with firmware, etc. Refer to the table below for details:
.. dropdown:: Windows OS:
.. tab-set::
.. list-table::
:header-rows: 1
.. tab-item:: Windows OS
* - Device
- Dependency
* - CPU
- ``-``
* - GPU
- ``OpenCL.dll``, ``cache.json``
* - GNA
- ``gna.dll``
* - Arm® CPU
- ``-``
.. list-table::
:header-rows: 1
* - Device
- Dependency
* - CPU
- ``-``
* - GPU
- ``OpenCL.dll``, ``cache.json``
* - GNA
- ``gna.dll``
* - Arm® CPU
- ``-``
.. dropdown:: Linux OS:
.. tab-item:: Linux OS
.. list-table::
:header-rows: 1
.. list-table::
:header-rows: 1
* - Device
- Dependency
* - CPU
- ``-``
* - GPU
- ``libOpenCL.so``, ``cache.json``
* - GNA
- ``gna.dll``
* - Arm® CPU
- ``-``
* - Device
- Dependency
* - CPU
- ``-``
* - GPU
- ``libOpenCL.so``, ``cache.json``
* - GNA
- ``gna.dll``
* - Arm® CPU
- ``-``
.. tab-item:: MacOS
.. dropdown:: MacOS:
.. list-table::
:header-rows: 1
.. list-table::
:header-rows: 1
* - Device
- Dependency
* - CPU
- ``-``
* - Arm® CPU
- ``-``
* - Device
- Dependency
* - CPU
- ``-``
* - Arm® CPU
- ``-``
Libraries for Execution Modes
+++++++++++++++++++++++++++++
The ``HETERO``, ``MULTI``, ``BATCH`` and ``AUTO`` execution modes can also be used explicitly or implicitly by the application. Use the following recommendation scheme to decide whether to put the appropriate libraries to the distribution package:
The ``HETERO``, ``MULTI``, ``BATCH`` and ``AUTO`` execution modes can also be used by the application explicitly or implicitly. Use the following recommendation scheme to decide whether to add the appropriate libraries to the distribution package:
- If :doc:`AUTO <openvino_docs_OV_UG_supported_plugins_AUTO>` is used explicitly in the application or `ov::Core::compile_model <classov_1_1Core.html#doxid-classov-1-1-core-1a46555f0803e8c29524626be08e7f5c5a>`__ is used without specifying a device, put ``openvino_auto_plugin`` to the distribution.
.. note::
Automatic Device Selection relies on :doc:`[inference device plugins <openvino_docs_OV_UG_Working_with_devices>`. If you are not sure about what inference devices are available on target system, put all the inference plugin libraries to the distribution. If `ov::device::priorities <groupov_runtime_cpp_prop_api.html#doxid-group-ov-runtime-cpp-prop-api-1gae88af90a18871677f39739cb0ef0101e>`__ is used for `AUTO` to specify a limited device list, grab the corresponding device plugins only.
Automatic Device Selection relies on :doc:`inference device plugins <openvino_docs_OV_UG_Working_with_devices>`. If you are not sure which inference devices are available on the target system, put all inference plugin libraries in the distribution. If `ov::device::priorities <groupov_runtime_cpp_prop_api.html#doxid-group-ov-runtime-cpp-prop-api-1gae88af90a18871677f39739cb0ef0101e>`__ is used for `AUTO` to specify a limited device list, grab the corresponding device plugins only.
- If :doc:`MULTI <openvino_docs_OV_UG_Running_on_multiple_devices>` is used explicitly, put ``openvino_auto_plugin`` to the distribution.
- If :doc:`HETERO <openvino_docs_OV_UG_Hetero_execution>` is either used explicitly or `ov::hint::performance_mode <groupov_runtime_cpp_prop_api.html#doxid-group-ov-runtime-cpp-prop-api-1ga2691fe27acc8aa1d1700ad40b6da3ba2>`__ is used with GPU, put ``openvino_hetero_plugin`` to the distribution.
- If :doc:`BATCH <openvino_docs_OV_UG_Automatic_Batching>` is either used explicitly or ``ov::hint::performance_mode`` is used with GPU, put ``openvino_batch_plugin`` to the distribution.
- If :doc:`MULTI <openvino_docs_OV_UG_Running_on_multiple_devices>` is used explicitly, put ``openvino_auto_plugin`` in the distribution.
- If :doc:`HETERO <openvino_docs_OV_UG_Hetero_execution>` is either used explicitly or `ov::hint::performance_mode <groupov_runtime_cpp_prop_api.html#doxid-group-ov-runtime-cpp-prop-api-1ga2691fe27acc8aa1d1700ad40b6da3ba2>`__ is used with GPU, put ``openvino_hetero_plugin`` in the distribution.
- If :doc:`BATCH <openvino_docs_OV_UG_Automatic_Batching>` is either used explicitly or ``ov::hint::performance_mode`` is used with GPU, put ``openvino_batch_plugin`` in the distribution.
Frontend Libraries for Reading Models
+++++++++++++++++++++++++++++++++++++
@@ -111,16 +111,16 @@ Frontend Libraries for Reading Models
OpenVINO Runtime uses frontend libraries dynamically to read models in different formats:
- ``openvino_ir_frontend`` is used to read OpenVINO IR.
- ``openvino_tensorflow_frontend`` is used to read TensorFlow file format.
- ``openvino_tensorflow_lite_frontend`` is used to read TensorFlow Lite file format.
- ``openvino_onnx_frontend`` is used to read ONNX file format.
- ``openvino_paddle_frontend`` is used to read Paddle file format.
- ``openvino_tensorflow_frontend`` is used to read the TensorFlow file format.
- ``openvino_tensorflow_lite_frontend`` is used to read the TensorFlow Lite file format.
- ``openvino_onnx_frontend`` is used to read the ONNX file format.
- ``openvino_paddle_frontend`` is used to read the Paddle file format.
Depending on the model format types that are used in the application in `ov::Core::read_model <classov_1_1Core.html#doxid-classov-1-1-core-1ae0576a95f841c3a6f5e46e4802716981>`__, pick up the appropriate libraries.
Depending on the model format types that are used in the application in `ov::Core::read_model <classov_1_1Core.html#doxid-classov-1-1-core-1ae0576a95f841c3a6f5e46e4802716981>`__, select the appropriate libraries.
.. note::
To optimize the size of final distribution package, you are recommended to convert models to OpenVINO IR by using :doc:`model conversion API <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>`. This way you don't have to keep TensorFlow, TensorFlow Lite, ONNX, PaddlePaddle, and other frontend libraries in the distribution package.
To optimize the size of the final distribution package, it is recommended to convert models to OpenVINO IR by using :doc:`model conversion API <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>`. This way you do not have to keep TensorFlow, TensorFlow Lite, ONNX, PaddlePaddle, and other frontend libraries in the distribution package.
(Legacy) Preprocessing via G-API
++++++++++++++++++++++++++++++++
@@ -136,27 +136,34 @@ Examples
**CPU + OpenVINO IR in C application**
In this example, the application is written in C language, performs inference on CPU, and reads models stored as the OpenVINO IR format. The following libraries are used:
- The ``openvino_c`` library is a main dependency of the application. It links against this library.
In this example, the application is written in C, performs inference on CPU, and reads models stored in the OpenVINO IR format.
The following libraries are used: ``openvino_c``, ``openvino``, ``openvino_intel_cpu_plugin``, and ``openvino_ir_frontend``.
- The ``openvino_c`` library is a main dependency of the application. The app links against this library.
- The ``openvino`` library is used as a private dependency for ``openvino_c`` and is also used in the deployment.
- ``openvino_intel_cpu_plugin`` is used for inference.
- ``openvino_ir_frontend`` is used to read source models.
**MULTI execution on GPU and CPU in `tput` mode**
In this example, the application is written in C++, performs inference :doc:`simultaneously on GPU and CPU devices <openvino_docs_OV_UG_Running_on_multiple_devices>` with the `ov::hint::PerformanceMode::THROUGHPUT <enumov_1_1hint_1_1PerformanceMode.html#doxid-group-ov-runtime-cpp-prop-api-1gga032aa530efa40760b79af14913d48d73a50f9b1f40c078d242af7ec323ace44b3>`__ property set, and reads models stored in the ONNX format. The following libraries are used:
In this example, the application is written in C++, performs inference :doc:`simultaneously on GPU and CPU devices <openvino_docs_OV_UG_Running_on_multiple_devices>` with the `ov::hint::PerformanceMode::THROUGHPUT <enumov_1_1hint_1_1PerformanceMode.html#doxid-group-ov-runtime-cpp-prop-api-1gga032aa530efa40760b79af14913d48d73a50f9b1f40c078d242af7ec323ace44b3>`__ property set, and reads models stored in the ONNX format.
- The ``openvino`` library is a main dependency of the application. It links against this library.
The following libraries are used: ``openvino``, ``openvino_intel_gpu_plugin``, ``openvino_intel_cpu_plugin``, ``openvino_auto_plugin``, ``openvino_auto_batch_plugin``, and ``openvino_onnx_frontend``.
- The ``openvino`` library is a main dependency of the application. The app links against this library.
- ``openvino_intel_gpu_plugin`` and ``openvino_intel_cpu_plugin`` are used for inference.
- ``openvino_auto_plugin`` is used for Multi-Device Execution.
- ``openvino_auto_batch_plugin`` can be also put to the distribution to improve the saturation of :doc:`Intel® GPU <openvino_docs_OV_UG_supported_plugins_GPU>` device. If there is no such plugin, :doc:`Automatic Batching <openvino_docs_OV_UG_Automatic_Batching>` is turned off.
- ``openvino_auto_batch_plugin`` can be also put in the distribution to improve the saturation of :doc:`Intel® GPU <openvino_docs_OV_UG_supported_plugins_GPU>` device. If there is no such plugin, :doc:`Automatic Batching <openvino_docs_OV_UG_Automatic_Batching>` is turned off.
- ``openvino_onnx_frontend`` is used to read source models.
**Auto-Device Selection between GPU and CPU**
In this example, the application is written in C++, performs inference with the :doc:`Automatic Device Selection <openvino_docs_OV_UG_supported_plugins_AUTO>` mode, limiting device list to GPU and CPU, and reads models :doc:`created using C++ code <openvino_docs_OV_UG_Model_Representation>`. The following libraries are used:
In this example, the application is written in C++, performs inference with the :doc:`Automatic Device Selection <openvino_docs_OV_UG_supported_plugins_AUTO>` mode, limiting device list to GPU and CPU, and reads models :doc:`created using C++ code <openvino_docs_OV_UG_Model_Representation>`.
- The ``openvino`` library is a main dependency of the application. It links against this library.
The following libraries are used: ``openvino``, ``openvino_auto_plugin``, ``openvino_intel_gpu_plugin``, and ``openvino_intel_cpu_plugin``.
- The ``openvino`` library is a main dependency of the application. The app links against this library.
- ``openvino_auto_plugin`` is used to enable Automatic Device Selection.
- ``openvino_intel_gpu_plugin`` and ``openvino_intel_cpu_plugin`` are used for inference. AUTO selects between CPU and GPU devices according to their physical existence on the deployed machine.
- No frontend library is needed because ``ov::Model`` is created in code.

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5adda5656edc4bbe13c6aea87465f19d6e9457ef07fd9fb48fe4a25c674937e8
size 165861

View File

@@ -118,7 +118,7 @@ Compile the model for a specific device using ``ov::Core::compile_model()``:
:fragment: [part2_4]
.. tab-item:: TensorFlow Lite
:sync: tf_lite
:sync: tflite
.. doxygensnippet:: docs/snippets/src/main.cpp
:language: cpp
@@ -165,7 +165,7 @@ Compile the model for a specific device using ``ov::Core::compile_model()``:
:fragment: [part2_4]
.. tab-item:: TensorFlow Lite
:sync: tf_lite
:sync: tflite
.. doxygensnippet:: docs/snippets/src/main.py
:language: python
@@ -212,7 +212,7 @@ Compile the model for a specific device using ``ov::Core::compile_model()``:
:fragment: [part2_4]
.. tab-item:: TensorFlow Lite
:sync: tf_lite
:sync: tflite
.. doxygensnippet:: docs/snippets/src/main.c
:language: cpp

View File

@@ -1,140 +0,0 @@
# [DEPRECATED] The LowLatency Transformation {#openvino_docs_OV_UG_lowlatency_deprecated}
@sphinxdirective
The deprecated LowLatency transformation changes the structure of the network containing :doc:`TensorIterator <openvino_docs_ops_infrastructure_TensorIterator_1>` and :doc:`Loop <openvino_docs_ops_infrastructure_Loop_5>` operations by adding the ability to work with the state, inserting the :doc:`Assign <openvino_docs_ops_infrastructure_Assign_3>` / :doc:`ReadValue <openvino_docs_ops_infrastructure_ReadValue_3>` layers, as shown in the picture below.
.. image:: _static/images/applying_low_latency.svg
After applying the transformation, ``ReadValue`` operations can receive other operations as an input, as shown in the picture above. These inputs should set the initial value for initialization of ``ReadValue`` operations. However, such initialization is not supported in the current State API implementation. Input values are ignored and the initial values for the ``ReadValue`` operations are set to 0 unless otherwise specified by the user via :ref:`State API <openvino-state-api>`.
Steps to Apply LowLatency
#########################
1. Get CNNNetwork. Either way is acceptable:
* :doc:`from IR or ONNX model <openvino_docs_OV_UG_Integrate_OV_with_your_application>`
* :doc:`from ov::Model <openvino_docs_OV_UG_Model_Representation>`
2. :doc:`Reshape <openvino_docs_OV_UG_ShapeInference>` the CNNNetwork network if necessary.
An example of such a **necessary case** is when the ``sequence_lengths`` dimension of input > 1, and it means that ``TensorIterator`` layer will have ``number_iterations`` > 1. The inputs of the network should be reshaped to set ``sequence_dimension`` to exactly 1.
Usually, the following exception, which occurs after applying a transform when trying to infer the network in a plugin, indicates the need to apply the reshape feature:
``C++ exception with description "Function is incorrect. The Assign and ReadValue operations must be used in pairs in the network."``
This means that there are several pairs of ``Assign``/``ReadValue`` operations with the same ``variable_id`` in the network and operations were inserted into each iteration of the ``TensorIterator``.
.. code-block:: cpp
// Network before reshape: Parameter (name: X, shape: [2 (sequence_lengths), 1, 16]) -> TensorIterator (num_iteration = 2, axis = 0) -> ...
cnnNetwork.reshape({"X" : {1, 1, 16});
// Network after reshape: Parameter (name: X, shape: [1 (sequence_lengths), 1, 16]) -> TensorIterator (num_iteration = 1, axis = 0) -> ...
3. Apply the LowLatency transformation.
.. code-block:: cpp
#include "ie_transformations.hpp"
...
InferenceEngine::LowLatency(cnnNetwork);
**State naming rule**: A name of a state is a concatenation of names: original ``TensorIterator`` operation, parameter of the body, and additional suffix ``variable_`` + ``id`` (0-base indexing, new indexing for each ``TensorIterator``). Use these rules to predict the name of the inserted state after the transformation is applied. For example:
.. code-block:: cpp
// Precondition in ngraph::function.
// Created TensorIterator and Parameter in body of TensorIterator with names
std::string tensor_iterator_name = "TI_name"
std::string body_parameter_name = "param_name"
std::string idx = "0"; // it's a first variable in the network
// The State will be named "TI_name/param_name/variable_0"
auto state_name = tensor_iterator_name + "//" + body_parameter_name + "//" + "variable_" + idx;
InferenceEngine::CNNNetwork cnnNetwork = InferenceEngine::CNNNetwork{function};
InferenceEngine::LowLatency(cnnNetwork);
InferenceEngine::ExecutableNetwork executableNetwork = core->LoadNetwork(/*cnnNetwork, targetDevice, configuration*/);
// Try to find the Variable by name
auto states = executableNetwork.QueryState();
for (auto& state : states) {
auto name = state.GetName();
if (name == state_name) {
// some actions
}
}
4. Use state API. See the :ref:`OpenVINO state API <openvino-state-api>` and the :ref:`Example of stateful network inference <example-of-stateful-model-inference>` sections.
Known Limitations for the LowLatency
####################################
1. Parameters connected directly to ``ReadValues`` (states) after the transformation is applied are not allowed.
Unnecessary parameters may remain on the graph after applying the transformation. The automatic handling of this case inside the transformation is currently not possible. Such parameters should be removed manually from `ngraph::Function <classngraph.html#doxid-classngraph-1a14d7fe7c605267b52c145579e12d2a5f>`__ or replaced with a constant.
.. image:: _static/images/low_latency_limitation_1.svg
:scale: 70 %
**Current solutions:**
* Replace a parameter with a constant (freeze) with the ``[0, 0, 0 … 0]`` value via :doc:`ModelOptimizer CLI <openvino_docs_MO_DG_prepare_model_convert_model_Converting_Model>`: the ``--input`` or ``--freeze_placeholder_with_value`` parameters.
* Use nGraph API to replace a parameter with a constant, as shown in the example below:
.. code-block:: cpp
// nGraph example. How to replace Parameter with Constant.
auto func = cnnNetwork.getFunction();
// Creating the new Constant with zero values.
auto new_const = std::make_shared<ngraph::opset6::Constant>( /*type, shape, std::vector with zeros*/ );
for (const auto& param : func->get_parameters()) {
// Trying to find the problematic Constant by name.
if (param->get_friendly_name() == "param_name") {
// Replacing the problematic Param with a Constant.
ngraph::replace_node(param, new_const);
// Removing problematic Parameter from ngraph::function
func->remove_parameter(param);
}
}
2. Unable to execute reshape precondition to apply the transformation correctly.
Networks can be non-reshapable. The most common reason is that the value of shapes is hardcoded in the constant somewhere in the network.
.. image:: _static/images/low_latency_limitation_2.svg
:scale: 70 %
**Current solutions:**
* Trim non-reshapable layers via :doc:`ModelOptimizer CLI <openvino_docs_MO_DG_prepare_model_convert_model_Converting_Model>` : the ``--input`` and ``--output`` parameters. For example, the parameter and the problematic constant (as shown in the picture above) can be trimmed using the ``--input Reshape_layer_name`` command-line option.
* Use nGraph API to replace the problematic constant, as shown in the example below:
.. code-block:: cpp
// nGraph example. How to replace a Constant with hardcoded values of shapes in the network with another one with the new values.
// Assume we know which Constant (const_with_hardcoded_shape) prevents the reshape from being applied.
// Then we can find this Constant by name on the network and replace it with a new one with the correct shape.
auto func = cnnNetwork.getFunction();
// Creating the new Constant with a correct shape.
// For the example shown in the picture above, the new values of the Constant should be 1, 1, 10 instead of 1, 49, 10
auto new_const = std::make_shared<ngraph::opset6::Constant>( /*type, shape, value_with_correct_shape*/ );
for (const auto& node : func->get_ops()) {
// Trying to find the problematic Constant by name.
if (node->get_friendly_name() == "name_of_non_reshapable_const") {
auto const_with_hardcoded_shape = std::dynamic_pointer_cast<ngraph::opset6::Constant>(node);
// Replacing the problematic Constant with a new one. Do this for all the problematic Constants in the network, then
// you can apply the reshape feature.
ngraph::replace_node(const_with_hardcoded_shape, new_const);
}
}
@endsphinxdirective

View File

@@ -514,7 +514,7 @@ API 2.0 fills inputs with data of the ``I64`` precision (aligned with the origin
.. tab-item:: Model created in code
:sync: model_created_in_code
:sync: model
.. tab-set::

View File

@@ -102,79 +102,67 @@ It is possible to build applications without the CMake interface by using: MSVC
**With Inference Engine of previous versions**:
.. tab-set::
.. tab:: Include dirs
.. tab-item:: Include dirs
:sync: inc-dirs
.. code-block:: sh
<INSTALL_DIR>/deployment_tools/inference_engine/include
<INSTALL_DIR>/deployment_tools/ngraph/include
.. tab-item:: Path to libs
:sync: path-libs
.. code-block:: sh
<INSTALL_DIR>/deployment_tools/inference_engine/lib/intel64/Release
<INSTALL_DIR>/deployment_tools/ngraph/lib/
.. tab-item:: Shared libs
:sync: shared-libs
.. code-block:: sh
// UNIX systems
inference_engine.so ngraph.so
// Windows
inference_engine.dll ngraph.dll
.. tab-item:: (Windows) .lib files
:sync: windows-lib-files
.. code-block:: sh
ngraph.lib
inference_engine.lib
.. code-block:: sh
<INSTALL_DIR>/deployment_tools/inference_engine/include
<INSTALL_DIR>/deployment_tools/ngraph/include
.. tab:: Path to libs
.. code-block:: sh
<INSTALL_DIR>/deployment_tools/inference_engine/lib/intel64/Release
<INSTALL_DIR>/deployment_tools/ngraph/lib/
.. tab:: Shared libs
.. code-block:: sh
// UNIX systems
inference_engine.so ngraph.so
// Windows
inference_engine.dll ngraph.dll
.. tab:: (Windows) .lib files
.. code-block:: sh
ngraph.lib
inference_engine.lib
**With OpenVINO Runtime 2022.1 (API 2.0)**:
.. tab-set::
.. tab:: Include dirs
.. code-block:: sh
<INSTALL_DIR>/runtime/include
.. tab:: Path to libs
.. code-block:: sh
<INSTALL_DIR>/runtime/lib/intel64/Release
.. tab:: Shared libs
.. code-block:: sh
// UNIX systems
openvino.so
// Windows
openvino.dll
.. tab:: (Windows) .lib files
.. code-block:: sh
openvino.lib
.. tab-item:: Include dirs
:sync: inc-dirs
.. code-block:: sh
<INSTALL_DIR>/runtime/include
.. tab-item:: Path to libs
:sync: path-libs
.. code-block:: sh
<INSTALL_DIR>/runtime/lib/intel64/Release
.. tab-item:: Shared libs
:sync: shared-libs
.. code-block:: sh
// UNIX systems
openvino.so
// Windows
openvino.dll
.. tab-item:: (Windows) .lib files
:sync: windows-lib-files
.. code-block:: sh
openvino.lib
Clearer Library Structure for Deployment
########################################

View File

@@ -227,34 +227,6 @@ Using Image Scaling
Converting Color Space
++++++++++++++++++++++
**Inference Engine API**
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_preprocessing_migration.cpp
:language: cpp
:fragment: color_space
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_preprocessing_migration.py
:language: python
:fragment: color_space
.. tab-item:: C
:sync: c
.. doxygensnippet:: docs/snippets/ov_preprocessing_migration.c
:language: c
:fragment: c_api_ppp
**API 2.0**

View File

@@ -31,7 +31,7 @@ OpenVINO™ Runtime enables you to use different approaches to work with model i
:fragment: [all_inputs_ouputs]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_model_snippets.py
:language: cpp
@@ -63,7 +63,7 @@ OpenVINO™ Runtime provides two types for shape representation:
:fragment: [ov:partial_shape]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_model_snippets.py
:language: cpp
@@ -108,7 +108,7 @@ To build an ``:ref:`ov::Model <doxid-classov_1_1_model>``` instance from ``opset
:fragment: [ov:include]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_model_snippets.py
:language: cpp
@@ -127,7 +127,7 @@ The following code demonstrates how to create a simple model:
:fragment: [ov:create_simple_model]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_model_snippets.py
:language: cpp
@@ -146,7 +146,7 @@ The following code creates a model with several outputs:
:fragment: [ov:create_advanced_model]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_model_snippets.py
:language: cpp
@@ -172,7 +172,7 @@ OpenVINO™ provides several debug capabilities:
:fragment: [ov:visualize]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_model_snippets.py
:language: cpp
@@ -208,7 +208,7 @@ OpenVINO™ provides several debug capabilities:
:fragment: [ov:serialize]
.. tab-item:: Python
:sync: py
:sync: python
.. doxygensnippet:: docs/snippets/ov_model_snippets.py
:language: cpp

View File

@@ -7,7 +7,6 @@
:hidden:
openvino_docs_OV_UG_lowlatency2
openvino_docs_OV_UG_lowlatency_deprecated
Several use cases require processing of data sequences. When length of a sequence is known and small enough,
@@ -197,11 +196,7 @@ refer to the speech sample and a demo in the :doc:`Samples Overview <openvino_do
LowLatency Transformations
##########################
If the original framework does not have a special API for working with states, OpenVINO representation will not contain ``Assign``/``ReadValue`` layers after importing the model. For example, if the original ONNX model contains RNN operations, OpenVINO IR will contain :doc:`TensorIterator <openvino_docs_ops_infrastructure_TensorIterator_1>` operations and the values will be obtained only after execution of the whole ``TensorIterator`` primitive. Intermediate values from each iteration will not be available. Working with these intermediate values of each iteration is enabled by special :doc:`LowLatency <openvino_docs_OV_UG_lowlatency_deprecated>` and :doc:`LowLatency2 <openvino_docs_OV_UG_lowlatency2>` transformations, which also help receive these values with a low latency after each infer request.
.. note::
It is recommended to use LowLatency2, as LowLatency transformation has already been deprecated.
If the original framework does not have a special API for working with states, OpenVINO representation will not contain ``Assign``/``ReadValue`` layers after importing the model. For example, if the original ONNX model contains RNN operations, OpenVINO IR will contain :doc:`TensorIterator <openvino_docs_ops_infrastructure_TensorIterator_1>` operations and the values will be obtained only after execution of the whole ``TensorIterator`` primitive. Intermediate values from each iteration will not be available. Working with these intermediate values of each iteration is enabled by special and :doc:`LowLatency2 <openvino_docs_OV_UG_lowlatency2>` transformation, which also help receive these values with a low latency after each infer request.
TensorIterator/Loop operations
++++++++++++++++++++++++++++++

View File

@@ -45,21 +45,18 @@ Note that OpenVINO™ Runtime enables you to use “GPU” as an alias for “GP
The following commands are accepted by the API:
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/MULTI0.cpp
:language: cpp
:fragment: [part0]
.. tab:: C++
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_multi.py
:language: python
:fragment: [MULTI_0]
.. doxygensnippet:: docs/snippets/MULTI0.cpp
:language: cpp
:fragment: [part0]
.. tab:: Python
.. doxygensnippet:: docs/snippets/ov_multi.py
:language: python
:fragment: [MULTI_0]
To check what devices are present in the system, you can use the Device API. For information on how to do it, check :doc:`Query device properties and configuration <openvino_docs_OV_UG_query_api>`.
@@ -70,21 +67,18 @@ Configuring Individual Devices and Creating the Multi-Device On Top
As mentioned previously, executing inference with MULTI may be set up by configuring individual devices before creating the "MULTI" device on top. It may be considered for performance reasons.
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/MULTI4.cpp
:language: cpp
:fragment: [part4]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_multi.py
:language: python
:fragment: [MULTI_4]
.. tab:: C++
.. doxygensnippet:: docs/snippets/MULTI4.cpp
:language: cpp
:fragment: [part4]
.. tab:: Python
.. doxygensnippet:: docs/snippets/ov_multi.py
:language: python
:fragment: [MULTI_4]
Alternatively, you can combine all the individual device settings into a single config file and load it for MULTI to parse. See the code example in the next section.
@@ -95,13 +89,12 @@ Querying the Optimal Number of Inference Requests
When using MULTI, you don't need to sum over included devices yourself, you can query the optimal number of requests directly,
using the :doc:`configure devices <openvino_docs_OV_UG_query_api>` property:
.. tab-set::
.. tab-item:: C++
.. doxygensnippet:: docs/snippets/MULTI5.cpp
:language: cpp
:fragment: [part5]
.. tab:: C++
.. doxygensnippet:: docs/snippets/MULTI5.cpp
:language: cpp
:fragment: [part5]
Using the Multi-Device with OpenVINO Samples and Benchmarking Performance

View File

@@ -255,7 +255,7 @@ To determine if the output has dynamic dimensions, the ``partial_shape`` propert
:fragment: ov_dynamic_shapes:print_dynamic
If the output has any dynamic dimensions, they will be reported as ``?`` or as a range (e.g. ``1..10``).
If the output has any dynamic dimensions, they will be reported as ``?`` or as a range (e.g.``1..10``).
Output layers can also be checked for dynamic dimensions using the ``partial_shape.is_dynamic()`` property. This can be used on an entire output layer, or on an individual dimension, as shown in these examples:

View File

@@ -49,21 +49,18 @@ Using the Performance Hints: Basic API
In the example code snippet below, ``ov::hint::PerformanceMode::THROUGHPUT`` is specified for the ``ov::hint::performance_mode`` property for ``compile_model``:
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [compile_model]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [compile_model]
.. tab:: C++
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [compile_model]
.. tab:: Python
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [compile_model]
Additional (Optional) Hints from the App
@@ -72,21 +69,18 @@ Additional (Optional) Hints from the App
For an application that processes 4 video streams, the most future-proof way to communicate the limitation of the parallel slack is to equip the performance hint with the optional ``ov::hint::num_requests`` configuration key set to 4.
As mentioned earlier, this will limit the batch size for the GPU and the number of inference streams for the CPU. Thus, each device uses the ``ov::hint::num_requests`` while converting the hint to the actual device configuration options:
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [hint_num_requests]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [hint_num_requests]
.. tab:: C++
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [hint_num_requests]
.. tab:: Python
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [hint_num_requests]
Optimal Number of Inference Requests
@@ -94,21 +88,18 @@ Optimal Number of Inference Requests
The hints are used on the presumption that the application queries ``ov::optimal_number_of_infer_requests`` to create and run the returned number of requests simultaneously:
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [query_optimal_num_requests]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [query_optimal_num_requests]
.. tab:: C++
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [query_optimal_num_requests]
.. tab:: Python
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [query_optimal_num_requests]
While an application is free to create more requests if needed (for example to support asynchronous inputs population) **it is very important to at least run the** ``ov::optimal_number_of_infer_requests`` **of the inference requests in parallel**. It is recommended for efficiency, or device utilization, reasons.
@@ -135,21 +126,18 @@ Combining the Hints and Individual Low-Level Settings
While sacrificing the portability to some extent, it is possible to combine the hints with individual device-specific settings.
For example, use ``ov::hint::PerformanceMode::THROUGHPUT`` to prepare a general configuration and override any of its specific values:
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [hint_plus_low_level]
.. tab:: C++
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [hint_plus_low_level]
.. doxygensnippet:: docs/snippets/ov_auto_batching.cpp
:language: cpp
:fragment: [hint_plus_low_level]
.. tab:: Python
.. doxygensnippet:: docs/snippets/ov_auto_batching.py
:language: python
:fragment: [hint_plus_low_level]
Testing Performance of the Hints with the Benchmark_App

View File

@@ -11,7 +11,7 @@ Previously, these 2 precisions were interrelated, and model storage precision co
With the ``2023.0`` release this behavior has been changed and the inference precision no longer depends on the precision of IR. Now users have several knobs to find the balance between model performance and accuracy.
Essentially, the IR precision becomes a way of compressing the model by reducing the precision of the weights, and it does not affect how the devices execute the model. This change clears up a lot of confusion where, for example, you couldn't execute a high-performance model on the GPU by default, and the behavior between devicess was different.
Essentially, the IR precision becomes a way of compressing the model by reducing the precision of the weights, and it does not affect how the devices execute the model. This change clears up a lot of confusion where, for example, you couldn't execute a high-performance model on the GPU by default, and the behavior between devices was different.
This guide will focus on how to control inference precision. And using lower precision is important for performance because compute bandwidth tends to be higher for smaller data types, and hardware often has special blocks for efficient multiply-accumulate operations with smaller data types only (e.g. Intel Xᵉ Matrix Extensions (XMX) on GPU and Intel Advanced Matrix Extensions (AMX) on CPU do not support ``f32``). Also, I/O operations requires less memory due to the smaller tensor byte size. This guide will focus on how to control inference precision.
@@ -28,21 +28,17 @@ If the model has been quantized using :doc:`OpenVINO optimization tools <ptq_int
Code examples:
.. tab-set::
.. tab:: C++
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/cpu/ov_execution_mode.cpp
:language: cpp
:fragment: [ov:execution_mode:part0]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/cpu/ov_execution_mode.py
:language: python
:fragment: [ov:execution_mode:part0]
.. doxygensnippet:: docs/snippets/cpu/ov_execution_mode.cpp
:language: cpp
:fragment: [ov:execution_mode:part0]
.. tab:: Python
.. doxygensnippet:: docs/snippets/cpu/ov_execution_mode.py
:language: python
:fragment: [ov:execution_mode:part0]
Inference Precision
###################

View File

@@ -103,9 +103,9 @@ Additional Resources
* :doc:`Preprocessing Details <openvino_docs_OV_UG_Preprocessing_Details>`
* :doc:`Layout API overview <openvino_docs_OV_UG_Layout_Overview>`
* :doc:`Model Optimizer - Optimize Preprocessing Computation <openvino_docs_MO_DG_Additional_Optimization_Use_Cases>`
* :doc:`Model Caching Overview <openvino_docs_OV_UG_Model_caching_overview>`
* The ``:ref:`ov::preprocess::PrePostProcessor <doxid-classov-1-1preprocess-1-1-pre-post-processor>``` C++ class documentation
* The ``:ref:`ov::pass::Serialize <doxid-classov-1-1pass-1-1-serialize>``` - pass to serialize model to XML/BIN
* The ``:ref:`ov::set_batch <doxid-namespaceov-1a3314e2ff91fcc9ffec05b1a77c37862b>``` - update batch dimension for a given model
* :doc:`Model Caching Overview<openvino_docs_OV_UG_Model_caching_overview>`
* The `ov::preprocess::PrePostProcessor <classov_1_1preprocess_1_1PrePostProcessor.html#doxid-classov-1-1preprocess-1-1-pre-post-processor>` C++ class documentation
* The `ov::pass::Serialize <classov_1_1pass_1_1Serialize.html#doxid-classov-1-1pass-1-1-serialize>` - pass to serialize model to XML/BIN
* The `ov::set_batch <namespaceov.html#doxid-namespaceov-1a3314e2ff91fcc9ffec05b1a77c37862b>` - update batch dimension for a given model
@endsphinxdirective

View File

@@ -46,18 +46,15 @@ Supported Inference Data Types
CPU plugin supports the following data types as inference precision of internal primitives:
- Floating-point data types:
- ``f32`` (Intel® x86-64, Arm®)
- ``bf16``(Intel® x86-64)
- Integer data types:
- ``i32`` (Intel® x86-64, Arm®)
- Quantized data types:
- ``u8`` (Intel® x86-64)
- ``i8`` (Intel® x86-64)
- ``u1`` (Intel® x86-64)
| - Floating-point data types:
| - f32 (Intel® x86-64, Arm®)
| - bf16 (Intel® x86-64)
| - Integer data types:
| - i32 (Intel® x86-64, Arm®)
| - Quantized data types:
| - u8 (Intel® x86-64)
| - i8 (Intel® x86-64)
| - u1 (Intel® x86-64)
:doc:`Hello Query Device C++ Sample <openvino_inference_engine_samples_hello_query_device_README>` can be used to print out supported data types for all detected devices.
@@ -85,8 +82,8 @@ Floating Point Data Types Specifics
CPU plugin supports the following floating-point data types as inference precision of internal primitives:
- ``f32`` (Intel® x86-64, Arm®)
- ``bf16`` (Intel® x86-64)
- f32 (Intel® x86-64, Arm®)
- bf16 (Intel® x86-64)
The default floating-point precision of a CPU primitive is ``f32``. To support the ``f16`` OpenVINO IR the plugin internally converts
all the ``f16`` values to ``f32`` and all the calculations are performed using the native precision of ``f32``.
@@ -279,19 +276,19 @@ For more details, see :doc:`preprocessing API guide <openvino_docs_OV_UG_Preproc
.. dropdown:: The CPU plugin support for handling tensor precision conversion is limited to the following ov::element types:
* ``bf16``
* ``f16``
* ``f32``
* ``f64``
* ``i8``
* ``i16``
* ``i32``
* ``i64``
* ``u8``
* ``u16``
* ``u32``
* ``u64``
* ``boolean``
* bf16
* f16
* f32
* f64
* i8
* i16
* i32
* i64
* u8
* u16
* u32
* u64
* boolean
Model Caching
@@ -359,9 +356,7 @@ Read-only properties
External Dependencies
###########################################################
For some performance-critical DL operations, the CPU plugin uses third-party libraries:
- `oneDNN <https://github.com/oneapi-src/oneDNN>`__ (Intel® x86-64, Arm®)
- `Compute Library <https://github.com/ARM-software/ComputeLibrary>`__ (Arm®)
@@ -383,48 +378,40 @@ User can use the following properties to limit available CPU resource for model
- ``ov::hint::enable_hyper_threading`` limits the use of one or two logical processors per CPU core when platform has CPU hyperthreading enabled.
If there is only one logical processor per CPU core, such as Efficient-cores, this property has no effect, and CPU inference uses all logical processors.
.. tab-set::
.. tab:: C++
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/cpu/multi_threading.cpp
:language: cpp
:fragment: [ov:intel_cpu:multi_threading:part0]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/cpu/multi_threading.py
:language: python
:fragment: [ov:intel_cpu:multi_threading:part0]
.. doxygensnippet:: docs/snippets/cpu/multi_threading.cpp
:language: cpp
:fragment: [ov:intel_cpu:multi_threading:part0]
.. tab:: Python
.. doxygensnippet:: docs/snippets/cpu/multi_threading.py
:language: python
:fragment: [ov:intel_cpu:multi_threading:part0]
.. note::
``ov::hint::scheduling_core_type`` and ``ov::hint::enable_hyper_threading`` only support Intel® x86-64 CPU on Linux and Windows in current release.
By default, OpenVINO Runtime will enable CPU threads pinning for better performance. User also can use property ``ov::hint::enable_cpu_pinning`` to switch it off. Disable threads pinning might be benefitial in complex applications with several workloads executed in parallel.
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/cpu/multi_threading.cpp
:language: cpp
:fragment: [ov:intel_cpu:multi_threading:part1]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/cpu/multi_threading.py
:language: python
:fragment: [ov:intel_cpu:multi_threading:part1]
By default, OpenVINO Runtime will enable CPU threads pinning for better performance. User also can use property ``ov::hint::enable_cpu_pinning`` to switch it off. Disable threads pinning might be beneficial in complex applications with several workloads executed in parallel.
.. tab:: C++
.. doxygensnippet:: docs/snippets/cpu/multi_threading.cpp
:language: cpp
:fragment: [ov:intel_cpu:multi_threading:part1]
.. tab:: Python
.. doxygensnippet:: docs/snippets/cpu/multi_threading.py
:language: python
:fragment: [ov:intel_cpu:multi_threading:part1]
user can check the :doc:`optimization guide <openvino_docs_deployment_optimization_guide_tput_advanced>` for details on multi-stream execution
.. note::
``ov::hint::enable_cpu_pinning`` only support Linux in current release.
Denormals Optimization
@@ -455,21 +442,18 @@ effectiveness and safety of the settings.
To enable denormals optimization in the application, the ``denormals_optimization`` property must be set to ``True``:
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_denormals.cpp
:language: cpp
:fragment: [ov:intel_cpu:denormals_optimization:part0]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_denormals.py
:language: python
:fragment: [ov:intel_cpu:denormals_optimization:part0]
.. tab:: C++
.. doxygensnippet:: docs/snippets/ov_denormals.cpp
:language: cpp
:fragment: [ov:intel_cpu:denormals_optimization:part0]
.. tab:: Python
.. doxygensnippet:: docs/snippets/ov_denormals.py
:language: python
:fragment: [ov:intel_cpu:denormals_optimization:part0]
Sparse weights decompression (Intel® x86-64)
@@ -499,21 +483,17 @@ which means the option is disabled.
Code examples of how to use ``sparse_weights_decompression_rate``:
.. tab-set::
.. tab:: C++
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/cpu/ov_sparse_weights_decompression.cpp
:language: cpp
:fragment: [ov:intel_cpu:sparse_weights_decompression:part0]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/cpu/ov_sparse_weights_decompression.py
:language: python
:fragment: [ov:intel_cpu:sparse_weights_decompression:part0]
.. doxygensnippet:: docs/snippets/cpu/ov_sparse_weights_decompression.cpp
:language: cpp
:fragment: [ov:intel_cpu:sparse_weights_decompression:part0]
.. tab:: Python
.. doxygensnippet:: docs/snippets/cpu/ov_sparse_weights_decompression.py
:language: python
:fragment: [ov:intel_cpu:sparse_weights_decompression:part0]
.. note::
@@ -528,7 +508,6 @@ from perf counters log. The "exec type" field will contain the implementation ty
MatMul_1800 EXECUTED layerType: FullyConnected execType: brgemm_avx512_amx_sparse_I8 realTime (ms): 0.050000 cpuTime (ms): 0.050000
Limitations
-----------------------------------------------------------

View File

@@ -29,20 +29,20 @@ Feature Support Matrix
The table below demonstrates support of key features by OpenVINO device plugins.
========================================================================================= =============== =============== =============== ========================
Capability CPU GPU GNA Arm® CPU
========================================================================================= =============== =============== =============== ========================
:doc:`Heterogeneous execution <openvino_docs_OV_UG_Hetero_execution>` Yes Yes No Yes
:doc:`Multi-device execution <openvino_docs_OV_UG_Running_on_multiple_devices>` Yes Yes Partial Yes
:doc:`Automatic batching <openvino_docs_OV_UG_Automatic_Batching>` No Yes No No
:doc:`Multi-stream execution <openvino_docs_deployment_optimization_guide_tput>` Yes Yes No Yes
:doc:`Models caching <openvino_docs_OV_UG_Model_caching_overview>` Yes Partial Yes No
:doc:`Dynamic shapes <openvino_docs_OV_UG_DynamicShapes>` Yes Partial No No
:doc:`Import/Export <openvino_ecosystem>` Yes No Yes No
:doc:`Preprocessing acceleration <openvino_docs_OV_UG_Preprocessing_Overview>` Yes Yes No Partial
:doc:`Stateful models <openvino_docs_OV_UG_model_state_intro>` Yes No Yes No
:doc:`Extensibility <openvino_docs_Extensibility_UG_Intro>` Yes Yes No No
========================================================================================= =============== =============== =============== ========================
========================================================================================= ============================ =============== ===============
Capability CPU GPU GNA
========================================================================================= ============================ =============== ===============
:doc:`Heterogeneous execution <openvino_docs_OV_UG_Hetero_execution>` Yes Yes No
:doc:`Multi-device execution <openvino_docs_OV_UG_Running_on_multiple_devices>` Yes Yes Partial
:doc:`Automatic batching <openvino_docs_OV_UG_Automatic_Batching>` No Yes No
:doc:`Multi-stream execution <openvino_docs_deployment_optimization_guide_tput>` Yes (Intel® x86-64 only) Yes No
:doc:`Models caching <openvino_docs_OV_UG_Model_caching_overview>` Yes Partial Yes
:doc:`Dynamic shapes <openvino_docs_OV_UG_DynamicShapes>` Yes Partial No
:doc:`Import/Export <openvino_ecosystem>` Yes No Yes
:doc:`Preprocessing acceleration <openvino_docs_OV_UG_Preprocessing_Overview>` Yes Yes No
:doc:`Stateful models <openvino_docs_OV_UG_model_state_intro>` Yes No Yes
:doc:`Extensibility <openvino_docs_Extensibility_UG_Intro>` Yes Yes No
========================================================================================= ============================ =============== ===============
For more details on plugin-specific feature limitations, see the corresponding plugin pages.
@@ -66,14 +66,11 @@ The OpenVINO Runtime API features dedicated methods of enumerating devices and t
A simple programmatic way to enumerate the devices and use with the multi-device is as follows:
.. tab-set::
.. tab:: C++
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/MULTI2.cpp
:language: cpp
:fragment: [part2]
.. doxygensnippet:: docs/snippets/MULTI2.cpp
:language: cpp
:fragment: [part2]
@@ -90,14 +87,12 @@ For example, this is how two GPUs can be listed (iGPU is always GPU.0):
So, the explicit configuration to use both would be "MULTI:GPU.1,GPU.0". Accordingly, the code that loops over all available devices of the "GPU" type only is as follows:
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/MULTI3.cpp
:language: cpp
:fragment: [part3]
.. tab:: C++
.. doxygensnippet:: docs/snippets/MULTI3.cpp
:language: cpp
:fragment: [part3]

View File

@@ -213,17 +213,14 @@ Profiling
The GNA plugin allows turning on profiling, using the ``ov::enable_profiling`` property.
With the following methods, you can collect profiling information with various performance data about execution on GNA:
.. tab-set::
.. tab-item:: C++
:sync: cpp
``ov::InferRequest::get_profiling_info``
.. tab-item:: Python
:sync: py
``openvino.runtime.InferRequest.get_profiling_info``
.. tab:: C++
``ov::InferRequest::get_profiling_info``
.. tab:: Python
``openvino.runtime.InferRequest.get_profiling_info``
The current GNA implementation calculates counters for the whole utterance scoring and does not provide per-layer information.
@@ -259,33 +256,31 @@ Read-write Properties
In order to take effect, the following parameters must be set before model compilation or passed as additional arguments to ``ov::Core::compile_model()``:
- ``ov::cache_dir``
- ``ov::enable_profiling``
- ``ov::hint::inference_precision``
- ``ov::hint::num_requests``
- ``ov::intel_gna::compile_target``
- ``ov::intel_gna::firmware_model_image_path``
- ``ov::intel_gna::execution_target``
- ``ov::intel_gna::pwl_design_algorithm``
- ``ov::intel_gna::pwl_max_error_percent``
- ``ov::intel_gna::scale_factors_per_input``
- ov::cache_dir
- ov::enable_profiling
- ov::hint::inference_precision
- ov::hint::num_requests
- ov::intel_gna::compile_target
- ov::intel_gna::firmware_model_image_path
- ov::intel_gna::execution_target
- ov::intel_gna::pwl_design_algorithm
- ov::intel_gna::pwl_max_error_percent
- ov::intel_gna::scale_factors_per_input
These parameters can be changed after model compilation ``ov::CompiledModel::set_property``:
- ``ov::hint::performance_mode``
- ``ov::intel_gna::execution_mode``
- ``ov::log::level``
- ov::hint::performance_mode
- ov::intel_gna::execution_mode
- ov::log::level
Read-only Properties
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- ``ov::available_devices``
- ``ov::device::capabilities``
- ``ov::device::full_name``
- ``ov::intel_gna::library_full_version``
- ``ov::optimal_number_of_infer_requests``
- ``ov::range_for_async_infer_requests``
- ``ov::supported_properties``
- ov::available_devices
- ov::device::capabilities
- ov::device::full_name
- ov::intel_gna::library_full_version
- ov::optimal_number_of_infer_requests
- ov::range_for_async_infer_requests
- ov::supported_properties
Limitations
###########################################################
@@ -315,8 +310,8 @@ a convolution kernel moves in a single direction. Initially, a limited subset of
previous feature set including:
* **2D VALID Convolution With Small 2D Kernels:** Two-dimensional convolutions with the following kernel dimensions
[``H``, ``W``] are supported: [1,1], [2,2], [3,3], [2,1], [3,1], [4,1], [5,1], [6,1], [7,1], [1,2], or [1,3].
Input tensor dimensions are limited to [1,8,16,16] <= [``N``, ``C``, ``H``, ``W``] <= [1,120,384,240]. Up to 384 ``C``
[``H``,``W``] are supported: [1,1], [2,2], [3,3], [2,1], [3,1], [4,1], [5,1], [6,1], [7,1], [1,2], or [1,3].
Input tensor dimensions are limited to [1,8,16,16] <= [``N``,``C``,``H``,``W``] <= [1,120,384,240]. Up to 384 ``C``
channels may be used with a subset of kernel sizes (see the table below). Up to 256 kernels (output channels)
are supported. Pooling is limited to pool shapes of [1,1], [2,2], or [3,3]. Not all combinations of kernel
shape and input tensor shape are supported (see the tables below for exact limitations).

View File

@@ -44,112 +44,87 @@ Creation of RemoteContext from Native Handle
To create the ``ov::RemoteContext`` object for user context, explicitly provide the context to the plugin using constructor for one
of ``ov::RemoteContext`` derived classes.
.. tab-set::
.. tab-item:: Linux/C++
:sync: linux-cpp
.. tab:: Linux/C++
.. tab-set::
.. tab-item:: Create from cl_context
:sync: create-from-cl-context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_context]
.. tab-item:: Create from cl_queue
:sync: create-from-cl-queue
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_queue]
.. tab-item:: Create from VADisplay
:sync: create-from-vadisplay
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_va_display]
.. tab-item:: Windows/C++
:sync: windows-cpp
.. tab:: Create from cl_context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_context]
.. tab-set::
.. tab-item:: Create from cl_context
:sync: create-from-cl-context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_context]
.. tab-item:: Create from cl_queue
:sync: create-from-cl-queue
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_queue]
.. tab-item:: Create from ID3D11Device
:sync: create-from-id3d11device
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_d3d_device]
.. tab-item:: Linux/C
:sync: linux-c
.. tab:: Create from cl_queue
.. tab-set::
.. tab-item:: Create from cl_context
:sync: create-from-cl-context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_context]
.. tab-item:: Create from cl_queue
:sync: create-from-cl-queue
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_queue]
.. tab-item:: Create from VADisplay
:sync: create-from-vadisplay
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_va_display]
.. tab-item:: Windows/C
:sync: windows-c
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_queue]
.. tab-set::
.. tab-item:: Create from cl_context
:sync: create-from-cl-context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_context]
.. tab-item:: Create from cl_queue
:sync: create-from-cl-queue
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_queue]
.. tab-item:: Create from ID3D11Device
:sync: create-from-id3d11device
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_d3d_device]
.. tab:: Create from VADisplay
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_va_display]
.. tab:: Windows/C++
.. tab:: Create from cl_context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_context]
.. tab:: Create from cl_queue
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_cl_queue]
.. tab:: Create from ID3D11Device
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [context_from_d3d_device]
.. tab:: Linux/C
.. tab:: Create from cl_context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_context]
.. tab:: Create from cl_queue
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_queue]
.. tab:: Create from VADisplay
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_va_display]
.. tab:: Windows/C
.. tab:: Create from cl_context
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_context]
.. tab:: Create from cl_queue
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_cl_queue]
.. tab:: Create from ID3D11Device
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [context_from_d3d_device]
Getting RemoteContext from the Plugin
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -160,46 +135,33 @@ Once the plugin options have been changed, the internal context is replaced by t
To request the current default context of the plugin, use one of the following methods:
.. tab-set::
.. tab:: C++
.. tab-item:: C++
:sync: cpp
.. tab:: Get context from Core
.. tab-set::
.. tab-item:: Get context from Core
:sync: context-core
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [default_context_from_core]
.. tab-item:: Get context from compiled model
:sync: context-compiled-model
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [default_context_from_model]
.. tab-item:: C
:sync: c
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [default_context_from_core]
.. tab-set::
.. tab-item:: Get context from Core
:sync: context-core
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [default_context_from_core]
.. tab-item:: Get context from compiled model
:sync: context-compiled-model
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [default_context_from_model]
.. tab:: Get context from compiled model
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
:fragment: [default_context_from_model]
.. tab:: C
.. tab:: Get context from Core
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [default_context_from_core]
.. tab:: Get context from compiled model
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [default_context_from_model]
Memory Sharing Between Application and GPU Plugin
###########################################################
@@ -229,7 +191,7 @@ For more details, see the code snippets below:
:fragment: [wrap_usm_pointer]
.. tab-item:: cl_mem
:sync: cl-mem
:sync: cl_mem
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
@@ -276,7 +238,6 @@ For more details, see the code snippets below:
:fragment: [allocate_usm_device]
.. tab-item:: cl::Buffer
:sync: buffer
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation.cpp
:language: cpp
@@ -297,7 +258,7 @@ For more details, see the code snippets below:
:fragment: [wrap_usm_pointer]
.. tab-item:: cl_mem
:sync: cl-mem
:sync: cl_mem
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
@@ -306,9 +267,9 @@ For more details, see the code snippets below:
.. tab-item:: cl::Buffer
:sync: buffer
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [wrap_cl_buffer]
.. doxygensnippet:: docs/snippets/gpu/remote_objects_creation_c.cpp
:language: c
:fragment: [wrap_cl_buffer]
.. tab-item:: cl::Image2D
:sync: image2D
@@ -362,111 +323,85 @@ To support the direct consumption of a hardware video decoder output, the GPU pl
To ensure that the plugin generates a correct execution graph, static preprocessing
should be added before model compilation:
.. tab-set::
.. tab:: two-plane
.. tab-item:: two-plane
:sync: two_plane
.. tab:: C++
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes.cpp
:language: cpp
:fragment: [init_preproc]
.. tab-item:: C
:sync: c
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes_c.cpp
:language: c
:fragment: [init_preproc]
.. tab-item:: single-plane
:sync: single_plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_single_plane.cpp
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes.cpp
:language: cpp
:fragment: [init_preproc]
.. tab-item:: NV12 to Grey
:sync: nv12-grey
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_to_gray.cpp
:language: cpp
.. tab:: C
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes_c.cpp
:language: c
:fragment: [init_preproc]
.. tab:: single-plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_single_plane.cpp
:language: cpp
:fragment: [init_preproc]
.. tab:: NV12 to Grey
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_to_gray.cpp
:language: cpp
:fragment: [init_preproc]
Since the ``ov::intel_gpu::ocl::ClImage2DTensor`` and its derived classes do not support batched surfaces,
if batching and surface sharing are required at the same time,
inputs need to be set via the ``ov::InferRequest::set_tensors`` method with vector of shared surfaces for each plane:
.. tab-set::
.. tab-item:: Single Batch
:sync: single-batch
.. tab-set::
.. tab:: Single Batch
.. tab-item:: two-plane
:sync: two-plane
.. tab:: two-plane
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes.cpp
:language: cpp
:fragment: [single_batch]
.. tab-item:: C
:sync: cpp
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes_c.cpp
:language: c
:fragment: [single_batch]
.. tab-item:: single-plane
:sync: single-plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_single_plane.cpp
:language: cpp
:fragment: [single_batch]
.. tab-item:: NV12 to Grey
:sync: nv12-grey
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_to_gray.cpp
:language: cpp
:fragment: [single_batch]
.. tab-item:: Multiple Batches
:sync: multiple-batches
.. tab:: C++
.. tab-set::
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes.cpp
:language: cpp
:fragment: [single_batch]
.. tab:: C
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes_c.cpp
:language: c
:fragment: [single_batch]
.. tab:: single-plane
.. tab-item:: two-plane
:sync: two-plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes.cpp
:language: cpp
:fragment: [batched_case]
.. tab-item:: single-plane
:sync: single-plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_single_plane.cpp
:language: cpp
:fragment: [batched_case]
.. tab-item:: NV12 to Grey
:sync: single-plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_to_gray.cpp
:language: cpp
:fragment: [batched_case]
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_single_plane.cpp
:language: cpp
:fragment: [single_batch]
.. tab:: NV12 to Grey
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_to_gray.cpp
:language: cpp
:fragment: [single_batch]
.. tab:: Multiple Batches
.. tab:: two-plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_two_planes.cpp
:language: cpp
:fragment: [batched_case]
.. tab:: single-plane
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_single_plane.cpp
:language: cpp
:fragment: [batched_case]
.. tab:: NV12 to Grey
.. doxygensnippet:: docs/snippets/gpu/preprocessing_nv12_to_gray.cpp
:language: cpp
:fragment: [batched_case]
I420 color format can be processed in a similar way
@@ -539,22 +474,18 @@ To see pseudo-code of usage examples, refer to the sections below.
:fragment: [context_sharing_user_handle]
.. dropdown:: Direct Consuming of the NV12 VAAPI Video Decoder Surface on Linux
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/gpu/context_sharing_va.cpp
:language: cpp
:fragment: [context_sharing_va]
.. tab-item:: C
:sync: c
.. doxygensnippet:: docs/snippets/gpu/context_sharing_va_c.cpp
:language: c
:fragment: [context_sharing_va]
.. tab:: C++
.. doxygensnippet:: docs/snippets/gpu/context_sharing_va.cpp
:language: cpp
:fragment: [context_sharing_va]
.. tab:: C
.. doxygensnippet:: docs/snippets/gpu/context_sharing_va_c.cpp
:language: c
:fragment: [context_sharing_va]
See Also
#######################################

Some files were not shown because too many files have changed in this diff Show More