Compare commits

...

992 Commits

Author SHA1 Message Date
Anastasiia Pnevskaia
c7cde6a102 Removed saved_model_tags from OVC, improved help. (#18785)
* Removed saved_model_tags, improved help.

* Fixed help, removed to string conversion of params.

* Help corrections.

* Small correction.

* Corrected wrong changes.

* Corrected wrong changes.

* Fixed arguments creating in cli parser.

* Renamed extensions parameter to extension.
2023-07-28 15:46:47 +04:00
Maxim Vafin
481721e979 [PT FE] Partially disable freezing for int8 and uint8 weights (#18827) 2023-07-28 13:37:01 +02:00
Georgy Krivoruchko
9bf5b6effb Fixed loading error when we see string type (#18837) 2023-07-28 11:02:50 +00:00
Vladislav Golubev
5e846a0433 [CPU] Extensions shape inference issue fix (#18824) 2023-07-28 15:02:38 +04:00
Vladimir Paramuzov
9177809bd7 [GPU] Fixed removal of reorder connected to non-default out port (#18826) 2023-07-28 14:55:46 +04:00
Mustafa Cavus
c720052f40 TorchFX caching fix (#18813)
* TorchFX caching fix

* Added required newlines for code formatting

* TorchFX model caching file_name check added
2023-07-28 12:25:18 +02:00
Jakub Nowicki
fd085f870f [GNA] Update doc for GNA 3.5 (#18825)
* [GNA] Update doc for GNA 3.5
2023-07-28 12:25:03 +02:00
Sofya Balandina
223461e462 [apiConformanceReport] Fix double 'passed' in 'all test amount' and fist mandatory view (#18822) 2023-07-28 12:41:32 +03:00
Georgy Krivoruchko
4f13f0c5c9 Aligned namespaces with an actual master (#18671) 2023-07-28 12:20:54 +04:00
Ekaterina Aidova
349a0d420f [PT FE]: cleanup unused imports (#18833) 2023-07-28 12:03:15 +04:00
Jan Iwaszkiewicz
583939b828 [PyOV] Aliases and namespace redesign (#18157)
* Remove inits, update main one

* Fix stacklevel

* Testing wrong solution

* Testing test test

* Fix test test test test

* mo modules mo problems

* Xfail test that check stdout/err?

* not so correct solution to circular imports

* Fix or not to fix

* CMake magic, co-authors: my best team

* Fix package imports

* Fix tools inits

* Fix ovc tf

* Fix Q000

* Fix F401

* Fix linters

* Add save_model

* Remove LayoutMap

* Move test_utils to 'internal modules'

* First testing

* Missing Type

* Expand main namespace

* Change some more tests

* Add OVAny to namespace

* Add Constant and Parameter to namespace

* More tests changes

* Fix inits

* Add layout_helpers to main namespace

* Revert CMake and linux.yml with ovc

* Update main inits

* Remove MO from tools inits

* changes to init files

* Fix tests

---------

Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
2023-07-28 11:52:21 +04:00
Luwei Zhou
493723ecdf Fix dump_check.py argument. (#18400) 2023-07-28 15:25:43 +08:00
Marcin Kacprzak
e1ec17013d [GNA] Fix for GeminiLake detection (#18653)
* [GNA] Fix for GeminiLake detection

* Added HWGeneration::GNA_1_0_E enumerator
Added DeviceVersion::GNAEmbedded1_0 enumerator, changed the meaning of DeviceVersion::GNA1_0.
Updated ConvLowPrecision test with all supported targets

* [GNA] Extended a few tests with GNA1.0
2023-07-28 08:18:22 +02:00
Ilya Churaev
c4f8afb741 Fix GPU stress tests under the proxy (#18700)
* Add debug messages

* Add more debug messages

* Add more messages

* Disable proxy plugin

* Enable proxy and suppress NVIDIA

* Remove disabling NVIDIA

* Update hidden device only if proxy settings were changed

* Use static unavailable device to load unavailable device only one time
for the process

* Removed debug messages and add global mutexes for unavailable plugins
2023-07-28 09:56:39 +04:00
David Nam
1fcdc90989 Modify the condition making batch interpretation true/false (#18283)
* Modify the condition making batch interpretation true/false

- When the user is Convert for Constant node, and tensor is 1d,
- Set needBatchInterpretation to true

* Narrow down the range of the condition

* Merge the condition

* Add additional condition not to check self node

* Fix incomplete condition

* Check if all inputs to binary eltwise is 1d

* Change code style
2023-07-27 22:42:07 -07:00
Luwei Zhou
c9001980ef [CPU] Ensure const blob 16 byte alignment on non-AVX platforms (#18705) 2023-07-28 09:01:36 +04:00
Andrew Kwangwoong Park
aba2770921 [GPU] Do not add post reorder for inputs if data type does not change (#18797)
* Remove reorders of inputs for KV cache

* Fix failed CI TC for ov_gpu_func_tests
2023-07-27 20:50:04 -07:00
Taylor Yeonbok Lee
acb7e870ce Add new debug config disable_memory_reuse (#18792) 2023-07-27 21:45:34 +00:00
Maxim Vafin
ab8b46165b [PT FE] Support chunk->ListUnpack in quantized models (#18823)
* [PT FE] Support chunk->ListUnpack in quantized models

* Add comment

* Use type

* Fix build

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

* Update src/frontends/pytorch/src/utils.hpp
2023-07-27 19:10:21 +00:00
Nesterov Alexander
1857c7a793 Revert "[ARM CPU] ACL TBB scheduler (#17445)" (#18821)
This reverts commit 510f578aab.
2023-07-27 21:38:20 +04:00
Tomasz Jankowski
37fb5d2736 [CPU] Handle negative indices in ScatterElementsUpdate (#18770)
* Handle negative indices in ScatterElementsUpdate

* Enable test on negative indices

* Enable onnx test on negative indices
2023-07-27 16:53:58 +00:00
Vitaliy Urusovskij
4be69bdd5f Fix get_directory() to return / on Linux (#18820) 2023-07-27 17:24:07 +04:00
Sergey Shlyapnikov
2bd49cc1f8 [GPU] Add extra flush() command for dynamic models and OOO queue (#18819) 2023-07-27 16:15:37 +04:00
Luwei Zhou
5f5df36b60 [CPU] Enable oneDNN avx2 brgemm impls for Matmul/FullyConnected operations (#18467) 2023-07-27 13:09:13 +02:00
Zhang Yi
5a945a6219 [CPU] Apply sdl requirement for mlas (#18812) 2023-07-27 14:53:05 +04:00
Evgenya Stepyreva
812d11cf8c Dimension equality fix (#18806) 2023-07-27 12:01:45 +02:00
Tatyana Raguzova
609a7d7716 Fix issue with cleaning up after build wheels (#18774)
Co-authored-by: Artyom Anokhov <artyom.anokhov@intel.com>
2023-07-27 11:33:19 +02:00
Pavel Esir
98df87099a [MO] compress_to_fp16=True by default (2nd attempt) (#18652)
* [MO] compress_to_fp16=True by default (2dn attempt)

* fix unit-tests

* second round of fixin unit-tests

* set compress_to_fp16 default to True in ovc/cli_parser.py

* use save_model in mo_python_api_tests

* enforce compress_to_fp16=False in test_zero_copy

* selectively compress depending on the path user has chosen to generate IR

* corrected doc

* allow compress_to_fp16=False/True for ovc

* doc and unit-tests failing fix

* user save_model in ovc cli tool

* revert back serialize and compress_model but into main instead of moc_emit_ir

* cover more argument combinations for cli tool and convert_model
2023-07-27 12:32:50 +04:00
Mateusz Mikolajczyk
a0a1102499 [PT FE] Add quantized::cat (#18750)
* Add quantized cat

* Add quantized cat

* Format

* Improve tests

* Fix merge conflict
2023-07-27 10:32:17 +02:00
Vitaliy Urusovskij
f8f6d4a5b5 Note ONNX FE in mem_optimization_guide.md (#18777) 2023-07-27 10:42:35 +04:00
Mingyu Kim
416fdddd34 [GPU] bugfix for copy_from (#17993) 2023-07-27 11:47:40 +09:00
Min, Byungil
83a78eb559 [GPU] Improvement for buffer dump (#18542)
* [GPU] Improvement for buffer dump

+ added OV_GPU_DumpLayersInput to support dump input layers
+ added OV_GPU_DumpLayersRawBinary to make binary dump
+ added OV_GPU_LoadDumpRawBinary to use binary dump as input
+ binary dump naming rule layername_datatype_tensor_format.bin

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-07-27 11:11:34 +09:00
Taylor Yeonbok Lee
c145d8f1e9 [GPU] Allocate reorder & permute's output memory for bounded dynamic shape (#18793)
* Previously reorder / permute was not allocating its memory at build time thought the shape has upper bound

* Update src/plugins/intel_gpu/src/graph/permute.cpp

Co-authored-by: Sergey Shlyapnikov <Sergeishlyapnikov@gmail.com>

* Fix as review comment

---------

Co-authored-by: Sergey Shlyapnikov <Sergeishlyapnikov@gmail.com>
2023-07-27 02:08:58 +02:00
Sofya Balandina
2afcd950fa [apiConformanceReport] Fix result passrate persantage (#18808) 2023-07-27 01:44:47 +03:00
Oleg Pipikin
ff0b51f3ca Rename CommonTestUtils namespace (#18590)
* Rename CommonTestUtils namespace 1

* Rename CommonTestUtils namespace 2

* Rename CommonTestUtils namespace 3

* Rename CommonTestUtils namespace 4

* Fix1

* Fix2

* Fix3

* Apply comments

* Fix4

* Fix5
2023-07-26 21:06:50 +02:00
Pawel Raasz
2655512b2f Review RandomUniform for shape inference (#18800)
* Review RandomUniform for shape inference
- Check dynamic and static shape propagation
- Check label propagation
- Check preserve input values and labels
- Add template implementation of shape_infer
- Add unit tests

* Update RandomUniform copy test

* Use correct type for call reference implementation
2023-07-26 21:54:15 +04:00
Pawel Raasz
32f2868a5b Review shape inference of ExtractImagesPatches (#18771)
* Review shape inference of ExtractImagesPatches
- Check static and dynamic shapes propagation
- Check label propagation
- Review template implementation of `shape_infer function
- Add unit tests.

* Add additional test to check padding calc
2023-07-26 21:49:48 +04:00
Pawel Raasz
bb3c9aa9a7 Review RegionYolo class for shape inference aspects (#18741)
* Add static shape adapter
- Adapters holds CPU dimension which can be reference to it or vector
- Add ov::optional for holding optional result from shape inference
- Add new `infer` function in `IStaticShapeInfer`

* Temporary support of StaticShape

* Minor corrections in ShapeInferenceTA

* Migrate shape_infer to new interface version

* Replace StaticShape by adapter implementation

* Replace IShapeInferCommon by IStaticShapeInfer

* Correct code formatting

* Fix build issues

* NodeValidationFailure::create for StaticShapeRef

* Review RegionYolo for shape inference:
- Check dynamic shape and label propagation
- Check static shape inference
- Review shape_infer template implementation
- Update unit test

* Remove commented test code

* Correct flatten dim calculation
2023-07-26 20:42:41 +04:00
dependabot[bot]
ab42ff1164 Bump certifi from 2022.12.7 to 2023.7.22 in /docs (#18789)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.12.7 to 2023.7.22.
- [Commits](https://github.com/certifi/python-certifi/compare/2022.12.07...2023.07.22)

---
updated-dependencies:
- dependency-name: certifi
  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-07-26 20:09:06 +04:00
Surya Siddharth Pemmaraju
d42b53c070 Torchfx backend (#18244)
* Added Torchscript Backend

* First commit for backend with Torch FX Decoder

* Merging changes from Torch FX branch

* Torch FX initial fixes (Temporary)

* Fixed type/shape issues in Torch FX decoder

* Added translation for built-in getitem

* MaxPool update & Output shape fix (Torch FX)

* Torch FX graph outputs fix

* Torch FX support for sigmoid and slu_

* Torch FX graph module caching

* Torch Fx partitioner cache removed

* Torch FX initial getitem replacer added

* Index check for torch fx getitem replacer

* Debug print removed from partitioner

* Added environment variables for pytorch tracing mode and openvino device

* FX translation fix for getitem & getitem replacer removed

* Added checks for PyTorch tracing mode environment variable

* Adding compile mode for fallback

* Added more ops for resnet18

* Added a check for environment variable

* Generalized addmm to work with torchscript and torchfx

* Added the missing batch_norm.default translation

* fx_backend: include get_attr ops to the partitions

* AddeTODO note t to improvget_attr algorithm

* created function for adding get_attr nodes

* fx_backend: added aten.mul.Tensor, re-enabled aten.empty.memory_format

* fx_backend: Additional op support/improvement for Inception V3

* Added comment for fix 64-bit to 32-bit max int conversion

* fx_backend: Update for avg_poolnd to support 3 inputs

* Fixed erorr in decoder.py

* TorchFX caching fix

* Torch backend, op support for Stable Diff. & BERT

* Arranged ops in order and added torch tensor mapping

* Added support for more ops for super glue

* TorchFX: Initial permanent fallback

* TorchFX: New ops for improved TorchVision support

* TorchFX backend optimizations for partitioning and tmp fallback

* working operator updates for superglue

* Updates to operators for superglue

* Removed max.dim and stack

* Cleanup

* Cleanup

* Fixed a couple of syntax issues

* Fixed a couple of syntax issues

* Added missing method to TorchFX Decoder

* Added missing method to TorchFX Decoder

* Removed redundant code for transpose

* TorchFX: Initial StableDiffusion support

* PyTorch decoder ovtype to ctype fix for int64

* Added ops for distilbert

* Fixed few unnecessary include statements

* Seperated TorchFX and TorchScript decoders

* Modified import statements to reflect two decoders

* f64 fix for TorchFX

* Import fix for PyTorch backend modules

* TorchFX serialize graph for debugging (Temporary)

* Serialize and load back feature enabled for TorchFX

* Temporary optimization to remove Broadcast

* Temporary SoftmaxRehapeElimination pass is added

* TorchFX custom model cache directory

* PyTorch bitwise translation, conversion checks enabled

* Naming fix in make_list_construct

* TorchFX: Added comments to Softmax and Slice translations

* translate_chunk temporarily removed for TS backend

* Fixed linter issues

* Addressed clang formatting issues

* Fixed few more clang and linter issues

* Fixed tests to use ts_decoder

* Fixed naming convention issues

* Added missing import

* Added inlined_inputs to TorchScriptDecoder

* Added tests for torch fx backend

* Removed magic numbers in PyTorch decoder utils

* TorchFX decoder data type fix

* Added cast from size_t to int

* TorchFX output handling code cleanup

* TorchFX: Use detached input tensor

* Added missing cast from size_t to int

* Added static cast in group_norm

* Fixed casting issue in split

---------

Co-authored-by: ynimmaga <yamini.nimmagadda@intel.com>
Co-authored-by: Cavus Mustafa <mustafa.cavus@intel.com>
2023-07-26 16:23:42 +02:00
Tomasz Jankowski
1ee5b6dd3f [Tests] Add subgraph body functions comparison (#18254)
* Add subgraph body comparison

* Avoid confusing function name

* Skip failing snippet test

* Skip some ov_snippets_func_tests

* Derive comparison flags

* Skip snippet test

* Drop on bodies mismatch

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-26 15:59:28 +02:00
Sofya Balandina
6aa542ab12 [subgraphDumper] Setup op priority based on opset version (#18629)
* [subgraphDumper] Setup op priority based on opset version

* Add dependency on version id
2023-07-26 13:57:50 +00:00
Mikhail Ryzhov
0569bb8c5d [GNA] Fuse gather and transpose (#18648) 2023-07-26 13:44:44 +00:00
Nadezhda Ageeva
a930c74143 [HETERO] Fix problem with ov_hetero_unit_tests (#18794)
* [HETERO] Fix problem with ov_hetero_unit_tests

* FIX 2

* Rename ov_hetero_unit_tests -> ov_hetero_func_tests
2023-07-26 16:12:22 +04:00
Ilya Lavrenov
1a2e2551cd Renamed util to openvino_util (#18801) 2023-07-26 15:39:17 +04:00
Ilya Lavrenov
5c2cda40f2 Fixed -Wabi warnings in headers (#18796)
* Fixed a lot of -Wabi warnings

* Added dtors for frontend conversion extensions for RTTI
2023-07-26 15:15:45 +04:00
Irina Efode
05247c9a86 [IE TESTS] Fix parallel runner to run any test (#18787)
* [IE TESTS] Fix parallel runner to run any test

* Fix run_conformance on Macos
2023-07-26 14:36:45 +04:00
Maciej Smyk
458125e158 [DOCS] Link fix for Get Started for master (#18798)
* Update get_started.md

* Update get_started.md
2023-07-26 12:25:52 +02:00
Katarzyna Mitrus
7629d0b9cf [ShapeInference] Additional check for the shape of DetectionOutput input (#18675)
* Additional check for DetectionOutput input shape

* Tests

* Update test description

* Update error message and check type

* Use OV_EXPECT_THROW
2023-07-26 12:24:56 +02:00
Mikhail Ryzhov
962bfa6545 [GNA] Fixed Transpose replacement with Gather (#18624) 2023-07-26 11:46:00 +02:00
Sergey Shlyapnikov
7f917446c2 [GPU] Force ov::enable_profiling if OV_GPU_DumpProfilingData debug option is used (#18687) 2023-07-26 13:32:30 +04:00
Ilya Churaev
18505b99b7 Removed core member remapped devices and use proxy config instead (#18791) 2023-07-26 08:20:43 +00:00
Luwei Zhou
3228522b53 [CPU] Fix legacy zero point issue (#18399) 2023-07-26 11:56:35 +04:00
Jakub Nowicki
53efed1571 Gna plugin more meaningful memory dump (#18119)
* added display of sum of memory usage per operation block and per memory type in GNA dump file

* fixed some clang format issues

* forgot to save file - missing clang fix

* changes according to review - added counting memory usage per layer and names changes

* clang changes

* changes according to review

* clang fixes
2023-07-26 09:50:11 +02:00
Zhang Yi
1c0c929231 [CPU] MLAS backend integration (#17885)
- currently enabled only for FP32 FullyConnected node on x86 CPUs
2023-07-26 07:40:34 +00:00
Nadezhda Ageeva
97b4b13074 Adds ov::internal::exclusive_async_requests in ov::internal::supported_properties (#18746)
* Adds ov::internal::exclusive_async_requests into ov::internal::supported_properties

* Update HETERO tests for ov::internal::exclusive_async_requests
2023-07-26 09:43:21 +04:00
Evgeny Kotov
4d3601ac11 fix (#18762) 2023-07-26 08:36:30 +04:00
Ilya Churaev
7767af3529 Fixed proxy plugin initialization with internal names (#18783) 2023-07-25 22:14:42 +04:00
Pawel Raasz
5a4cf4c8b6 Review ReorgYolo class for shape inference aspects (#18633)
* Add static shape adapter
- Adapters holds CPU dimension which can be reference to it or vector
- Add ov::optional for holding optional result from shape inference
- Add new `infer` function in `IStaticShapeInfer`

* Temporary support of StaticShape

* Minor corrections in ShapeInferenceTA

* Migrate shape_infer to new interface version

* Replace StaticShape by adapter implementation

* Replace IShapeInferCommon by IStaticShapeInfer

* Correct code formatting

* Fix build issues

* NodeValidationFailure::create for StaticShapeRef

* Review ReorgYolo op for shape inference
- Check partial shape and label propagation
- Check shape_infer implementation
- Update tests for static and dynamic shapes

* Change dim::is_valid to dim::is_empty
2023-07-25 18:51:17 +02:00
Nadezhda Ageeva
e2c3d0fe73 Disable hetero tests on linux_debian (#18781) 2023-07-25 17:14:26 +04:00
bstankix
3c1c3e6768 [DOCS] Update newsletter and carousel (#18776)
* Add preloader to newsletter pup-up

* Add scroll nav to banner carousel
2023-07-25 12:11:47 +00:00
Katarzyna Mitrus
26d53eb1da [GroupNormalization-12] Reference implementation update to minimize fp16 error (#18760)
* Update mean calculation in group_normalization ref

* Update tests

* Update using namespaces
2023-07-25 13:07:15 +02:00
Evgenya Stepyreva
6be083d37e SharedOpOptimization (#18622)
* SharedOpOptimization

* PR Comments adressed

* Misprint

* Removed unnecessary mode_ref

* Fixed memcmp and modified tests accordingly

* Style

* Comment from Sergey resolved

* Optimize operations in groups

* Removed Transpose fusion per agreement with Dmitry

* Style

* Resolved unnecessary looping of the graph
2023-07-25 15:00:44 +04:00
Ilya Churaev
d3fdc761f6 Try to fix get_data() and lto (#18766)
* Try to fix get_data() and lto

* Added test
2023-07-25 14:09:21 +04:00
Anastasiia Pnevskaia
5aad9ee652 Used share_memory param in tf.Graph decoder. (#18747) 2023-07-25 11:16:17 +02:00
Nadezhda Ageeva
be02d1a3c9 [HETERO] Implement get_runtime_model function (#18586)
* [HETERO] Implement get_runtime_model function

* [HETERO] Adds unit tests

Update src/plugins/hetero/tests/unit/properties_tests.cpp

Co-authored-by: Vitaliy Urusovskij <vitaliy.urusovskij@intel.com>

* Temporarily disable GA

---------

Co-authored-by: Vitaliy Urusovskij <vitaliy.urusovskij@intel.com>
2023-07-25 12:30:04 +04:00
Ilya Lavrenov
5792bba6d1 Disabled multi_isa in ARM CPU plugin (#18737) 2023-07-25 11:48:54 +04:00
yanlan song
ff3399a87a enable auto handle GPU.invalid_index case (#18658)
* let auto handle GPU.valid_index case

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

* resolve merge conflict

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

* add suppress macro

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

* revert changes

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

* update case

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

---------

Signed-off-by: fishbell <bell.song@intel.com>
2023-07-25 15:31:53 +08:00
Andrei Gorbachev
02ebdcbb8f [Coverity] fix uninitialized scalar field (#18751)
* fix Uninitialized scalar variable

* fix CVS-116194

* a few fix

* fix Uninitialized scalar variable

* fix CVS-116194

* a few fix

* rm dead code
2023-07-25 10:57:28 +04:00
Maciej Smyk
393b3b1545 background fix for images (#18756) 2023-07-25 08:45:06 +02:00
cecilia peng
7fbd3a7ebf [CPU] Zero-copy optimizations for model outputs (#18476)
- Implement zero-copy output between plugin graph and infer request, thus eliminate memory copy overhead and optimize performance
- Implement double buffer for InferRequest outputs
2023-07-25 10:33:48 +04:00
Wang Kai
fdfafbb7d2 removing redundant statement in ov::descriptor::Tensor::Tensor (#18098)
Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2023-07-25 07:55:42 +02:00
Ilya Churaev
e7cd113a47 Add to_string() method to ov::element::Type (#18697)
* Add to_string() method to ov::element::Type

* Fixed Python legacy API

* Fixed typo
2023-07-25 09:22:16 +04:00
Ilya Churaev
29ca4b99c5 Add property to configure internal name under the proxy plugin (#18727) 2023-07-25 09:22:02 +04:00
Katarzyna Mitrus
99557e3356 Enable ScatterElementsUpdate test for reduction mean (#18682)
* Enable scatter elements test for reduction mean

* Remove remaining comment
2023-07-25 06:45:05 +02:00
Xuejun Zhai
5efdbf57ad [AUTO BATCH PLUGIN] fix review comments (#18660)
* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] add get property ov::device::properties & ov::auto_batch_timeout

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

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
2023-07-25 07:19:04 +04:00
Wang, Yang
1be4b21905 [AUTO] Set property optimal_number_of_infer_requests to hw device with default value (#17848)
* Query the property optimal_number_of_infer_requests from plugin first if plugin supported.

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

* Query the property ov::optimal_number_of_infer_request of actual device first and use it as the result of AutoExecutableNetwork property.

* Updated.

* Updated.

* Update.

* Update.

---------

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-07-25 10:05:18 +08:00
Wang, Yang
85f514788e [AUTO] Clean up the logic of AUTO device priorities (#18557)
* Update selection logic for 3rd part devices within AUTO plugin.

* Remove MYRAID from AUTO test case.

* Update.

* Update.

* Update.

---------

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-07-25 10:03:14 +08:00
Andrew Kwangwoong Park
dfb1493f2f [GPU] Update ReorgYolo to use nGraph shape inference (#18663)
* Update ReorgYolo to use ngraph shape infer

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

* Add dynamic TCs for ov_gpu_func_tests

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

* Add shape infer TCs for ov_gpu_unit_tests

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

* Apply comments

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

* Fix clang-format

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

* Fix conflict

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

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-07-25 02:47:27 +02:00
Taylor Yeonbok Lee
ce729761d6 Add new debug config "DisableRuntimeBufferFusing" (#18726) 2023-07-24 23:56:21 +02:00
Irina Efode
f70ef8be5b [CONFORMANCE] Extend Graph Cache by repeats in models (#18602)
* Add Repeat extractor

* fix build
2023-07-24 23:24:15 +02:00
Oleg Pipikin
bf4a2a462a Refactor common_test_utils (#18693)
* Refactor common_test_utils

* Apply comments
2023-07-24 21:23:42 +02:00
Sergey Shlyapnikov
42237bcbdb [GPU] Optimize update_shape synchronization for OOOQ and prohibit memory reuse for shape_of-subgraph nodes (#18742) 2023-07-24 11:34:19 -07:00
Paul Youngsoo Ahn
080ae32a8b [GPU] Fix cl kernel build error (#18513)
* [GPU] Fix cl kernel build error(#18513)

* [GPU] Rollback cl kernel code change and add type converions to activatino function)

* [GPU] Use output data type instead of unit type in MakeActivationJitConstants

* [GPU] remove unused code and add comments
- add unit test
2023-07-24 10:45:02 -07:00
Ekaterina Aidova
016eb43741 [PT FE]: fix issues with squeeze producing dynamic rank (#18748)
* [PT FE]: fix issues with squeeze producing dynamic rank

* Update test_squeeze.py

* Update test_squeeze.py

* Update test_slice.py

* Apply suggestions from code review
2023-07-24 20:10:20 +04:00
Ilya Lavrenov
de2675c381 Added cpack calls in python tools (#18754) 2023-07-24 19:55:07 +04:00
Ilya Lavrenov
afc563cfc6 Changed the component for conda-forge downloads stat (#18755) 2023-07-24 18:49:13 +04:00
Evgeny Kotov
6ecbdaea08 fix TSGatherForward transformation (#18537)
* add comment

* rewrite new_order generation code

* add unit tests

* code review fix

* fix windows build

* code review fixes

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-24 14:18:22 +00:00
Pawel Raasz
5eab1be682 Migrate shape infers to new IStaticShapeInfer API (#18579)
* Add static shape adapter
- Adapters holds CPU dimension which can be reference to it or vector
- Add ov::optional for holding optional result from shape inference
- Add new `infer` function in `IStaticShapeInfer`

* Temporary support of StaticShape

* Minor corrections in ShapeInferenceTA

* Migrate shape_infer to new interface version

* Replace StaticShape by adapter implementation

* Replace IShapeInferCommon by IStaticShapeInfer

* Correct code formatting

* Fix build issues

* NodeValidationFailure::create for StaticShapeRef
2023-07-24 15:59:18 +02:00
Mang Guo
ec8fe6353a Allow weight sharing across NUMA nodes inside one socket (#17989)
* Allow weight sharing across NUMA nodes inside one socket

* Fix comments

* Add WA for MacOS
2023-07-24 20:49:46 +08:00
Ilya Lavrenov
86c68fffe4 Removed Intel Myriad headers from new API (#18736)
* Removed Intel Myriad from new API

* Renamed GPU unit tests
2023-07-24 16:20:08 +04:00
Irina Efode
1d3dec9e99 [CONFORMANCE] Extend Graph Cache by Fused names based extractor (#18601)
* Add fused names based subgraph extractor

* fix test build
2023-07-24 13:52:00 +02:00
Maxim Vafin
bc734dfaaa [PT FE] Enable quantized conv and linear tests (#18723) 2023-07-24 13:33:11 +02:00
bstankix
7e1d8283f2 Update newsletter with filtered form fields (#18740) 2023-07-24 13:23:00 +02:00
Karol Blaszczak
bfe3faca1e [DOCS] conformance update (#18732)
conformance table
fix Add in ONNX layers
2023-07-24 11:43:33 +02:00
Egor Duplenskii
5833f32c22 [CPU][ARM] Fix perf issues of oneDNN 3.2 migration (#18589) 2023-07-24 13:01:59 +04:00
Mateusz Bencer
24c428326a Align mmap offset with page size for Linux (#18678)
* Align mmap offset with page size for Linux

* removed aligned_size

* reverted aligned_size + added proper unit test
2023-07-24 12:53:33 +04:00
yanlan song
73147e3968 profiling info tests not instantiated (#18408)
* test not run in ci

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

* skip unsupported case in batch

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

---------

Signed-off-by: fishbell <bell.song@intel.com>
2023-07-24 11:51:16 +04:00
Andrew Kwangwoong Park
581d12965b [GPU] Minor fix for dynamic model (#18715)
Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-07-24 09:33:30 +04:00
Wilson Seok
90e3e85233 fix null impl case for optimized concat (#18714) 2023-07-23 21:55:53 -07:00
Andrew Kwangwoong Park
2c889c8b5e [GPU] Update RegionYolo to use nGraph shape inference (#18657)
* Update RegionYolo to use ngraph shape infer

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

* Add dynamic TCs for ov_gpu_func_tests

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

* Add shape infer 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-07-23 21:55:21 -07:00
Wang Kai
74b5f8673c fixing typo (#18041)
Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2023-07-24 06:07:25 +02:00
Wang, Yang
68c0711758 [AUTO] Update Auto unit test cases (#18634)
* 1. Setting property ov::compilation_num_threads for actual device (not CPU) selected by AUTO.
2. Add the test case.

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

* check if the selected device supports this property before enabling this property.

* Update.

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

* Updated.

* Updated.

* Using the ov::device::properties, instead of the device name, to check if secondary property is set for hardware device.

* Update.

* Update.

* Update.

* Update the  property handling logic to support the ov::device::properties setting.

* Update.

* Update.

* Update the case to check if the secondary propery has high priority.

---------

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
2023-07-24 11:54:16 +08:00
Wilson Seok
627d5e6135 [GPU] PriorBox dynamic shape support (#18494)
* initial commit

* add func test case

* add func test file

* add runtime update of output_size and img_size

* fix cl kernel build error

* fix functional test bug

* add func test cases

* fix compile error

* use simple value instead of tensor

* remove redundency code

* removed mutable and add comment

* fix typo

* fix cpplint error

* simplified priorbox constructor

* removed redundant include

* update vector handling for impl_param.output_size and img_size
2023-07-23 17:59:28 -07:00
Maxim Vafin
f96f021920 [PT FE] Add helper for regular ops on quantized values (#18692)
* Add helper for regular ops

* Update op_table.cpp

* Support ops with more then 1 output

* Uncheck ops that return integer/boolean type
2023-07-22 16:47:44 +02:00
Andrew Kwangwoong Park
7fc1fd155d [GPU] Add debug config for disabled dynamic implementation (#18661)
* Add debug config for disabled dynamic impl

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

* Apply comment

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

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-07-21 16:33:44 -07:00
Anastasiia Pnevskaia
66094836d6 Corrected telemetry imports, increased telemetry version in requirements. (#18712) 2023-07-22 02:38:43 +04:00
Irina Efode
1affc6e66f [CONFORMANCE] Fix compilation on Debian Post-commit (#18720) 2023-07-22 02:02:07 +04:00
Mykhailo Hnap
7f183f0e2f [GPU] Added TopK-11 operation support. (#18294)
* Added TopK-11 operation support.

* Created separate GPU test.
2023-07-21 13:36:43 -07:00
Wanglei Shen
0974cb10bc add socket id initialization in MacOS (#18717) 2023-07-21 18:49:36 +00:00
Mikhail Ryzhov
85ca561546 [GNA] Transpose compressing (#18608) 2023-07-21 14:36:30 +00:00
Ekaterina Aidova
40e9ad106e Fix PyTorch FE build with clang compiler (#18709)
* fix build

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

* fix code style

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-07-21 18:08:24 +04:00
Wanglei Shen
98026d420f update proc_type_table for MacOS (#18702) 2023-07-21 21:13:28 +08:00
Sofya Balandina
12a7ed9bdd [apiConformance] Fix run_confoormance fails after exclusion opset tests (#18710) 2023-07-21 16:57:09 +04:00
Sergey Lyalin
329200cc62 New save_model function (C++, Python) (#18656)
* Draft version of save_model function (C++, Python)

* Fixed code style.

* Fixed incorrect test model construction for Python save_model tests

* Minor improvements in code readability

* Minor adjustment based on PR review
2023-07-21 16:03:53 +04:00
Ilya Churaev
44cae128cc Restore information about Blob layout for new plugins (#18696)
* Restore information about Blob layout for new plugins

* Save legacy names
2023-07-21 14:28:55 +04:00
Piotr Krzemiński
e076ed4726 [PT FE] Quantized Add, Add_ReLU, Mul, Hardswish (#18510)
* Support GetAttr with packed params

* Apply suggestions from code review

* [PT FE] Add quantized types as normal types to decoder

* [PT FE] Add decoder dequantize, add dtypes to quantize

* [PT FE] Add dequantize example

* [PT FE] Implement replacer for quantized nodes

* [PT FE] Register replacer for quantize/dequantize

* [PT FE] Remove unwanted junk from previous version

* [PT FE] Fix building mistakes for frontend

* [PT FE] Clang fix

* [PT FE] Ease of use upgrade to quantize funcs

* [PT FE] Clang format

* [PT FE] Introduce new version of quantize/dequantize

* [PT FE] Remove unwanted files from new version

* [PT FE] Fix style

* [PT FE] Add QuantizedPtNode replacer, fix accuracy error

* [PT FE] Quantized add

* [PT FE] Add improved version of quantize/dequantize with shared_ptrs

* [PT FE] Quantized Add Relu

* [PT FE] Fix utils shared ptr reference error

* [PT FE] Quantized Hardswish & tests

* [PT FE] Add quantized_add_relu test

* [PT FE] Quantize now takes correct input for operations

* [PT FE] Add dtype to tests

* [PT FE] Increase matrix size in the tests to cover more edge cases

* [PT FE] Upgrade quantize method

* [PT FE] Add BFS for dequantize, add quantize_per_channel

* [PT FE] Add missing replacer to frontend, improve tests

* [PT FE] Rename replacer -> remover, remove unwanted header files

* [PT FE] Change function declarations to return ov::Output instead of shared ptr

* [PT FE] Add missing context mark node

* [PT FE] Remove unknown modifications to ie_c_api

* [PT FE] Remove fp16 support, turn off int32 tests

* [PT FE] Clang format

* [PT FE] Fix quantize_per_tensor

* [PT FE] Minor fixes from review

* [PT FE] Remove dequantize, remove helpers, replacer now removes nodes instead

* [PT FE] Rename Replacer to Remover for dequantize nodes

* [PT FE] Clang format

* [PT FE] Move comments to header files, minor import fixes

* [PT FE] Enable add, add_relu, mul, hardswish with newest quantize ops

* [PT FE] Fix clang format

* [PT FE] Fix dtype issue

* [PT FE] Reenable hardswish tests

* [PT FE] Fix building error for quantized ops

* [PT FE] Tests now use rand instead of randn

* [PT FE] Remove int32 support from tests

* [PT FE] Fix quantize_per_channel tests

* Apply suggestions from code review

Removing sporadic tests from precommit

* Apply suggestions from code review

* [PT FE] Mark qint32 with skip, remove precommit flag due to sporadic errors

* [PT FE] Introduce quantized test for PytorchTestClass

* [PT FE] Add missing tensor size in the errors count computation

* Update pytorch_layer_test_class.py

* [PT FE] Apply suggestions from review - remove contexts, log100 for errors, add precommit flags

* Apply suggestions from code review

* [PT FE] Fix quantize per channel test after merge

* Update tests/layer_tests/pytorch_tests/pytorch_layer_test_class.py

* Update pytorch_layer_test_class.py

* Update test_quantize.py

* Apply suggestions from code review

* [PT FE] Fix quantized mul by changing default quantization dtype

* Update pytorch_layer_test_class.py

* Update tests/layer_tests/pytorch_tests/pytorch_layer_test_class.py

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

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

* Update tests/layer_tests/pytorch_tests/test_quantized_mul.py

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-07-21 10:27:35 +00:00
Ekaterina Aidova
a6e25d69ac [PT FE] supoort aten::rand, aten::randn, aten::rand_like, aten::randn_like (#18616)
* support aten::rand, aten::randn, aten::rand_like, aten::randn_like

* fixes
2023-07-21 13:27:48 +04:00
Irina Efode
0ff70a0649 [CONFORMANCE] Extend SubgraphsDumper by graph cache + subgraph extractors (#18398)
* New Subgraph Dumper -> Cache + Meta

* iCache tests

* tests_meta

* OpCache tests

* Move & refactor matchers

* fix all tests and refactor meta

* Prepare for review

* Add caching types

* Model testing + improvement

* Add ignored ports. Add tests for node utils

* [CONFORMANCE] MOVE conformance runner to new subgraphsDumper

* fix build

* Fix compilation error

* fix compilation of deprecated subgraphs dumper

* fix build

* arm

* fix win?

* temp commit

* revert

* Add w/a to save const

* [IE TESTS][CONFORMANCE] Fix data generation

* fix cpu tests

* CPP Lint

* Update ranges.hpp

* change start_from and range according typo

* Update constant.hpp

* Update constant.hpp

* fix ci build

* Update deformable_convolution.cpp

* cleanup

* clenup

* Merge

e Changes to be committed:

* Fix tests -> change start_from type

* Initial commit to dump subgraphs

* try to collect graphs usong fused_names

* Correct graph generation based on fused_names

* addition

* Define SubgraphMatchers

* Add new matcher structure

* fix buils commit

* repeat

* repeat pattern

* finalize

* Move to extractors

* extract_body

* cleanup_cache

* replace big constant by params

* Replace constants by param in serialization

* Add tests for matchers

* add model-tests

* fix model tests

* Extend tests

* fix extractors test

* fix model recover test

* Remove extra

* remove extra

* return old name to tests

* remove subgraphs extractors -> move them to other PR
2023-07-21 12:21:29 +03:00
Ilya Lavrenov
6d86a9b25f Revert "[PyOV] Pin version of Cython for API 1.0 (#18604)" (#18681)
* Revert "[PyOV] Pin version of Cython for API 1.0 (#18604)"

This reverts commit 787796d88f.

* Suppressed clang warning
2023-07-21 13:09:30 +04:00
Ilya Lavrenov
bbd592b530 Don't use -Wl,--allow-shlib-undefined on macOS (#18683) 2023-07-21 13:08:26 +04:00
Fang Xu
e478964695 merge loadnetwork and importnetwork for cpu plugin (#18024)
* merget loadnetwork and importnetwork for cpu plugin

* fix testcase

* remove multithreading config saving

* modify test case

* separate function

* modify function name

* save model_prefer_threads to cache

* remove function encapsulation for config
2023-07-21 14:02:11 +08:00
Andrew Kwangwoong Park
53b2a02a0e [GPU] Dynamism support for DetectionOutput (#18625)
* Update op creation for DetectionOutput-8 w/o num_classes attribute

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

* Update DetectionOutput to use ngraph shape inference

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

* Add dynamic TCs for ov_gpu_func_tests

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

* Fix issues for detection output cpu impl selection on dynamic shape

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

* Update detection_output primitive API and funcs for serialization

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

* Add shape infer TCs for ov_gpu_unit_tests

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

* Fix build failure in azure pipeline

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

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-07-20 16:49:09 -07:00
Maxim Vafin
12b1df5db3 Disable sporadically failing tests (#18694) 2023-07-20 21:34:43 +00:00
Anastasiia Pnevskaia
8d5a0b1d53 OVC cleanup. (#18649)
* WIP: parameters cleanup

* Removed debug output, fixed CLI

* Fixed python objects conversion

* Finally renamed mmap to share_weights

* Fixed TF conversion from a file or a directory

* Fixed obvious errors in unit tests

* Deleted layouts from OVC. Fixed most of the fails in ovc unit tests (there are still failures)

* Clenaup other references to layouts and fixed --version

* Fixed case when two model files are passed in TF case

* Fixed multiple model parts passing in ovc command line

* Tests fixed, support of unnamed input in cli parser.

* Remove convert_model from runtime.

* Changed silent to verbose.

* Removed transform param.

* Removed example_input, share_weights from ovc cli tool.

* Remove wrong change.

* Test fix.

* Code corrections.

* Returned comment.

* WA to fix process hanging after extension loading.

* Removed not needed code.

* Added comment.

---------

Co-authored-by: Sergey Lyalin <sergey.lyalin@intel.com>
2023-07-20 20:11:28 +00:00
Ilya Lavrenov
1ce744a00f Fixed Debian package build (#18691) 2023-07-20 22:23:39 +04:00
Mateusz Mikolajczyk
bc261424ef [PT FE] Add quantized::conv2d and quantized::conv2d_relu (#18651)
* Add quantized conv2d

* Fix schema

* Remove mark_output

* Remove tests from pre-commit
2023-07-20 15:35:11 +00:00
Sun Xiaoxia
2dfb537bcb Xiaoxia/add get_socket_id interface based on threading2.0 (#18264)
* add streams_info_table init in the constructor of config

* add refresh _proc_type_table

* add get_org_proc_type_table

* add numa_node per stream in reserve_available_cpus()

* fix warning

* remove log

* fix code style

* fix gpu test build failed issue, modify debug info

* fix code style

* fix build failed on macos

* fix code style

* select socket in reserve cpu on 2 sockets platform

* fix build failed on macos

* modify numa node selecting in reserve_cpu_by_streams_info

* add test case

* fix code style

* modify test case

* fix core dump

* fix core dumped on pin=NUMA

* fix test failed on macos

* fix reserve cpu is wrong when streams_info_table=[1 1 36] proc_type_table=[36 18 0 18]

* add test case in LinuxCpuReserve

* modify test case

* add test case in cpu_reserve_test

* add cpu_stream_info_test

* modify enum

* fix test failed

* change int to size_t

* remove invalid code, fix running failed on macos

* modify LinuxCpuStreamType test case, move ie_cpu_streams_info.hpp to openvino/runtime/threading/

* fix code sytle

* modify enum name

* add comments in test case

* fix build issue

* change IE_ASSERT to OPENVINO_ASSERT

* fix test failed on macos and windows

* updated test cases due to the cpu mapping is changed

* enable numa_node_id and socket_id in streams_info_table

* fix code style issue

* fix document issue

* add get socket id interface

* fix segment fault on machine enabled socket_id=1 with numactl command

* fix numactl failed on four numa nodes machine

* remove compile warning

* fix numa_node_id=-1

* fix test case failed on macos

* fix test failed on macos

* fix numa_node_id=0 on macos

* Solve conflicts with master branch

* separate test cases for Linux and Mac/Windows

* update code style for windows compiler

* fix comments

* fix code style

* fix code style

* remove _plugin_mutex, fix comments

* fix code style

* fix code style

* add get_num_sockets

* fix cpu reserve issue in latency mode,ANY core on RPL machine

* add cpu reserve test case

---------

Co-authored-by: Wanglei Shen <wanglei.shen@intel.com>
2023-07-20 23:34:21 +08:00
bstankix
1911b09a75 [DOCS] Bugfix newsletter validation 2023-07-20 16:44:26 +02:00
bstankix
dd358fc95a [DOCS] Features update (#18676)
* Update newsletter to work with new footer

* Update footer

* Add carousel in homepage banner

* Update banner carousel
2023-07-20 15:48:44 +02:00
Ilya Lavrenov
4df6ef3a26 Removed ie, ngraph and core_tools cpack components (#18636)
* Removed ie, ngraph cpack components

* Introduced new components
2023-07-20 17:46:16 +04:00
Chenhu Wang
b5b11f3b29 [CPU]Shape agnostic jit kernel for MVN (#17988) 2023-07-20 13:40:37 +00:00
Ilya Lavrenov
b2d361fcca Fixed install paths for test MO FE (#18654) 2023-07-20 15:00:34 +04:00
Mateusz Tabaka
fe8b8a96ff Handle sequence ops with non constant W, R, B inputs (#18138)
* Handle sequence ops with non constant W, R, B inputs

Ticket: CVS-49207

* fix tests

* tests

* fix gna tests

* add include

* change type for seqLenIdx

* rename is_constfoldable to is_on_constant_path

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-20 14:48:41 +04:00
Mikhail Ryzhov
3b8f58f1af [GNA] Added Reshape support to TS patterns (#18391)
* Added Reshape support to TS patterns

* fixed unit test

* replaced duplicated code
2023-07-20 12:08:02 +02:00
Kelvin Choi
9254c74362 [GPU] Set offsets of variadic split for static (#18469) 2023-07-20 09:26:42 +00:00
Mateusz Mikolajczyk
b315880cc3 [PT FE] Add quantized::linear (#18570)
* Support GetAttr with packed params

* Apply suggestions from code review

* [PT FE] Add quantized types as normal types to decoder

* [PT FE] Add decoder dequantize, add dtypes to quantize

* [PT FE] Add dequantize example

* [PT FE] Implement replacer for quantized nodes

* [PT FE] Register replacer for quantize/dequantize

* [PT FE] Remove unwanted junk from previous version

* [PT FE] Fix building mistakes for frontend

* [PT FE] Clang fix

* [PT FE] Ease of use upgrade to quantize funcs

* [PT FE] Clang format

* [PT FE] Introduce new version of quantize/dequantize

* [PT FE] Remove unwanted files from new version

* [PT FE] Fix style

* [PT FE] Add QuantizedPtNode replacer, fix accuracy error

* [PT FE] Add improved version of quantize/dequantize with shared_ptrs

* [PT FE] Fix utils shared ptr reference error

* [PT FE] Quantize now takes correct input for operations

* [PT FE] Upgrade quantize method

* [PT FE] Add BFS for dequantize, add quantize_per_channel

* [PT FE] Add missing replacer to frontend, improve tests

* [PT FE] Rename replacer -> remover, remove unwanted header files

* [PT FE] Change function declarations to return ov::Output instead of shared ptr

* [PT FE] Add missing context mark node

* [PT FE] Remove unknown modifications to ie_c_api

* [PT FE] Remove fp16 support, turn off int32 tests

* [PT FE] Clang format

* [PT FE] Fix quantize_per_tensor

* [PT FE] Minor fixes from review

* [PT FE] Remove dequantize, remove helpers, replacer now removes nodes instead

* [PT FE] Rename Replacer to Remover for dequantize nodes

* [PT FE] Clang format

* [PT FE] Move comments to header files, minor import fixes

* [PT FE] Fix clang format

* [PT FE] Fix dtype issue

* [PT FE] Fix quantize_per_channel tests

* Add quantized::linear

* Update quantized_linear.cpp

* add contructors

* Improve tests

* Add requested checks

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
Co-authored-by: Roboreptile <piotr.krzeminski@intel.com>
2023-07-20 11:25:56 +02:00
Piotr Krzemiński
6d8dcb059d [PT FE] Fix conversion for aten::quantize_per_channel (#18646)
* Support GetAttr with packed params

* Apply suggestions from code review

* [PT FE] Add quantized types as normal types to decoder

* [PT FE] Add decoder dequantize, add dtypes to quantize

* [PT FE] Add dequantize example

* [PT FE] Implement replacer for quantized nodes

* [PT FE] Register replacer for quantize/dequantize

* [PT FE] Remove unwanted junk from previous version

* [PT FE] Fix building mistakes for frontend

* [PT FE] Clang fix

* [PT FE] Ease of use upgrade to quantize funcs

* [PT FE] Clang format

* [PT FE] Introduce new version of quantize/dequantize

* [PT FE] Remove unwanted files from new version

* [PT FE] Fix style

* [PT FE] Add QuantizedPtNode replacer, fix accuracy error

* [PT FE] Add improved version of quantize/dequantize with shared_ptrs

* [PT FE] Fix utils shared ptr reference error

* [PT FE] Quantize now takes correct input for operations

* [PT FE] Upgrade quantize method

* [PT FE] Add BFS for dequantize, add quantize_per_channel

* [PT FE] Add missing replacer to frontend, improve tests

* [PT FE] Rename replacer -> remover, remove unwanted header files

* [PT FE] Change function declarations to return ov::Output instead of shared ptr

* [PT FE] Add missing context mark node

* [PT FE] Remove unknown modifications to ie_c_api

* [PT FE] Remove fp16 support, turn off int32 tests

* [PT FE] Clang format

* [PT FE] Fix quantize_per_tensor

* [PT FE] Minor fixes from review

* [PT FE] Remove dequantize, remove helpers, replacer now removes nodes instead

* [PT FE] Rename Replacer to Remover for dequantize nodes

* [PT FE] Clang format

* [PT FE] Move comments to header files, minor import fixes

* [PT FE] Fix clang format

* [PT FE] Fix dtype issue

* [PT FE] Fix quantize_per_channel tests

* Apply suggestions from code review

Removing sporadic tests from precommit

* Apply suggestions from code review

* [PT FE] Fix conversion errors for aten::quantize_per_channel

* [PT FE] Mark axis 2 as xfail

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-07-20 10:49:20 +02:00
Oleg Pipikin
60a8c2bc7a Extend data_utils to work with ov::Tensor (#18142)
* Extend data_utils to work with ov::Tensor. Update SplitConcatMemory tests

* Fix1

* Apply comments

* Apply comments 2

* Apply comments 3

* Apply comments 4
2023-07-20 08:29:47 +00:00
Ilya Churaev
3f675ce396 Extend Proxy tests to cover cache_dir with auto batch (#18632)
* Added new tests to reproduce issue with auto batch

* Remove cache dir

* Fixed tests with auto batch

* Fixed check

* Added comment

* Remove try catch

* Remove comment

* Revert "Remove comment"

This reverts commit 99e26de4ca.

* Revert "Remove try catch"

This reverts commit 08b478c070.
2023-07-20 11:11:41 +04:00
yanlan song
a51d9494fa support context in auto and re-enable tests (#18554)
wrap hardware remote context to compiled model

Signed-off-by: fishbell <bell.song@intel.com>
2023-07-20 06:53:07 +00:00
Taylor Yeonbok Lee
7167473744 [GPU] Reduce clfinish io and allow input reorder to use device mem (#18596) 2023-07-20 10:39:39 +04:00
Anton Voronov
60e40843c0 [CPU] f16 constant folding on cpu plug-in side for MatMul only (#18079) 2023-07-20 08:58:46 +04:00
River Li
0e76496acc [WA] performance issue for plugin api 2.0 (#18509)
* [WA] performance issue for plugin api 2.0

* Avoid onnx failure

* Avoid ov_template_func_tests failure

[ RUN      ] smoke_BehaviorTests/OVRemoteTest.inferWithRemoteNoThrow/element_type=f32targetDevice=TEMPLATE__context_parameters=__tensor_parameters=

MEM_USAGE=400336KB
/mnt/data1_1c41/river/openvino_master/openvino/src/tests/functional/plugin/shared/src/behavior/ov_plugin/remote.cpp:107: Failure
Expected: infer_request.set_input_tensor(0, input_remote_tensor) doesn't throw an exception.
  Actual: it throws.
[  FAILED  ] smoke_BehaviorTests/OVRemoteTest.inferWithRemoteNoThrow/element_type=f32targetDevice=TEMPLATE__context_parameters=__tensor_parameters=, where GetParam() = (f32, "TEMPLATE", {}, ({}, {})) (76 ms)
2023-07-20 08:22:31 +04:00
Mingyu Kim
b7b740beb5 [GPU] Disable permute_f_y_axis because of accuracy issue (#18647)
* [GPU] Disable permute_f_y_axis because of accuracy issue

* [GPU] Disable tests too
2023-07-20 04:10:42 +00:00
Xuejun Zhai
ba76b45194 [AUTO BATCH PLUGIN] enable api 2.0 for auto batch plugin (#18172)
* [AUTO BATCH PLUGIN] enable API 2.0 for auto batch plugin

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

* [AUTO BATCH PLUGIN] disenable auto batch plugin unite test for tmp

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

* [AUTO BATCH PLUGIN] remove test with ov::auto_batch_timeout(-1), cause the variable is unsigned int

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

* [AUTO BATCH PLUGIN] fix compiler error caused by std::atomic_uint32_t

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

* [Remote Context] fix revew comments

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

* [AUTO BATCH PLUGIN] fix compiler warnings

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

* [AUTO BATCH PLUGIN] fix compiler warnings

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

* [AUTO BATCH PLUGIN] fix test error

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

* [AUTO BATCH PLUGIN] fix CI test error in cpu func test case, caused by batched model lost rt info

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

* [AUTO BATCH PLUGIN] fix CI build error, caused by unused variable

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

* [AUTO BATCH PLUGIN] using ov::threading

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

* [AUTO BATCH PLUGIN] clear code in batched req share buffer with non-batched req

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

* [AUTO BATCH PLUGIN] clean code & fix format issue

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

* [AUTO BATCH PLUGIN] clean code & fix format issue

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

* [AUTO BATCH PLUGIN] add api implementation about get_default_context() & create_context() and remove the test config with AUTO_BATCH_TIMEOUT(-1)

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

* [AUTO BATCH PLUGIN] fix gpu test with auto btch failed

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

* [AUTO BATCH PLUGIN] fix warning

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

* [AUTO BATCH PLUGIN] fix get_default_context() issue

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

* [AUTO BATCH PLUGIN] fix using namespace redundancy

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

* [AUTO BATCH PLUGIN] modify variable naming style

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

* [AUTO BATCH PLUGIN] fix CI test error, cause by tensor reference in virtual plugin

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

* [AUTO BATCH PLUGIN] implement get_profiling()

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

* [AUTO BATCH PLUGIN] remove get_context() from auto batch compiled model using the interface from parent class

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

* [AUTO BATCH PLUGIN] implement create_context() & get_default_context for auto batch plugin

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

* [AUTO BATCH PLUGIN] fix format issue

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

* [AUTO BATCH PLUGIN] implement auto batch remote context

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

* [AUTO BATCH PLUGIN] fix error after merge with master

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

* [AUTO BATCH PLUGIN] fix compiler error caused by update master

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

* [AUTO BATCH PLUGIN] refact remote context in auto batch plugin

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

* [AUTO BATCH PLUGIN] add unite test cases for auto batch plugin

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

* [AUTO BATCH PLUGIN] fix CI warning caused by unused variable & add unite of remote context

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] add virtual property for get_context() in icompiled_model & implement it in auto batch plugin

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

* [AUTO BATCH PLUGIN] add ov::loaded_from_cache support

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

* [AUTO BATCH PLUGIN] fix error caused by updating with master

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix review comments

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

* [AUTO BATCH PLUGIN] fix unite test error

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

* [AUTO BATCH PLUGIN] fix conflict

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

* [AUTO BATCH PLUGIN] fix error caused by update master

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

* [AUTO BATCH PLUGIN] fix review comments

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

---------

Signed-off-by: Zhai, Xuejun <xuejun.zhai@intel.com>
Signed-off-by: xuejun <xuejun.zhai@intel.com>
2023-07-20 07:02:45 +04:00
Ilya Lavrenov
9cd39455fc Removed explicit linkage to protobuf in ONNX (#18650) 2023-07-19 21:41:28 +04:00
Ekaterina Aidova
61504bbfc2 [PT FE]: support nested inputs in example_inputs and arg dicts with d… (#18492)
* [PT FE]: support nested inputs in example_inputs and arg dicts with different argtypes

* accept hande lists as inputs

* Update tools/ovc/openvino/tools/ovc/moc_frontend/pytorch_frontend_utils.py

* update tests and add comments in code

* fix for custom types in annotations and duplicate in mo

* Update tools/mo/openvino/tools/mo/moc_frontend/pytorch_frontend_utils.py
2023-07-19 17:01:22 +02:00
Marcin Kusmierski
186b1b6bfc Gna 3 5 as default target with transpose fixes (#18373)
* [GNA] Set GNA 3.5 as default target and add 3.5 to properties

* [GNA] fix release version to 2023.1.

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

* [GNA] Fix E2E Tests for Kaldi Framework

 * added fix for InsertConvolutionTransposeHW

---------

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>
Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
2023-07-19 14:48:01 +02:00
Mircea-Aurelian Dan
5397e299fd [EISW-81712] Rename VPUX to VPU in openvino codebase (#17949)
* Change `VPUX` occurrences to `VPU`

* Switch `VPU` library name

* Change remaining references to `VPUX`
2023-07-19 15:55:24 +04:00
Ilya Lavrenov
04cb55c37d Moved BA from openvino-dev to openvino (#18571) 2023-07-19 14:36:47 +04:00
Evgenya Stepyreva
b51069dd79 Eliminates Nop Broadcast/Tile and Slice Before GatherElements (#18614) 2023-07-19 14:12:13 +04:00
Sofya Balandina
53fe969773 [apiConformance] Move related to core tests from api to ov_inference_functional_tests (#18349) 2023-07-19 12:01:52 +03:00
Sofya Balandina
8ac00677a9 [apiConformance] Move related to core tests from api to ov_inference_functional_tests (#18349) 2023-07-19 12:01:26 +03:00
Sofya Balandina
d08b424935 Change comparation (#18515) 2023-07-19 12:01:09 +03:00
Ilya Churaev
e600a8e45a Revert "Revert "Revert "Fixed cases if cast data from Tensor to compatible type (#18479)" (#18539)" (#18599)" (#18631)
This reverts commit ea84e73282.
2023-07-19 12:20:11 +04:00
Vitaliy Urusovskij
f470825faf Revert "Remove extra model from CompiledModelDesc" (#18612)
* Revert "Remove extra `model` from `CompiledModelDesc`"

This reverts commit fb07fd7b82.

* Prevent use of `get_rt_model` in Hetero `export`
2023-07-19 12:05:24 +04:00
Edward Shogulin
38dec7b8cf [CPU] Fixed zero-point fusion transformation (#18435)
Proper hanlding for subgraphs where ZP parent node has more than one output port
2023-07-19 11:30:21 +04:00
Nesterov Alexander
510f578aab [ARM CPU] ACL TBB scheduler (#17445) 2023-07-19 10:01:31 +04:00
Ekaterina Aidova
c867c23bb6 [PT FE]: support upsamle2d bilinear and bicubic with antialias (#18617) 2023-07-19 09:36:11 +04:00
Pavel Durandin
9d28dfd79d [GPU] Reorder weights refactoring (#17787) (#18540)
* [GPU] Reorder weights refactoring (#17787)

* [GPU] Fix DG2 with weights optimization

* [GPU] Fix DG2 with weights optimization

* [GPU] Fix DG2 with weights optimization

* [GPU] Fix DG2 with weights optimization

* [GPU] Fix inner order description for some of formats

* [GPU] Fix  expected number of primitives in test

---------

Co-authored-by: Roman Lyamin <Roman.Lyamin@intel.com>
Co-authored-by: Sergey Shlyapnikov <sergey.shlyapnikov@intel.com>
2023-07-19 09:26:02 +04:00
Mateusz Bencer
d363660e67 Deprecate old ONNX API (#18587) 2023-07-18 20:45:39 +00:00
Ilya Churaev
ea84e73282 Revert "Revert "Fixed cases if cast data from Tensor to compatible type (#18479)" (#18539)" (#18599)
This reverts commit 3daa387692.
2023-07-18 19:57:32 +00:00
OlehKravchyshyn
f0abd468a2 [GPU] Permute f and y axes (#13561)
* [GPU] Permute f and y axes

It is supported cases where y and f (and X if it is not equal 1) axes size divisible by 4,8 or 16.
added kernel to switch f and y axes in 4d model blocked and planar formats
added test fot tests

* Added subgroup read/write to THREE_DIM_TRANSPOSE kernel case.

* Better checking of is SIMD size supported.

* Added support for long type to subgroup read/write.

* Added subgroup read/write support to 2d permute.

* Fixed win build issue.

* Changed f and y indexes in iteration.

* Added vector read/write.

* Fixed j_times calculation.

* Better naming.

* Rollback test logic.

* Fixed fusion logic.

* Accept only supported blocked layouts and SIMD sizes.

---------

Co-authored-by: Mykhailo Hnap <mykhailo.hnap@capgemini.com>
Co-authored-by: Wilson Seok <wilson.seok@intel.com>
2023-07-18 11:48:25 -07:00
Pawel Raasz
568d3371d7 Improve file macro trim on windows (#18600)
* On windows try trim forward slash in __FILE__

* Improve exception relative path test assertion
check path with OS native and forward slash
2023-07-18 20:09:26 +04:00
Karol Blaszczak
fe7b19af6a [DOCS] new benchmark data (#18532) 2023-07-18 18:03:25 +02:00
Ilya Lavrenov
700677c5c6 Less argressive chages (#18591) 2023-07-18 19:54:00 +04:00
Ilya Lavrenov
2f3d4df342 Ability to use old API and old cmake config files (#18558) 2023-07-18 19:50:19 +04:00
Mateusz Bencer
85ef310e65 Changed name of enable_mmap flag for MO/OVC + implemented missing passing flag for mo/moc_frontend/pipeline.py (#18618) 2023-07-18 15:30:34 +00:00
Oleg Pipikin
cdef86c366 Move unit and func test utils (#18423)
* Move unit and func test utils. Rename targets

* Fix1
2023-07-18 16:23:58 +02:00
Karol Blaszczak
a7b76522a6 [DOCS] minor MO fixes (#18603) 2023-07-18 16:22:34 +02:00
Sebastian Golebiewski
b7e8338e29 update (#18615) 2023-07-18 14:51:23 +02:00
Chen Xu
9334ad0790 [CPU] Reduce node supports fp16 precision (#18227) 2023-07-18 12:49:25 +00:00
bstankix
8a49cf14ee [DOCS] Add newsletter form (#18605)
* Add newsletter modal
2023-07-18 14:46:42 +02:00
Mateusz Bencer
144c1ffd7b [ONNX FE] Enable two-steps importing (convert_partially + normalize) (#18440) 2023-07-18 12:37:02 +00:00
Jan Iwaszkiewicz
ec26537b3e [PyOV][DOCS] Update inference documentation with shared memory flags (#18561) 2023-07-18 13:15:10 +02:00
Maciej Smyk
d21296bcc1 Update configurations-for-intel-gpu.md (#18611) 2023-07-18 12:35:37 +02:00
Anastasiia Pnevskaia
e67850a186 Use GA4 telemetry backend in MO and OVC. (#18584) 2023-07-18 11:50:04 +04:00
Pawel Raasz
ff5b56ee07 Improve node validation failure message for shape infer (#18520)
* Add NODE_SHAPE_INFER_CHECK macro
throws NodeValidationFailure for shape inference

* Use NODE_SHAPE_INFER_CHECK in topk shape inference

* Move description to header file

* export NodeValidationFailure::create function
2023-07-18 11:41:19 +04:00
Jan Iwaszkiewicz
787796d88f [PyOV] Pin version of Cython for API 1.0 (#18604) 2023-07-18 11:35:03 +04:00
Jade Cho
4d777bd65b [GPU] Copy from usm_host memory to cl_mem memory. (#18555) 2023-07-18 11:27:21 +09:00
Vladislav Golubev
42d2c130c2 [Snippets] ExtractReshapesFromMHA transformation (#18477) 2023-07-17 20:42:18 +02:00
Sergey Shlyapnikov
3958f771da [GPU] Add oneDNN primitives profiling support (#17785)
* [GPU] Add oneDNN primitives profiling support

* [GPU] Add stream.wait() method to prevent caches flushing and other possible impacts of finish() call

* Add comment for wait() usage
2023-07-17 19:17:31 +04:00
Mateusz Bencer
5464216404 Fix IRDFT for 1D complex input in debug mode (#18525) 2023-07-17 16:45:21 +02:00
Ilya Lavrenov
3a92054cf4 Updated pybind11 to v2.11 version (#18580) 2023-07-17 18:18:02 +04:00
Ilya Lavrenov
b89bf8c280 Updated ITTAPI to v3.24.2 (#18581) 2023-07-17 18:17:38 +04:00
Zlobin Vladimir
06bfbd7f28 becnhmark_app/python: revert TODO application because it's not 23.3 yet (#18577) 2023-07-17 18:12:40 +04:00
Alexandra Sidorova
440c05d5b9 [CI][NVIDIA] Fixed test names (#18585) 2023-07-17 17:47:19 +04:00
Anastasiia Pnevskaia
e434285445 Fixed temporary directory creating in test_save_and_restore_with_converts(). (#18569)
* Fixed temporary dir creating in test_save_and_restore_with_converts().

* Small correction.
2023-07-17 17:26:16 +04:00
Katarzyna Mitrus
019723a05d [ONNX] Use ov::v12::pad in ONNX FE Pad (#18460)
* Update ONNX FE Pad to use Pad-12

* Add negative pads test

* Use default_opset(opset12) for Pad
2023-07-17 15:02:45 +02:00
Zlobin Vladimir
a5880ee1eb Report dynamic -data_shape (#18457)
Ticket 112256

Python check was already there
2023-07-17 14:32:01 +02:00
Pawel Raasz
c1fde50cd9 Improve __FILE__ trim on windows builds (#18573) 2023-07-17 14:29:40 +02:00
Vitaliy Urusovskij
ef56b53a3f Remove excess ov::Model clone in Hetero (#18576) 2023-07-17 12:27:33 +00:00
Evgenya Stepyreva
4f415ba211 Partial Values and Labels visualization and update in label equality checks (#18527)
* Provided visualization of partial values and labels. Adopted DimensionTracker for better equivalence tracking

* Addressed comments and fixed one test
2023-07-17 11:59:24 +00:00
Oleg Pipikin
b211767280 Consolidate common test utils targets (#18385)
* Consolidate test util targets

* Fix code style

* Fix 1

* Fix code style
2023-07-17 11:59:13 +00:00
Anastasiia Pnevskaia
cd6ffd7620 Removed redundant copy of Tensor in TF Const translator (#18299)
* Removed copy of consts in translator, added test.

* Fixed memory loss for tf.Const.

* Added test, minor corrections.

* Update src/bindings/python/src/openvino/frontend/tensorflow/node_decoder.py

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

* Test corrections.

* Added comment.

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-07-17 11:41:33 +00:00
Ilya Churaev
f9ead5016f Moved copy_to to impl and move template plugin to this API (#18574)
* Moved copy_to to impl and move template plugin to this API

* Fixed code style

* Fixed documentation
2023-07-17 15:27:17 +04:00
Vitaliy Urusovskij
aeff5056f5 Hetero 2.0 leftovers (#18559)
* Enable `LoadedTensor.*HETERO` test

* Fix use of `ICompiledModel::outputs()`

* Remove extra `loaded_from_cache` argument

* Misprint

* Small refactoring

* Remove extra `model` from `CompiledModelDesc`
Use `get_runtime_model()` instead

* ClangFormat
2023-07-17 11:58:44 +04:00
Eddy Kim
2c73916093 [GPU] fix compilation context to use kernel_impl_params as key (#18470)
* fixed aompilation context to use kernel_impl_params for key

* fixed the argument for push_task
2023-07-17 00:48:12 -07:00
Anastasia Kuporosova
5b522b556d [PyOV] Extend Tensor API (#18464)
* [PyOV] Extend Tensor API

* one more ctor

* apply comments

* support constoutput

* add checks for shape

* checks for type and shape

* apply comments

* is_continuos

* codestyle
2023-07-17 09:44:47 +02:00
Ilya Churaev
f38566834b Remove unsupported plugin from proxy in order to avoid exception catching (#18518)
* Remove unsupported plugin from proxy in order to avoid exception
catching

* Remove from alias for

* Globally remove unavailable devices

* Do not load proxy if no available devices

* Try to fix CI

* Add debug messages

* Avoid two times the same plugin

* Revert "Add debug messages"

This reverts commit 562e36c633.

* Cache hidden devices

* Update if fallback order was changed

* Try to fix CI

* Fixed CoreThreading tests

* Fixed typo

* Try to fix plugin initialization

* Fixed initialization

* Fixed lock
2023-07-17 11:10:59 +04:00
Ilya Churaev
a2b75bbc87 Do not return default context from the compiled model (#18468)
* Do not return default context from the compiled model

* Try to fix segfault

* Added test

* Remove unnecessary code

* Remove code duplication

* Migrate to new API

* Fixed comment

* Revert renamed variable

* Remove cast

* Hetero throws OV Exception
2023-07-17 07:15:54 +04:00
Piotr Krzemiński
d7984f3ec2 [PT FE] Add aten::quantize_per_tensor, aten::quantize_per_channel, aten::dequantize (#18266)
* Support GetAttr with packed params

* Apply suggestions from code review

* [PT FE] Add quantized types as normal types to decoder

* [PT FE] Add decoder dequantize, add dtypes to quantize

* [PT FE] Add dequantize example

* [PT FE] Implement replacer for quantized nodes

* [PT FE] Register replacer for quantize/dequantize

* [PT FE] Remove unwanted junk from previous version

* [PT FE] Fix building mistakes for frontend

* [PT FE] Clang fix

* [PT FE] Ease of use upgrade to quantize funcs

* [PT FE] Clang format

* [PT FE] Introduce new version of quantize/dequantize

* [PT FE] Remove unwanted files from new version

* [PT FE] Fix style

* [PT FE] Add QuantizedPtNode replacer, fix accuracy error

* [PT FE] Add improved version of quantize/dequantize with shared_ptrs

* [PT FE] Fix utils shared ptr reference error

* [PT FE] Quantize now takes correct input for operations

* [PT FE] Upgrade quantize method

* [PT FE] Add BFS for dequantize, add quantize_per_channel

* [PT FE] Add missing replacer to frontend, improve tests

* [PT FE] Rename replacer -> remover, remove unwanted header files

* [PT FE] Change function declarations to return ov::Output instead of shared ptr

* [PT FE] Add missing context mark node

* [PT FE] Remove unknown modifications to ie_c_api

* [PT FE] Remove fp16 support, turn off int32 tests

* [PT FE] Clang format

* [PT FE] Fix quantize_per_tensor

* [PT FE] Minor fixes from review

* [PT FE] Remove dequantize, remove helpers, replacer now removes nodes instead

* [PT FE] Rename Replacer to Remover for dequantize nodes

* [PT FE] Clang format

* [PT FE] Move comments to header files, minor import fixes

* [PT FE] Fix clang format

* [PT FE] Fix dtype issue

* [PT FE] Fix quantize_per_channel tests

* Apply suggestions from code review

Removing sporadic tests from precommit

* Apply suggestions from code review

---------

Co-authored-by: Maxim Vafin <maxim.vafin@intel.com>
2023-07-17 02:30:02 +02:00
Ilya Churaev
8defcef3f1 Trim paths only for Release mode (#18552) 2023-07-16 03:00:00 +04:00
Zlobin Vladimir
5d28498d65 Don't require opencv-python for benchmark_app (#18565)
cv2 availability is already optional: 238c7fa47e/tools/benchmark_tool/openvino/tools/benchmark/utils/inputs_filling.py (L148)
2023-07-15 13:00:29 +04:00
Vitaliy Urusovskij
37d055e477 Enable -pie compile option for MacOS (#18568) 2023-07-14 21:06:04 +00:00
Vladimir Paramuzov
325d02b760 [GPU] Use stream executor and exceptions from new api (#18531)
* [Common] Handle ov::Exception too in CompiledModel wrapper

* [GPU] Use new threading and exception interfaces where possible
2023-07-14 20:51:40 +02:00
Georgy Krivoruchko
08cd757ed5 PostgreSQL interface for reporting from test apps (#14483)
* PostgreSQL interface for reporting from test apps

* Fixes for Linux and MacOS builds

* Fixed segmentation fault and linux build issue

* Removed unnecessary debug messages and std::endl

* Improved logging

* Added loading libpq.so.5 on Linux and fixed typos

* Removed explicit definition for conformance runner

* Added reporting levels with less details, but faster

* Added escaping strings due to unexpected tests naming

* Added env-var defined Run ID (external grouping)

* Added transaction-based queries

* Stored amount of tests to run

* Added handling of serialization errors for transactions

* Cleanup unnecessary code due to latest changes in env

* Added customizable test results

* Enabled conformanceTests.exe for PostgreSQL Reporting

* Changed behavior of Run ID. Changed behavior of Suite Results.
Fixed void in declarations.

* Refactored code regarding control of custom fields in runtime

* Updating targetDevice and case type in Conformance Test

* Introduced wasting test results in case of skipping
Fixed behavior of missing data in case of Fast reporting
Refactored Initialize function by moving loading part separately

* Updated queries naming

* Added runtime resolution of an opset version for operation

* Added capturing a PostgreSQL logs for diagnostic purposes

* Remove unused header

* Fix for fresh master

* Try to detect run on ARM, fix for latest IR hash format

* Updated status values for easier queries

* Added a version info to session information

* Added simple DGPU detection, removed unused prints

* Reduced serialization errors

* Replaced usleep by nanosleep

* Improving robustness

* Fixed behavior of OpImplCheck

* Added IR Weight

* Added a customizable "device architecture" field

* Fix for CI

* Added missing device detection in OpImplCheck

* Introduced Manual Start feature for delayed posting start
information to a tables

* Added app_id to test_results

* Changed architecture detection as requested by owner

* Moved CMake option to src/tests

* Added TODO

* Added full device name as a part of target device

* Added MacOS libpq loading

* Trying alternate way to load on MacOS

* Adding correct executable name detection for MacOS
2023-07-14 20:47:58 +02:00
Vitaliy Urusovskij
e1d99a8ff3 Suppress signal-unsafe call tsan issue (#18562) 2023-07-14 21:17:27 +04:00
Ryszard Jezierski
072b9f1e2a added check for availability of GNA HW in QueueInference (#18549) 2023-07-14 17:10:33 +00:00
Przemyslaw Wysocki
7bceba1523 [PyOV] Extend Python API with opset12, Pad-12, ScatterElementsUpdate-12 and GroupNormalization-12 (#18481) 2023-07-14 15:59:13 +00:00
Zlobin Vladimir
ce8f164fea Fix -api sync for single -data_shape (#18463)
* Fix -api sync for single -data_shape

Tickets 111187 and 111185

I wasn’t able to find C++ equivalent of Python’s `info.original_shape.is_static`. Later I realized that it shouldn’t be considered because -shape cmd arg should have higher priority for shape inference than model’s shape. So I removed it from Python.

Replace

`if benchmark.inference_only and batch_size.is_dynamic:`

with

`if allow_inference_only_or_sync and batch_size.is_dynamic:`

to reset batch_size to static in case of dynamic shape with single -data_shape

* Check only app_input_info.size() == 1 because if it's gretaer than 1, input shape is dynamic and there are more that one static shapes. Apply TODO
2023-07-14 15:21:55 +00:00
Andrey Kashchikhin
9973feda74 Disable windows GA workflow (#18566) 2023-07-14 16:22:58 +02:00
Anastasiia Pnevskaia
6af1bb307c String tensors in tf.Graph decoder (#18461)
* String consts in TF Decoder.

* Fixed test.

* Small corrections.

* Added test, minor corrections.

* Test correction, removed decoding.

* Removed wrong changes.

* Removed not needed code.
2023-07-14 17:58:07 +04:00
Roman Kazantsev
826f345daf [TF FE] Support TF1 Control Flow: Switch, Merge (#18378)
* [TF FE] Support Switch and Merge to fuse into If operation

It introduces support of TF1 control flow with Switch and Merge nodes.

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

* Add script for test model generation

* Fix code-style

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

* Fix build issue

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

* Fix build issue with types

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

* Apply code-review feedback: optimizations in utils

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

* Fix build issue

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

* Apply code-review remarks and cover more cases

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

* Remove commented code

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

* Remove unused vars

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

* Update MO unit-tests wit Switch-Merge case

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

* Fix build issue: remove unused variable

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

---------

Signed-off-by: Kazantsev, Roman <roman.kazantsev@intel.com>
2023-07-14 15:56:34 +02:00
Nesterov Alexander
238c7fa47e [CPU][ARM] Add ACL executor for Transpose (#17322)
* separate executors + add acl executor fot transpose

* correct axisCast

* update transpose executors list

* update new changes

* enable tests

* fix fortting

* fixed test shapes and transpose generalization

* fixed different signedness error

* size_t usage in loop counters

* undo unwanted changes

* fixed comments

* added i8 and fp32 to blocked x86 tests

* fixed comments

* fixed comments

* extracted general reference executor from PermuteKernel

* fix mayiuse in JitTransposeExecutorBuilder::isSupported

* getDescWithType name refactoring

* refactoring

* removed 2nd executor creation in transpose node

* Moved RefOptimizedTranspose to the top

* fixed comments

---------

Co-authored-by: Aleksandr Voron <aleksandr.voron@intel.com>
2023-07-14 15:16:09 +02:00
Maxim Vafin
73ed804134 Fix typo in align types function (#18474) 2023-07-14 13:02:02 +02:00
Fang Xu
84bf35958e enable canary for linux oneTBB2021.2.1 (#18444)
* enable canary for linux oneTBB2021.2.1

* modify oneTBB package name
2023-07-14 10:35:56 +00:00
Sungeun Kim
181238bcfb [GPU] Move unit test file to the proper location (#18545) 2023-07-14 14:19:56 +04:00
Andrey Kashchikhin
7f94bd4c12 [CI] [GHA] Cancel in-progress Linux & Win pipelines in favour of that of on the latest commit in PRs (#18548)
* cancel in-progress PR pipelines in favour of the latest

* add unique vals to the concurrency

* sample change

* revert
2023-07-14 14:00:21 +04:00
Sebastian Golebiewski
6761a29af5 [DOCS] Updating Interactive Tutorials (#18504)
* update-notebooks

* Update docs/nbdoc/nbdoc.py

Co-authored-by: bstankix <bartoszx.stankiewicz@intel.com>

* Update docs/nbdoc/nbdoc.py

Co-authored-by: bstankix <bartoszx.stankiewicz@intel.com>

---------

Co-authored-by: bstankix <bartoszx.stankiewicz@intel.com>
2023-07-14 10:57:06 +02:00
Sofya Balandina
92ecccc1b9 [conformance] Move query model tests from api to opset (#18242)
* [conformance] Move query model tests from api to opset

* test summary

* Fix build

* Fix large amount of new tests
2023-07-14 11:53:51 +04:00
Evgeny Kotov
31f86c83d3 remove debug (#18514) 2023-07-14 11:06:09 +04:00
Ilya Churaev
93e30468b1 Change plugin api (#18441)
* Remove vector of so objects from Tensor, Any, VariableState and
RemoteContext

* Change IRemoteContext

* Fixed build without Proxy

* Moved API to ITensor

* Remove friends from Tensor class

* Changed query_state API

* Remote SoPtr for some returned values

* Fixed auto plugin

* Add so to converted objects

* Fixed build all on macOS

* Check that tensor pointers != nullptr

* Add SO to converter

* Added new constructors for SO ptrs

* Changed IVariableState API

* Remove proxy friend

* Remove friends and nullptrs from auto

* Fixed build

* Fixed HETERO plugin

* Fixed code style
2023-07-14 10:47:53 +04:00
Andrew Kwangwoong Park
38913f2184 [GPU] Add debug config for disabled async compilation (#18535) 2023-07-14 10:42:03 +04:00
Ilya Churaev
cba84fd763 Fixed clang format for plugin files with version (#18546) 2023-07-14 10:41:38 +04:00
Ekaterina Aidova
4c49040ce6 [PT FE]: multiple fixes for models from optimum testing scope (#18501)
* [PT FE]: multiple fixes for models from optimum testing scope

* Update src/frontends/pytorch/src/op_table.cpp
2023-07-14 10:37:53 +04:00
Maxim Vafin
1d9be8c76e Do not freeze models with compressed constants (#18505)
* Do not freeze models with compressed constants

* Add test
2023-07-14 08:30:35 +02:00
Maxim Vafin
acb14d5d6b [PT FE] Support bfloat16 constants (#18534)
* [PT FE] Support bfloat16 constants

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

* Add tests for tracing
2023-07-14 08:29:55 +02:00
Andrew Kwangwoong Park
3f67b3948d [GPU] Dynamism support for Proposal (#18489) 2023-07-14 10:28:56 +04:00
Alexandra Sidorova
67c88f4434 [Snippets] Added SplitDimensionM optimization (#18160) 2023-07-14 07:31:24 +02:00
Sergey Shlyapnikov
b7935bb869 [GPU] Fix data races in RegisterFactory() and LogHelper::LogHelper() functions (#18521) 2023-07-14 09:06:10 +04:00
Evgeny Kotov
bfe8899839 initial fixes (#18508)
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-14 04:53:54 +02:00
Andrey Kashchikhin
f1faa5f5a3 add path-ignore (#18533) 2023-07-14 00:47:06 +04:00
Vitaliy Urusovskij
43ff356f1a Hetero 2.0 (#18429)
* Hetero 2.0: Implement `hetero::Plugin`

* Fix CMakeLists.txt

* Remove duplicated "itt.hpp"

* Remove extra API method

* Delete `HeteroPlugin::Engine`

* Intregrate `ov::hetero::Plugin` into `HeteroExeNet`

* Use `is_new_api()`

* Add `override` modificator

* Rename `GetDevicePlugins` to `get_device_properties`

* Small fixes

* Fix precommit

* Fix Import/Export

* Fix `import_model()`

* Remove extra lines

* TEMPORARY disable one test

* ClangFormat+Refactoring

* Build fix

* Update `hetero::Configuration` logic

* Update `hetero::Plugin::get_property()`

* Fix

* Changes after code review

* Remove extra comments

* Revert "TEMPORARY disable one test"

This reverts commit 13fa48d8102ec5146e79987835e6f7444e469f7a.

* Small fix

* Refactoring + Fixes

* Add `hetero::Plugin::device_supports_model_caching`

* Replace `device_supports_model_caching` with ICore impl

* Code review changes

* Rework `Configuration`

* Implement `hetero::CompiledModel`

* Fix caching_test

* ClangFormat

* Fix inputs/outputs mapping
After some fix in ICompiledModel, m_inputs != model->inputs,
so mapping was updated to be independent from m_inputs
(same for m_outputs)

* Fix types

* Update `get_runtime_model()`

* Remove `ngraph` and `IE_THROW`

* Implement Hetero Sync/Async Infer Requests

* A lot of changes

* Add `submodels_output_to_input` to import/export

* Implement `get_tensors()`/`set_tensors()`

* Fix `Configuration` ctor

* Skip `SetPreProcessTo` legacy tests for hetero

* Change `Output->Input` logic to `Input->PrevOutput`
because for one output may be several inputs
(map key collision)

* Update `CompiledModel` to use shared_ptr vs *

* Update `CompiledModel`  public/private members

* Names refactoring

* Optimize imports

* Fix properties for `query_model()` call

* Use static objects in `Configuration` methods

* `Configuration` refactoring

* Get `ov::supported_properties` from subdevices

* InferRequest +1 import and fwd declaration

* Update `InferRequest` prof_info, remove extra methods

* Remove `InferRequestDesc`

* Remove `InferRequest::cancel()`

* Update CMakeLists.txt

* Remove extra `catch` in `CompiledModel`

* Replace `InferenceEngine::details::contains()`

* ClangFormat

* Use `const auto&`

* Try to fix types

* Remove `friendly_name` for subgraphs connection

* Remove TODO comment

* Remove `CompiledModel::m_model` as unused

* Polish .hpp files

* Fix size_t serialization in `CompiledModel::export_model()`

* Minor changes

* Move `intersect*` IE utils to anonym namespace

* Use `const auto&`

* Update Hetero `get_profiling_info()`

* Minor changes

* Rename `deviceName` to `device_name`

* Add `hetero::VariableState` in order to hold HW so

* Port internal properties to `ov::internal`

* Add `CompiledModel::set_inputs_and_outputs()`

* Add `OPENVINO_SUPPRESS_DEPRECATED_*`

* Fix CompiledModel `ov::device::properties` issue

* Use `get_device_name()` instead of hardcoded name

* Make `get_profiling_info()` names bwd compatible

* Remove `include` folder

* Remove try/catch from CompiledModel

* Update error message

* `CompiledModel::set_property` throw not implemented
2023-07-13 23:26:04 +04:00
Mateusz Bencer
c59746fd27 Implementation of MMAP for ONNX FE (#18026)
* Implementation of MMAP for ONNX FE

* fix win offsets

* added virtual dtor to MappedMemory

* review remarks. part.1

* added disable mmap flag to MO

* added additional checks to mmap

* remove unnecessary const

* fix pybind default value

* Added args.disable_mmap = False to MO tests

* fixed MO test

* avoid global headers

* fix casting for win

* disable mmap for legacy frontends flow

* review remarks

* Fixed passing parameters

* added doc to MappedMemory and load_mmap_object
2023-07-13 19:17:58 +00:00
Ilya Lavrenov
96d16b141d Ability to configure setup.py via env variables (#18538) 2023-07-13 23:12:07 +04:00
Ilya Lavrenov
7b5acbb29a Rely on find_package(OpenCL) (#18541) 2023-07-13 23:11:32 +04:00
Ilya Lavrenov
82fe1677d0 Revert "Use system gflags only in samples (#18478)" (#18543)
This reverts commit bca3f3e441.
2023-07-13 21:05:55 +04:00
Ilya Lavrenov
bca3f3e441 Use system gflags only in samples (#18478) 2023-07-13 20:45:22 +04:00
Ilya Lavrenov
3daa387692 Revert "Fixed cases if cast data from Tensor to compatible type (#18479)" (#18539)
This reverts commit 63b18adf68.
2023-07-13 18:34:53 +04:00
Ivan Tikhonov
97fb4ed18c Update the transformations to use the concrete op versions instead of opsets (#18503)
* codestyle

* update the transformations to use the concrete op versions instead of opsets

* resolve review comments

* codestyle
2023-07-13 16:46:05 +04:00
Sungeun Kim
6913a5effb [GPU] set fixed random seed (#18144)
* random_generator
* apply random_generator to all tests
2023-07-13 21:13:29 +09:00
bstankix
d6c4e1acc0 [DOCS] Update newsletter (#18529)
* Change trigger to work from iframe

* Add more debug info
2023-07-13 12:50:43 +02:00
Nesterov Alexander
6822eb612e [CPU][ARM] Add ACL executor for Convert (#17323)
* seaprate executors + add acl executor for convert

* update convert

* enabled tests and lot of changes in acl executor

* fixed different signedness comparison

* added expectedPrimitiveType method

* fixed comments

* fp16 WAs

* enable fp16 convert tests

* Revert "enable fp16 convert tests"

This reverts commit 037af672ce.

* Revert "fp16 WAs"

This reverts commit 3db3d4294e.

* fixed comments

* updated expected privitive to ref

* fixed comments

* getDescWithType name refactoring

* GetPtr to getData refactoring

* GetPtr to getData refactoring

---------

Co-authored-by: Aleksandr Voron <aleksandr.voron@intel.com>
2023-07-13 12:36:49 +02:00
Katarzyna Mitrus
d026ae74ce [ONNX] Use ov::v12::ScatterElementsUpdate in ONNX FE ScatterElements (enable reduction) (#18462)
* Update ONNX FE scatter_elements to use ScatterElementsUpdate-12

* ONNX tests update

* Set reduction update

* Enable xfailed tests

* Add more onnx tests

* Fix reference implementation to support negative indices

* Style alignment
2023-07-13 12:16:31 +02:00
Orest Chura
355ba34b9e Fix step numbers in nv12 classification sample (#18530) 2023-07-13 14:03:58 +04:00
Andrey Kashchikhin
a5782e0906 [CI] Introduce Windows pipeline in GitHub Actions (#18487)
* introduce win pipeline

* save only on master

* skip test_if for pytorch tests

* skip pytorch layer tests

* skip one test, execute python tests
2023-07-13 14:03:33 +04:00
yanlan song
77f065e4b1 refactor code (#18475)
Signed-off-by: fishbell <bell.song@intel.com>
2023-07-13 13:58:44 +04:00
Pawel Raasz
2cfd259824 [core]Trim __FILE__ macro by compiler if supported (#18411)
* Trim __FILE__ macro by compiler if supported

* Use file for older version cmake
Debug messages

* Move trim compilation options to os_flags.cmake

* Fix MSVC trimming options

* Add additional trim on runtime

* Update trim function description

* Use ov implementation for ngraph::trim_file_name

* Restore ie_c_api.h

* Remove unused define

* MSVC add trim for CXX language
2023-07-13 13:42:01 +04:00
Katarzyna Mitrus
605be1df07 [ONNX][OV Opset12] Update ONNX FE to use ov::opset12 as default (#18453)
* Update ONNX FE to use ov::opset12 as default

* Adjust other files

* Temp keep pad opset11
2023-07-13 09:24:28 +00:00
Min, Byungil
884006a0cf [GPU] Optimizing primitives for only batch axis padding (#18163)
+ Optimized out Reshape if only batch axis has padding
+ Not to add Reorder before oneDNN if only batch axis has padding
+ Re-calculate output layout's padding if Reshape is optimized opt
+ Not to apply optimization of stable diffusion iGPU perf to dGPU(#18200)

Signed-off-by: Min, Byungil <byungil.min@intel.com>
2023-07-13 18:19:04 +09:00
Sergey Shlyapnikov
feab0ab75e [GPU] Memory preallocation optimization (#18181)
* [GPU] Use real layout for cpu impls instead of memory's

* [GPU] Add memory tracking and pre allocation mechanism

* Tests and minor code refactoring

* Apply review comments

* Remove unused include
2023-07-13 07:26:17 +02:00
Andrew Kwangwoong Park
eba1b46719 [GPU] Update ROIPooling to use nGraph shape inference (#18500) 2023-07-13 09:04:13 +04:00
Anastasia Kuporosova
acc13a70e8 [PyOV] py wrappers for clone/deepcopy model (#18502)
* [PyOV] py wrappers for clone/copy model

* -amend

* py wrap for clone_model

* codestyle

* mypy checks

* enable mypy for new file

* apply comment

* deprecate clone_model

* deepcopy removal from cpp
2023-07-13 01:10:38 +00:00
Wang, Yang
7b9f6c47b1 [AUTO] AUTO can't fall back if target device throws the exception before compiling model via AUTO (#18311)
* 1. Update AUTO candidate device filtering logic.
2. Add AUTO handling the exception logic when generating the target device infomation.

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

* Update.

* Update.

* Update.

* Update.

---------

Signed-off-by: Wang, Yang <yang4.wang@intel.com>
Co-authored-by: Chen Peter <peter.chen@intel.com>
2023-07-13 09:09:25 +08:00
Ilya Churaev
63b18adf68 Fixed cases if cast data from Tensor to compatible type (#18479)
* Fixed cases if cast data from Tensor to compatible type

* Allow cast only if both element types are real or not
2023-07-12 22:51:34 +04:00
Anastasiia Pnevskaia
dd45925802 OVC tool leftovers (#18410)
* Made MO cli parser independent from OVC, added OVC Pylint test, minor fixes.

* Small corrections.

* PyLint fixes.

* Added init files.

* PyLint fixes.

* Small correction.

* Removed OVC dependency from MO.

* Fixed MO unit tests.

* PyLint fixes.

* Unit tests fix.

* Returned MO unit tests.

* PyLint configs.

* Small correction.

* Moved offline_transformations to back.

* Moved offline_transformations to back.
2023-07-12 18:18:22 +04:00
Xiping Yan
a396f07421 [CPU][NGraph]Enable node scatter_nd_update support negative indices. (#17219) 2023-07-12 17:04:44 +04:00
Nikolay Shchegolev
98e88bee52 [CPU] Support Pad-12. (#18407) 2023-07-12 16:59:07 +04:00
Katarzyna Mitrus
4c948ab6f8 [Transformations][ONNX FE][GroupNormalization-12] Decomposition transformation and ONNX FE update (#18416)
* Use GroupNormalization in ONNX FE

* Add and enable decomposition transformation

* Add NodeRegistry

* Adjust eps type

* Use Unsqueeze for bias and scale adjustment

* Add transformation tests

* Add Squeeze for bias and scale to ONNX FE

* Simplify get_range helper

* Add cast double to float eps helper

* Adjust reduction axes

* Style alignment

* Add float eps values in tests

* Enable accuracy comparator in transformation tests

* Skip F16 ref test

* Namespace adjustment

* Const ref for shape vec

* Remove nested scopes from transform tests

* Rename function to model in tests

* Add more const to variables

* Use common input shapes and elem type in transform tests

* Add ticket number to the test

* Update tests headers and names

* Use compatible ror rank check

* Use move to insert splits in new shape

* Add docs to cast_eps helper

* Additional test for eps

* Use versions instead of opset

* Include each op separately
2023-07-12 14:37:03 +02:00
Xiuchuan Zhai
5630d3a8b2 enable 1-D axis in cumsum (#17650)
* enable 1-D axis in cumsum

* fix according to comments; add testcases
2023-07-12 11:54:00 +00:00
Ryszard Jezierski
7bdaedf4f8 [GNA] Pre/post-processing optimizations using AVX2 (#18065)
* Added AVX2 optimizations for score preprocessing

* Revert special scaling case for scale factor 1.0f

* changed dimension variables to size_t, fixed warnings

* fixed bug with exporting scores

* Used templates in conversion functions

* Refactor after review

* Linux build fixes

* Review fixes

* Review fixes
2023-07-12 12:16:57 +01:00
bstankix
0e1d006144 [DOCS] Add newsletter popup (#18506)
* Add newsletter modal

* Add icons to message box

* Add debug info
2023-07-12 12:44:20 +02:00
Nadezhda Ageeva
3330cd69a7 [GPU] Introduce ov::config_device_id internal property to the new API (#17820)
* [GPU] Introduce ov::config_device_id internal property to the new API. Fix setting property for specific device

* Introduce ov::internal::supported_properties

* Fix caching tests

* Fix win tests

* Fix Proxy tests

* Replace CONFIG_KEY_INTERNAL(CONFIG_DEVICE_ID) by ov::internal::config_device_id in PROXY plugin

* Review comments
2023-07-12 10:03:35 +00:00
Karol Blaszczak
b30bd0d3e4 [DOCS] GNA disclaimer 2023-07-12 11:46:08 +02:00
Chen Xu
7c1949421f [CPU] Fix performance issue for some cases of Reduce node (#11456) 2023-07-12 08:48:38 +00:00
Andrei Gorbachev
af6c2b0671 [Coverity] Replace find to count (#18493)
* fix CVS-112761

* fix CVS-112760

* fix CVS-112770

* fix CVS-112763, replace find to count
2023-07-12 11:57:41 +04:00
Ilya Churaev
cd02804d5b Catch errors in case if some plugin doesn't have environment on the system (#18491)
* Catch errors in case if some plugin doesn't have environment on the
system

* Fixed typo

* Fixed Windows build
2023-07-12 06:58:41 +00:00
Paul Youngsoo Ahn
1e69152d9f [GPU] Set default format only for the dynamic model with static input shape (#18486) 2023-07-11 23:37:56 -07:00
Taylor Yeonbok Lee
8f513002b6 Disable redundant reset for internal buffer (#18447) 2023-07-12 02:00:11 +02:00
Ilya Churaev
0927e867b0 Implement ov::IInferRequestInternalWrapper::GetPreProcess to recover python GetPrepProcess tests (#18484)
Co-authored-by: River.Li <river.li@intel.com>
2023-07-12 00:02:54 +04:00
Oleg Pipikin
ee50d2d120 Fix deprecation warning for debian build (#18488) 2023-07-11 21:46:20 +04:00
Andrey Kashchikhin
f06e0816f7 add missing stages (#18480) 2023-07-11 21:05:55 +04:00
Jan Iwaszkiewicz
59052d846e [PyOV] Memory flow control with share_inputs and share_outputs (#18275)
* Added ReturnPolicy and updated common array helpers

* Clean up

* Remove ReturnPolicy initial

* Add share_inputs and share_outputs

* Tests and minor fixes

* Fix docstrings

* Fix whitespace

* Fix typing
2023-07-11 21:05:22 +04:00
Pawel Raasz
56f51135d4 Grey preprocessing yuv nv12 i420 (#18239)
* Add two plane YOV to Grey conversion

* Add i420 to grey conversion

* Add yuv to grey conversion for GPU

* Fix cmakes

* Remove static from local function

* Remove opencv dependency from tests

* Put grey_from_yuv_single_plane into namespace
2023-07-11 12:41:24 +02:00
Nikolay Shchegolev
88703905f4 [CPU] Leftovers for Extension convert I64/U64 to I32. (#16941)
* [CPU] Leftovers for Extension convert I64/U64 to I32.

* Fix as per comments

* Fixes as per commits 2

* Fixes as per commits 3

* Revert "Fixes as per commits 3"

This reverts commit 84022be66f64faccd96a32da5611db0e5137d049.

* Some fixes

* Test fix
2023-07-11 11:42:53 +02:00
Marcin Kacprzak
521c846b72 [GNA] Fix for concat requantization problem (#18008)
* [GNA] Fix for concat requantization problem

* [GNA] Review fixes

* [GNA] Reverted `using namespace std`

* [GNA] Updated transformation description
2023-07-11 10:32:49 +01:00
Mateusz Tabaka
0296008c7e Add explicit converts for Parameter and Result in ConvertPrecision tr… (#18183)
* Add explicit converts for Parameter and Result in ConvertPrecision transformation

* set friendly name for convert on output

* tests
2023-07-11 13:02:28 +04:00
Mateusz Mikolajczyk
82c65c25da [PT FE] Add aten::scatter and inplace for aten::sub translation (#18341)
* Add sub inplace

* Add scatter implementation

* Remove debug var

* Add tests for empty index

* Add reduce support

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-07-11 11:00:50 +02:00
Maciej Smyk
0148076ed7 [DOCS] Code block update for master (#18437)
* code-block-1

* Update Convert_Model_From_Paddle.md

* code-block force

* fix

* fix-2

* Update troubleshooting-steps.md

* code-block-2

* Update README.md
2023-07-11 10:43:54 +02:00
Maksim Kutakov
900163c484 [CPU] In place memory for dynamic shapes (#17741)
* InPlace memory direction resolution pass

* Partitioned mem mngr

* Concat reshape pattern has been enabled

* Enhanced in place conflicts detection

* Refactor Concat

* Fix Reshape isExecutable call

* Split node refactoring

* Gather node inPlace special case

* Temporal WA to enable zero copy on Split input

* Process inPlace edges in order

* Fixes

* Remove implicit initialization from Edge::getMemory

* Allow NotAllocated edges call allocate

* extract IMemory interface and implements Memory class.

* IMemory fixes after merge

* Prevent input memory modification

* Minor build fixes

* Fix unittest build

* Fix for variadic concat

* Edge reference fix

* Lock based mem manager

* Return value fix

* Naming refactoring

* Use make_unique

* Split output dims check

* Special processing for empty parts

* Concat null memory fix

* Fix downstream inplace resolution

* Concat allocated edge search fix

* Variadic split clean up tests

* Variadic Split tests update

* Fix make_unique conflict

* Split inPlace tests are back

* Concat inPlace dyn shapes tests

* Add safety checks to isInputTensorAtPortEmpty

* Fix partitioned mem mngr zero size reset

* Introduce Static Memory

* Gather InPlace Tests

* InPlace conflict check in merge Reorder Transpose

* Apply review comments

* fix after rebase

---------

Co-authored-by: jialipen <cecilia.peng@intel.com>
2023-07-11 10:39:29 +02:00
Katarzyna Mitrus
827fb0234b [Shape Infer] RNN/GRU/LSTM Cell & Sequence - common shape infer and review (#18009)
* rrn seq base common shape infer init

* Update and add shape infer to all seq rnn based ops

* Use shape_infer in lstm seq core op

* Use shape_infer in rnn seq core op

* Unified shape infer for rnn cell base

* Update and add missing cells shape_infer functions

* Use shpe_infer in rnn_cell

* Update shape_infer map

* shape_infer tests

* Move new shape_infer to TA map

* More tests and shape improvements

* Introduce common base tests

* Fix merge conflict

* Missing setters and default ctor tests

* Use RNNCellBase class instead of template type op

* Update v0 LSTMSequence to use RNNCellBase as parent class

* Style

* V0::LSTMSequence update

* Specify opset in shape infer registry

* Move rank check

* Output vec generation refactor

* Update num_dir_validation

* Tests warining fix

* Test types adjustment

* Commented code cleanup

* Move test helpers to test fixture

* Common default ctor tests for Cell

* Update GRU shape infer tests

* Update LSTM shape infer tests

* Update RNN shape infer tests

* File names update

* Functions renaming

* Cast hidden size in test

* Move v0::LSTMSequence conformance test

---------

Co-authored-by: Pawel Raasz <pawel.raasz@intel.com>
2023-07-11 12:38:31 +04:00
Evgeny Kotov
2663b002e8 fix transformation; add unit test (#18346)
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-11 10:27:33 +02:00
Andrey Kashchikhin
c738899408 [CI] Introduce Linux pipeline in GitHub Actions (#18355)
* skip validation, always include cmake

* rm unconditional inclusion of zlib

* always include zlib

* correct path for builtin_extensions

* find builtin extensions recursively

* include test_utils always

* add logs for build_samples

* skip tests with dir accessing

* remove platform specification for samples build

* do not pkgconfig on win, use cmake generic on linux for samples

* rm make

* fix num_threads

* use bare numbers

* skip failing

* skip test_lrn_basic

* find zlib

* print error of downloading

* add linux pipeline

* do not save cache from PRs; add skipif only in GHA

* rm caching

* evaluate against a string

* do not include test_utils to the install dir
2023-07-11 11:54:33 +04:00
Maciej Smyk
2ea277fc72 Update installing-openvino-docker-linux.md (#18458) 2023-07-11 09:44:08 +02:00
Irina Efode
b1e250757e [IE TESTS][CONFORMANCE] Change data_generation initialization to avoid incorrect value (#18193)
* [IE TESTS][CONFORMANCE] Fix data generation

* fix cpu tests

* CPP Lint

* Update ranges.hpp

* change start_from and range according typo

* Update deformable_convolution.cpp

* clenup

* Update activation.cpp

* Update deformable_convolution.cpp

* Update grid_sample.cpp

* Fix tests -> change start_from type
2023-07-11 09:12:25 +03:00
Paul Youngsoo Ahn
ff4ed54bba [GPU] Fix kernel selecting issue on dynamic model with static input shape (#18448)
* [GPU] disable blocked format for dynamic shape model(#18448)

* [GPU] Return default format for output layout rank when user node is reshape in get_preferred_format
- Rollback code to disable blocked formmat for dynamic shape

* [GPU] Add unit test checking has_reshape_user

* [GPU] remove redundant comments
2023-07-10 22:54:56 -07:00
Evgeny Kotov
ad7caf5d76 Pruning add Pad12 support (#18363)
* fix transformation

* add unit test

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-10 23:18:46 +04:00
Ilya Churaev
3278bc1566 Fixed build without proxy (#18442) 2023-07-10 22:38:00 +04:00
Tatiana Savina
d829c8086d basiq quantization flow changes (#18439) 2023-07-10 18:53:41 +02:00
Pavel Durandin
75696f4545 [GPU] Fix DG2 units tests with null users (#18455)
* [GPU] Fix DG2 units tests with null users

* [GPU] Fix DG2 units tests with null users
2023-07-10 19:32:38 +04:00
Tomasz Dołbniak
975ba2a92b Optimization of ScatterElementsUpdate ref impl (#18313)
Co-authored-by: Katarzyna Mitrus <katarzyna.mitrus@intel.com>
Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-07-10 15:58:37 +02:00
Artyom Anokhov
58de48a491 Temporary block nvidia plugin to enable CPack target first (#18456)
* Temporary block nvidia plugin to enable CPack target first

* rpm.cmake: Added the same block for nvidia
2023-07-10 17:15:59 +04:00
Oleg Pipikin
d6c0289008 Move common test utils (#18339)
* Move common test utils

* Apply comments

* Comments 2
2023-07-10 12:48:24 +00:00
Ilya Churaev
500ac2ab43 Remove vector of so objects from Tensor, Any, VariableState and (#18430)
RemoteContext
2023-07-10 12:41:03 +00:00
River Li
3286a405be Don't eliminate Transpose when 0 size of order_value (#18130)
* Don't eliminate Transpose when 0 size of order_value

* Remove invalid test for transpose
2023-07-10 14:58:02 +04:00
Przemyslaw Wysocki
6c55937119 [PyOV] Add get_compiled_model binding for InferRequest (#18386) 2023-07-10 12:08:10 +02:00
Andrei Gorbachev
8f529df763 [Coverity] Fix coverity (#18420)
* fix CVS-112761

* fix CVS-112760

* fix CVS-112770
2023-07-10 09:49:59 +04:00
Pavel Esir
1cb4595727 [MO] add support for scalar shapes into cli_parser.py (#18312)
* add support for scalar shapes into cli_parser.py

* add test-case with scalar shapes for convert_model

* reordered inputs in test-case with scalar shapes for convert_model

* minor clarifications

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-07-08 17:27:07 +00:00
Pavel Esir
af9a8cbbd7 fix GitHub Actions failing tests (#18357)
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-07-08 18:21:59 +02:00
Andrew Kwangwoong Park
eb3bb52a08 [GPU] Update DepthToSpace to use nGraph shape inference (#18422)
* Update DepthToSpace to use ngraph shape infer

* Remove legacy block_size limitation for static shape

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

* Add TCs for ov_gpu_func_tests and ov_gpu_unit_tests

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

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-07-07 15:13:48 -07:00
Paul Youngsoo Ahn
f940333a1c [GPU] Apply ngraph shape infer for ROIAlign (#18424) 2023-07-07 11:37:21 -07:00
Tomasz Jankowski
e81bcacf33 [Ref_Impl] Add GroupNormalization-12 reference implementation (#18343)
* Add GroupNorm reference implementation

* Clean up

* Handle GroupNorm in ov namespace only

* Simplify the flow

* Add various scale and bias tests

* Fix batches case

* Add more float tests

* Set output shape

* Set output shape

* Fix missing includes

* Move to ov namespace

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-07-07 20:04:44 +02:00
Evgeny Kotov
0cd4ea29ce fix ReverseShapeAndTypeInfer; add unit test (#18319)
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-07 17:49:47 +02:00
Ilya Churaev
79c37882aa Add variable state for proxy plugin (#18426)
* Added proxy variable state

* Added documentation for some methods

* Fixed code style
2023-07-07 17:44:57 +02:00
Vladislav Golubev
205de6106b [Snippets] BrgemmEmitter: blocking by K & N dimensions (#18302)
* KN blocking draft

* some fixes

* IdentifyBuffers temporary hack

* Emitter cleanup

* IdentifyBuffers cleanup

* BrgemmCopyB validation: N_blk is taken from the child BrgemmCPU

* Added blocking parameters to BrgemCPU

* accuracy fixes

* Buffers insertion removed from BrgemmToBrgemmCPU

* Added blocking parameters to BrgemmCopyB

* blocking parameters

* Blocking params configuration removed from brgemm_to_brgemm_cpu transformation

* Introduced a transformation for blocking parameters configuration

* MHA tokenization alligned with blocking matmul requirements

* Alexandra's comments applied

* Alexandra's comments applied: 2nd round

* Ivan's comments applied

* MHA tokenization: removed kernel_buffer_size related heuristics
2023-07-07 17:44:14 +02:00
Ilya Churaev
8e671403b3 Try to fix error: e is outside the range (#18369)
* Try to fix error: e is outside the range

* Fixed code style

* Fixed tests

* Fixed tests

* Fixed code style

* Added error messages

* Fixed code style
2023-07-07 19:36:18 +04:00
Mikhail Ryzhov
df014637c9 [GNA] Fixed concat axis checks (#18281)
* Fixed concat axis checks

* clang fix

* Enabled the rigth concat axis check

* is_concat_supported based on ngraph

* fixed concat patterns checks

* code style fix

* removed unused helpers

---------

Co-authored-by: Marcin Kacprzak <marcin.kacprzak@intel.com>
2023-07-07 14:33:47 +01:00
Yury Gaydaychuk
33b457b097 [CPU] Fix of coverity issues (#17823)
* mvn missing else handled

* negative binarization covered

* coverity 1502464

* coverity 1504685, 1504781, 1504786

* rollback regpool diff

* code review
2023-07-07 15:24:15 +02:00
Ilya Churaev
e5abe855b7 Fixed post commit (#18433) 2023-07-07 16:31:09 +04:00
Maciej Smyk
492bf497d7 [DOCS] Tab reorder for master (#18387)
* tabs-1

* Update configure_devices.md

* tab-2

* tab-order

* Update installing-openvino-from-archive-linux.md

* Update installing-openvino-from-archive-linux.md

* win-linux-fix

* Update GPU_Extensibility.md
2023-07-07 14:31:02 +02:00
Katarzyna Mitrus
e42548137e [Pad-12] Negative pads_begin/end tests for Pad reference implementation (#18344)
* Pad ref impl tests for negative pads begin end

* Adjust indentation

* Remove redundant line from the output

* Add tests with removal on middle axis

* Add tests with empty result

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-07-07 10:53:52 +00:00
Vladimir Paramuzov
2939818278 [GPU] Enable shape agnostic quantize_scale_shift kernel (#18188)
* [GPU] Enable shape agnostic quantize_scale_shift kernel

* Resolve conflicts in compile_graph.cpp

* Update compile_graph.cpp

---------

Co-authored-by: Pavel Durandin <pavel.durandin@intel.com>
2023-07-07 10:38:41 +00:00
Ilya Churaev
b69190c2c1 Proxy plugin 2.0 (#17416)
* Initial commit for proxy plugin

* Include proxy to openvino library

* Fixed some tests

* Added plugin properties

* Added readme

* Support Compile model for the proxy plugin

* Fixed python

* Remove gmock

* Fixed some tests

* Fixed load plugin tests

* Removed internal PROXY_FALLBACK_PRIORITIES initialization property

* Fixed code style

* Added new tests

* Create architecture.md

* Fixed some proxy tests

* Implement not implemented functions

* Fixed ICore mock

* Remove redundant code

* Added import/export tests

* Fixed hetero import/export tests

* Fixed ICore mock

* Fixed import tests

* Fixed build

* Remove redundant parse config

* Fixed some comments

* Try to fix Windows build

* Fixed incorrect logic

* Small fix in tests

* Fixed python API

* Fixed typo

* Try to fix python

* Switch GPU under proxy

* Fixed GPU name

* Revert GPU plugin under proxy

* Small changes in CMake files

* Temp commit

* Build without proxy

* Revert "Temp commit"

This reverts commit 1ac9824bdf.

* Fixed test linking

* Removed tests from ncc check

* Add option to disable proxy plugin

* Fixed minor comments

* Disable some proxy tests if IR frontend is disabled

* Enable Intel GPU under the proxy

* Fixed typo

* Fixed segfault in tests

* Small fix for case if only GPU is registered

* Fixed code style

* Added remote context tests

* Added proxy tests to CI

* Fixed mock engine

* Test change

* Revert "Test change"

This reverts commit 2d1d67766f.

* Add new tests

* Removed some tests

* Revert "Removed some tests"

This reverts commit 090398652f.

* Revert incorrect logic

* Removed unused variables

* Use original name for the GPU plugin

* Fixed CMake

* Do not show hidden devices

* Try to fix GPU remote context

* Fixed GPU plugin build

* Added interface for proxy remote context

* Remove local properties

* Remove redundant API

* Fixed typo

* Added remote tensors

* Fixed code style

* Fixed some comments

* Unwrap remote tensors before conversion to Blob

* Added cast for legacy API

* Fixed some cldnn tests

* Do not add preprocessing for proxy plugin

* Enabled more tests and wrap tensors in infer request

* Use hardware request inside conversion wrapper

* Fixed hand on cache calculation

* Try to fix some tests

* Support set tensor for remote tensors in proxy plugin

* Revert "Support set tensor for remote tensors in proxy plugin"

This reverts commit 5a927de590.

* Remove redundant friend from compiled model and fix life time for infer
request

* Fixed code style

* Add additional so pointers to the tensor

* Rewrite approach for compile model and tensor

* Removed API from proxy

* Fixed is/as Blob for wrapped Blobs

* Wrap tensor when set tensor to plugin

* Fixed recursive call

* Don't unwrap tensors for AUTO plugin

* Fixed Some Multi tests with remote blob for proxy

* Align context name with tests

* Fixed code style

* Try to fix more tests

* Some minor changes

* Try to fix OVHoldersTests

* Try to save low level SO in high level wrappers

* Revert "Try to save low level SO in high level wrappers"

This reverts commit 430ff8a526.

* Revert "Try to fix OVHoldersTests"

This reverts commit 32604f0d3e.

* Disable some tests

* Fixed DynamicBatchShapeTests

* Fixed caching tests and skip OVHoldersTest

* Small refactoring

* Fixed import model

* Small fix

* Fix typo which causes fails of caching tests

* Disabled AUTO BATCH for proxy device

* Support Export in Auto batch

* Small changes

* Fixed initialization fallback to plugin with proxy name

* Added more values for tests

* Ask all devices and create context if no device id

* Support export in auto batch

* Fixed some comments

* Fixed some comments and removed auto batch

* Fixed some comments

* Fixed auto batch test and some comments

* Fixed build

* Removed proxy plugin class from dev api

* Fixed code style

* Fixed disabled tests
2023-07-07 13:45:20 +04:00
Luwei Zhou
a3bd0cb4d7 [CPU] oneDNN v3.2 migration (#18094)
* [WA] Comment the onnx test.

Seems this test error would be a little bigger than expected error.

* Remove the softmax CPU function test filter because onednn merge all
ISAs into one primitive.

* Fix zero point issue.

* Remove wino conv test cases because ONEDNN3.2 does not supported.

* Fix cpu debug log verbose

* Update onednn to squash commit version.

* Applied tolerance threashold for onnx_model_bias_gelu test.

* Restore to fix ICX perf regression.

* Clean  winograd related code.

* Update ONEDNN to support ARM.

* Applied review comments.
2023-07-07 11:12:02 +02:00
Mateusz Mikolajczyk
63071b21d4 [PT FE] Add translation for aten::fake_quantize_per_tensor_affine and aten::fake_quantize_per_channel_affine (#18176) 2023-07-07 09:05:23 +00:00
Paul Youngsoo Ahn
da84027b72 [GPU] Fix setting impl type / format issue on dGPU (#18345)
* [GPU] Add roi_align get_shape_infer_dependencies (#18345)

* [GPU] Fix concat cpu impl for buffer fusing case

* [GPU] Add roi_align shape_infer unit tests

* [GPU] Fix windows build issue

* [GPU] add unit test
2023-07-07 11:04:14 +02:00
Aleksandr Voron
2b795afc09 fix multi-axis reduce transformation (#18414) 2023-07-07 10:56:09 +04:00
Ilya Lavrenov
df2ed95dab Fixed RPATH issue for brew (#18418) 2023-07-07 08:55:27 +04:00
Wanglei Shen
d571ab3a12 enable numa_node_id and socket_id in streams_info_table (#18164)
* enable numa_node_id and socket_id in streams_info_table

* fix code style issue

* fix document issue

* update for comments

* update for comments

* update for comments
2023-07-07 12:33:23 +08:00
River Li
e81f85c565 Resolve tensor sharing issue when there are same name output port name (#18379)
* Resolve tensor sharing issue when there are same name output port name

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

* Better method to find shrared tensor desc

* Use port's tensor_ptr to replace creating new tensor_ptr
2023-07-07 08:23:06 +04:00
Andrei Gorbachev
6e49b97dd6 [Coverity] fix type x_channel_idx (#18309)
* fix 112753

* fix 112753
2023-07-07 08:19:20 +04:00
Eddy Kim
42d44ddc84 updated not to propagate events when in-order queue is used (#18415) 2023-07-06 19:57:12 -07:00
Eddy Kim
58d1fc3c6b [GPU] updates to use a graph local net_id for model caching (#18372)
* newly added local_net_id

* updated calls to network ctors

* updated to use uint32_t for local_net_id

* added comments for _local_net_id
2023-07-06 18:34:08 -07:00
Anastasiya(Asya) Pronina
24bfb29eb8 Switched pointer of open_model_zoo to last master (#18380) 2023-07-07 01:42:25 +02:00
Tanmay
e0d7ce691b fix typo in primitive_inst.cpp (#18417) 2023-07-07 01:25:56 +04:00
Andrew Kwangwoong Park
f5baec14aa [GPU] Fix issue in runtime buffer fusing for oneDNN concat and auto padding support for conv (#18393)
* Add auto pad attribute support for conv

* Fix to let concat onednn impl check can_be_optimized in impl_param instead of that in node

* Apply auto padding to kernel param  for conv ocl impl

* conv shape agnostic kernel is not selected if conv is not explicit padding

* Fix failed 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-07-06 11:20:34 -07:00
Kelvin Choi
f0ec940fc1 [GPU] Support FC 6d output by compressing as 4d in kernel for dynamic (#17996) 2023-07-06 11:07:28 -07:00
Ilya Lavrenov
14292b8da5 Allow to find protobuf via MODULE (#18395) 2023-07-06 18:26:55 +04:00
Pavel Durandin
d864d89806 [GPU] Fix misprint in auto plugin (#18402) 2023-07-06 17:39:59 +04:00
Aleksandr Voron
c40d6acfc8 [CPU] [ARM] Enable MVN SLT tests on ARM (#17973)
* enabled MVN SLT tests on ARM

* moved nhwc to common section

* exclude normalizeVariance=true from x64

* fixed comments

* add NCHW+acrossChannels = false test case

* Add comment about unsupported case

* fixed 5d layout in Mvn5D_noAcrossChannels

* MvnLayerCPUTest::isSupportedTestCase() added
2023-07-06 15:09:50 +02:00
Przemyslaw Wysocki
ddab71abca Limit numpy (#18406) 2023-07-06 14:59:27 +02:00
Aleksandr Voron
fc9e0ce315 [CPU] [ARM] Enable Reduce SLT tests on ARM (#18006)
* init

* moved NHWC to common section

* experiment to support dynamic shapes in reduce transformation

* support dynamic shapes

* axes sorting fix in reduce transformations
2023-07-06 10:42:46 +02:00
Haiqi Pan
c7431be401 Deprecate legacy C API (#18146)
* Deprecate legacy C API

* fix code sytle

* add INFERENCE_ENGINE_1_0_DEPRECATED in ie_c_api.h

* fix code style

* use OPENVINO_SUPPRESS_DEPRECATED

* reset ie_c_api.cpp

* fix code style

* fix code style

* fix definition

* fix code style

* change msg

* [[deprecated(msg)]]

* add cmake fun

* add deprecated message to INFERENCE_ENGINE_C_API

* remove deprecate msg in fun

* add msg

* fix code style

* fix code style

* add OPENVINO_SUPPRESS_DEPRECATED_END in c api test

* move head after OPENVINO_SUPPRESS_DEPRECATED_START

* move declaration to ie_c_api.h

* reset to OPENVINO_DEPRECATED

* reset to OPENVINO_DEPRECATED

* try to fix code style

* Revert "try to fix code style"

This reverts commit cc2b8476de.

* Revert "reset to OPENVINO_DEPRECATED"

This reverts commit 9d158c8163.

* Revert "reset to OPENVINO_DEPRECATED"

This reverts commit f8b2793abc.

* Update src/bindings/c/include/c_api/ie_c_api.h

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

* Update src/bindings/c/tests/ie_c_api_test.cpp

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

* remove noo error in CMakeLists

* remove macro

* ix code style

* change msg

* fix C4996

* add ov_deprecated_no_errors back

* add full msg

---------

Co-authored-by: Chen Peter <peter.chen@intel.com>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-07-06 12:38:43 +04:00
Pawel Raasz
c1f26d119f Introduce ov element type visitor (#18189)
* Introduce ov::element visitor

* Example usage visitor in shape infer tools

* Example usage of visitor in unsqueeze evaluate

* Example usage of visitor in Round evaluate

* Example usage of visitor in Unique evaluate

* Refactor element visitor
- Use visitor in tanh and tan operators

* Fix enable_if for MSVC compiler

* Update comments in element visitor

* Move test to the core

* Corrects typos

* Apply code style
2023-07-06 12:10:30 +04:00
hyunback kim
2e8ef4c200 [GPU] oneDNN 3.2 integration (#18326)
Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-07-06 16:34:47 +09:00
Jade Cho
ebf1199733 [GPU] Optimize conv_b_fs_zyx_fsv16_imad (#18356)
+ Make this kernel do not support asymmetric weight.
2023-07-06 16:28:40 +09:00
Sergey Lyalin
dfba702c74 Decompose/flatten tuple inputs (#18092)
* prim::TupleUnpack and prim::ListUnpack removing transformation in PT FE to flatten input list and tuples

* Enabled tuples and lists as items in example_inputs

* Applied code style

* Added tests for tuples as inputs and extended test infrastructure to support it

* Negligible performance optimizations

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

* Fixed duplicated names of test classes

* Added description for tuple flattening transformation

* Removed any support for list flattening on inputs; fixed layer tests

* Fixed style

* Fixed order of new Parameters and Results while flattening tuples

* Fixed style

* Better diagnostics when not all prim::TupleUnpack ops after Parameters are decomposed

* Small fix in diagnostics message

---------

Co-authored-by: Ekaterina Aidova <ekaterina.aidova@intel.com>
Co-authored-by: Andrei Kochin <andrei.kochin@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
Co-authored-by: Alina Kladieva <alina.kladieva@intel.com>
2023-07-06 11:05:26 +04:00
bstankix
553dab43b4 [DOCS] Add global footer 2023-07-06 08:24:40 +02:00
Sebastian Golebiewski
9b67a9ddb3 [DOCS] Fix references in installation guide (#18382) 2023-07-06 08:04:49 +02:00
Andrei Gorbachev
87ed81f51c [Coverity] fix _type declaration (#18322)
* _type declaration

* fix _type init
2023-07-06 09:32:44 +04:00
Alexandra Sidorova
2532fdb4f3 [Snippets] Fixed insertion position iterators (#18023)
* [Snippets] Fixed Buffer insertion position

* [Snippets] Fixed unsafe insertion iterators: added asserts

* [Snippets] Applied Ivan comments

* [Snippets] Left only const iterator methods
2023-07-05 21:55:23 +02:00
Andrew Kwangwoong Park
9069dab72d [GPU] Some fixes to enable dynamic validation model (#18340)
* skip fuse_quantize_f if input or output layout is dynamic

* Update condition of can_fuse_reorder_to_prev for concat in shapeof subgraph

* skip concat_in_place_optimization if concat is shape of subgraph

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

* Add reorder if eltwise is shapeof subgraph and data type between input and output is different

* Skip reorder optimization if reorder has dynamic shape on remove_redundant_reorders

* Add reproducible TCs for ov_gpu_unit_tests

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-07-05 10:05:12 -07:00
Kelvin Choi
68e1f07ec9 [GPU] selected format adjusts to the required input rank at get_preferred_format (#18044) 2023-07-05 09:49:19 -07:00
Nikolay Shchegolev
886fd0debb [CPU] ONNX Unique tests failing on CPU (#18100)
* [CPU] ONNX Unique tests failing on CPU

* Fixes as per comments.
2023-07-05 18:16:21 +02:00
Evgeny Kotov
fb676a9e76 fix ov_transformation_tests duplicates (#18383) 2023-07-05 16:16:00 +02:00
Evgeny Kotov
6a0c6a1a60 fix transformation; add unit test (#18314)
Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-05 14:36:46 +02:00
Evgeny Kotov
f313dde66b EliminatePad and PadFusion support Pad12 positive indexes (#18278)
* update opset5::Pad -> PadBase

* rewrite unit tests

* refactor unit tests

* add unit test NegativePadElimination

* fix add destructor

* clang fixes

* fix unit tests

* add unit tests

* bug fix

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-05 10:34:01 +00:00
Andrei Gorbachev
8a76f4e7fa fix coverity block_size < 1 (#18320) 2023-07-05 12:09:40 +04:00
River Li
1abf2a01d8 Fix python segment fault issue of plugin api 2.0 (#18325)
* Fix python segmentfault issue of plugin api 2.0

* Fix onnx_duplicated_output_name due to empty tensor

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

* Remove redundant code

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

* Not to set_name for new port

---------

Co-authored-by: Bell, Song <bell.song@intel.com>
2023-07-05 11:54:13 +04:00
Anastasia Kuporosova
71306e3b38 [PyOV] Model wrappers on Python side (#18368)
* model on py side

* work with diff types

* some tests fix

* try to fix test

* fix fe tests

* codestyle

* fix post commit
2023-07-05 11:44:04 +04:00
Katarzyna Mitrus
9fa1b858dc [Spec] ScatterElementsUpdate-12 specification (#18025)
* ScatterElementsUpdate-12 init

* Update doc structure with ScatterElementsUpdate-12

* Update Operations_specifications.md

* Typos

* Update descriptions

* Add info about indices normalization

* Add info about negative axis normalization

* Add info about boolean type

* Missing coma and typo

* More examples and reduction descriptions

* Rename reduction "copy" to "none"

* Add more examples with values

* Mean mode and types clarification
2023-07-05 09:40:51 +02:00
Evgeny Kotov
0ab948a1d4 PropagateDownDisableSensitivityForQuantized Pad12 support (#18367)
* fix transformation

* fix clang
2023-07-05 11:29:58 +04:00
Evgeny Kotov
18caac366d ConvertPadToGroupConvolution support Pad12 with positive indexes (#18301)
* fix transformations

* clang fix

* fix unit tests - check the both Pad versions

* add unit tests checking negative padding

---------

Co-authored-by: Ivan Tikhonov <ivan.tikhonov@intel.com>
2023-07-05 09:25:32 +02:00
Andrei Gorbachev
c58bf68bc8 [GPU] fix uninitialized scalar variable (#18199)
* fix uninitialized scalar variable

* fix get_default_params
2023-07-05 10:29:04 +04:00
Pawel Raasz
0081fd4655 Update setShape TensorMemoryBlob (#18364)
to be with sync with ITensor instance data pointer
2023-07-05 09:26:13 +04:00
Kelvin Choi
35e26906ed [GPU] Update pad output shape for dynamic (#17995) 2023-07-05 04:22:49 +00:00
Eddy Kim
4c072ac4b5 [GPU] memory reuse for dynamic models (#18228)
* enable memory reuse for dynamic models

* updated to return dependant events for the shape_of primitive

* fixed memory_pool.release_memory()

* fixed a lint error

* fixed missing default value

* updated to use reset flag for dynamic models

* changed to use is_dynamic_output_layout instead of is_dynamic

* updated to use get_internal_params instread of buffer_ptr

* added a memory reuse test for dynamic models
2023-07-04 18:12:49 -07:00
Anastasia Kuporosova
8c648910dc [PyOV] Expose api to Model class (#18141)
* [PyOV] Expose api to Model class

* assign op

* Update src/bindings/python/src/pyopenvino/graph/ops/assign.cpp

* add remove_ methids

* improve test

* codestyle

* assign operation

* codestyle

* test size

---------

Co-authored-by: Michal Lukaszewski <michal.lukaszewski@intel.com>
2023-07-04 21:54:06 +02:00
Ilya Churaev
7fc16c3295 Move OpenVINO core developers API to OpenVINO folder (#18360)
* Move openvino core developers API to OpenVINO folder

* Fixed GPU plugin

* Fixed code style
2023-07-04 22:14:53 +04:00
Anastasiia Pnevskaia
25ead3a09a Added tools/ovc to PYTHONPATH for MO unit tests. (#18365)
* Added ovc to PYTHONPATH for MO unit tests.

* Small correction.

* Corrected PYTHONPATH for legacy FE layer tests.

* Corrected PYTHONPATH for TFL FE layer tests.
2023-07-04 22:12:19 +04:00
Anastasiya(Asya) Pronina
84d35ab6f9 Removed compile_tool and benchmark_app_legacy from OpenVINO repo (#18350) 2023-07-04 19:35:51 +04:00
Ilya Lavrenov
642c69115d Support of protobuf >= 21 (#18351)
* Corrected typo

* Ability to compile with newer protobuf versions
2023-07-04 17:08:29 +04:00
Luwei Zhou
0b3a004825 [CPU] Combine DQ scales and multiply into DQ scales. (#17276)
* Fix the multible multiply case.

* Add test case.

* Fix CI issues.

* Fix the dynamic shape FC kernel creating issue.

* Expose FC weight with original linear layout to CPU graph.

* Apply review comments.

* Apply review comments.

* Applied review comments.
2023-07-04 13:38:25 +02:00
Mateusz Tabaka
2e9e6d2dd4 Preserve tensor legacy name in preprocessing (#18327)
* Preserve tensor legacy name in preprocessing

Ticket: CVS-113702

* supress deprecated
2023-07-04 15:01:15 +04:00
Alexandra Sidorova
211c56acf9 [CPU] Fixed naming in SwapConvertTranspose pass (#18208)
* [CPU] Fixed naming in SwapConvertTranspose pass

* Applied Vladislav comments
2023-07-04 13:34:07 +04:00
Karol Blaszczak
4cc70e22e5 [DOCS] menu bug fix (#18352) 2023-07-04 07:57:47 +00:00
Mateusz Bencer
c0035dfd9a try to fix model zoo preprocessing (#18303) 2023-07-04 10:37:57 +04:00
Xiuchuan Zhai
454c8155fe improve log check in PDFE (#17574)
* improve log check in PDFE

* add nullptr check
2023-07-04 09:21:02 +08:00
Mateusz Tabaka
64cecf2c7c Optimize transpose reference implementation (#18137)
* Optimize transpose reference implementation

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

* different approach for computing input offset

* use std::vector for rev_order

---------

Signed-off-by: Mateusz Tabaka <mateusz.tabaka@intel.com>
2023-07-03 21:27:43 +04:00
Tatiana Savina
43a278f343 update links to rn (#18337) 2023-07-03 17:10:34 +02:00
Anastasiia Pnevskaia
5838685bd5 Removed exception for BytesIO objects in convert_model() (#18318)
* Removed exception for BytesIO objects, added test.

* Small correction.

* Corrected imports.

* Apply suggestions from code review

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

* Removed wrong comment.

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-07-03 18:04:35 +04:00
Karol Blaszczak
9dd27dd810 [DOCS] update for install 23.0.1 (#18334) 2023-07-03 14:58:06 +02:00
Alexander Suvorov
cb7c47b0e3 [DOCS] Update Selector Tool 2023.0.1 2023-07-03 14:16:11 +02:00
Sebastian Golebiewski
152c9b63e2 [DOCS] Adding metadata to articles (#18331)
* adding-metadata

* Apply suggestions from code review

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

* Apply suggestions from code review

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

---------

Co-authored-by: Tatiana Savina <tatiana.savina@intel.com>
2023-07-03 13:09:07 +02:00
Karol Blaszczak
cb8d34ddc1 [DOCS] adjustments for ST and cookie policy (#18315) 2023-07-03 08:47:28 +02:00
Steve Yoo
6be030be05 Fixed SpaceToBatch and BatchToSpace for 3d case (#18033)
* Added functional tests for SpaceToBatch and BatchToSpace

* Added functional tests for template plugin
2023-07-02 21:39:45 -07:00
Tomasz Dołbniak
deb6231329 Removal of opset12 from ngraph (#18282) 2023-06-30 14:41:11 +00:00
Anastasiia Pnevskaia
5d399faa64 convert_model() in openvino.runtime. (#18080)
* Used pip wheel to build OpenVINO wheel

* Added convert_model() to openvino.runtime.

* Removed duplication of InputCutInfo, LayoutMap

* Switched Model Conversion API tests to convert_model from openvino.runtime.

* Small correction.

* Format correction.

* Small correction.

* Removed duplication of moc frontend files.

* Small correction.

* Removed duplication of cli_parser, offline_transformations.

* Code corrections.

* Removed code duplications.

* Removed code duplications.

* Updated codeowners.

* Switched layer tests to convert_model().

* Improvements

* Small correction.

* Caffe parser path fix.

* Added python api properly into deb / rpm packages

* Moved implementation to ovc tool.

* Moved implementation to ovc tool.

* Small correction.

* Use cmake -E variant from cmake 3.13

* Namespace fixes.

* Minor fixes.

* Pylint fixes.

* Fixed BOM file.

* Small corrections.

* Minor corrections.

* Minor fix.

* Error fixes.

* Added telemetry requirement.

* Improvements to fix CI

* Some refactoring

* Don't use developer package for scripts projects

* Added exception in case when MO is not imported.

* Removed exception from init.

* Removed changes from cmake.

* Added unit ovc tests, fixed minor errors.

* Added ovc unit tests to azure.

* Corrected imports.

* Fixed path to tests.

* Added missed files.

* Corrected github labels.

* Removed benchmark app from dev package.

* Small fix.

* Small corrections.

* Comment fixed.

* Removed changes from setup.py

* Removed not needed change.

* Removed duplicating unit tests.

* Removed wrong change.

* Removed not needed change.

* Apply suggestions from code review

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

* Added ovc tool test, corrected imports.

* Added legacy TF config test.

* Removed not needed files.

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-06-30 18:26:14 +04:00
Yury Gaydaychuk
a2b7d561e4 [CPU] Checking of nonbias port in FQ-ScaleShift fusing (#17555)
* In FQ-MM fusing added checking of nonbias port during calculating channel dim

* comment added

* test added
2023-06-30 16:01:32 +02:00
Tomasz Dołbniak
60d5d57ece ScatterElementsUpdate downgrade transformation (#18306) 2023-06-30 13:18:24 +02:00
dependabot[bot]
f405ee2b9d Update pytest requirement from <7.4,>=5.0 to >=5.0,<7.5 in /tests (#18233)
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.4.0)

---
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>
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-06-30 12:36:26 +04:00
Pawel Raasz
f52ab4f9ef Optimize IE_THROW and IE_ASSERT for size reduction (#18284)
* Optimize IE_THROW and IE_ASSERT for size reduction

* Fix build issues
2023-06-30 11:52:21 +04:00
yanlan song
1f7176031d Bell/fix static scan issues (#18285)
* change default value

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

* fix case failure

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

* fix post commit failure

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

* fix sdl issues

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

---------

Signed-off-by: fishbell <bell.song@intel.com>
2023-06-30 11:41:48 +04:00
Mikhail Ryzhov
1a60d40bf2 [GNA] Migrated the deprecated backward compatibility tests to the new infra (#15839)
* Migrated the deprecated backward compatibility tests to the new infra

* clang format

* Fixed build of deprecated tests

* Fixed code style

* Reverted snake_case functions names

* Added dependency on data

* Moved exported test models to teh source path

* Fixed old tests
2023-06-29 18:32:37 +00:00
Karol Blaszczak
8bc880a740 [DOCS] supported models page update (#18297) 2023-06-29 15:17:17 +02:00
Maciej Smyk
f02d94678b [DOCS] WSL2 Docker update for master (#18292)
* windows-fix

* Update installing-openvino-docker-linux.md

* docker fix

* Update installing-openvino-docker-linux.md

* Update installing-openvino-docker-linux.md

* Update installing-openvino-docker-linux.md

* Update installing-openvino-docker-linux.md

* Update installing-openvino-docker-linux.md

* Update installing-openvino-docker-linux.md
2023-06-29 14:13:12 +02:00
Alexander Suvorov
07f098d1b7 [Docs] Enable analytics in selector tool 2023-06-29 12:27:51 +02:00
Artyom Anokhov
e3a2d3d14a Updated 3lvl domain for RPMs from fedoraproject.org (#18288) 2023-06-29 11:47:39 +02:00
Tomasz Dołbniak
a4a7344732 The code (#18270) 2023-06-29 09:46:38 +02:00
Karol Blaszczak
e43ce5a6f1 Update prerelease_information.md (#18277)
[DOCS]-pre-rel-quick-fix
2023-06-29 08:16:10 +02:00
Wilson Seok
504f1d8237 [GPU] fix pr18171 regression (#18272) 2023-06-29 09:44:38 +09:00
Artyom Anokhov
88fa4b040e Update apt/yum conflict version (#18280) 2023-06-29 00:29:43 +04:00
Evgeny Kotov
7ae8826b52 [GNA] NCHW to NHWC layout transformations (#18120)
* Squashed commit of the following: GNAConv+ MaxPool

commit 51e7254eab
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Apr 18 18:09:46 2023 +0200

    reset json schema

commit 6d87c40703
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Apr 18 18:02:53 2023 +0200

    Exclude wrong changes

commit 30dd9aef86
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Apr 18 17:56:54 2023 +0200

    clang format

commit dad7151b37
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Apr 18 17:47:17 2023 +0200

    Init commit

* Squashed commit of the following: GatherSinking binary elementwise

commit 960f7ebaed
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Feb 21 13:36:35 2023 +0100

    fix year

commit 860ae33f38
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Feb 21 13:29:05 2023 +0100

    add docs

commit bd35e57c60
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Feb 20 18:58:55 2023 +0100

    cleanup

commit 3fed498f03
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Feb 20 18:52:49 2023 +0100

    clang fixes + remove unneeded functions

commit 4417a13bad
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Feb 20 18:50:03 2023 +0100

    fix unit tests execution

commit 48f20927af
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Feb 20 18:33:03 2023 +0100

    initial

* Squashed commit of the following: common debug merge

commit 9cdddb337972c2ebecb3ed81f2613b96ae034538
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Fri May 12 14:05:34 2023 +0200

    clnag format

commit f093baa7708bd9e9527277337e52104b4e82744d
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 19 15:27:58 2023 +0200

    fix ts_concat ts_split

commit 1c8baba5bb4c1533f4470505fe5a0dce6e4bc45e
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 19 13:26:30 2023 +0200

    fix ts_split

commit 043af9aad51b218c8e27150516e3824cea682ca3
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 18 19:39:15 2023 +0200

    remove debug

commit 7c03af67f018d5eea2c39d01bf2d68b815cde390
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 18 19:37:34 2023 +0200

    fix ts_concat

commit dc2f00a1e77427b0ae243f5ef7606eac4cdf8051
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 18 13:15:50 2023 +0200

    implemented ts_split through gather

commit 311045f78d357b4f1129a4545da9092435313664
Merge: 06fee24288 7ca64ec9f7
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Apr 17 19:19:05 2023 +0200

    Merge branch 'gna_layout_debug_fix' into gna_layout_debug

commit 7ca64ec9f704c2228808212e267fb387c08e4921
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Apr 17 19:06:44 2023 +0200

    fix

commit 81c6217c68fe6f945ab83ae8b6ed64d23415a62e
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Apr 17 18:29:32 2023 +0200

    fix

commit 06fee24288be846209e87fbd40aab7cad2775559
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Apr 17 16:03:34 2023 +0200

    fix RemoveOutputsProcessing name to emplace

commit 83344b2723b4db919862e7519369593710d06de9
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Apr 17 10:35:59 2023 +0200

    fix

commit cc7d6bdea26df1d2e3195bf82e62193442723995
Merge: d916fa40f9 83d51b5fe4
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Apr 13 13:32:44 2023 +0200

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit d916fa40f98d5d253e445929319f06b638d2f430
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Apr 13 13:32:02 2023 +0200

    remove debug

commit f8b1fac6f94577059f729ac7c31594b4f93ba4ae
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Apr 13 13:31:12 2023 +0200

    fix + remove debug

commit 710d004eda3063374b99c3a78a37f7af2b84d1e8
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Apr 13 11:54:36 2023 +0200

    fix

commit 83d51b5fe485d96c76bc77ace671491c5bfb1223
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Apr 12 19:06:15 2023 +0200

    Pattern Reshape-Transpose

commit 3e33e51edff7762112f00d29281a59a6cb16ea83
Merge: a5042ebce7 74c68cbf4f
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Apr 12 16:56:24 2023 +0200

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit a5042ebce79b0fc6a5db749166a4784aec9f0d2a
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Apr 12 16:56:00 2023 +0200

    Reverted check of concat with interleaved inputs

commit 74c68cbf4fd1206d5e67326a4cf0dc290fbeb574
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 12 16:53:17 2023 +0200

    use ts_fuse instead of general after all

commit 49ac734247ef6f73ce2ca096f1bd03c027f3c338
Merge: 79d23d893f 1dbea2cb3c
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Apr 12 15:02:35 2023 +0200

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit 79d23d893fd585f253eec8d3e10198e5b75ed2da
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Apr 12 15:02:08 2023 +0200

    Fixed ConvertMatmulToPointwiseConvWithFqNeg

commit 1dbea2cb3c948d2703a2e97957b25ebd2bd30db6
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 12 14:29:22 2023 +0200

    fix pipeline

commit d73effb2c1905754a9f8636e0a762885224ca44f
Merge: e2b5440ad1 d5b7a7c984
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 12 14:01:28 2023 +0200

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit e2b5440ad11eea5aa456146fa12a5f07223c2f43
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 12 14:01:25 2023 +0200

    fix ts_split bug when we some split outputs are not connected

commit d5b7a7c98477df74fd6e1a8481c8bc513854001b
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Apr 12 13:57:25 2023 +0200

    Corrected limit conditions

commit 7de41f2072420f3d1cb1f933991853ba787a8f42
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 12 13:04:42 2023 +0200

    remove debug

commit ad2584aa23265c3cdb6370d1b87a8c0af89c17ad
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 11 18:48:49 2023 +0200

    use TSConcatForward TSSplitBackward

commit 7c9fabb239415e3f1af01058aaca8b9bc63d6c26
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 11 18:33:03 2023 +0200

    fix ts_split

commit da1488d21ccb649e75d0e61d424bf8e8f5d9e8f2
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 11 14:19:26 2023 +0200

    fixed ts_concat

commit 2014b727ed387ca2035de5ec144f1beb67c32dd9
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Apr 6 11:42:17 2023 +0200

    add ts_split

commit 7316a17131a6cb0a8c25061a6b12afdee004661d
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Apr 6 11:42:00 2023 +0200

    remove debug

commit 05c9b9524781f2017d6c5f88b793c210dfd2ab16
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Apr 6 11:41:10 2023 +0200

    remove debug, turn off new transformations

commit 8962424b907f7fec2ddfe32912f8da77c13461e4
Merge: f98adb6dc4 99090c2090
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 5 16:50:41 2023 +0200

    Merge branch 'gna_layout_debug' into gna_layout_debug_concat_split

commit f98adb6dc40b4e368e97b58cc28ad3554fb54923
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 5 16:50:17 2023 +0200

    remove debug

commit 9dddf3ada89b65da3191f647bf2f17af6d8a092a
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 5 16:44:34 2023 +0200

    fix ts_concat sigsegv

commit 190010f4dfca82bb4b5a3e045e6015b8d1db8491
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 5 13:15:53 2023 +0200

    fix problem with transpose backward sinking after gna::ts_concat

commit 99090c2090e3a121241a54a5b8da290ba5272b11
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 5 12:52:13 2023 +0200

    fix bug GatherSinkingTransposeReshapeForward map:at exception

commit a6f65aae2d94a63f60440d9fcdeeb31af548b055
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Apr 5 12:51:19 2023 +0200

    add ts_concat

commit d9497eadad5c58ec9218692a08da54c3d7fd3d40
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 13:40:51 2023 +0200

    add code from Misha

commit a5fe706b2bf92bcc1f3f8c435663551a0770188c
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Apr 4 13:00:47 2023 +0200

    TS concat callback draft

commit 8f244188c4d0ceef11850e118fd0ad23fcdac0b8
Merge: 5591091e05 a5fe706b2b
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 12:57:23 2023 +0200

    Merge branch 'gna_layout_debug' into gna_layout_debug_concat_split

commit 5591091e05a32b8e3566ec70490cbd373f827910
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 12:56:48 2023 +0200

    fix

commit 7f9eb3c02c57cbef5b32efa5d61cf7082ca6b621
Merge: a98a353f00 9190b8ccff
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 11:20:26 2023 +0200

    merge

commit a98a353f00cdb1650edfe0f5f24a10111c0319b7
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 11:19:43 2023 +0200

    fix

commit a8ca19419f7b1e16064c8cb53ed836370da8af5e
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Apr 4 11:14:44 2023 +0200

    Fixed weights reducer

commit 9190b8ccffd1a125cb97d0e339f0820f1c565d3c
Merge: 279f76287e 4ce59b6885
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 10:46:07 2023 +0200

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit 279f76287eb7e656c3dd743a228839c16470057a
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 10:46:03 2023 +0200

    use transformation_callback in ts_concat

commit 3fabc31ed9462f86ae173aba927caf9c9c3fb539
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Apr 4 10:44:42 2023 +0200

    fix

commit d942074be54a99147c893eb78e878cc4428be5ad
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Apr 3 18:29:02 2023 +0200

    debug

commit 4ce59b68851f71a049b34d16008a6ed82cc91d2b
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Mon Apr 3 17:49:45 2023 +0200

    Skipped supported transposes in Gather transform

commit 3d57040037493aa61ffb1d159e76567ca493dd33
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Mon Apr 3 12:16:58 2023 +0200

    Extended FQ detection

commit bcc317e80d1f9ed6d6f6aa5c77ff5e58e31e84db
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Mon Apr 3 10:11:48 2023 +0200

    Gather sinking with FQ Backward

commit b1dc3c44f3cca1035ce4bd3ff05f1f78a7add1ce
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Fri Mar 31 10:48:38 2023 +0200

    Fixed typo

commit 76b2e162156e20a1ade9afc893e9874b8c66284d
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Mar 28 15:08:24 2023 +0200

    FQ fix

commit 99df8e6164cad78a25e34ea752da9264c7536188
Merge: 07cdff9a44 8894dfc88b
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Mar 27 18:03:54 2023 +0200

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit 07cdff9a44585026bbd58fc1c33b1e67d47bd225
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Mar 27 18:03:51 2023 +0200

    add GatherSinkingMatmulBackward

commit 8894dfc88b22736b1157cd75e6b48ad14a4a1137
Merge: 0e0dcc6a53 67a4035902
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Fri Mar 24 14:28:39 2023 +0100

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit 67a4035902
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Fri Mar 24 13:59:20 2023 +0100

    remove debug

commit 04a715267a
Merge: 7b95c90df8 1163b926ee
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Fri Mar 24 13:56:05 2023 +0100

    Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

commit 7b95c90df8
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Fri Mar 24 13:54:49 2023 +0100

    fix gather_sinking_matmul

commit 0e0dcc6a53ce660b10c27d7e1d48de260e87e127
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Fri Mar 24 10:43:07 2023 +0100

    Disabled ReshapeTransposeSubstitute

commit daaeeecfac3ca7b1763279e62455d007245bcdf8
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Fri Mar 24 10:41:56 2023 +0100

    Fixed squeeze helper

commit 1163b926ee
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Thu Mar 23 16:09:59 2023 +0100

    Corrected Concat checks

commit 06d6fbf0e8
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Mar 23 15:28:00 2023 +0100

    initial

commit 1ca78f643e
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Mar 23 15:27:21 2023 +0100

    debug

commit 3c5aa8c53d
Merge: 01de25e3c6 aaba7740d4
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Thu Mar 23 15:13:02 2023 +0100

    Merge branch 'itikhono/ts/slice' into gna_layout_debug

commit 01de25e3c6
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Thu Mar 23 13:35:35 2023 +0100

    detect matmuls

commit 45c1f800f3
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Thu Mar 23 12:34:28 2023 +0100

    Removed do_rotate flag processing

commit aaba7740d4
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Thu Mar 23 10:01:58 2023 +0000

    codestyle

commit 979d5cc669
Merge: 67c1b9daad a66868b463
Author: Ivan <ivan.tikhonov@intel.com>
Date:   Thu Mar 23 17:48:05 2023 +0400

    Merge branch 'itikhono/ts/slice' of https://github.com/itikhono/openvino into itikhono/ts/slice

commit 67c1b9daad
Author: Ivan <ivan.tikhonov@intel.com>
Date:   Thu Mar 23 17:47:50 2023 +0400

    resolve review comments

commit 8b81867d18
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Thu Mar 23 10:15:42 2023 +0100

    Reverted GetConvData helpers

commit d78f7e7fc6
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Mar 22 17:29:02 2023 +0100

    add gather sinking split

commit e1ff589d3e
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Mar 22 17:07:12 2023 +0100

    ad Reshape to supported gather sinking nodes

commit 894defdcc9
Merge: 31d7af368e 4fd047deec
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Mar 22 16:00:51 2023 +0100

    Merge branch 'gna_layout_debug' into gather_sinking_reshape

commit 31d7af368e
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Wed Mar 22 16:00:00 2023 +0100

    add gather_sinking_reshape

commit 4fd047deec
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Mar 22 15:29:59 2023 +0100

    Fixed squeeze condition

commit d105cfcc68
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Wed Mar 22 14:55:10 2023 +0100

    Fixed Gather indexes

commit a66868b463
Merge: bf9bc8628b b70e56d110
Author: Ivan Tikhonov <ivan.tikhonov@intel.com>
Date:   Wed Mar 22 01:53:10 2023 +0400

    Merge branch 'master' into itikhono/ts/slice

commit bf9bc8628b
Merge: 31bd608ac4 3d508c7b36
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 21:41:57 2023 +0000

    Merge branch 'itikhono/ts/slice' of https://github.com/itikhono/openvino into itikhono/ts/slice

commit 31bd608ac4
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 21:41:37 2023 +0000

    fix TSSqueeze transformation

commit 02abf9b1f0
Merge: 4481041f86 5c249d98d9
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Mar 21 19:48:06 2023 +0100

    Merge branch 'transpose_sinking_fakequantize' into gna_layout_debug

commit 5c249d98d9
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Mar 21 19:47:27 2023 +0100

    fix

commit cdfd77a415
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Mar 21 19:43:43 2023 +0100

    rebase fixes

commit e4207c4d6b
Author: Ivan <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 20:21:42 2023 +0400

    fix unit tests, revert changes for TSSlice transformation

commit 4481041f86
Merge: eac5d4beb4 b1099c1c40
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Tue Mar 21 16:16:56 2023 +0100

    Merge branch 'transpose_sinking_fakequantize' into gna_layout_debug

commit b1099c1c40
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Thu Mar 2 14:38:43 2023 +0100

    initial

commit 0f17c5f714
Merge: 981e8ad3c0 db220f11ee
Author: Ivan <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 18:24:08 2023 +0400

    Merge branch 'itikhono/ts/slice' of https://github.com/itikhono/openvino into itikhono/ts/slice

commit 3d508c7b36
Merge: 9720a28fa6 0893efe073
Author: Ivan Tikhonov <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 17:07:42 2023 +0400

    Merge branch 'master' into itikhono/ts/slice

commit 9720a28fa6
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 12:35:23 2023 +0000

    codestyle

commit eac5d4beb4
Merge: faf2f253c6 db220f11ee
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Mar 21 12:45:59 2023 +0100

    Merge branch 'itikhono/ts/slice' into gna_layout_debug

    # Conflicts:
    #	src/common/transformations/src/transformations/transpose_sinking/ts_slice.cpp
    #	src/common/transformations/src/transformations/transpose_sinking/ts_squeeze.cpp
    #	src/common/transformations/src/transformations/transpose_sinking/ts_unsqueeze.cpp

commit faf2f253c6
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Mar 21 12:12:18 2023 +0100

    Squeeze shapes when detect gather

commit 7b1bbf77ee
Author: Evgeny Kotov <evgeny.kotov@intel.com>
Date:   Mon Mar 20 19:48:56 2023 +0100

    fix /gather_sinking_transpose_reshape

commit e6650cfd1c
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Tue Mar 21 12:06:01 2023 +0100

    Corrected Convolution checks

commit 83f4428f48
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Mon Mar 20 18:01:35 2023 +0100

    Corrected reshape paterns

commit 0552dfe537
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Sun Mar 19 18:39:01 2023 +0100

    Merged the latest transpose sinking changes

commit 56a5e74bf4
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Sun Mar 19 18:21:06 2023 +0100

    Revert "Squashed commit of the following:"

    This reverts commit 227274e70696def4a718e65799edb3b50c643c65.

commit fd8effeef5
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Sun Mar 19 18:17:25 2023 +0100

    Squashed commit of the following:

    commit f1b49907a34c94ca91fad643e8949d2ae38b2f44
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Fri Mar 17 15:44:24 2023 +0100

        Removed unnecessary transposes

    commit e57f26cf775d74a61d6e505f785211bdf2577405
    Author: Ilya Lavrenov <ilya.lavrenov@intel.com>
    Date:   Thu Mar 9 12:32:02 2023 +0400

        Fixed PT FE compilation with clang on macOS (#16173)

    commit 3461b52d79f7895df554e7ee023ae7a6448e7b42
    Author: Mateusz Bencer <mateusz.bencer@intel.com>
    Date:   Thu Mar 9 07:22:06 2023 +0100

        [ONNX FE] Improved a method of operators registration (#15990)

        * initial version of implementation

        * styles applied

        * fixed and registration

        * add more unit tests

        * fixed and in legacy opset

        * review remarks

        * refactor of version name range

    commit 1044df5afa63a052750647f57202ce8b7da1906b
    Author: Jade Cho <jade.cho@intel.com>
    Date:   Thu Mar 9 14:35:31 2023 +0900

        [GPU] Fix stable diffusion failure (#16052)

        * [dGPU] Enable stable diffusion

        + Prevent to fuse swish into oneDNN reorder.
        + Makes concat explicitly if batch size is greater than 1 and the siblings are oneDNN impl.

    commit da1c5cb763b301b050f3f52f362e172c1a42758b
    Author: Andrew Kwangwoong Park <andrew.park@intel.com>
    Date:   Thu Mar 9 08:36:43 2023 +0900

        [GPU] Added shape agnostic Pad kernel implementation (#16160)

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

    commit 03b96e1d3b41ddca01de7f4117836e5708bd0b7f
    Merge: ca9e0f6d41 c3ecce0a7e
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Fri Mar 17 11:18:09 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit ca9e0f6d41b95e1653d07c03684efb170d856429
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Fri Mar 17 11:14:36 2023 +0100

        Fixed validator of 1D convolution

    commit c3ecce0a7ea2944b42290c21535b4600a406a1ce
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Mar 16 19:03:10 2023 +0100

        fix conditions on mvn and slice

    commit a6f920ed468943a1c669fdff8b8b0217281ee302
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Mar 16 17:43:35 2023 +0100

        fix tests with Slice

    commit 64b1fa67f5a0ac821d1af5cb132cfd0575041aed
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Mar 16 17:33:38 2023 +0100

        fix debug

    commit ca122e890e1f1590655e9e776d4c858dc3433890
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 15 16:14:49 2023 +0100

        move RemovePermutationsNHWCToNCHWPass under is_ngraph_passes_used

    commit ffa21d987b5f7bc7d374e825ffa6bf4dff7679eb
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 15 13:02:12 2023 +0100

        Removed ConvIE code

    commit 23ca385ba601a06985ea218e53c5a05cdd3b9b87
    Merge: 2acd7c4bff 90b37d771b
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 15 11:47:57 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 2acd7c4bff4422c95f6b8fb511287110ceb8e99d
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 15 11:45:46 2023 +0100

        Disabled sinking for networks without Convolutions

    commit 90b37d771b9cb9df8d0e1a5d72cb7acc8d01634f
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Mar 14 14:30:37 2023 +0100

        fix gather_sinking_transpose_reshape - check if flatten/unflatten the last dimension

    commit 41e1b72ba9d44a8bd1142735a22feef39e816fcc
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 13 18:26:27 2023 +0100

        fix remove output Gather

    commit 1949dc779a2261686a266bf13fa558078dcce83c
    Merge: 30db0ee2ce b6fe16e051
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 13 18:13:29 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 30db0ee2ceacf6fb5692421c5647e9ef27794dfb
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 13 18:12:55 2023 +0100

        fix: add GatherSinkingTransposeReshape

    commit b6fe16e051c62cf1b8a1ddf511b2a791587578fc
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 13 17:23:54 2023 +0100

        Reverted C++17 code

    commit fee42e07f7b6861894541cf1d552f82727837a5d
    Merge: 95330967fc 98ead2d3bc
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 13 16:36:36 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 95330967fc0c39377e33973adeef8c441bb4c905
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 13 16:36:33 2023 +0100

        add ReshapeTransposeSubstitute

    commit 98ead2d3bcc971585d74532ae1263cd7eba8f5b4
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 13 16:33:40 2023 +0100

        Fixed FQ connected to Transpose and Inputs

    commit 6cddb6389e2522c5d9abe262d0a580c01cab4bf8
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 13 16:33:00 2023 +0100

        Added add with convolution fusion

    commit dc705e330f8f23ead78d2e4026eff118028d3dc3
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 10 19:54:19 2023 +0400

        TransposeSinking: add support for Slice op

    commit aba59904c9d95334d6dbea1bdc61971556236d75
    Merge: 3dd79763a4 9844f33807
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Fri Mar 10 15:35:00 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 9844f33807c0927b813f90a784a77ee7bd725b57
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Thu Mar 9 14:03:12 2023 +0100

        Removed debug

    commit 3dd79763a4ddc31f7a1838070acf341b610c75ea
    Merge: cf3154b4f5 8e010d2cba
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 8 18:27:05 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 8e010d2cbab5c338ef877e82641b1e813c88bea0
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 8 18:26:04 2023 +0100

        Corrected condition of unsupported permute

    commit cf3154b4f5b0d1f793d1b96e97dec6e440b4fd93
    Merge: 7c0b042e97 95dcc37315
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 8 18:07:37 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 95dcc3731577db62e42df1c71f2d97068809223e
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 8 18:07:15 2023 +0100

        Removed legacy TransposeWeightsFromNCHWToNHWCPass

    commit 7c0b042e9763a7382b9ba2706be00681a81f49f6
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 8 17:58:02 2023 +0100

        remove debug

    commit 06730afd016185154fbf6751e00da3673b9ce46b
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 8 17:57:57 2023 +0100

        Removed debug code p.2

    commit 37660a9721d103144d88d2429ad0f399d20aef32
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 8 17:51:36 2023 +0100

        Removed  debug code

    commit aa8d2abe3a5e169fe9ebb48fe94845bb4aa1b9f1
    Merge: 02974d7a12 87194dab68
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 8 17:50:28 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 02974d7a127caf86a4d46701734cb00fa36439ff
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 8 17:50:20 2023 +0100

        Removed legacy parts

    commit 87194dab685aa31fe40624381cecfb40f604a6c8
    Merge: 225e39d499 235a14301d
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 8 17:31:21 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 225e39d499ed34b7fcd5097c2bfdc86d0d56dc86
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 8 17:31:19 2023 +0100

        fix convert_function_to_cnn_network.cpp not using friendly names; fix transpose_nchw update last node name

    commit 235a14301d1be714e7e0ca074a74ed30120cd327
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Mar 8 17:17:23 2023 +0100

        Fixed validation of gna convolution

    commit dafd9191f52d61b713bb4eec95d63f0a8b0dacfb
    Merge: cf0e43734b 3a63cb5ad8
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Mar 7 16:27:18 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit cf0e43734ba76a7324a1f0975077b798767f6445
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Mar 7 16:26:45 2023 +0100

        fix transpose_nchw friendly names set

    commit 3a63cb5ad8ac449c909d38743650ef5c514d46c4
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Mar 7 15:41:17 2023 +0100

        Extended unsupported transpose condition

    commit 8b3171c2e60bbdb2ada1765d12e67e8039e17005
    Merge: 3385605a9e 69f8479260
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 6 19:53:01 2023 +0100

        Merge branch 'gna_layout_debug' of https://github.com/evkotov/openvino into gna_layout_debug

    commit 3385605a9e08fc32ab0cbd5de702cb736229d43a
    Merge: 8d4fa609a6 d3493c48ae
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 6 19:43:08 2023 +0100

        Merge branch 'gna_convolution_maxpool' into gna_layout_debug

    commit 8d4fa609a67230c89c758dc3aebf22859dcc9498
    Merge: 506128f16c 52b9332306
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 6 19:42:53 2023 +0100

        fix merge

    commit 52b93323062f5d5938af2bf8341a44092380b81b
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 6 19:41:52 2023 +0100

        fix build

    commit 0e2629313690bb97dde765b10d075cba2cf6278a
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Mar 2 14:59:07 2023 +0100

        add binary and gather_fuse

    commit 0ec73f0239e21d25233cd676818f2e873fdf2f81
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:45:19 2023 +0100

        clang

    commit 28b168c2b4357365bad64983b6f59202726c0a9e
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:43:36 2023 +0100

        remove debug

    commit fa2a06fb15b5288746deb3b8947b99cdbba4bba7
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:41:39 2023 +0100

        add descrition

    commit a09bb7f84befe432e7b3563bb213104a69e4f47e
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:25:54 2023 +0100

        fix transformations restrictions

    commit e723ac91ad3b3821248f2b00008d1ef91678a8dc
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 12:23:14 2023 +0100

        refactor

    commit 1cba14e6ed2eb25c62a3987516d3cbdb989b4966
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 11:10:31 2023 +0100

        rewrite backward

    commit d127fe60a7af3f3f99c5cca9b4f293e29fa39483
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 19:30:51 2023 +0100

        forward sinking - added support 3d

    commit de447274aa81cd594b36842bff7838fd3d0131c8
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 17:07:16 2023 +0100

        fix build errors unit tests

    commit b09cf32ccfbc1706c3107273819557adfe3adcef
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 14 14:29:01 2023 +0100

        cleanup tests

    commit 8bb808756cc8d7f0571c35ccd78bda964d37f3c9
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 14 14:16:15 2023 +0100

        wrote unit tests draft

    commit b47571a3cd8a815ac4a84bb140d28304eed9629b
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 13 19:52:32 2023 +0100

        implement transformation for 2d case

    commit 9a5fcd38b0162bbae73f49c482d1c125fdfe3181
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Feb 9 20:40:45 2023 +0100

        added inital transformation

    commit 5e812990b9c8eaafa2b25a55607f8b1fb41f4eff
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 1 19:47:05 2023 +0100

        add unit tests; fix

    commit 01dc4766ead37a455808a7b3b42a849c850144a5
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 1 13:57:34 2023 +0100

        initial

    commit 2c24d97729d93dfc79d26d442e3e4f592ad0614c
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 13:36:35 2023 +0100

        fix year

    commit 879f9e3d0ab115ef1a27e709c0aad4a5ce883f30
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 13:29:05 2023 +0100

        add docs

    commit 030b2e4fdba826160fa45d16f9ba295c9bebc5ed
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:58:55 2023 +0100

        cleanup

    commit 97ed5403ea2854064c5817edca11266106b06b95
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:52:49 2023 +0100

        clang fixes + remove unneeded functions

    commit 4411e6ffbad5f63ce592025785127dda277fe70d
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:50:03 2023 +0100

        fix unit tests execution

    commit 0483be0d6a31f18dfddfa1bca41ea75a833c0f03
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:33:03 2023 +0100

        initial

    commit 114314b2a31112bc871b6f0c37568e4f177e9448
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 28 13:52:00 2023 +0100

        initial

    commit d3493c48ae56723dead05d7135d177b9863b3229
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 6 19:38:35 2023 +0100

        fix errors after rebase

    commit 141a77b3934beb912bcfc1aa19d2018cb11dab8f
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 28 13:27:52 2023 +0100

        initial

    commit 69f8479260960c8d9e431ac1d4261264e205fc43
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 17:42:13 2023 +0100

        Removed debug switch

    commit a4c43c40ee42c0a025eb9bef7a5ae933245f7c96
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:47:38 2023 +0100

        Fixed unit tests build

    commit 506128f16c96d2fffe586e6095a98bb87033cf18
    Merge: 4f2b13f34f 451772350c
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:41:01 2023 +0100

        Merge branch 'feature/extract_gather_transpose'

        Enabled transformations to remove Transpose/Extract layers

    commit 4f2b13f34f8ff723226c82f9f8d13e389e989301
    Merge: 8e5ca732de ba77c7d15b
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:38:17 2023 +0100

        Merge branch 'tests/bacward_compatibility'

        import/export tests

    commit 8e5ca732dec3b14a87976e8108e587e4acce0da2
    Merge: cab1b42e38 919a7b67bf
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:35:35 2023 +0100

        Merge branch 'cpu_execution'

        Preprocessing on CPU using ngraph

    commit ba77c7d15b
    Merge: 86e1b68d84 cf8dccaedb
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:27:46 2023 +0100

        Merge branch 'master' into tests/bacward_compatibility

    commit 451772350c439561dfc4909b22fbafcd47f66011
    Merge: c7cfb95728 cf8dccaedb
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:22:20 2023 +0100

        Merge branch 'master' of https://github.com/mryzhov/openvino into feature/extract_gather_transpose

    commit cab1b42e38868c5ded27c76c3530917cea7dbae5
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 6 15:39:12 2023 +0100

        fix utils StridedSlice to be sinkable

    commit 849f651f455ae8d75069b058de2f2419c30c9918
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Mar 6 15:24:10 2023 +0100

        Ivan implementation

    commit 9fa205e9e60a8de36edba5b2e4ef05d48c56846a
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Fri Mar 3 18:54:10 2023 +0100

        initial

    commit e40497e9c100e3d0e11b6f03d928a8326fb1626b
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Fri Mar 3 15:18:20 2023 +0100

        add new transformations to pipeline

    commit c39c76bc19a1564816d8d9d1c586b3fdc09a8294
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Mar 2 14:59:07 2023 +0100

        add binary and gather_fuse

    commit ac37d4aa73f5491f9054c0e5228d01c477a980bc
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Mar 2 14:38:43 2023 +0100

        initial

    commit 2d5383d415346d2c6ef460b502e2e53aed6be5f8
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 1 19:47:05 2023 +0100

        add unit tests; fix

    commit 668da966b36d044fb53d29588f3aca3b63907e17
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Mar 1 13:57:34 2023 +0100

        initial

    commit 3e881d1284f5fbf22219b0e2e935a0b72eaec886
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 28 13:52:00 2023 +0100

        initial

    commit c067aec546a4997d7ad84fc4689796aad30d62a9
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:45:19 2023 +0100

        clang

    commit 4fb2f54fd0b86cc972396958019237f48cf19178
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:43:36 2023 +0100

        remove debug

    commit 31776582f9e9934bdcfa3cd24381d90719ce6e10
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:41:39 2023 +0100

        add descrition

    commit 20e390859b9757d1b35c7d3f16b06814a39248ce
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 13:25:54 2023 +0100

        fix transformations restrictions

    commit b1cd65d75ff061f9e4ad69ea174fe37e321073d2
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 12:23:14 2023 +0100

        refactor

    commit dab693e2b2c859c53ea99364b1721354729185f1
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Feb 22 11:10:31 2023 +0100

        rewrite backward

    commit d33eafcce3ccdf72c46d33216ef1e80645e6a12e
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 19:30:51 2023 +0100

        forward sinking - added support 3d

    commit 8676c2a9ce707d370892d1514f1eb8309ee67da6
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 17:07:16 2023 +0100

        fix build errors unit tests

    commit 030dab30945018ef6c91879d6c0a034a6e5d3783
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 14 14:29:01 2023 +0100

        cleanup tests

    commit 5dfba630ac973a96b27aa294dc0e090d8fce8b4c
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 14 14:16:15 2023 +0100

        wrote unit tests draft

    commit ae63a5aacc9467de3d74801dd61a26262998f686
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 13 19:52:32 2023 +0100

        implement transformation for 2d case

    commit 23c19be01ea230f8e8ff655e58c6c0b9b8ac70ea
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Feb 9 20:40:45 2023 +0100

        added inital transformation

    commit d69e88c2d2e8354bb3f3e11c24d1ab586eb12401
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 28 13:27:52 2023 +0100

        initial

    commit 82e3f0ed4d0421aec686005a7a4e46de6f2499ac
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 13:36:35 2023 +0100

        fix year

    commit b4eb780e588ff12f98277586f5c1da2a22597f55
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Feb 21 13:29:05 2023 +0100

        add docs

    commit fd987b0652856af50463ed5952eec24478bb772b
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:58:55 2023 +0100

        cleanup

    commit c852d051946312becae279e25bf4b972be6b1556
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:52:49 2023 +0100

        clang fixes + remove unneeded functions

    commit aa3cc35161104fe568a3301cfe6bd7922f3e5294
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:50:03 2023 +0100

        fix unit tests execution

    commit c4dd7246e13c154e6e1b3da72768cf794c54df9f
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Feb 20 18:33:03 2023 +0100

        initial

    commit 919a7b67bfb43ff9716fde454cc7fa64308de8af
    Merge: 8df3c54eb8 cf8dccaedb
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:16:12 2023 +0100

        Merge branch 'master' of https://github.com/mryzhov/openvino into cpu_execution

    commit c7cfb957280e39f3a13c93a0015cd912e594e98e
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 16:14:29 2023 +0100

        clang formatted

    commit 6a9b1974992053318d122ddf7b2541069486a36e
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 15:53:44 2023 +0100

        clang fixes

    commit 60cbd4d41267c9f2146bb1e13a56c05586e623dd
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 15:51:29 2023 +0100

        Excluded gna supported trasposes

    commit b23bbc10a65ebcebcc0acc7298c124c7ddfb5a97
    Merge: 084f147210 716f020956
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 11:47:34 2023 +0100

        Merge branch 'feature/extract_gather_transpose' of https://github.com/mryzhov/openvino into feature/extract_gather_transpose

    commit 084f1472104e8a767483646856a54b50af4af408
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Mar 6 11:47:29 2023 +0100

        Fixed double transposition

    commit 716f020956fe249672b0aea6c3bd30a081cfca6d
    Merge: 86ea8cb7dc 07f287e362
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 28 16:55:55 2023 +0100

        Merge branch 'master' into feature/extract_gather_transpose

    commit 86ea8cb7dc2e88ffb40cf17dfa8de28af4144814
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 28 16:12:15 2023 +0100

        clang fixes

    commit 38e69687943634430b77ebf2059771c1b13f5d96
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 28 12:23:07 2023 +0100

        Added tests

    commit b5bda65d1b67c9d5a3d2a81cc6c8a0e3e108bc87
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 28 12:22:47 2023 +0100

        fixed compile error

    commit 7815caa8e45d7498d9c56bcb2443a6ef6762da86
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 28 11:06:39 2023 +0100

        Init

    commit 4e4da5b0097ecb055e1faf118931a148842a07e4
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Thu Feb 23 10:24:57 2023 +0100

        Gather transformation

    commit 8df3c54eb8a132f99e7a579269db57478ff738e3
    Merge: e0e80f9dd8 98392a043b
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Feb 22 17:04:55 2023 +0100

        Merge branch 'master' into cpu_execution

    commit e0e80f9dd886204768a129eb426b1c6ec1a114c3
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Wed Feb 22 14:56:49 2023 +0100

        WA I16->F16

    commit 1d6319c257bd7d6d99e952286b86c3d8e05bcf00
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 15:50:29 2023 +0100

        Reverted test

    commit 86e1b68d84
    Merge: 9871d61042 94b64fed79
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 12:28:11 2023 +0100

        Merge branch 'master' into tests/bacward_compatibility

    commit cd2c75cbd35975a8b3c93b8001dc38f6fab38f46
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 12:23:52 2023 +0100

        fixed static build

    commit 290b592f4ace79d3bbff2906186481bfd5e267a0
    Merge: d63cfcf774 94b64fed79
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 12:01:38 2023 +0100

        Merge branch 'master' into cpu_execution

    commit d63cfcf7745652cfdfd38211ae3565153860a018
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 10:55:52 2023 +0100

        clang format

    commit 71fedeef5d9c12b6bfe95e8ec3d2d6686d1619c6
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 10:30:25 2023 +0100

         Revert "backward tests"

        This reverts commit 05dacd1a51a8756880e49523138af9b14245e262.

    commit 036fb95e79307c90e2f07add88683f47e5d0a857
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 20 16:07:52 2023 +0100

        backward tests

    commit ed6b8d5b0da6f4dde4489681775cc5a26af0bc13
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 20 11:38:38 2023 +0100

        reset gather_transformation.cpp to master

    commit 64c7f4e963e439151252d7d339baadd7d2722581
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 20 11:36:26 2023 +0100

        reverted

    commit 9af3771cc31d61aa1eb09053c56625aa7e7c5927
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 20 11:31:59 2023 +0100

        removed changes in gather

    commit d0a23572b5fad9176e58b816b0ab2ca0697119ff
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 20 11:28:48 2023 +0100

        Revert "Added backward compatibility tests"

        This reverts commit afdd7afe72df88c96593f9f5b9bbfaaf222cec63.

    commit a504e700fcda8ada2a4753b71dd25b517951a47a
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 20 11:25:00 2023 +0100

        Added trasposition check

    commit 560df30526beb7e5da57f8f2c42dbc4e63029da4
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Thu Feb 16 18:32:25 2023 +0100

        Removed Gather transformation

    commit 2c5b99d224df8acf39330483065e828de46af03b
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Thu Feb 16 15:30:32 2023 +0100

        Added backward compatibility tests

    commit e4935d02f5850b2f526412b0c30ee650f8175343
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 13 21:14:29 2023 +0100

        compile warnings

    commit 86a36411027aa7aba97784c261ffcb64dd2ff92f
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 13 18:14:21 2023 +0100

        clang formatting

    commit 308b239302c6ce0186cb95bfc31ccfd5122b1613
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Mon Feb 13 17:24:51 2023 +0100

        Fixed merge issues

    commit 94818a4de96c068241b285858bb9317d20c13c94
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Thu Feb 9 16:39:47 2023 +0100

        passed all the tests

    commit fa5e3740e2d3f961ade7b6b894d11d23c549a4d6
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 7 13:02:21 2023 +0100

        Fixed precison in gather transformation

    commit f0a70f054b251999d36b3291cd90a2c9e63e5f17
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 7 13:01:43 2023 +0100

        Added the new export version

    commit cef818c7a2e0a22fdfd215576f60975070debebd
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 7 12:58:00 2023 +0100

        Support of legacy transposes

    commit e71e476dd5c2feb2f699987d1dbade1271a45e88
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Thu Jan 26 16:47:41 2023 +0100

        Pre_post_process init

    commit e1d297092c952fa9ee218b056632964a8941d2ec
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Thu Jan 19 14:52:02 2023 +0100

        fix after rebase

    commit 45ab28de3aa6d6de42c9378a2952a1dbc23d3ba9
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Nov 23 19:10:24 2022 +0100

        remove GatherIESubstitute transformation as not needed

    commit 4cb2b0aa3301ee68a0204cf3723a6465951626e1
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Wed Nov 23 19:08:57 2022 +0100

        fix funcitional test

    commit 981d086f7f327f7b6665b6076da4d5aaff36be2e
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Tue Nov 22 14:23:47 2022 +0100

        fix precision; left bug output EXACT

    commit 3cf71e0de1a47ac771d5611014d8e7e109168043
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Fri Nov 18 18:45:12 2022 +0100

        fixes

    commit c69d57f1f3b52dfbf6c68279353e4ca95eb26648
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Fri Nov 18 17:55:35 2022 +0100

        fix functional test

    commit 1b540338910e2ad17f21ba7d71c098877dadfa03
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Nov 14 17:51:20 2022 +0100

        add gather remove

    commit d7bff1ffa868b41f340cd17e66548d630b0822c2
    Author: Evgeny Kotov <evgeny.kotov@intel.com>
    Date:   Mon Nov 14 16:11:44 2022 +0100

        initial

    commit 9871d61042
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 11:10:38 2023 +0100

        Fixed build of deprecated tests

    commit cbf5246c1a
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 10:46:15 2023 +0100

        clang format

    commit c34f81b899
    Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
    Date:   Tue Feb 21 10:28:33 2023 +0100

        Migrated the deprecated backward compatibility tests to the new infra

commit bc1dd9d302
Author: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Date:   Sun Mar 19 18:15:21 2023 +0100

    Squashed commit of the following:

    commit a56a0768f1
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 15:48:23 2023 +0000

        remove TransposeSinking from MOC

    commit 430bdbec35
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 15:39:22 2023 +0000

        delete debug serialize

    commit a40658e369
    Merge: 346796af9c cf70ced2a9
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 15:33:46 2023 +0000

        Merge branch 'itikhono/ts/slice' of https://github.com/itikhono/openvino into itikhono/ts/slice

    commit 346796af9c
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 15:33:27 2023 +0000

        fix TSSqueeze/TSUnsqueeze transformations

    commit cf70ced2a9
    Merge: 7a6988a4a6 a9bd5f741d
    Author: Ivan Tikhonov <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 13:12:18 2023 +0400

        Merge branch 'master' into itikhono/ts/slice

    commit 7a6988a4a6
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 08:50:15 2023 +0000

        codestyle

    commit 849dc70763
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 16:32:45 2023 +0400

        refactoring

    commit 958f000e02
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 16:20:06 2023 +0400

        Added TSSlice transformation to TSGeneral, created TransposeSinkingGeneral alias in ov::pass namespace

    commit 83ab2cc5f6
    Merge: 1f8fdfb353 88ddbb2437
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 16:09:35 2023 +0400

        Merge branch 'itikhono/ts/slice' of https://github.com/itikhono/openvino into itikhono/ts/slice

    commit 1f8fdfb353
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 16:06:15 2023 +0400

        fix warnings

    commit 66d16ae45e
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 00:07:44 2023 +0400

        fix minor mistakes

    commit 1ac7690d42
    Merge: f1dc3702f1 6ffa8da922
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 17 00:02:39 2023 +0400

        Merge remote-tracking branch 'upstream/master' into itikhono/ts/slice

    commit f1dc3702f1
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 16 23:48:10 2023 +0400

        TSReduction refactoring, move Unsqueeze/Squeeze transformations to separate files, added limited support for Reshape op + tests

    commit 88ddbb2437
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 16 16:16:59 2023 +0000

        codestyle

    commit 2bc1334f65
    Merge: ce84ce24ec 4b9e048e18
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Wed Mar 15 17:10:30 2023 +0400

        Merge branch 'itikhono/ts/refactoring' into itikhono/ts/slice

    commit ce84ce24ec
    Merge: 6e6361f83a 36c18e29a8
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Wed Mar 15 16:25:41 2023 +0400

        Merge remote-tracking branch 'upstream/master' into itikhono/ts/slice

    commit 4b9e048e18
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 22:54:33 2023 +0400

        resolve merge conflicts

    commit 169a722212
    Merge: ee42aaf13b 596036a2db
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 22:48:22 2023 +0400

        Merge remote-tracking branch 'upstream/master' into itikhono/ts/refactoring

    commit ee42aaf13b
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 14:43:50 2023 +0000

        codestyle

    commit b3342f7c46
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 22:30:09 2023 +0400

        TransposeSinking refactoring: class names, namespaces

    commit e7759e1fa0
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 21:59:28 2023 +0400

        TransposeSinking Rafactoring part2: move the transformations to a separate folder, align namespaces

    commit 7b91ac1e6b
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 17:59:12 2023 +0400

        fix a warning

    commit d284ac1b7a
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 17:48:46 2023 +0400

        Add descriptions to the transformations, add additional checks

    commit 6e6361f83a
    Merge: 54bf0444e4 3a96e06d4c
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 14 16:20:34 2023 +0400

        Merge remote-tracking branch 'upstream/master' into itikhono/ts/slice

    commit 54bf0444e4
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 10 19:54:19 2023 +0400

        TransposeSinking: add support for Slice op

    commit a47a18cf55
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 9 22:29:37 2023 +0400

        Add new tests for Unsqueeze/Squeeze; refactoring; remove debug code

    commit e13d0e589f
    Merge: fa8e81f0f1 3d52fc843a
    Author: Ivan Tikhonov <ivan.tikhonov@intel.com>
    Date:   Thu Mar 9 01:43:47 2023 +0400

        Merge branch 'master' into itikhono/ts/fix_performance_issues

    commit fa8e81f0f1
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 9 04:20:08 2023 +0400

        Fix warning as error on Windows

    commit c77e98caf6
    Merge: 99192feb02 3eeaf7f9bd
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 9 02:42:47 2023 +0400

        Merge branch 'itikhono/ts/fix_performance_issues' of https://github.com/itikhono/openvino into itikhono/ts/fix_performance_issues

    commit 99192feb02
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 9 02:42:37 2023 +0400

        fix unary tests

    commit 11b500953d
    Merge: b60015f90d 3b924ca206
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 9 01:33:57 2023 +0400

        Merge branch 'itikhono/ts/fix_performance_issues' of https://github.com/itikhono/openvino into itikhono/ts/fix_performance_issues

    commit b60015f90d
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 9 01:33:46 2023 +0400

        Add tests for TS backward transformations, update TransposeSinkingFuse transformation, delete StridedSlice transformation prototype + tests refactoring

    commit 3eeaf7f9bd
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Wed Mar 8 17:42:25 2023 +0000

        codestyle

    commit db09fe4965
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 7 16:55:40 2023 +0400

        fix build

    commit 3b924ca206
    Merge: 54b4061282 db09fe4965
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 7 08:56:32 2023 +0000

        Merge branch 'itikhono/ts/fix_performance_issues' of https://github.com/itikhono/openvino into itikhono/ts/fix_performance_issues

    commit 54b4061282
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 7 08:51:48 2023 +0000

        TransposeReduction: skip the case when 2nd input for Squeeze is not provided

    commit 176686318f
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 7 07:34:40 2023 +0000

        codestye

    commit 3c5f62c013
    Merge: ef0e89551d 0dad7749b5
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 7 07:33:09 2023 +0000

        Merge remote-tracking branch 'upstream/master' into itikhono/ts/fix_performance_issues

    commit ef0e89551d
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Mar 7 15:30:22 2023 +0400

        Transpose sinking tests refactoring: part 3. + Revert changes in MOC.

    commit d71949fd09
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Mar 6 18:23:40 2023 +0400

        Add limited support for StridedSlice op

    commit 3565ff2181
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Mar 6 17:45:52 2023 +0400

        TransposeSinking tests refactoring: part2

    commit 34c89eb962
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Mar 3 04:34:48 2023 +0400

        TransposeSinking tests refactoring: part1

    commit c5991f0b06
    Merge: 6de1336894 caea77c132
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 2 17:21:17 2023 +0000

        Merge branch 'itikhono/ts/fix_performance_issues' of https://github.com/itikhono/openvino into itikhono/ts/fix_performance_issues

    commit caea77c132
    Merge: 199114a4c6 873d15ce1a
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 2 21:39:57 2023 +0400

        Merge branch 'itikhono/ts/fix_performance_issues' of https://github.com/itikhono/openvino into itikhono/ts/fix_performance_issues

    commit 199114a4c6
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 2 21:39:12 2023 +0400

        add include

    commit 6de1336894
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 2 17:21:02 2023 +0000

        add the missed line

    commit 123835c86d
    Author: Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 2 19:09:36 2023 +0400

        Support TS for Interpolate, VariadicSplit, IsInf, IsNan, IsFinite + refactoring

    commit 873d15ce1a
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 2 13:33:40 2023 +0000

        fix gna build

    commit 13f17d254b
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Mar 2 12:24:12 2023 +0000

        fix TS for Interpolate + codestyle

    commit b769d21912
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Feb 23 17:14:30 2023 +0000

        Add SpaceToBatch/BatchToSpace

    commit 9d8016d1e6
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Feb 23 17:12:54 2023 +0000

        Fix validate for split, revert changes for concat, add BatchToSpace/SpaceToBatch

    commit 20579455b7
    Merge: 3baf0c7900 d9fc5bac80
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Feb 23 10:32:14 2023 +0000

        Merge remote-tracking branch 'upstream/master' into itikhono/ts/fix_performance_issues

    commit 3baf0c7900
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Thu Feb 23 10:31:56 2023 +0000

        fix node validation

    commit fa9fe34c16
    Merge: ef6e141082 eaf368a5f5
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Wed Feb 22 15:33:52 2023 +0000

        Merge remote-tracking branch 'upstream/master' into itikhono/ts/fix_performance_issues

    commit ef6e141082
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Feb 21 14:34:26 2023 +0000

        Add additional validations

    commit 81b9e6eece
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Feb 20 13:54:27 2023 +0000

        delete debug print

    commit 9333c1cac5
    Merge: aa1aadd3c4 08293d39e1
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Feb 20 13:51:45 2023 +0000

        Merge branch 'itikhono/ts/fix_performance_issues' of https://github.com/itikhono/openvino into itikhono/ts/fix_performance_issues

    commit aa1aadd3c4
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Feb 20 13:50:42 2023 +0000

        Fix TransposeReduction, fix TransposeSinkingSplit, add unsqueeze support

    commit 20168b251a
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Fri Feb 17 07:46:12 2023 +0000

        fix TransposeReduce transformations

    commit 08293d39e1
    Merge: 43ef82320f 5cc1c2c5e5
    Author: Ivan Tikhonov <ivan.tikhonov@intel.com>
    Date:   Tue Feb 14 18:11:20 2023 +0400

        Merge branch 'master' into itikhono/ts/fix_performance_issues

    commit 43ef82320f
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Feb 14 14:09:25 2023 +0000

        fix the issue in TransposeFuse transformation

    commit 6e3fcf74e2
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Tue Feb 14 08:09:25 2023 +0000

        Fix TransposeReduceBackward

    commit a34e3ced9e
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Feb 13 17:08:19 2023 +0000

        fix ts for Concat and Reduce

    commit 8598d64174
    Merge: d9ea97bf4b f5bff5c087
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Feb 13 07:46:32 2023 +0000

        Merge branch 'itikhono/ts/fix_performance_issues' of https://github.com/itikhono/openvino into itikhono/ts/fix_performance_issues

    commit d9ea97bf4b
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Mon Feb 13 07:45:54 2023 +0000

        fix warning as error, fix tests failures

    commit f5bff5c087
    Merge: 1de806f9f7 b300df1be6
    Author: Ivan Tikhonov <ivan.tikhonov@intel.com>
    Date:   Sun Feb 12 21:51:00 2023 +0400

        Merge branch 'master' into itikhono/ts/fix_performance_issues

    commit 1de806f9f7
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Sun Feb 12 17:48:05 2023 +0000

        codestyle

    commit 2c48d6c583
    Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
    Date:   Sun Feb 12 17:47:32 2023 +0000

        Resolve the performance issues in TransposeSinking transformation

commit db220f11ee
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 09:42:42 2023 +0000

    delete debug code

commit 8f8f0e821b
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Tue Mar 21 09:41:48 2023 +0000

    fix TSSqueeze/TSUnsqueeze transformations in case of Reshape op

commit 981e8ad3c0
Merge: a56a0768f1 c5f65eea73
Author: Ivan <ivan.tikhonov@intel.com>
Date:   Mon Mar 20 19:47:18 2023 +0400

    Merge remote-tracking branch 'upstream/master' into itikhono/ts/slice

commit a56a0768f1
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 15:48:23 2023 +0000

    remove TransposeSinking from MOC

commit 430bdbec35
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 15:39:22 2023 +0000

    delete debug serialize

commit a40658e369
Merge: 346796af9c cf70ced2a9
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 15:33:46 2023 +0000

    Merge branch 'itikhono/ts/slice' of https://github.com/itikhono/openvino into itikhono/ts/slice

commit 346796af9c
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 15:33:27 2023 +0000

    fix TSSqueeze/TSUnsqueeze transformations

commit cf70ced2a9
Merge: 7a6988a4a6 a9bd5f741d
Author: Ivan Tikhonov <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 13:12:18 2023 +0400

    Merge branch 'master' into itikhono/ts/slice

commit 7a6988a4a6
Author: Tikhonov Ivan <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 08:50:15 2023 +0000

    codestyle

commit 849dc70763
Author: Ivan <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 16:32:45 2023 +0400

    refactoring

commit 958f000e02
Author: Ivan <ivan.tikhonov@intel.com>
Date:   Fri Mar 17 16:20:06 2023 +0400

    Added TSSlice transformation to TSG…

* Merge fixes

* clang fixes

* fix Reshape is unsupported; Transpose backward sinking case

* fix functional test params

* fix bug : duplicated source code in GNAGraphCompiler::PoolingPrimitive after rebase

* remove legacy transformations

* Fixed out of range issue

* aligned memory for convolution with padding

# Conflicts:
#	src/plugins/intel_gna/tests/functional/shared_tests_instances/subgraph_tests/const_conv_concat.cpp

* clang fixes

* [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
# Conflicts:
#	src/plugins/intel_gna/src/backend/gna_limitations.cpp
#	src/plugins/intel_gna/src/backend/gna_limitations.hpp
#	src/plugins/intel_gna/src/gna_transformations_pipeline.cpp

* Rebase fixes

* Removed duplicate of is_transpose_supported

* Rebase fix 2

* Reduced code duplication

* Clang code style

* fix unit tests

* Removed legacy failed tests

* add gather_sinking_test

* Corrected  tests to produce unsupported transposes

* Reverted unnecessary fix

* hide deprecated warnings

* clang fix

* fixed concat-gather transformation

* revert back ts_squeeze bugfix

* remove workaround

* fix build

* remove concat_transpose.cpp

* remove backward_compatibility.cpp test

* remove debug

* fix std::equal

* Revert "remove debug"

This reverts commit 574a3a04f3.

* remove debug

* return concat_transpose with fix

* rotates convolution inputs

* fix after rebase

* cleanup after rebase

* fixes after rebase

* fixes after rebase

* fix after rebase GatherSinkingGeneralBackward - return back GatherSinkingSplitBackward

* fix after rebase GatherSinkingGeneralBackward - return back

* clang fix

* windows build fix; fix rebase issue

* code review fixes

* clang fixes

* code review fixes

* code review fixes

* code review fixes - rename ts_split and ts_concat files

* code review fixes : move auxilary functions from pipeline to transformation helper

* code review fixes -> move has_one_consumer to graph_utils

* fix comparing

* cleanup

* code review fix - graph_compiler remove unneeded copying

* code review fixes - remove unneeded code

* code review fix gna_layer_info

* code review fix - remove unneeded code from LoadNetwork

* cleanup

* update modules

* code review fixes

* code review fixes

* code review fixes

* Revert "code review fixes -> move has_one_consumer to graph_utils"

This reverts commit f1a24041083b0da3c5ca34417e1789fd54e24dab.

* Revert "code review fixes"

This reverts commit d01b58a5b1a7a70bf16eec6f86b8dc1e50bf65c7.

* revert commits

* code review fixes

* code review fixes - remove unneeded

* code review fixes

* code review fix

---------

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
Co-authored-by: Tomasz Adamowicz <tomasz.adamowicz@intel.com>
2023-06-28 19:55:34 +02:00
Vladislav Golubev
18e737493c [Snippets] MatMul: blocking by M dimension at the LIR stage (#18169)
* [Snippets] MatMul: blocking by M dim at LIR level

* Alexandra's comments applied

* Ivan's comments applied

* Fix warning
2023-06-28 19:31:44 +02:00
Karol Blaszczak
3bc8065ca3 [DOCS] reset the pre-release notes pages (#18177)
a new place and content
2023-06-28 17:46:38 +02:00
Karol Blaszczak
258d476cbd [DOCS] top bar fixes
fixes in top bar styling
FAQ for pot gets drop-downs
Homepage css improvement
2023-06-28 14:14:35 +02:00
hyunback kim
2582f04c9c [GPU] Optimize stable diffusion perf igpu (#18200)
* [GPU] Optimize stable_diffusion performance in iGPU.

Change the existing heuristic shape condition to permute and no transpose gemm in case of transpose gemm.

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-06-28 13:57:10 +02:00
Tomasz Dołbniak
8f8bdc51b0 ScatterElementsUpdate-12 reference implementation (#18231) 2023-06-28 13:53:07 +02:00
bstankix
5941ad6e37 Add sitemap configuration (#18267) 2023-06-28 13:19:34 +02:00
Wilson Seok
1efb9eafae [GPU] Add condition check for dynamic shape and onednn_impl in concat_in_place_optimization::match() (#18034)
* add dynamic shape support for dgpu in prepare_buffer_fusing

* add unit test

* add space between test cases

* update condition of impl create() for concat dynamic shape

* update unit test

* add comment and update unit test

* add impl_param.is_type() function
2023-06-27 23:39:00 -07:00
Jan Iwaszkiewicz
4fc0b22012 [PyOV] Force copy of not writable numpy arrays (#18194) 2023-06-28 07:56:29 +02:00
Paul Youngsoo Ahn
50897e86e6 [GPU] Impl cldnn::condition to support dynamic shape (#18051)
* [GPU] Impl cldnn::condition to support dynamic shape (#18051)
* Impl CreateIfOp
* Update calc_output_layouts and execute_impl
* Enable gpu unit test
* Create gpu functional test

* [GPU] Follow-up code review (#18051)
* remove redundant codes
* create custom execute method for condition_inst
* change name from update_loop_primitive_map to update_inner_program_io_map

* [GPU] Fix gpu func test failures for fp16

* Add more test-cases to support fp16 and nested if case

* [GPU] remove redundant codes
* refactoring var names
* fix windows build error

* [GPU] Fix windows build issue

* [GPU] update calc_output_layouts

* [GPU] remove custom condition_inst::execute

* Remove virtual keyword from primitive_inst::execute()

* [GPU] Share single task executor between main program and inner program

* [GPU] Fix input rank issue for const inner network in condition op

* [GPU] apply calc_output_layouts for roi_align

Co-authored-by: Vladimir Paramuzov <vladimir.paramuzov@intel.com>

* [GPU] avoid checking allow_new_shape_infer for inner program

---------

Co-authored-by: Vladimir Paramuzov <vladimir.paramuzov@intel.com>
2023-06-27 17:05:26 +02:00
Alina Kladieva
c2afa2aefc Restrict scipy module version for POT (#18237)
* Restrict scipy module version for POT

Latest release https://pypi.org/project/scipy/1.11.0 causes dependency conflicts

* Bump OMZ to include scipy restriction

---------

Co-authored-by: Roman Kazantsev <roman.kazantsev@intel.com>
2023-06-27 12:59:45 +02:00
Andrew Kwangwoong Park
1566567ca4 [GPU] Fix output layout calculation for crop and fc (#18207)
* Fix get_partial_shape tensor API to access the correct index of dimensions

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

* Update the rule specifying output_type to the legacy one by referring to calc_output_layout

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

* Add reproducible TCs related to issues for ov_gpu_unit_tests

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

* Fix failed fc dynamic i8 TCs for ov_gpu_unit_tests

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

* Fix are_data_types_sutable_for_onednn not to invalidate output layout

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

* Apply comment

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

---------

Signed-off-by: Andrew Park <andrew.park@intel.com>
2023-06-27 11:30:30 +02:00
Mingyu Kim
61b15ce31a Revert "[GPU] Reorder weights refactoring (#17787)" (#18248)
This reverts commit d00c7d30f9.
2023-06-27 17:26:18 +09:00
yanlan song
09446e1ce2 Include BATCH plugin proprieties in get_supported_property return list (#17504)
* keep batch as supported key when call get_supported from virtual plugin

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

update desc

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

* clang

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

* rename param and add case

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

* clang

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

* change order of include files

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

* rework case interface to 2.0 plugin api

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

* clang format

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

---------

Signed-off-by: fishbell <bell.song@intel.com>
2023-06-27 12:07:59 +04:00
Maciej Smyk
6505a297b1 [DOCS] Debugging Auto-Device Plugin rst shift + Notebooks installation id align for master (#18240)
* Update AutoPlugin_Debugging.md

* Update AutoPlugin_Debugging.md

* Update AutoPlugin_Debugging.md

* Update AutoPlugin_Debugging.md

* notebooks id fix

* fixes
2023-06-27 09:09:44 +02:00
Karol Blaszczak
4b70825d53 [DOCS] benchmark update for OVMS 23.0 (#18010) 2023-06-27 08:15:23 +02:00
Taylor Yeonbok Lee
bcf58344cc Fix crash for shape of subgraph due to missing mem_dep (#18246) 2023-06-26 16:48:10 -07:00
Tatiana Savina
c3b7e81722 [DOCS] Add FrontEnd API note (#18154)
* add note

* fix typo

* add advance cases note

* tf doc note

* wording change
2023-06-26 16:53:03 +02:00
Wilson Seok
f306a11b82 [GPU] fix issues of MobileFaceNet for dynamic shape (#18171)
* fix issues of MobileFaceNet for dynamic shape

* update unit test
2023-06-26 17:22:15 +09:00
Sebastian Golebiewski
9e91076a63 updating-tutorials (#18210) 2023-06-26 09:41:49 +02:00
Taylor Yeonbok Lee
bf299c807e [GPU] Not to add sync if the node belongs to shape of subgraph (#18158)
* Not to add sync if the node is within shape of subgraph
Because the dependency is cpu impl so the execution is already finished.

* Fixed as review comment : Skip clFinish only when the runtime dep is shape of subgraph, not the current node
2023-06-25 21:51:45 -07:00
Pawel Raasz
22aa219ab0 Fix conversion warning in gna plugin (#18216) 2023-06-25 00:03:22 +04:00
Ilya Lavrenov
975616980b Removed benchmark_tool from openvino since opencv dependency is still not solved (#18206) 2023-06-24 12:00:31 +04:00
Taylor Yeonbok Lee
22ef2f4e6a Fix bug in weight reorder. (#18224)
The original memory was overwritten unexpectedly because it was chekcing shared_ptr instead of actual buffer address
2023-06-24 00:35:07 -07:00
Ilya Lavrenov
e0ad99081e Fixed compilation (#18220) 2023-06-24 02:52:14 +04:00
Evgeny Kotov
70e52cafd9 [GNA] Custom ops: GNAConvolution and GNAMaxPool (#18102) 2023-06-23 22:27:34 +00:00
Irina Efode
31b07c40d9 Add global config for test infra (#17547)
* [IE TESTS] Add Global test config for Subgraph base test

* Replace using option by function redefinition

* fix build

* remove extra changes for gna/template

* code style

* add nvidia to devices

* Fix debian

* remove nvidia
2023-06-24 01:07:36 +04:00
Ivan Tikhonov
eb43f40ca1 Revert "Enable ResolveNamesCollisions transformation in MOC (#18052)" (#18218)
This reverts commit 9630766e03.
2023-06-24 01:06:12 +04:00
Irina Efode
aefaf74a08 [CONFORMANCE][TOOLS] New SubgraphsDumper (#17836)
* New Subgraph Dumper -> Cache + Meta

* iCache tests

* tests_meta

* OpCache tests

* Move & refactor matchers

* fix all tests and refactor meta

* Prepare for review

* Add caching types

* Model testing + improvement

* Add ignored ports. Add tests for node utils

* fix build

* Fix compilation error

* fix arm build

* fix win?

* revert chanes in file util

* Update file_util.hpp

* Update constant.hpp
2023-06-24 00:12:47 +04:00
Mateusz Bencer
92fbf96300 Cache const-folded value for the same input connected to MultiSubGraphOp during PushConstantToSubgraph (#18067) 2023-06-23 17:45:55 +02:00
Ryszard Jezierski
8a2af2418f fixed additional warnings (#18209) 2023-06-23 15:42:26 +00:00
Maciej Smyk
a3e4a1f730 [DOCS] Table directive update + Get Started fix for master (#18203) 2023-06-23 16:47:28 +02:00
Jan Iwaszkiewicz
a8ce60b651 Fix flake8 warnings and ignore VNE001 for Python samples (#18204)
* Ignore VNE001 for Python samples

* Add explanation

* Fix flake8 on wheel setup.py

* Fix onnx test reporting VNE001
2023-06-23 17:06:02 +04:00
Roman Lyamin
d00c7d30f9 [GPU] Reorder weights refactoring (#17787) 2023-06-23 16:01:55 +04:00
Roman Lyamin
cca8cf15ef [GPU] softmax_kernel_items_class_optimized fix (#18178) 2023-06-23 16:00:11 +04:00
Tatiana Savina
e1195e39ed [DOCS] Added local distribution libraries path (#18191)
* add relative path to the table

* add another column

* new table format

* fix build issue

* fix tab name

* remove old table

* format fixes

* change font

* change path windows

* change tabset name

* add arm and 86_64 tables

* remove list dots
2023-06-23 13:22:21 +02:00
Sofya Balandina
a9ef0b0678 Fix highlight_tables.py (#18090) 2023-06-23 15:12:42 +04:00
Irina Efode
098a4089c7 [CONFORMANCE] Fix type to find not run tests (#18196) 2023-06-23 15:09:01 +04:00
Ryszard Jezierski
284ab25f8f [GNA] Remove warning suppression, fix all warnings (#17841)
* Removed /wd4661 suppression which had no effect

* Fixed /wd4018, /wd4099 and /wd4200 (signed/unsigned mismatch)

* Fixed /wd4018, /wd4099 and /wd4200

* Fixed -Wparentheses

* Fixed -Wcomment

* Fixed -Wint-in-bool-context

* Fixed -Wsign-compare
2023-06-23 13:07:02 +02:00
hyunback kim
3c378eb7ac [GPU] Fix onednn implicit concat issue with reorder as input. (#18180)
* [GPU] Fix onednn implicit concat issue with reorder as input.

Fix for missed memory offset handling in onednn reorder.

Signed-off-by: hyunback <hyunback.kim@intel.com>
2023-06-23 10:46:50 +00:00
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
Sun Xiaoxia
893b29eab4 HOT FIX: Xiaoxia/fix read wrong data in muti threading (#17240)
* fix threading test sporadic failure

* fix read wrong data in muti threading

* fix read and write sync

* add lock before cpu._cpu_mapping_table[i][CPU_MAP_USED_FLAG],because CPU_MAP_USED_FLAG may be modified by set_cpu_used
2023-04-27 22:44:44 +08:00
Maxim Vafin
1d443c6da6 Fix problems with pytorch models passed to convert_model (#17255)
* Do eval() only for torch Module

* Add test

* Support decoder in convert_model

* Enable tests
2023-04-27 18:33:46 +04:00
Mateusz Bencer
2b8a6ba99a condition to print warnings (#17195) 2023-04-27 13:43:32 +00:00
Jan Iwaszkiewicz
ca02336c1b [PyOV] Bump pybind to 2.10.4 (#17251) 2023-04-27 16:41:45 +04:00
Artyom Anokhov
e06c4cc6fd CMakeLists: Changed FATAL_ERROR to Warning in case of OpenCLHeaders not found (#17260) 2023-04-27 16:22:53 +04:00
7365 changed files with 325834 additions and 122293 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,20 +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_TESTS=ON
-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
-DCMAKE_CXX_LINKER_LAUNCHER=ccache
-DCMAKE_C_LINKER_LAUNCHER=ccache
-DENABLE_TESTS=ON
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-S $(OPENVINO_REPO_DIR)

View File

@@ -105,7 +105,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '$(OV_PYTHON_VERSION)' # Setting only major & minor version will download latest release from GH repo example 3.10 will be 3.10.10.
versionSpec: '$(OV_PYTHON_VERSION)' # Setting only major & minor version will download latest release from GH repo example 3.10 will be 3.10.10.
addToPath: true
disableDownloadFromRegistry: false
architecture: 'x64'
@@ -245,6 +245,7 @@ jobs:
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_C_COMPILER=clang
-DENABLE_SYSTEM_SNAPPY=ON
-DENABLE_SYSTEM_TBB=ON
-DCPACK_GENERATOR=$(CMAKE_CPACK_GENERATOR)
-DBUILD_nvidia_plugin=OFF
-S $(REPO_DIR)
@@ -303,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
@@ -366,7 +341,7 @@ jobs:
displayName: 'Build cpp samples - gcc'
- script: $(SAMPLES_INSTALL_DIR)/cpp/build_samples.sh -b $(BUILD_DIR)/cpp_samples_clang
env:
env:
CC: clang
CXX: clang++
displayName: 'Build cpp samples - clang'
@@ -379,7 +354,7 @@ jobs:
- script: rm -fr $(BUILD_DIR)
displayName: 'Clean build dir'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-NGraphUT.xml
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVCoreUT.xml
displayName: 'OV Core UT'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_inference_functional_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceFunc.xml
@@ -388,6 +363,12 @@ jobs:
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_inference_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceUnit.xml
displayName: 'Inference Unit Tests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVProxyTests.xml
displayName: 'OV Proxy Plugin Tests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVHeteroFuncTests.xml
displayName: 'OV Hetero Func Tests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_conditional_compilation_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ConditionalCompilation.xml
displayName: 'Conditional Compilation Tests'
@@ -420,7 +401,7 @@ jobs:
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_legacy_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-LegacyTransformations.xml
displayName: 'Legacy Transformations Tests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/commonUtilsTests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-CommonUtilTests.xml
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_util_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-CommonUtilTests.xml
displayName: 'Common Utils Tests'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/InferenceEngineUnitTests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-InferenceEngineUnitTests.xml
@@ -433,8 +414,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'
@@ -442,10 +423,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'
@@ -454,6 +431,38 @@ 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: |
python3 -m pytest -s $(REPO_DIR)/tools/ovc/unit_tests --junitxml=$(INSTALL_TEST_DIR)/TEST-OpenVinoConversion.xml
displayName: 'OpenVino Conversion UT'
- script: $(RUN_PREFIX) $(INSTALL_TEST_DIR)/ov_cpu_func_tests --gtest_filter=*smoke* --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_func_tests.xml
displayName: 'CPU FuncTests'
condition: and(succeeded(), eq(variables['CMAKE_BUILD_SHARED_LIBS'], 'OFF'))
- task: CMake@1
inputs:
cmakeArgs: >

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
@@ -108,43 +108,106 @@ jobs:
- checkout: self
clean: 'true'
submodules: 'true'
path: openvino
- script: |
set -e
sudo -E $(OPENVINO_REPO_DIR)/install_build_dependencies.sh
python3 -m pip install --upgrade pip
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/requirements.txt
python3 -m pip install -r $(OPENVINO_REPO_DIR)/src/bindings/python/wheel/requirements-dev.txt
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
# 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 scons gcc-10-aarch64-linux-gnu g++-10-aarch64-linux-gnu
# generic dependencies
sudo -E apt --assume-yes install cmake ccache ninja-build unzip fdupes
displayName: 'Install build dependencies'
- task: CMake@1
inputs:
cmakeArgs: >
-G "Ninja Multi-Config"
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON
-DOpenCV_DIR=$(INSTALL_OPENCV)/cmake
-DENABLE_PYTHON=OFF
-DENABLE_TESTS=ON
-DENABLE_DATA=OFF
-DCMAKE_TOOLCHAIN_FILE=$(OPENVINO_REPO_DIR)/cmake/arm64.toolchain.cmake
-DCMAKE_VERBOSE_MAKEFILE=ON
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
-DCMAKE_C_COMPILER_LAUNCHER=ccache
-DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC)
-DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO)
-S $(OPENVINO_REPO_DIR)
- 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-10" >> $(BUILD_OPENVINO)/linux_arm64
echo "CXX=aarch64-linux-gnu-g++-10" >> $(BUILD_OPENVINO)/linux_arm64
# install OpenVINO dependencies
conan install $(OPENVINO_REPO_DIR)/conanfile.txt \
-pr:h $(BUILD_OPENVINO)/linux_arm64 \
-s:h arch=armv8 \
-of $(BUILD_OPENVINO) \
-b missing
env:
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
CCACHE_DIR: $(OPENVINO_CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 50G
displayName: 'Install conan and dependencies'
- script: |
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=OFF \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DENABLE_CPPLINT=ON \
-DENABLE_INTEL_GPU=ON \
-DENABLE_PYTHON=ON \
-DENABLE_WHEEL=ON \
-DPYBIND11_PYTHONLIBS_OVERWRITE=OFF \
-DPYTHON_MODULE_EXTENSION=$(aarch64-linux-gnu-python3-config --extension-suffix) \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libc-2.31.so \
-DPYTHON_INCLUDE_DIR=$(Agent.ToolsDirectory)/Python/$(OV_PYTHON_VERSION)/x64/include/python$(OV_PYTHON_VERSION_MAJOR_MINOR) \
-DENABLE_DATA=OFF \
-DENABLE_SYSTEM_TBB=ON \
-DENABLE_SYSTEM_PROTOBUF=ON \
-DENABLE_SYSTEM_SNAPPY=ON \
-DENABLE_SYSTEM_PUGIXML=ON \
-DCMAKE_TOOLCHAIN_FILE=$(BUILD_OPENVINO)/conan_toolchain.cmake \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DARM_COMPUTE_SCONS_JOBS=$(NUM_PROC) \
-DCMAKE_INSTALL_PREFIX=$(INSTALL_OPENVINO) \
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \
-DENABLE_PYTHON_PACKAGING=ON \
-S $(OPENVINO_REPO_DIR) \
-B $(BUILD_OPENVINO)
displayName: 'CMake OpenVINO ARM plugin'
source $(BUILD_OPENVINO)/deactivate_conanbuild.sh
displayName: 'CMake configure'
- script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE)
env:
@@ -152,13 +215,15 @@ jobs:
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
CCACHE_MAXSIZE: 50G
displayName: 'Build OpenVINO ARM plugin'
displayName: 'Build OpenVINO Runtime'
- script: cmake --build $(BUILD_OPENVINO) --parallel --config $(BUILD_TYPE) --target install
displayName: 'Install OpenVINO ARM plugin'
displayName: 'Install OpenVINO Runtime'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
ArtifactName: 'openvino_aarch64_linux'
displayName: 'Publish OpenVINO AArch64 linux package'
- 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

@@ -141,7 +141,7 @@ jobs:
-DENABLE_TESTS=ON \
-S /root/repos/openvino \
-B /root/w/build &&
cmake --build /root/w/build --parallel --config Release --verbose -- CudaFuncTests CudaUnitTests"
cmake --build /root/w/build --parallel --config Release --verbose -- ov_nvidia_func_tests ov_nvidia_unit_tests"
displayName: 'Docker build Lin'
- script: ls -alR $(OPENVINO_REPO_DIR)/bin/

View File

@@ -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)
@@ -176,7 +186,7 @@ jobs:
displayName: 'Clean ccache stats'
- script: cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
env:
env:
CCACHE_DIR: $(CCACHE_DIR)
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
CCACHE_BASEDIR: $(Pipeline.Workspace)
@@ -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,24 @@ 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
$(INSTALL_TEST_DIR)/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVProxyTests.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'OV Proxy Tests'
- script: |
$(INSTALL_TEST_DIR)/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVHeteroFuncTests.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'OV Hetero Func Tests'
- script: $(INSTALL_TEST_DIR)/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ONNXFrontend.xml
env:
LD_LIBRARY_PATH: $(INSTALL_TEST_DIR)
displayName: 'ONNX Frontend Tests'
@@ -317,14 +305,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 +318,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 +338,43 @@ 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
env:
PYTHONPATH: $(REPO_DIR)/tools/ovc/
displayName: 'Model Optimizer UT'
# run not all smoke filter to save time in post-commit
- script: $(INSTALL_TEST_DIR)/ov_cpu_func_tests --gtest_filter=*OVCLass*:*CoreThreadingTests* --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-ov_cpu_func_tests.xml
displayName: 'CPU FuncTests'
- task: CMake@1
inputs:
cmakeArgs: >
@@ -369,13 +386,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 +399,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: $(REPO_DIR)/tools/ovc/:$(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/ovc/:$(REPO_DIR)/tools/mo/:$(LAYER_TESTS_DIR)
TEST_DEVICE: CPU
displayName: 'TensorFlow Lite Layer Tests - TFL FE'
- task: PublishTestResults@2

View File

@@ -72,7 +72,7 @@ jobs:
libopenvino_gapi_preproc.so
openvino_intel_cpu_plugin
openvino_intel_gpu_plugin
clDNN_unit_tests64
ov_gpu_unit_tests
gpuFuncTests
displayName: Build Lin

View File

@@ -131,7 +131,6 @@ jobs:
-DENABLE_CPPLINT=OFF
-DENABLE_PROFILING_ITT=OFF
-DENABLE_SAMPLES=OFF
-DENABLE_COMPILE_TOOL=OFF
-DENABLE_OV_TF_FRONTEND=OFF
-DENABLE_OV_PADDLE_FRONTEND=OFF
-DENABLE_OV_PYTORCH_FRONTEND=OFF

View File

@@ -180,10 +180,18 @@ jobs:
- script: ls -alR $(INSTALL_DIR)
displayName: 'List install files'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-NGraphUT.xml
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVCoreUT.xml
displayName: 'OV Core UT'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVProxyTests.xml
displayName: 'OV Proxy Plugin Tests'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-OVHeteroFuncTests.xml
displayName: 'OV Hetero Func Tests'
enabled: 'false'
- script: . $(SETUPVARS) && $(INSTALL_TEST_DIR)/ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)/TEST-IRFrontend.xml
displayName: 'IR Frontend Tests'
enabled: 'false'
@@ -196,8 +204,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

@@ -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
@@ -259,6 +263,12 @@ jobs:
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_inference_unit_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceUnit.xml
displayName: 'Inference Unit Tests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-OVProxyTests.xml
displayName: 'OV Proxy Plugin Tests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-OVHeteroFuncTests.xml
displayName: 'OV Hetero Func Tests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_conditional_compilation_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-ConditionalCompilation.xml
displayName: 'Conditional Compilation Tests'
@@ -286,11 +296,11 @@ jobs:
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\Transformations.xml
displayName: 'Transformations Tests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_legacy_transformations_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\LegacyTransformations.xml
displayName: 'Legacy Transformations Tests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\commonUtilsTests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\CommonUtilTests.xml
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\ov_util_tests --gtest_print_time=1 --gtest_output=xml:$(INSTALL_TEST_DIR)\CommonUtilTests.xml
displayName: 'Common Utils Tests'
- script: call $(SETUPVARS) && $(INSTALL_TEST_DIR)\InferenceEngineUnitTests --gtest_output=xml:$(INSTALL_TEST_DIR)\TEST-InferenceEngineUnitTests.xml
@@ -302,8 +312,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 +321,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 +332,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

@@ -116,7 +116,7 @@ jobs:
-G Ninja ^
-DENABLE_CPPLINT=OFF ^
-DENABLE_GAPI_PREPROCESSING=OFF ^
-DENABLE_FASTER_BUILD=ON ^
-DENABLE_PLUGINS_XML=ON ^
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^
-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) ^
-DENABLE_PROFILING_ITT=ON ^
@@ -153,7 +153,6 @@ jobs:
-DVERBOSE_BUILD=ON ^
-DENABLE_CPPLINT=OFF ^
-DENABLE_GAPI_PREPROCESSING=OFF ^
-DENABLE_FASTER_BUILD=ON ^
-DENABLE_PROFILING_ITT=OFF ^
-DSELECTIVE_BUILD=ON ^
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON ^

View File

@@ -1,4 +1,4 @@
FROM ubuntu:22.04
FROM ubuntu:23.04
LABEL version=2021.03.30.1
@@ -38,6 +38,7 @@ RUN apt-get update && apt-get -y --no-install-recommends install \
python3 \
python3-pip \
python3-dev \
pybind11-dev \
python3-virtualenv \
cython3 \
tox && \
@@ -71,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.10:${PYTHONPATH}
ENV PYTHONPATH=/openvino/bin/intel64/${BUILD_TYPE}/python:${PYTHONPATH}
CMD tox

1
.github/CODEOWNERS vendored
View File

@@ -99,6 +99,7 @@
/tools/legacy/ @openvinotoolkit/openvino-samples-maintainers
/tools/openvino_dev/ @openvinotoolkit/openvino-tools-maintainers @openvinotoolkit/openvino-ie-python-api-maintainers
/tools/mo/ @openvinotoolkit/openvino-mo-maintainers
/tools/ovc/ @openvinotoolkit/openvino-mo-maintainers
/tools/pot/ @openvinotoolkit/openvino-pot-maintainers
/thirdparty/open_model_zoo/ @openvinotoolkit/omz-maintainers @openvinotoolkit/openvino-pot-maintainers

2
.github/labeler.yml vendored
View File

@@ -41,6 +41,7 @@
'category: dependency_changes':
- '**/requirement*.txt'
- '**/constraints*.txt'
- 'scripts/**/*'
- '.gitmodules'
- '**/setup.py'
@@ -86,6 +87,7 @@
'category: MO':
- 'tools/mo/**/*'
- 'tools/ovc/**/*'
'category: ONNX FE':
- 'src/frontends/onnx/**/*'

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

@@ -0,0 +1,149 @@
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
- name: Run OV Proxy plugin tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_proxy_plugin_tests
- name: Run OV Hetero Func tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_hetero_func_tests
- name: Run IR frontend tests
run: ${{ github.workspace }}/bin/intel64/Release/ov_ir_frontend_tests # --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

748
.github/workflows/linux.yml vendored Normal file
View File

@@ -0,0 +1,748 @@
name: Tests on Linux (Ubuntu 22.04, Python 3.11)
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/docs/**'
- 'docs/**'
- '**/**.md'
- '**.md'
- '**/layer_tests_summary/**'
- '**/conformance/**'
push:
paths-ignore:
- '**/docs/**'
- 'docs/**'
- '**/**.md'
- '**.md'
- '**/layer_tests_summary/**'
- '**/conformance/**'
branches:
- master
concurrency:
group: ${{ github.head_ref || github.run_id }}-linux
cancel-in-progress: true
jobs:
Build:
defaults:
run:
shell: bash
runs-on: ubuntu-latest-8-cores
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja'
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_C_COMPILER_LAUNCHER: ccache
OPENVINO_REPO: ${{ github.workspace }}/openvino
OPENVINO_CONTRIB_REPO: ${{ github.workspace }}/openvino_contrib
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
SAMPLES_INSTALL_DIR: ${{ github.workspace }}/install/samples
LAYER_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/layer_tests
BUILD_DIR: ${{ github.workspace }}/build
DATA_PATH: ${{ github.workspace }}/testdata
MODELS_PATH: ${{ github.workspace }}/testdata
OV_TEMP: ${{ github.workspace }}/openvino_temp
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
steps:
- name: Clone OpenVINO
uses: actions/checkout@v3
with:
path: 'openvino'
submodules: 'recursive'
- name: Clone OpenVINO Contrib
uses: actions/checkout@v3
with:
repository: 'openvinotoolkit/openvino_contrib'
path: 'openvino_contrib'
submodules: 'recursive'
- name: Clone testdata for C API tests
uses: actions/checkout@v3
with:
repository: 'openvinotoolkit/testdata'
path: 'testdata'
submodules: 'recursive'
lfs: 'true'
#
# Dependencies
#
- name: Install build dependencies
run: |
sudo -E ${{ env.OPENVINO_REPO }}/install_build_dependencies.sh
sudo -E apt update
sudo -E apt --assume-yes install openjdk-11-jdk libbz2-dev clang unzip libpugixml-dev libtbb-dev intel-opencl-icd ocl-icd-opencl-dev opencl-headers
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/
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install python dependencies
run: |
# For Python API
python3 -m pip install --upgrade pip
python3 -m pip install Scons
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements_test.txt
# For running Python API tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running ONNX frontend unit tests
python3 -m pip install --force-reinstall -r ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/requirements.txt
# For running TensorFlow frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/tensorflow/tests/requirements.txt
# For running Paddle frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
- name: Install MO dependencies
run: |
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
#
# Build
#
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
max-size: "2000M"
# Should save cache only if run in the master branch of the base repo
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
save: ${{ github.ref_name == 'master' && 'true' || 'false' }}
verbose: 2
key: ${{ github.job }}-linux
restore-keys: |
${{ github.job }}-linux
- name: Get tools versions
run: |
ninja --version || exit 1
ccache --version || exit 1
python3 --version || exit 1
cmake --version || exit 1
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores
- name: CMake configure
run: |
cmake \
-GNinja \
-DENABLE_CPPLINT=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_TESTS=ON \
-DENABLE_PYTHON=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DENABLE_ONEDNN_FOR_GPU=OFF \
-DENABLE_OV_ONNX_FRONTEND=ON \
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
-DENABLE_STRICT_DEPENDENCIES=OFF \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_LINKER_LAUNCHER=ccache \
-DCMAKE_C_LINKER_LAUNCHER=ccache \
-DENABLE_SYSTEM_SNAPPY=ON \
-DENABLE_SYSTEM_TBB=ON \
-DBUILD_nvidia_plugin=OFF \
-DENABLE_DEBUG_CAPS=ON \
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" \
-DOPENVINO_EXTRA_MODULES=${{ env.OPENVINO_CONTRIB_REPO }}/modules \
-S ${{ env.OPENVINO_REPO }} \
-B ${{ env.BUILD_DIR }}
- name: Clean ccache stats
run: ccache --zero-stats --show-config
- name: Build
run: cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config Release
- name: Show ccache stats
run: ccache --show-stats
- name: Cmake Layer Tests
run: cmake -GNinja -S ${{ env.OPENVINO_REPO }}/tests/layer_tests -B ${{ env.BUILD_DIR }}/layer_tests
- name: Build Layer Tests
run: cmake --build ${{ env.BUILD_DIR }}/layer_tests --parallel --config Release
- name: Install wheel packages
run: cmake -DCOMPONENT=python_wheels -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: Install Layer Tests
run: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/layer_tests/cmake_install.cmake
- name: Install python wheels
run: python3 -m pip install openvino-dev --find-links=${{ env.INSTALL_DIR }}/tools
- name: Install tests
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCOMPONENT=tests -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: Install OpenVINO
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: CMake Samples Tests
run: cmake -GNinja -S ${{ env.OPENVINO_REPO }}/tests/samples_tests -B ${{ env.BUILD_DIR }}/samples_tests
- name: Build Samples Tests
run: cmake --build ${{ env.BUILD_DIR }}/samples_tests --config Release
- name: Install Samples Tests
run: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/samples_tests/cmake_install.cmake
- name: Pack Artifacts
run: |
pushd ${{ env.INSTALL_DIR }}
tar -czvf ${{ env.BUILD_DIR }}/openvino_package.tar.gz --exclude=tests *
popd
pushd ${{ env.INSTALL_DIR }}
tar -czvf ${{ env.BUILD_DIR }}/openvino_tests.tar.gz tests/
popd
- name: Build cpp samples
run: ${{ env.SAMPLES_INSTALL_DIR }}/cpp/build_samples.sh -i ${{ env.INSTALL_DIR }} -b ${{ env.BUILD_DIR }}/cpp_samples
- name: Build c samples
run: ${{ env.SAMPLES_INSTALL_DIR }}/c/build_samples.sh -i ${{ env.INSTALL_DIR }} -b ${{ env.BUILD_DIR }}/c_samples
#
# Tests
#
- name: Samples tests
run: |
python3 -m pip install --ignore-installed PyYAML -r ${{ env.INSTALL_TEST_DIR }}/smoke_tests/requirements.txt
export LD_LIBRARY_PATH=${{ env.IE_APP_PATH }}:$LD_LIBRARY_PATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/smoke_tests \
--env_conf ${{ env.INSTALL_TEST_DIR }}/smoke_tests/env_config.yml \
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-SamplesSmokeTests.xml
env:
IE_APP_PATH: ${{ env.INSTALL_DIR }}/samples_bin
IE_APP_PYTHON_PATH: ${{ env.INSTALL_DIR }}/samples/python
SHARE: ${{ env.INSTALL_TEST_DIR }}/smoke_tests/samples_smoke_tests_data
WORKSPACE: ${{ env.INSTALL_DIR }}
# Present in the "Build" job due to the fact that these tests require build directory
- name: ONNX frontend tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU*:*FrontEndLoadFromTest.testLoadFromTwoStreams*:*FrontEndLoadFromTest.testLoadFromTwoFiles* \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml
#
# Upload build artifacts
#
- name: Upload openvino package
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: openvino_package
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
if-no-files-found: 'error'
- name: Upload openvino tests package
if: ${{ always() }}
uses: actions/upload-artifact@v3
with:
name: openvino_tests
path: ${{ env.BUILD_DIR }}/openvino_tests.tar.gz
if-no-files-found: 'error'
CXX_Unit_Tests:
needs: Build
defaults:
run:
shell: bash
runs-on: ubuntu-22.04
env:
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
steps:
- name: Create Directories
run: |
mkdir -p ${{ env.INSTALL_DIR }} ${{ env.INSTALL_TEST_DIR }}
#
# Dependencies
#
- name: Install dependencies
run: |
sudo -E apt update
sudo -E apt --assume-yes install openjdk-11-jdk libbz2-dev clang unzip libpugixml-dev libtbb-dev intel-opencl-icd ocl-icd-opencl-dev opencl-headers
- name: Download OpenVINO package
uses: actions/download-artifact@v3
with:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
name: openvino_tests
path: ${{ env.INSTALL_TEST_DIR }}
- name: Extract OpenVINO packages
run: |
pushd ${{ env.INSTALL_DIR }}
tar -xzf openvino_package.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_package.tar.gz || exit 1
popd
pushd ${{ env.INSTALL_TEST_DIR }}
tar -xzf openvino_tests.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_tests.tar.gz || exit 1
popd
#
# Tests
#
- name: OpenVINO Core Unit Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVCoreUT.xml
- name: OpenVINO Inference Functional Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_inference_functional_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceFunc.xml
- name: OpenVINO Inference Unit Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_inference_unit_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceUnit.xml
- name: Low Precision Transformations Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_lp_transformations_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-LpTransformations.xml
- name: OpenVINO Conditional compilation tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_conditional_compilation_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ConditionalCompilation.xml
- name: IR frontend tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_ir_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-IRFrontend.xml
# Disabled in Azure: https://github.com/openvinotoolkit/openvino/blob/master/.ci/azure/linux.yml#L403
# - name: PaddlePaddle frontend tests
# run: |
# source ${{ env.INSTALL_DIR }}/setupvars.sh
# ${{ env.INSTALL_TEST_DIR }}/paddle_tests --gtest_print_time=1 --gtest_filter=*smoke* \
# --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-PaddleTests.xml
# Present in the "Build" job as these tests require build directory
# - name: ONNX frontend tests
# run: |
# source ${{ env.INSTALL_DIR }}/setupvars.sh
# ${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU*:*FrontEndLoadFromTest.testLoadFromTwoStreams*:*FrontEndLoadFromTest.testLoadFromTwoFiles* \
# --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml
- name: TensorFlow Common tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_common_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowCommonFrontend.xml
- name: TensorFlow frontend tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowFrontend.xml
- name: TensorFlow Lite frontend tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowLiteFrontend.xml
- name: Transformations Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_transformations_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-Transformations.xml
- name: Common test utils tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_util_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CommonUtilTests.xml
- name: CPU plugin unit tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_cpu_unit_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CPUUnitTests.xml
# Disabled in Azure: https://github.com/openvinotoolkit/openvino/blob/master/.ci/azure/linux.yml#L409
# - name: GNA plugin unit tests
# run: |
# source ${{ env.INSTALL_DIR }}/setupvars.sh
# ${{ env.INSTALL_TEST_DIR }}/ov_gna_unit_tests --gtest_print_time=1 \
# --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-GNAUnitTests.xml
- name: AUTO UT
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_auto_unit_tests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_unit_tests.xml
- name: Template plugin tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_template_func_tests --gtest_print_time=1 \
--gtest_filter=*smoke* \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TemplateFuncTests.xml
- name: Inference Engine C API tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/InferenceEngineCAPITests --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceEngineCAPITests.xml
- name: OpenVINO C API tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_capi_test --gtest_print_time=1 \
--gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OpenVINOCAPITests.xml
- name: AutoBatch FuncTests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_func_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_func_tests.xml
- name: Proxy Plugin Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVProxyTests.xml
- name: Hetero Func Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroFuncTests.xml
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: test-results-cpp
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'error'
Python_Unit_Tests:
needs: Build
defaults:
run:
shell: bash
runs-on: ubuntu-22.04
env:
OPENVINO_REPO: ${{ github.workspace }}/openvino
OPENVINO_CONTRIB_REPO: ${{ github.workspace }}/openvino_contrib
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
SAMPLES_INSTALL_DIR: ${{ github.workspace }}/install/samples
LAYER_TESTS_INSTALL_DIR: ${{ github.workspace }}/install/tests/layer_tests
BUILD_DIR: ${{ github.workspace }}/build
DATA_PATH: ${{ github.workspace }}/testdata
MODELS_PATH: ${{ github.workspace }}/testdata
OV_TEMP: ${{ github.workspace }}/openvino_temp
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
steps:
- name: Create Directories
run: |
mkdir -p ${{ env.INSTALL_DIR }} ${{ env.INSTALL_TEST_DIR }}
- name: Clone OpenVINO
uses: actions/checkout@v3
with:
path: 'openvino'
submodules: 'recursive'
#
# Dependencies
#
- name: Install dependencies
run: |
sudo -E apt update
sudo -E apt --assume-yes install openjdk-11-jdk libbz2-dev clang unzip libpugixml-dev libtbb-dev intel-opencl-icd ocl-icd-opencl-dev opencl-headers
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install python dependencies
run: |
# For Python API
python3 -m pip install --upgrade pip
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements.txt
# For running Python API tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running ONNX frontend unit tests
python3 -m pip install --force-reinstall -r ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/requirements.txt
# For running TensorFlow frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/tensorflow/tests/requirements.txt
# For running Paddle frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
- name: Install MO dependencies
run: |
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
- name: Download OpenVINO package
uses: actions/download-artifact@v3
with:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
name: openvino_tests
path: ${{ env.INSTALL_TEST_DIR }}
- name: Extract OpenVINO packages
run: |
pushd ${{ env.INSTALL_DIR }}
tar -xzf openvino_package.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_package.tar.gz || exit 1
popd
pushd ${{ env.INSTALL_TEST_DIR }}
tar -xzf openvino_tests.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_tests.tar.gz || exit 1
popd
- name: Install Python wheels
run: |
python3 -m pip install openvino-dev --find-links=${{ env.INSTALL_DIR }}/tools
- name: nGraph and IE Python Bindings Tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/pyngraph ${{ env.PYTHON_STATIC_ARGS }} \
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml \
--ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests/test_onnx/test_zoo_models.py \
--ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests/test_onnx/test_backend.py
- name: Python API 2.0 Tests
run: |
# For python imports to import pybind_mock_frontend
export PYTHONPATH=${{ env.INSTALL_TEST_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/pyopenvino ${{ env.PYTHON_STATIC_ARGS }} \
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml \
--ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_utils/test_utils.py \
--ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_onnx/test_zoo_models.py \
--ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_onnx/test_backend.py
- name: Model Optimizer UT
run: |
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:${{ env.INSTALL_TEST_DIR }}:${{ env.INSTALL_DIR }}/python/python3.11:$PYTHONPATH
# TODO: figure out why they need to be reinstalled
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/mo/unit_tests \
--junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-ModelOptimizer.xml
- name: PyTorch Layer Tests
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/pytorch_tests -m precommit --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-pytorch.xml
env:
TEST_DEVICE: CPU
- name: TensorFlow 1 Layer Tests - TF FE
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_fe.xml
env:
TEST_DEVICE: CPU
- name: TensorFlow 2 Layer Tests - TF FE
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_fe.xml
env:
TEST_DEVICE: CPU
- name: TensorFlow 1 Layer Tests - Legacy FE
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_Roll.xml
- name: TensorFlow 2 Layer Tests - Legacy FE
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/test_tf2_keras_activation.py \
--ir_version=11 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_Activation.xml -k "sigmoid"
env:
TEST_DEVICE: CPU
- name: TensorFlow Lite Layer Tests - TFL FE
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_lite_tests/ --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tfl_fe.xml
env:
TEST_DEVICE: CPU
- name: MO Python API Tests
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/mo_python_api_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_mo_convert.xml
env:
TEST_DEVICE: CPU
- name: Python Frontend tests
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
export PYTHONPATH=${{ env.OPENVINO_REPO }}/tools/mo/:${{ env.LAYER_TESTS_INSTALL_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/py_frontend_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_py_fontend.xml
- name: Conversion UT
run: |
# For python imports to import pybind_mock_frontend
export PYTHONPATH=${{ env.INSTALL_TEST_DIR }}:$PYTHONPATH
source ${{ env.INSTALL_DIR }}/setupvars.sh
python3 -m pytest -s ${{ env.OPENVINO_REPO }}/tools/ovc/unit_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-OpenVinoConversion.xml
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: test-results-python
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'error'
CPU_Functional_Tests:
needs: Build
defaults:
run:
shell: bash
runs-on: ubuntu-22.04
env:
INSTALL_DIR: ${{ github.workspace }}/install
INSTALL_TEST_DIR: ${{ github.workspace }}/install/tests
steps:
- name: Create Directories
run: mkdir -p ${{ env.INSTALL_DIR }} ${{ env.INSTALL_TEST_DIR }}
- name: Install dependencies
run: |
sudo -E apt update
sudo -E apt --assume-yes install openjdk-11-jdk libbz2-dev clang unzip libpugixml-dev libtbb-dev intel-opencl-icd ocl-icd-opencl-dev opencl-headers
- name: Download OpenVINO package
uses: actions/download-artifact@v3
with:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
name: openvino_tests
path: ${{ env.INSTALL_TEST_DIR }}
- name: Extract OpenVINO packages
run: |
pushd ${{ env.INSTALL_DIR }}
tar -xzf openvino_package.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_package.tar.gz || exit 1
popd
pushd ${{ env.INSTALL_TEST_DIR }}
tar -xzf openvino_tests.tar.gz -C ${{ env.INSTALL_DIR }} && rm openvino_tests.tar.gz || exit 1
popd
- name: Intel CPU plugin func tests
run: |
source ${{ env.INSTALL_DIR }}/setupvars.sh
${{ env.INSTALL_TEST_DIR }}/ov_cpu_func_tests --gtest_print_time=1 --gtest_filter=*smoke* --gtest_output=xml:"${{ env.INSTALL_TEST_DIR }}/TEST-CPUFuncTests.xml"
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: test-results-functional-cpu
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'error'

View File

@@ -52,6 +52,10 @@ jobs:
pip install -r requirements_dev.txt
working-directory: tools/mo
- name: Pylint
- name: Pylint-MO
run: pylint -d C,R,W openvino/tools/mo
working-directory: tools/mo
- name: Pylint-OVC
run: pylint -d C,R,W openvino/tools/ovc
working-directory: tools/ovc

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'

710
.github/workflows/windows.yml vendored Normal file
View File

@@ -0,0 +1,710 @@
name: Tests on Windows (VS 2022, Python 3.11)
on:
workflow_dispatch:
# pull_request:
# paths-ignore:
# - '**/docs/**'
# - 'docs/**'
# - '**/**.md'
# - '**.md'
# - '**/layer_tests_summary/**'
# - '**/conformance/**'
# push:
# paths-ignore:
# - '**/docs/**'
# - 'docs/**'
# - '**/**.md'
# - '**.md'
# - '**/layer_tests_summary/**'
# - '**/conformance/**'
# branches:
# - master
concurrency:
group: ${{ github.head_ref || github.run_id }}-windows
cancel-in-progress: true
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja'
CMAKE_CXX_COMPILER_LAUNCHER: sccache
CMAKE_C_COMPILER_LAUNCHER: sccache
OPENVINO_REPO: "${{ github.workspace }}\\openvino"
OPENVINO_CONTRIB_REPO: "${{ github.workspace }}\\openvino_contrib"
INSTALL_DIR: "${{ github.workspace }}\\install"
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
SAMPLES_INSTALL_DIR: "${{ github.workspace }}\\install\\samples"
LAYER_TESTS_INSTALL_DIR: "${{ github.workspace }}\\install\\tests\\layer_tests"
BUILD_DIR: "${{ github.workspace }}\\build"
DATA_PATH: "${{ github.workspace }}\\testdata"
MODELS_PATH: "${{ github.workspace }}\\testdata"
OV_TEMP: "${{ github.workspace }}\\openvino_temp"
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
VCVARSPATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsall.bat"
jobs:
Build:
defaults:
run:
shell: pwsh
runs-on: windows-latest-8-cores
steps:
- name: Clone OpenVINO
uses: actions/checkout@v3
with:
path: 'openvino'
submodules: 'recursive'
- name: Clone OpenVINO Contrib
uses: actions/checkout@v3
with:
repository: 'openvinotoolkit/openvino_contrib'
path: 'openvino_contrib'
submodules: 'recursive'
- name: Clone testdata for C API tests
uses: actions/checkout@v3
with:
repository: 'openvinotoolkit/testdata'
path: 'testdata'
submodules: 'recursive'
lfs: 'true'
#
# Dependencies
#
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install python dependencies
run: |
# For Python API
python3 -m pip install Scons
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements_test.txt
# For running Python API tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running ONNX frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/requirements.txt
# For running TensorFlow frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/tensorflow/tests/requirements.txt
# For running Paddle frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
- name: Install MO dependencies
run: |
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
- name: Install build dependencies
run: |
choco install --no-progress ninja
choco install --no-progress shellcheck
- name: Get tools versions
run: |
python3 --version
cmake --version
#
# Build
#
- name: Get number of CPU cores
uses: SimenB/github-actions-cpu-cores@v1
id: cpu-cores
- uses: ilammy/msvc-dev-cmd@v1
- name: Setup sccache
uses: hendrikmuhs/ccache-action@v1.2
with:
variant: sccache
max-size: "2000M"
# Should save cache only if run in the master branch of the base repo
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
save: ${{ github.ref_name == 'master' && 'true' || 'false' }}
key: ${{ github.job }}-windows
restore-keys: |
${{ github.job }}-windows
- name: CMake configure
run: |
& {{ env.VCVARSPATH }} x64 && cmake -G "Ninja Multi-Config" `
-DENABLE_CPPLINT=OFF `
-DENABLE_ONEDNN_FOR_GPU=OFF `
-DBUILD_SHARED_LIBS=OFF `
-DENABLE_TESTS=ON `
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF `
-DENABLE_STRICT_DEPENDENCIES=OFF `
-DENABLE_PYTHON=ON `
-DBUILD_nvidia_plugin=OFF `
-DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON `
-DCUSTOM_OPERATIONS="calculate_grid;complex_mul;fft;grid_sample;sparse_conv;sparse_conv_transpose" `
-DOPENVINO_EXTRA_MODULES=${{ env.OPENVINO_CONTRIB_REPO }}\modules `
-DCMAKE_BUILD_TYPE=Release `
-S ${{ env.OPENVINO_REPO }} `
-B ${{ env.BUILD_DIR }}
- name: Build
run: |
& {{ env.VCVARSPATH }} x64 && cmake --build ${{ env.BUILD_DIR }} --parallel ${{ steps.cpu-cores.outputs.count }} --config Release
- name: Install
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/cmake_install.cmake
- name: Install Wheels
run: python3 -m pip install openvino-dev --find-links=${{ env.INSTALL_DIR }}\tools
- name: CMake Samples Tests
run: |
& {{ env.VCVARSPATH }} x64 && cmake -S ${{ env.OPENVINO_REPO }}/tests/samples_tests -B ${{ env.BUILD_DIR }}/samples_tests
- name: Install Samples Tests
run: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/samples_tests/cmake_install.cmake
- name: Install Tests
run: cmake -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCOMPONENT=tests -P ${{ env.BUILD_DIR }}\cmake_install.cmake
- name: Cmake Layer Tests
run: |
& {{ env.VCVARSPATH }} x64 && cmake -S ${{ env.OPENVINO_REPO }}/tests/layer_tests -B ${{ env.BUILD_DIR }}/layer_tests
- name: Build Layer Tests
run: cmake --build ${{ env.BUILD_DIR }}/layer_tests --parallel --config Release
- name: Install Layer Tests
run: cmake -DCOMPONENT=tests -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -P ${{ env.BUILD_DIR }}/layer_tests/cmake_install.cmake
- name: Pack Artifacts
run: |
$file=Get-ChildItem -Path "${{ env.INSTALL_DIR }}" -Exclude "tests"
$compress = @{
Path = $file
CompressionLevel = "Optimal"
DestinationPath = "${{ env.BUILD_DIR }}/openvino_package.zip"
}
Compress-Archive @compress
$file=Get-ChildItem -Path "${{ env.INSTALL_DIR }}\tests"
$compress = @{
Path = $file
CompressionLevel = "Optimal"
DestinationPath = "${{ env.BUILD_DIR }}/openvino_tests.zip"
}
Compress-Archive @compress
- name: Build cpp samples
run: |
& {{ env.VCVARSPATH }} x64
& ${{ env.SAMPLES_INSTALL_DIR }}/cpp/build_samples_msvc.bat -i ${{ env.INSTALL_DIR }}
- name: Build c samples
run: |
& {{ env.VCVARSPATH }} x64
& ${{ env.SAMPLES_INSTALL_DIR }}/c/build_samples_msvc.bat -i ${{ env.INSTALL_DIR }}
- name: Samples tests
shell: cmd
run: |
python3 -m pip install --ignore-installed PyYAML -r ${{ env.INSTALL_TEST_DIR }}/smoke_tests/requirements.txt
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/smoke_tests --env_conf ${{ env.INSTALL_TEST_DIR }}/smoke_tests/env_config.yml --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-SamplesSmokeTests.xml
env:
IE_APP_PATH: ${{ env.INSTALL_DIR }}/samples_bin
IE_APP_PYTHON_PATH: ${{ env.INSTALL_DIR }}/samples/python
SHARE: ${{ env.INSTALL_TEST_DIR }}/smoke_tests/samples_smoke_tests_data
WORKSPACE: ${{ env.INSTALL_DIR }}
# Present in the "Build" job due to the fact that these tests require build directory
- name: ONNX frontend tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml
- name: List installed files
if: ${{ always() }}
run: |
Get-ChildItem -Recurse -Directory ${{ env.INSTALL_DIR }}
- name: Upload openvino package
uses: actions/upload-artifact@v3
with:
name: openvino_package
path: ${{ env.BUILD_DIR }}/openvino_package.zip
if-no-files-found: 'error'
- name: Upload openvino tests package
uses: actions/upload-artifact@v3
with:
name: openvino_tests
path: ${{ env.BUILD_DIR }}/openvino_tests.zip
if-no-files-found: 'error'
Python_Unit_Tests:
needs: Build
defaults:
run:
shell: pwsh
runs-on: windows-latest
env:
OPENVINO_REPO: "${{ github.workspace }}\\openvino"
OPENVINO_CONTRIB_REPO: "${{ github.workspace }}\\openvino_contrib"
INSTALL_DIR: "${{ github.workspace }}\\install"
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
SAMPLES_INSTALL_DIR: "${{ github.workspace }}\\install\\samples"
LAYER_TESTS_INSTALL_DIR: "${{ github.workspace }}\\install\\tests\\layer_tests"
BUILD_DIR: "${{ github.workspace }}\\build"
DATA_PATH: "${{ github.workspace }}\\testdata"
MODELS_PATH: "${{ github.workspace }}\\testdata"
PYTHON_STATIC_ARGS: -m "not dynamic_library and not template_plugin"
steps:
- name: Create Directories
run: |
mkdir ${{ env.INSTALL_DIR }}
mkdir ${{ env.INSTALL_TEST_DIR }}
- name: Download OpenVINO package
uses: actions/download-artifact@v3
with:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
name: openvino_tests
path: ${{ env.INSTALL_TEST_DIR }}
- name: Extract OpenVINO packages
run: |
pushd ${{ env.INSTALL_DIR }}
Expand-Archive openvino_package.zip -DestinationPath "${{ env.INSTALL_DIR }}"
popd
pushd ${{ env.INSTALL_TEST_DIR }}
Expand-Archive openvino_tests.zip -DestinationPath "${{ env.INSTALL_TEST_DIR }}"
popd
- name: Check extraction
run: |
ls "${{ github.workspace }}"
ls "${{ env.INSTALL_DIR }}"
ls "${{ env.INSTALL_TEST_DIR }}"
- name: Clone OpenVINO
uses: actions/checkout@v3
with:
path: 'openvino'
submodules: 'recursive'
- name: Clone OpenVINO Contrib
uses: actions/checkout@v3
with:
repository: 'openvinotoolkit/openvino_contrib'
path: 'openvino_contrib'
submodules: 'recursive'
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install python dependencies
run: |
# For Python API
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/wheel/requirements-dev.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/requirements.txt
# For running Python API tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/bindings/python/src/compatibility/openvino/requirements-dev.txt
# For running ONNX frontend unit tests
python3 -m pip install --force-reinstall -r ${{ env.OPENVINO_REPO }}/src/frontends/onnx/tests/requirements.txt
# For running TensorFlow frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/tensorflow/tests/requirements.txt
# For running Paddle frontend unit tests
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/src/frontends/paddle/tests/requirements.txt
- name: Install MO dependencies
run: |
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt `
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
- name: Install Python wheels
run: |
python3 -m pip install openvino-dev --force-reinstall --find-links=${{ env.INSTALL_DIR }}\tools
- name: nGraph and IE Python Bindings Tests
shell: cmd
run: |
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/pyngraph ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests/test_onnx/test_zoo_models.py --ignore=${{ env.INSTALL_TEST_DIR }}/pyngraph/tests/test_onnx/test_backend.py
- name: Python API 2.0 Tests
shell: cmd
run: |
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -sv ${{ env.INSTALL_TEST_DIR }}/pyopenvino ${{ env.PYTHON_STATIC_ARGS }} --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-Pyngraph.xml --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_utils/test_utils.py --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_onnx/test_zoo_models.py --ignore=${{ env.INSTALL_TEST_DIR }}/pyopenvino/tests/test_onnx/test_backend.py
- name: Model Optimizer UT
shell: cmd
run: |
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};${{ env.INSTALL_TEST_DIR }};${{ env.INSTALL_DIR }}\python\python3.11;%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest -s ${{ env.INSTALL_TEST_DIR }}/mo/unit_tests --ignore=${{ env.INSTALL_TEST_DIR }}/mo/unit_tests/mo/front/mxnet --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-ModelOptimizer.xml
# Ticket - 115085
# - name: PyTorch Layer Tests
# shell: cmd
# run: |
#
# python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt ^
# -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt ^
# -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt ^
# -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt ^
# -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt ^
# -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
#
# python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
#
# set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
#
# call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/pytorch_tests -m precommit --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-pytorch.xml
# env:
# TEST_DEVICE: CPU
- name: TensorFlow 1 Layer Tests - TF FE
if: ${{ always() }}
shell: cmd
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_fe.xml
env:
TEST_DEVICE: CPU
- name: TensorFlow 2 Layer Tests - TF FE
if: ${{ always() }}
shell: cmd
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/ --use_new_frontend -m precommit_tf_fe --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_fe.xml
env:
TEST_DEVICE: CPU
- name: TensorFlow 1 Layer Tests - Legacy FE
if: ${{ always() }}
shell: cmd
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_tests/test_tf_Roll.py --ir_version=10 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf_Roll.xml
- name: TensorFlow 2 Layer Tests - Legacy FE
if: ${{ always() }}
shell: cmd
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow2_keras_tests/test_tf2_keras_activation.py --ir_version=11 --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tf2_Activation.xml -k "sigmoid"
env:
TEST_DEVICE: CPU
- name: TensorFlow Lite Layer Tests - TFL FE
if: ${{ always() }}
shell: cmd
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
python3 -m pip install -r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_mxnet.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_caffe.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_kaldi.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_onnx.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_tf2.txt ^
-r ${{ env.OPENVINO_REPO }}/tools/mo/requirements_dev.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/tensorflow_lite_tests/ --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-tfl_fe.xml
env:
TEST_DEVICE: CPU
- name: MO Python API Tests
if: ${{ always() }}
shell: cmd
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/mo_python_api_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_mo_convert.xml
env:
TEST_DEVICE: CPU
- name: Python Frontend tests
if: ${{ always() }}
shell: cmd
run: |
python3 -m pip install -r ${{ env.LAYER_TESTS_INSTALL_DIR }}/requirements.txt
set PYTHONPATH=${{ env.OPENVINO_REPO }}\tools\mo;${{ env.LAYER_TESTS_INSTALL_DIR }};%PYTHONPATH%
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && python3 -m pytest ${{ env.LAYER_TESTS_INSTALL_DIR }}/py_frontend_tests --junitxml=${{ env.INSTALL_TEST_DIR }}/TEST-test_py_fontend.xml
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: test-results-python
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'error'
CXX_Unit_Tests:
needs: Build
defaults:
run:
shell: pwsh
runs-on: windows-latest
env:
INSTALL_DIR: "${{ github.workspace }}\\install"
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
steps:
- name: Create Directories
run: |
mkdir ${{ env.INSTALL_DIR }}
mkdir ${{ env.INSTALL_TEST_DIR }}
- name: Download OpenVINO package
uses: actions/download-artifact@v3
with:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
name: openvino_tests
path: ${{ env.INSTALL_TEST_DIR }}
- name: Extract OpenVINO packages
run: |
pushd ${{ env.INSTALL_DIR }}
Expand-Archive openvino_package.zip -DestinationPath "${{ env.INSTALL_DIR }}"
popd
pushd ${{ env.INSTALL_TEST_DIR }}
Expand-Archive openvino_tests.zip -DestinationPath "${{ env.INSTALL_TEST_DIR }}"
popd
- name: Check extraction
run: |
ls "${{ github.workspace }}"
ls "${{ env.INSTALL_DIR }}"
ls "${{ env.INSTALL_TEST_DIR }}"
- name: OpenVINO Core unit tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_core_unit_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-NGraphUT.xml
- name: OpenVINO Inference functional tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_inference_functional_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceFunc.xml
- name: OpenVINO Inference unit tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_inference_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceUnit.xml
- name: Low Precision Transformations Tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_lp_transformations_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-LpTransformations.xml
- name: OpenVINO Conditional compilation tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_conditional_compilation_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ConditionalCompilation.xml
- name: IR frontend tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_ir_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-IRFrontend.xml
# - name: PaddlePaddle frontend tests # Disabled in Azure: https://github.com/openvinotoolkit/openvino/blob/master/.ci/azure/linux.yml#L403
# shell: cmd
# run: |
# call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/paddle_tests --gtest_print_time=1 --gtest_filter=*smoke* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-PaddleTests.xml
# - name: ONNX frontend tests # Present in the "Build" job due to the fact that these tests require build directory
# shell: cmd
# run: |
# call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_onnx_frontend_tests --gtest_print_time=1 --gtest_filter=-*IE_GPU* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ONNXFrontend.xml
- name: TensorFlow Common tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_common_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowCommonFrontend.xml
- name: TensorFlow frontend tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowFrontend.xml
- name: TensorFlow Lite frontend tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_tensorflow_lite_frontend_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TensorFlowLiteFrontend.xml
- name: Transformations Tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_transformations_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-Transformations.xml
- name: Common test utils tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_util_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-commonUtilsTests.xml
- name: CPU plugin unit tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_cpu_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CPUUnitTests.xml
# - name: GNA plugin unit tests # Disabled in Azure: https://github.com/openvinotoolkit/openvino/blob/master/.ci/azure/linux.yml#L434
# shell: cmd
# run: |
# call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_gna_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-GNAUnitTests.xml
- name: AUTO UT
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_auto_unit_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_unit_tests.xml
- name: Template plugin tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_template_func_tests --gtest_print_time=1 --gtest_filter=*smoke* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-TemplateFuncTests.xml
- name: Inference Engine C API tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/InferenceEngineCAPITests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-InferenceEngineCAPITests.xml
- name: OpenVINO C API tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_capi_test --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OpenVINOCAPITests.xml
- name: AutoBatch FuncTests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_auto_batch_func_tests --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-ov_auto_batch_func_tests.xml
- name: Proxy Plugin Tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_proxy_plugin_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVProxyTests.xml
- name: Hetero Func Tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_hetero_func_tests --gtest_print_time=1 --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-OVHeteroFuncTests.xml
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: test-results-cpp
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'error'
CPU_Functional_Tests:
needs: Build
defaults:
run:
shell: pwsh
runs-on: windows-latest
env:
INSTALL_DIR: "${{ github.workspace }}\\install"
INSTALL_TEST_DIR: "${{ github.workspace }}\\install\\tests"
steps:
- name: Create Directories
run: |
mkdir ${{ env.INSTALL_DIR }}
mkdir ${{ env.INSTALL_TEST_DIR }}
- name: Download OpenVINO package
uses: actions/download-artifact@v3
with:
name: openvino_package
path: ${{ env.INSTALL_DIR }}
- name: Download OpenVINO tests package
uses: actions/download-artifact@v3
with:
name: openvino_tests
path: ${{ env.INSTALL_TEST_DIR }}
- name: Extract OpenVINO packages
run: |
pushd ${{ env.INSTALL_DIR }}
Expand-Archive openvino_package.zip -DestinationPath "${{ env.INSTALL_DIR }}"
popd
pushd ${{ env.INSTALL_TEST_DIR }}
Expand-Archive openvino_tests.zip -DestinationPath "${{ env.INSTALL_TEST_DIR }}"
popd
- name: Check extraction
run: |
ls "${{ github.workspace }}"
ls "${{ env.INSTALL_DIR }}"
ls "${{ env.INSTALL_TEST_DIR }}"
- name: Intel CPU plugin func tests
shell: cmd
run: |
call "${{ env.INSTALL_DIR }}\\setupvars.bat" && ${{ env.INSTALL_TEST_DIR }}/ov_cpu_func_tests --gtest_print_time=1 --gtest_filter=*smoke* --gtest_output=xml:${{ env.INSTALL_TEST_DIR }}/TEST-CPUFuncTests.xml
- name: Upload Test Results
uses: actions/upload-artifact@v3
if: ${{ always() }}
with:
name: test-results-functional-cpu
path: ${{ env.INSTALL_TEST_DIR }}/TEST*.xml
if-no-files-found: 'error'

2
.gitignore vendored
View File

@@ -13,6 +13,7 @@ cmake-build*
*.idea
.vscode
.vs/
.vsconan/
.DS_Store
**/tags
compile_commands.json
@@ -26,6 +27,7 @@ temp/
.repo/
CMakeLists.txt.user
docs/IE_PLUGIN_DG/html/
CMakeUserPresets.json
*.project
*.cproject

3
.gitmodules vendored
View File

@@ -72,3 +72,6 @@
[submodule "ARMComputeLibrary"]
path = src/plugins/intel_cpu/thirdparty/ComputeLibrary
url = https://github.com/ARM-software/ComputeLibrary.git
[submodule "src/plugins/intel_cpu/thirdparty/mlas"]
path = src/plugins/intel_cpu/thirdparty/mlas
url = https://github.com/openvinotoolkit/mlas.git

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
@@ -40,8 +41,6 @@ endif()
# resolving dependencies for the project
message (STATUS "CMAKE_VERSION ......................... " ${CMAKE_VERSION})
message (STATUS "CMAKE_BINARY_DIR ...................... " ${CMAKE_BINARY_DIR})
message (STATUS "CMAKE_SOURCE_DIR ...................... " ${CMAKE_SOURCE_DIR})
message (STATUS "OpenVINO_SOURCE_DIR ................... " ${OpenVINO_SOURCE_DIR})
message (STATUS "OpenVINO_BINARY_DIR ................... " ${OpenVINO_BINARY_DIR})
message (STATUS "CMAKE_GENERATOR ....................... " ${CMAKE_GENERATOR})
@@ -66,20 +65,26 @@ endif()
if(CMAKE_TOOLCHAIN_FILE)
message (STATUS "CMAKE_TOOLCHAIN_FILE .................. " ${CMAKE_TOOLCHAIN_FILE})
endif()
if(OV_GLIBC_VERSION)
if(NOT OV_GLIBC_VERSION VERSION_EQUAL 0.0)
message (STATUS "GLIBC_VERSION ......................... " ${OV_GLIBC_VERSION})
endif()
# remove file with exported developer targets to force its regeneration
# remove file with exported targets to force its regeneration
file(REMOVE "${CMAKE_BINARY_DIR}/ngraphTargets.cmake")
file(REMOVE "${CMAKE_BINARY_DIR}/InferenceEngineTargets.cmake")
file(REMOVE "${CMAKE_BINARY_DIR}/OpenVINOTargets.cmake")
foreach(component IN LISTS openvino_export_components)
file(REMOVE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake")
file(REMOVE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake")
unset(${component} CACHE)
endforeach()
unset(openvino_export_components CACHE)
# remove exported developer targets to force its regeneration
macro(ov_clean_dev_targets)
foreach(component IN LISTS openvino_export_components)
file(REMOVE "${CMAKE_BINARY_DIR}/${component}_dev_targets.cmake")
file(REMOVE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake")
unset(${component} CACHE)
endforeach()
unset(openvino_export_components CACHE)
unset(openvino_installed_targets CACHE)
endmacro()
ov_clean_dev_targets()
#
# Build
@@ -122,10 +127,10 @@ 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)
if(ENABLE_SAMPLES OR ENABLE_TESTS)
add_subdirectory(samples)
endif()

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,15 +1,13 @@
<div align="center">
<img src="docs/img/openvino-logo-purple-black.png" width="400px">
[![Stable release](https://img.shields.io/badge/version-2022.3-green.svg)](https://github.com/openvinotoolkit/openvino/releases/tag/2022.3.0)
[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)
![GitHub branch checks state](https://img.shields.io/github/checks-status/openvinotoolkit/openvino/master?label=GitHub%20checks)
![Azure DevOps builds (branch)](https://img.shields.io/azure-devops/build/openvinoci/b2bab62f-ab2f-4871-a538-86ea1be7d20f/13?label=Public%20CI)
[![PyPI Status](https://badge.fury.io/py/openvino.svg)](https://badge.fury.io/py/openvino)
[![Anaconda Status](https://anaconda.org/conda-forge/openvino/badges/version.svg)](https://anaconda.org/conda-forge/openvino/badges/version.svg)
[![Anaconda Status](https://anaconda.org/conda-forge/openvino/badges/version.svg)](https://anaconda.org/conda-forge/openvino)
[![brew Status](https://img.shields.io/homebrew/v/openvino)](https://formulae.brew.sh/formula/openvino)
[![PyPI Downloads](https://pepy.tech/badge/openvino)](https://pepy.tech/project/openvino)
[![Anaconda Downloads](https://anaconda.org/conda-forge/libopenvino/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:
@@ -70,24 +68,24 @@ The OpenVINO™ Runtime can infer models on different hardware devices. This sec
<tbody>
<tr>
<td rowspan=2>CPU</td>
<td> <a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_CPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-c-p-u">Intel CPU</a></tb>
<td> <a href="https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_supported_plugins_CPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-c-p-u">Intel CPU</a></tb>
<td><b><i><a href="./src/plugins/intel_cpu">openvino_intel_cpu_plugin</a></i></b></td>
<td>Intel Xeon with Intel® Advanced Vector Extensions 2 (Intel® AVX2), Intel® Advanced Vector Extensions 512 (Intel® AVX-512), and AVX512_BF16, Intel Core Processors with Intel AVX2, Intel Atom Processors with Intel® Streaming SIMD Extensions (Intel® SSE)</td>
</tr>
<tr>
<td> <a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_ARM_CPU.html">ARM CPU</a></tb>
<td> <a href="https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_supported_plugins_CPU.html">ARM CPU</a></tb>
<td><b><i><a href="https://github.com/openvinotoolkit/openvino_contrib/tree/master/modules/arm_plugin">openvino_arm_cpu_plugin</a></i></b></td>
<td>Raspberry Pi™ 4 Model B, Apple® Mac mini with M1 chip, NVIDIA® Jetson Nano™, Android™ devices
</tr>
<tr>
<td>GPU</td>
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_GPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-p-u">Intel GPU</a></td>
<td><a href="https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_supported_plugins_GPU.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-p-u">Intel GPU</a></td>
<td><b><i><a href="./src/plugins/intel_gpu">openvino_intel_gpu_plugin</a></i></b></td>
<td>Intel Processor Graphics, including Intel HD Graphics and Intel Iris Graphics</td>
</tr>
<tr>
<td>GNA</td>
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_supported_plugins_GNA.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-n-a">Intel GNA</a></td>
<td><a href="https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_supported_plugins_GNA.html#doxid-openvino-docs-o-v-u-g-supported-plugins-g-n-a">Intel GNA</a></td>
<td><b><i><a href="./src/plugins/intel_gna">openvino_intel_gna_plugin</a></i></b></td>
<td>Intel Speech Enabling Developer Kit, Amazon Alexa* Premium Far-Field Developer Kit, Intel Pentium Silver J5005 Processor, Intel Pentium Silver N5000 Processor, Intel Celeron J4005 Processor, Intel Celeron J4105 Processor, Intel Celeron Processor N4100, Intel Celeron Processor N4000, Intel Core i3-8121U Processor, Intel Core i7-1065G7 Processor, Intel Core i7-1060G7 Processor, Intel Core i5-1035G4 Processor, Intel Core i5-1035G7 Processor, Intel Core i5-1035G1 Processor, Intel Core i5-1030G7 Processor, Intel Core i5-1030G4 Processor, Intel Core i3-1005G1 Processor, Intel Core i3-1000G1 Processor, Intel Core i3-1000G4 Processor</td>
</tr>
@@ -105,22 +103,22 @@ OpenVINO™ Toolkit also contains several plugins which simplify loading models
</thead>
<tbody>
<tr>
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_IE_DG_supported_plugins_AUTO.html#doxid-openvino-docs-i-e-d-g-supported-plugins-a-u-t-o">Auto</a></td>
<td><a href="https://docs.openvino.ai/2023.0/openvino_docs_IE_DG_supported_plugins_AUTO.html#doxid-openvino-docs-i-e-d-g-supported-plugins-a-u-t-o">Auto</a></td>
<td><b><i><a href="./src/plugins/auto">openvino_auto_plugin</a></i></b></td>
<td>Auto plugin enables selecting Intel device for inference automatically</td>
</tr>
<tr>
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_Automatic_Batching.html">Auto Batch</a></td>
<td><a href="https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_Automatic_Batching.html">Auto Batch</a></td>
<td><b><i><a href="./src/plugins/auto_batch">openvino_auto_batch_plugin</a></i></b></td>
<td>Auto batch plugin performs on-the-fly automatic batching (i.e. grouping inference requests together) to improve device utilization, with no programming effort from the user</td>
</tr>
<tr>
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_Hetero_execution.html#doxid-openvino-docs-o-v-u-g-hetero-execution">Hetero</a></td>
<td><a href="https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_Hetero_execution.html#doxid-openvino-docs-o-v-u-g-hetero-execution">Hetero</a></td>
<td><b><i><a href="./src/plugins/hetero">openvino_hetero_plugin</a></i></b></td>
<td>Heterogeneous execution enables automatic inference splitting between several devices</td>
</tr>
<tr>
<td><a href="https://docs.openvino.ai/nightly/openvino_docs_OV_UG_Running_on_multiple_devices.html#doxid-openvino-docs-o-v-u-g-running-on-multiple-devices">Multi</a></td>
<td><a href="https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_Running_on_multiple_devices.html#doxid-openvino-docs-o-v-u-g-running-on-multiple-devices">Multi</a></td>
<td><b><i><a href="./src/plugins/auto">openvino_auto_plugin</a></i></b></td>
<td>Multi plugin enables simultaneous inference of the same model on several devices in parallel</td>
</tr>
@@ -157,10 +155,10 @@ The list of OpenVINO tutorials:
## System requirements
The system requirements vary depending on platform and are available on dedicated pages:
- [Linux](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_linux_header.html)
- [Windows](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_windows_header.html)
- [macOS](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_macos_header.html)
- [Raspbian](https://docs.openvino.ai/nightly/openvino_docs_install_guides_installing_openvino_raspbian.html)
- [Linux](https://docs.openvino.ai/2023.0/openvino_docs_install_guides_installing_openvino_linux_header.html)
- [Windows](https://docs.openvino.ai/2023.0/openvino_docs_install_guides_installing_openvino_windows_header.html)
- [macOS](https://docs.openvino.ai/2023.0/openvino_docs_install_guides_installing_openvino_macos_header.html)
- [Raspbian](https://docs.openvino.ai/2023.0/openvino_docs_install_guides_installing_openvino_raspbian.html)
## How to build
@@ -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
@@ -189,7 +189,6 @@ Report questions, issues and suggestions, using:
* [Neural Network Compression Framework (NNCF)](https://github.com/openvinotoolkit/nncf) - a suite of advanced algorithms for model inference optimization including quantization, filter pruning, binarization and sparsity
* [OpenVINO™ Training Extensions (OTE)](https://github.com/openvinotoolkit/training_extensions) - convenient environment to train Deep Learning models and convert them using OpenVINO for optimized inference.
* [OpenVINO™ Model Server (OVMS)](https://github.com/openvinotoolkit/model_server) - a scalable, high-performance solution for serving deep learning models optimized for Intel architectures
* [DL Workbench](https://docs.openvino.ai/nightly/workbench_docs_Workbench_DG_Introduction.html) - an alternative, web-based version of OpenVINO designed to facilitate optimization and compression of pre-trained deep learning models.
* [Computer Vision Annotation Tool (CVAT)](https://github.com/opencv/cvat) - an online, interactive video and image annotation tool for computer vision purposes.
* [Dataset Management Framework (Datumaro)](https://github.com/openvinotoolkit/datumaro) - a framework and CLI tool to build, transform, and analyze datasets.
@@ -197,7 +196,7 @@ Report questions, issues and suggestions, using:
\* Other names and brands may be claimed as the property of others.
[Open Model Zoo]:https://github.com/openvinotoolkit/open_model_zoo
[OpenVINO™ Runtime]:https://docs.openvino.ai/nightly/openvino_docs_OV_UG_OV_Runtime_User_Guide.html
[Model Optimizer]:https://docs.openvino.ai/nightly/openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html
[Post-Training Optimization Tool]:https://docs.openvino.ai/nightly/pot_introduction.html
[OpenVINO™ Runtime]:https://docs.openvino.ai/2023.0/openvino_docs_OV_UG_OV_Runtime_User_Guide.html
[Model Optimizer]:https://docs.openvino.ai/2023.0/openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html
[Post-Training Optimization Tool]:https://docs.openvino.ai/2023.0/pot_introduction.html
[Samples]:https://github.com/openvinotoolkit/openvino/tree/master/samples

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()
@@ -98,31 +101,33 @@ function(ov_download_tbb)
# TODO: add target_path to be platform specific as well, to avoid following if
# build oneTBB 2021.2.1 with Visual Studio 2019 (MSVC 14.21)
RESOLVE_DEPENDENCY(TBB
ARCHIVE_WIN "oneapi-tbb-2021.2.1-win.zip"
ARCHIVE_WIN "oneapi-tbb-2021.2.2-win.zip"
TARGET_PATH "${TEMP}/tbb"
ENVIRONMENT "TBBROOT"
SHA256 "d81591673bd7d3d9454054642f8ef799e1fdddc7b4cee810a95e6130eb7323d4"
SHA256 "103b19a8af288c6a7d83ed3f0d2239c4afd0dd189fc12aad1d34b3c9e78df94b"
USE_NEW_LOCATION TRUE)
elseif(ANDROID AND X86_64)
RESOLVE_DEPENDENCY(TBB
ARCHIVE_ANDROID "tbb2020_20200404_android.tgz"
TARGET_PATH "${TEMP}/tbb"
ENVIRONMENT "TBBROOT"
SHA256 "f42d084224cc2d643314bd483ad180b081774608844000f132859fca3e9bf0ce")
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
ARCHIVE_LIN "oneapi-tbb-2021.2.1-lin.tgz"
ARCHIVE_LIN "oneapi-tbb-2021.2.1-lin-canary.tgz"
TARGET_PATH "${TEMP}/tbb"
ENVIRONMENT "TBBROOT"
SHA256 "0a56f73baaa40d72e06949ea6d593ae63a19f7580ce71c08287c1f59d2e5b988"
SHA256 "3a2c2ec79b3cce7e6a2484754ba6f029fa968db2eefc6659540792b7db8fea0c"
USE_NEW_LOCATION TRUE)
elseif(YOCTO_AARCH64)
RESOLVE_DEPENDENCY(TBB
ARCHIVE_LIN "keembay/tbb2020_38404_kmb_lic.tgz"
TARGET_PATH "${TEMP}/tbb_yocto"
ENVIRONMENT "TBBROOT"
SHA256 "321261ff2eda6d4568a473cb883262bce77a93dac599f7bd65d2918bdee4d75b")
SHA256 "321261ff2eda6d4568a473cb883262bce77a93dac599f7bd65d2918bdee4d75b"
USE_NEW_LOCATION TRUE)
elseif(APPLE AND X86_64)
# build oneTBB 2021.2.1 with OS version 11.4
RESOLVE_DEPENDENCY(TBB
@@ -142,10 +147,10 @@ function(ov_download_tbb)
elseif(LINUX AND AARCH64 AND OV_GLIBC_VERSION VERSION_GREATER_EQUAL 2.17)
# build oneTBB 2021.2.1 with gcc 4.8 (glibc 2.17)
RESOLVE_DEPENDENCY(TBB
ARCHIVE_LIN "oneapi-tbb-2021.2.1-lin-arm64.tgz"
ARCHIVE_LIN "oneapi-tbb-2021.2.1-lin-arm64-canary.tgz"
TARGET_PATH "${TEMP}/tbb"
ENVIRONMENT "TBBROOT"
SHA256 "6b87194a845aa9314f3785d842e250d934e545eccc4636655c7b27c98c302c0c"
SHA256 "042fdac53be65841a970b05d892f4b20b556b06fd3b20d2d0068e49c4fd74f07"
USE_NEW_LOCATION TRUE)
elseif(APPLE AND AARCH64)
# build oneTBB 2021.2.1 with export MACOSX_DEPLOYMENT_TARGET=11.0
@@ -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
@@ -111,8 +102,8 @@ else()
set(BIN_FOLDER "bin/${ARCH_FOLDER}")
endif()
if(CMAKE_GENERATOR MATCHES "^Ninja Multi-Config$")
# Ninja-Multi specific, see:
if(CMAKE_GENERATOR STREQUAL "Ninja Multi-Config")
# 'Ninja Multi-Config' specific, see:
# https://cmake.org/cmake/help/latest/variable/CMAKE_DEFAULT_BUILD_TYPE.html
set(CMAKE_DEFAULT_BUILD_TYPE "Release" CACHE STRING "CMake default build type")
elseif(NOT OV_GENERATOR_MULTI_CONFIG)
@@ -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,14 +164,12 @@ 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()
include(packaging/packaging)
set(CMAKE_SKIP_INSTALL_RPATH ON)
if(APPLE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON)
@@ -196,10 +179,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
@@ -240,24 +219,13 @@ if(ENABLE_LTO)
LANGUAGES C CXX)
if(NOT IPO_SUPPORTED)
set(ENABLE_LTO "OFF" CACHE STRING "Enable Link Time Optmization" FORCE)
set(ENABLE_LTO "OFF" CACHE STRING "Enable Link Time Optimization" FORCE)
message(WARNING "IPO / LTO is not supported: ${OUTPUT_MESSAGE}")
endif()
endif()
# General flags
macro(ov_install_static_lib target comp)
if(NOT BUILD_SHARED_LIBS)
get_target_property(target_type ${target} TYPE)
if(${target_type} STREQUAL "STATIC_LIBRARY")
set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL FALSE)
endif()
install(TARGETS ${target} EXPORT OpenVINOTargets
ARCHIVE DESTINATION ${OV_CPACK_ARCHIVEDIR} COMPONENT ${comp} ${ARGN})
endif()
endmacro()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
@@ -312,7 +280,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

@@ -4,23 +4,28 @@
if(WIN32)
set(PROGRAMFILES_ENV "ProgramFiles(X86)")
file(TO_CMAKE_PATH $ENV{${PROGRAMFILES_ENV}} PROGRAMFILES)
set(WDK_PATHS "${PROGRAMFILES}/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/x64"
"${PROGRAMFILES}/Windows Kits/10/bin/x64")
# check that PROGRAMFILES_ENV is defined, because in case of cross-compilation for Windows
# we don't have such variable
if(DEFINED ENV{PROGRAMFILES_ENV})
file(TO_CMAKE_PATH $ENV{${PROGRAMFILES_ENV}} PROGRAMFILES)
message(STATUS "Trying to find apivalidator in: ")
foreach(wdk_path IN LISTS WDK_PATHS)
message(" * ${wdk_path}")
endforeach()
set(WDK_PATHS "${PROGRAMFILES}/Windows Kits/10/bin/${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}/x64"
"${PROGRAMFILES}/Windows Kits/10/bin/x64")
find_host_program(ONECORE_API_VALIDATOR
NAMES apivalidator
PATHS ${WDK_PATHS}
DOC "ApiValidator for OneCore compliance")
message(STATUS "Trying to find apivalidator in: ")
foreach(wdk_path IN LISTS WDK_PATHS)
message(" * ${wdk_path}")
endforeach()
if(ONECORE_API_VALIDATOR)
message(STATUS "Found apivalidator: ${ONECORE_API_VALIDATOR}")
find_host_program(ONECORE_API_VALIDATOR
NAMES apivalidator
PATHS ${WDK_PATHS}
DOC "ApiValidator for OneCore compliance")
if(ONECORE_API_VALIDATOR)
message(STATUS "Found apivalidator: ${ONECORE_API_VALIDATOR}")
endif()
endif()
endif()

View File

@@ -4,8 +4,13 @@
macro(enable_fuzzing)
# Enable (libFuzzer)[https://llvm.org/docs/LibFuzzer.html] if supported.
set(FUZZING_COMPILER_FLAGS "-fsanitize=fuzzer-no-link -fprofile-instr-generate -fcoverage-mapping")
set(FUZZING_LINKER_FLAGS "-fsanitize-coverage=trace-pc-guard -fprofile-instr-generate")
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# see https://learn.microsoft.com/en-us/cpp/build/reference/fsanitize?view=msvc-160#remarks
set(FUZZING_COMPILER_FLAGS "/fsanitize=fuzzer")
elseif(OV_COMPILER_IS_CLANG)
set(FUZZING_COMPILER_FLAGS "-fsanitize=fuzzer-no-link -fprofile-instr-generate -fcoverage-mapping")
set(FUZZING_LINKER_FLAGS "-fsanitize-coverage=trace-pc-guard -fprofile-instr-generate")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FUZZING_COMPILER_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FUZZING_COMPILER_FLAGS}")
@@ -20,6 +25,10 @@ function(add_fuzzer FUZZER_EXE_NAME FUZZER_SOURCES)
add_executable(${FUZZER_EXE_NAME} ${FUZZER_SOURCES})
target_link_libraries(${FUZZER_EXE_NAME} PRIVATE fuzz-testhelper)
if(ENABLE_FUZZING)
set_target_properties(${FUZZER_EXE_NAME} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer")
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# no extra flags are required
elseif(OV_COMPILER_IS_CLANG)
set_target_properties(${FUZZER_EXE_NAME} PROPERTIES LINK_FLAGS "-fsanitize=fuzzer")
endif()
endif()
endfunction(add_fuzzer)

View File

@@ -12,23 +12,17 @@ include(CheckCXXCompilerFlag)
# Defines ie_c_cxx_deprecated varaible which contains C / C++ compiler flags
#
macro(ov_disable_deprecated_warnings)
if(WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(ie_c_cxx_deprecated "/wd4996")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
set(ie_c_cxx_deprecated "/Qdiag-disable:1478,1786")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(ie_c_cxx_deprecated "/wd4996")
elseif(OV_COMPILER_IS_CLANG)
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
else()
set(ie_c_cxx_deprecated "-diag-disable=1478,1786")
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
endif()
endif()
if(NOT ie_c_cxx_deprecated)
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(ie_c_cxx_deprecated "-Wno-deprecated-declarations")
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
@@ -49,24 +43,20 @@ endmacro()
# Defines ie_c_cxx_deprecated_no_errors varaible which contains C / C++ compiler flags
#
macro(ov_deprecated_no_errors)
if(WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# show 4996 only for /w4
set(ie_c_cxx_deprecated_no_errors "/wd4996")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
set(ie_c_cxx_deprecated_no_errors "/Qdiag-warning:1478,1786")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# show 4996 only for /w4
set(ie_c_cxx_deprecated_no_errors "/wd4996")
elseif(OV_COMPILER_IS_CLANG)
set(ie_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
else()
set(ie_c_cxx_deprecated_no_errors "-diag-warning=1478,1786")
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(ie_c_cxx_deprecated_no_errors "-Wno-error=deprecated-declarations")
endif()
endif()
if(NOT ie_c_cxx_deprecated_no_errors)
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()
@@ -85,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()
@@ -101,23 +91,21 @@ endmacro()
# Provides SSE4.2 compilation flags depending on an OS and a compiler
#
macro(ie_sse42_optimization_flags flags)
if(WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# No such option for MSVC 2019
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# No such option for MSVC 2019
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
set(${flags} /QxSSE4.2)
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
set(${flags} -xSSE4.2)
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(${flags} -msse4.2)
if(EMSCRIPTEN)
list(APPEND ${flags} -msimd128)
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(${flags} -xSSE4.2)
else()
set(${flags} -msse4.2)
if(EMSCRIPTEN)
list(APPEND ${flags} -msimd128)
endif()
endif()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endmacro()
@@ -127,20 +115,18 @@ endmacro()
# Provides AVX2 compilation flags depending on an OS and a compiler
#
macro(ie_avx2_optimization_flags flags)
if(WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(${flags} /arch:AVX2)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
set(${flags} /QxCORE-AVX2)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(${flags} /arch:AVX2)
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(${flags} -xCORE-AVX2)
else()
set(${flags} -mavx2 -mfma)
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(${flags} -mavx2 -mfma)
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endmacro()
@@ -151,24 +137,18 @@ endmacro()
# depending on an OS and a compiler
#
macro(ie_avx512_optimization_flags flags)
if(WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(${flags} /arch:AVX512)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(WIN32)
set(${flags} /QxCOMMON-AVX512)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(${flags} /arch:AVX512)
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(${flags} -xCOMMON-AVX512)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(${flags} -mavx512f -mfma)
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "^(Clang|AppleClang)$")
set(${flags} -mavx512f -mfma)
endif()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
set(${flags} -mavx512f -mfma)
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endmacro()
@@ -265,12 +245,28 @@ endfunction()
function(ov_force_include target scope header_file)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_compile_options(${target} ${scope} /FI"${header_file}")
else()
elseif(OV_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCXX)
target_compile_options(${target} ${scope} -include "${header_file}")
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
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>)
#
# Set options to use only Python Limited API
@@ -318,11 +314,23 @@ set(CMAKE_VISIBILITY_INLINES_HIDDEN ON)
if(CMAKE_CL_64)
# Default char Type Is unsigned
# ie_add_compiler_flags(/J)
else()
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
ie_add_compiler_flags(-fsigned-char)
endif()
if(WIN32)
file(RELATIVE_PATH OV_RELATIVE_BIN_PATH ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
if(${CMAKE_VERSION} VERSION_LESS "3.20")
file(TO_NATIVE_PATH ${OpenVINO_SOURCE_DIR} OV_NATIVE_PROJECT_ROOT_DIR)
file(TO_NATIVE_PATH ${OV_RELATIVE_BIN_PATH} NATIVE_OV_RELATIVE_BIN_PATH)
else()
cmake_path(NATIVE_PATH OpenVINO_SOURCE_DIR OV_NATIVE_PROJECT_ROOT_DIR)
cmake_path(NATIVE_PATH OV_RELATIVE_BIN_PATH NATIVE_OV_RELATIVE_BIN_PATH)
endif()
file(RELATIVE_PATH OV_NATIVE_PARENT_PROJECT_ROOT_DIR "${OpenVINO_SOURCE_DIR}/.." ${OpenVINO_SOURCE_DIR})
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
#
# Common options / warnings enabled
#
@@ -335,16 +343,14 @@ if(WIN32)
# This option helps ensure the fewest possible hard-to-find code defects. Similar to -Wall on GNU / Clang
ie_add_compiler_flags(/W3)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# Increase Number of Sections in .Obj file
ie_add_compiler_flags(/bigobj)
# Build with multiple processes
ie_add_compiler_flags(/MP)
# Increase Number of Sections in .Obj file
ie_add_compiler_flags(/bigobj)
# Build with multiple processes
ie_add_compiler_flags(/MP)
if(AARCH64 AND NOT MSVC_VERSION LESS 1930)
# otherwise, _ARM64_EXTENDED_INTRINSICS is defined, which defines 'mvn' macro
ie_add_compiler_flags(/D_ARM64_DISTINCT_NEON_TYPES)
endif()
if(AARCH64 AND NOT MSVC_VERSION LESS 1930)
# otherwise, _ARM64_EXTENDED_INTRINSICS is defined, which defines 'mvn' macro
ie_add_compiler_flags(/D_ARM64_DISTINCT_NEON_TYPES)
endif()
# Handle Large Addresses
@@ -361,42 +367,67 @@ if(WIN32)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /WX")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /WX")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /WX")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
ie_add_compiler_flags(/Qdiag-warning:47,1740,1786)
endif()
endif()
#
# Disable noisy warnings
#
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# C4251 needs to have dll-interface to be used by clients of class
ie_add_compiler_flags(/wd4251)
# C4275 non dll-interface class used as base for dll-interface class
ie_add_compiler_flags(/wd4275)
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
# 161: unrecognized pragma
# 177: variable was declared but never referenced
# 556: not matched type of assigned function pointer
# 1744: field of class type without a DLL interface used in a class with a DLL interface
# 1879: unimplemented pragma ignored
# 2586: decorated name length exceeded, name was truncated
# 2651: attribute does not apply to any entity
# 3180: unrecognized OpenMP pragma
# 11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo
# 15335: was not vectorized: vectorization possible but seems inefficient. Use vector always directive or /Qvec-threshold0 to override
ie_add_compiler_flags(/Qdiag-disable:161,177,556,1744,1879,2586,2651,3180,11075,15335)
endif()
# C4251 needs to have dll-interface to be used by clients of class
ie_add_compiler_flags(/wd4251)
# C4275 non dll-interface class used as base for dll-interface class
ie_add_compiler_flags(/wd4275)
# Enable __FILE__ trim, use path with forward and backward slash as directory separator
add_compile_options(
"$<$<COMPILE_LANGUAGE:CXX>:/d1trimfile:${OV_NATIVE_PROJECT_ROOT_DIR}\\>"
"$<$<COMPILE_LANGUAGE:CXX>:/d1trimfile:${OpenVINO_SOURCE_DIR}/>")
#
# Debug information flags, by default CMake adds /Zi option
# but provides no way to specify CMAKE_COMPILE_PDB_NAME on root level
# In order to avoid issues with ninja we are replacing default flag instead of having two of them
# and observing warning D9025 about flag override
#
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND WIN32)
#
# Warnings as errors
#
if(CMAKE_COMPILE_WARNING_AS_ERROR AND CMAKE_VERSION VERSION_LESS 3.24)
ie_add_compiler_flags(/Qdiag-warning:47,1740,1786)
endif()
#
# Disable noisy warnings
#
# 161: unrecognized pragma
ie_add_compiler_flags(/Qdiag-disable:161)
# 177: variable was declared but never referenced
ie_add_compiler_flags(/Qdiag-disable:177)
# 556: not matched type of assigned function pointer
ie_add_compiler_flags(/Qdiag-disable:556)
# 1744: field of class type without a DLL interface used in a class with a DLL interface
ie_add_compiler_flags(/Qdiag-disable:1744)
# 1879: unimplemented pragma ignored
ie_add_compiler_flags(/Qdiag-disable:1879)
# 2586: decorated name length exceeded, name was truncated
ie_add_compiler_flags(/Qdiag-disable:2586)
# 2651: attribute does not apply to any entity
ie_add_compiler_flags(/Qdiag-disable:2651)
# 3180: unrecognized OpenMP pragma
ie_add_compiler_flags(/Qdiag-disable:3180)
# 11075: To get full report use -Qopt-report:4 -Qopt-report-phase ipo
ie_add_compiler_flags(/Qdiag-disable:11075)
# 15335: was not vectorized: vectorization possible but seems inefficient.
# Use vector always directive or /Qvec-threshold0 to override
ie_add_compiler_flags(/Qdiag-disable:15335)
else()
#
# Common enabled warnings
@@ -412,6 +443,26 @@ 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)
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "8")
# Enable __FILE__ trim only for release mode
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
endif()
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wabi=11")
endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "10")
# Enable __FILE__ trim only for release mode
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffile-prefix-map=${OV_NATIVE_PROJECT_ROOT_DIR}/= -ffile-prefix-map=${OV_RELATIVE_BIN_PATH}/=")
endif()
endif()
#
# Warnings as errors
#
@@ -455,6 +506,11 @@ else()
endif()
endif()
add_compile_definitions(
# Defines to trim check of __FILE__ macro in case if not done by compiler.
OV_NATIVE_PARENT_PROJECT_ROOT_DIR="${OV_NATIVE_PARENT_PROJECT_ROOT_DIR}")
check_cxx_compiler_flag("-Wsuggest-override" SUGGEST_OVERRIDE_SUPPORTED)
if(SUGGEST_OVERRIDE_SUPPORTED)
set(CMAKE_CXX_FLAGS "-Wsuggest-override ${CMAKE_CXX_FLAGS}")

View File

@@ -5,7 +5,9 @@
include(CheckCXXCompilerFlag)
if (ENABLE_SANITIZER)
if (WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# the flag is available since MSVC 2019 16.9
# see https://learn.microsoft.com/en-us/cpp/build/reference/fsanitize?view=msvc-160
check_cxx_compiler_flag("/fsanitize=address" SANITIZE_ADDRESS_SUPPORTED)
if (SANITIZE_ADDRESS_SUPPORTED)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /fsanitize=address")
@@ -14,21 +16,23 @@ if (ENABLE_SANITIZER)
"Please, check requirements:\n"
"https://github.com/openvinotoolkit/openvino/wiki/AddressSanitizer-and-LeakSanitizer")
endif()
else()
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=address")
check_cxx_compiler_flag("-fsanitize-recover=address" SANITIZE_RECOVER_ADDRESS_SUPPORTED)
if (SANITIZE_RECOVER_ADDRESS_SUPPORTED)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize-recover=address")
endif()
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=address")
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endif()
if (ENABLE_UB_SANITIZER)
if (WIN32)
message(FATAL_ERROR "UndefinedBehavior sanitizer is not supported in Windows")
if(ENABLE_UB_SANITIZER)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
message(FATAL_ERROR "UndefinedBehavior sanitizer is not supported in Windows with MSVC compiler. Please, use clang-cl or mingw")
endif()
# TODO: Remove -fno-sanitize=null as thirdparty/ocl/clhpp_headers UBSAN compatibility resolved:
# https://github.com/KhronosGroup/OpenCL-CLHPP/issues/17
# Mute -fsanitize=function Indirect call of a function through a function pointer of the wrong type.
@@ -48,43 +52,50 @@ if (ENABLE_UB_SANITIZER)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fno-sanitize=function")
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# TODO: Remove -Wno-maybe-uninitialized after CVS-61143 fix
if(CMAKE_COMPILER_IS_GNUCXX)
# TODO: Remove -Wno-maybe-uninitialized after CVS-61143 is fixed
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -Wno-maybe-uninitialized")
endif()
check_cxx_compiler_flag("-fsanitize-recover=undefined" SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
if (SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
if(SANITIZE_RECOVER_UNDEFINED_SUPPORTED)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize-recover=undefined")
endif()
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=undefined")
endif()
if (ENABLE_THREAD_SANITIZER)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=thread")
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=thread")
if(ENABLE_THREAD_SANITIZER)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
message(FATAL_ERROR "Thread sanitizer is not supported in Windows with MSVC compiler. Please, use clang-cl or mingw")
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fsanitize=thread")
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fsanitize=thread")
else()
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
endif()
# common sanitizer options
if (DEFINED SANITIZER_COMPILER_FLAGS)
if(DEFINED SANITIZER_COMPILER_FLAGS)
# ensure symbols are present
if (NOT WIN32)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /Oy-")
elseif(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG)
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -g -fno-omit-frame-pointer")
if(NOT OV_COMPILER_IS_CLANG)
if(CMAKE_COMPILER_IS_GNUCXX)
# GPU plugin tests compilation is slow with -fvar-tracking-assignments on GCC.
# Clang has no var-tracking-assignments.
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} -fno-var-tracking-assignments")
endif()
# prevent unloading libraries at runtime, so sanitizer can resolve their symbols
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
if(NOT OV_COMPILER_IS_APPLECLANG)
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -Wl,-z,nodelete")
if(OV_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)
set(SANITIZER_LINKER_FLAGS "${SANITIZER_LINKER_FLAGS} -fuse-ld=lld")
endif()
endif()
else()
set(SANITIZER_COMPILER_FLAGS "${SANITIZER_COMPILER_FLAGS} /Oy-")
message(WARNING "Unsupported CXX compiler ${CMAKE_CXX_COMPILER_ID}")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_COMPILER_FLAGS}")

View File

@@ -2,61 +2,67 @@
# SPDX-License-Identifier: Apache-2.0
#
if(UNIX)
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -Wformat -Wformat-security")
if(CMAKE_COMPILER_IS_GNUCXX OR OV_COMPILER_IS_CLANG OR
(UNIX AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel"))
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -Wformat -Wformat-security")
if (NOT ENABLE_SANITIZER)
if(EMSCRIPTEN)
# emcc does not support fortification, see:
# https://stackoverflow.com/questions/58854858/undefined-symbol-stack-chk-guard-in-libopenh264-so-when-building-ffmpeg-wit
else()
# ASan does not support fortification https://github.com/google/sanitizers/issues/247
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -D_FORTIFY_SOURCE=2")
endif()
endif()
if(NOT APPLE)
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pie")
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(IE_LINKER_FLAGS "${IE_LINKER_FLAGS} -z noexecstack -z relro -z now")
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -pie")
if(CMAKE_COMPILER_IS_GNUCXX)
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv")
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9)
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-all")
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-all")
else()
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-strong")
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-strong")
endif()
if (NOT ENABLE_SANITIZER)
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -s")
# Remove all symbol table and relocation information from the executable
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -s")
endif()
if(NOT MINGW)
set(OV_LINKER_FLAGS "${OV_LINKER_FLAGS} -z noexecstack -z relro -z now")
endif()
elseif(OV_COMPILER_IS_CLANG)
if(EMSCRIPTEN)
# emcc does not support fortification
# https://stackoverflow.com/questions/58854858/undefined-symbol-stack-chk-guard-in-libopenh264-so-when-building-ffmpeg-wit
else()
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-all")
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-all")
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if (NOT ENABLE_SANITIZER)
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -Wl,--strip-all")
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -Wl,--strip-all")
endif()
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} -fstack-protector-strong")
set(IE_LINKER_FLAGS "${IE_LINKER_FLAGS} -z noexecstack -z relro -z now")
endif()
else()
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} /sdl")
endif()
set(IE_C_CXX_FLAGS "${IE_C_CXX_FLAGS} /guard:cf")
if(ENABLE_INTEGRITYCHECK)
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /INTEGRITYCHECK")
endif()
if(ENABLE_QSPECTRE)
ie_add_compiler_flags(/Qspectre)
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} -fstack-protector-strong")
set(OV_LINKER_FLAGS "${OV_LINKER_FLAGS} -z noexecstack -z relro -z now")
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} /sdl /guard:cf")
endif()
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${IE_C_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${IE_C_CXX_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${IE_LINKER_FLAGS}")
if(ENABLE_QSPECTRE)
set(OV_C_CXX_FLAGS "${OV_C_CXX_FLAGS} /Qspectre")
endif()
if(ENABLE_INTEGRITYCHECK)
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /INTEGRITYCHECK")
endif()
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${OV_C_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${OV_C_CXX_FLAGS}")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} ${OV_LINKER_FLAGS}")
unset(OV_C_CXX_FLAGS)
unset(OV_LINKER_FLAGS)

View File

@@ -641,7 +641,7 @@ _repository = None
# Files to exclude from linting. This is set by the --exclude flag.
_excludes = None
# Whether to supress PrintInfo messages
# Whether to suppress PrintInfo messages
_quiet = False
# The allowed line length of files.
@@ -752,7 +752,7 @@ def ParseNolintSuppressions(filename, raw_line, linenum, error):
'Unknown NOLINT error category: %s' % category)
def ProcessGlobalSuppresions(lines):
def ProcessGlobalSuppressions(lines):
"""Updates the list of global error suppressions.
Parses any lint directives in the file that have global effect.
@@ -780,7 +780,7 @@ def IsErrorSuppressedByNolint(category, linenum):
"""Returns true if the specified error category is suppressed on this line.
Consults the global error_suppressions map populated by
ParseNolintSuppressions/ProcessGlobalSuppresions/ResetNolintSuppressions.
ParseNolintSuppressions/ProcessGlobalSuppressions/ResetNolintSuppressions.
Args:
category: str, the category of the error.
@@ -6203,7 +6203,7 @@ def ProcessFileData(filename, file_extension, lines, error,
ResetNolintSuppressions()
CheckForCopyright(filename, lines, error)
ProcessGlobalSuppresions(lines)
ProcessGlobalSuppressions(lines)
RemoveMultiLineComments(filename, lines, error)
clean_lines = CleansedLines(lines)

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

@@ -99,6 +99,10 @@ function(ov_native_compile_external_project)
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}")
endif()
if(DEFINED CMAKE_MAKE_PROGRAM)
list(APPEND ARG_CMAKE_ARGS "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}")
endif()
ExternalProject_Add(${ARG_TARGET_NAME}
# Directory Options
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}"

View File

@@ -74,7 +74,12 @@ ie_option (VERBOSE_BUILD "shows extra information about build" OFF)
ie_option (ENABLE_UNSAFE_LOCATIONS "skip check for MD5 for dependency" OFF)
ie_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG;NOT WIN32" OFF)
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER_EQUAL 1930)
# Visual Studio 2022: 1930-1939 = VS 17.0 (v143 toolset)
set(_msvc_version_2022 ON)
endif()
ie_dependent_option (ENABLE_FUZZING "instrument build for fuzzing" OFF "OV_COMPILER_IS_CLANG OR _msvc_version_2022" OFF)
#
# Check features

View File

@@ -112,17 +112,6 @@ macro(ov_add_frontend)
endif()
file(GLOB_RECURSE LIBRARY_SRC ${frontend_root_dir}/src/*.cpp)
if (WIN32)
# Remove linux specific files
file(GLOB_RECURSE LIN_FILES ${frontend_root_dir}/src/os/lin/*.cpp
${frontend_root_dir}/src/os/lin/*.hpp)
list(REMOVE_ITEM LIBRARY_SRC "${LIN_FILES}")
else()
# Remove windows specific files
file(GLOB_RECURSE WIN_FILES ${frontend_root_dir}/src/os/win/*.cpp
${frontend_root_dir}/src/os/win/*.hpp)
list(REMOVE_ITEM LIBRARY_SRC "${WIN_FILES}")
endif()
file(GLOB_RECURSE LIBRARY_HEADERS ${frontend_root_dir}/src/*.hpp)
file(GLOB_RECURSE LIBRARY_PUBLIC_HEADERS ${frontend_root_dir}/include/*.hpp)
@@ -171,7 +160,7 @@ macro(ov_add_frontend)
endforeach()
# Disable all warnings for generated code
set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} PROPERTIES COMPILE_OPTIONS -w GENERATED TRUE)
set_source_files_properties(${PROTO_SRCS} ${PROTO_HDRS} PROPERTIES COMPILE_OPTIONS -w GENERATED ON)
# Create library
add_library(${TARGET_NAME} ${LIBRARY_SRC} ${LIBRARY_HEADERS} ${LIBRARY_PUBLIC_HEADERS}
@@ -204,8 +193,7 @@ macro(ov_add_frontend)
ov_add_vs_version_file(NAME ${TARGET_NAME}
FILEDESCRIPTION ${OV_FRONTEND_FILEDESCRIPTION})
target_link_libraries(${TARGET_NAME} PUBLIC openvino::runtime)
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES})
target_link_libraries(${TARGET_NAME} PRIVATE ${OV_FRONTEND_LINK_LIBRARIES} PUBLIC openvino::runtime)
ov_add_library_version(${TARGET_NAME})
# WA for TF frontends which always require protobuf (not protobuf-lite)
@@ -216,23 +204,34 @@ macro(ov_add_frontend)
if(proto_files)
if(OV_FRONTEND_PROTOBUF_LITE)
if(NOT protobuf_lite_installed)
ov_install_static_lib(${Protobuf_LITE_LIBRARIES} ${OV_CPACK_COMP_CORE})
set(protobuf_lite_installed ON CACHE INTERNAL "" FORCE)
endif()
link_system_libraries(${TARGET_NAME} PRIVATE ${Protobuf_LITE_LIBRARIES})
set(protobuf_target_name libprotobuf-lite)
set(protobuf_install_name "protobuf_lite_installed")
else()
if(NOT protobuf_installed)
ov_install_static_lib(${Protobuf_LIBRARIES} ${OV_CPACK_COMP_CORE})
set(protobuf_installed ON CACHE INTERNAL "" FORCE)
endif()
link_system_libraries(${TARGET_NAME} PRIVATE ${Protobuf_LIBRARIES})
set(protobuf_target_name libprotobuf)
set(protobuf_install_name "protobuf_installed")
endif()
if(ENABLE_SYSTEM_PROTOBUF)
# use imported target name with namespace
set(protobuf_target_name "protobuf::${protobuf_target_name}")
endif()
# prptobuf generated code emits -Wsuggest-override error
link_system_libraries(${TARGET_NAME} PRIVATE ${protobuf_target_name})
# protobuf generated code emits -Wsuggest-override error
if(SUGGEST_OVERRIDE_SUPPORTED)
target_compile_options(${TARGET_NAME} PRIVATE -Wno-suggest-override)
endif()
# install protobuf if it is not installed yet
if(NOT ${protobuf_install_name})
if(ENABLE_SYSTEM_PROTOBUF)
# we have to add find_package(Protobuf) to the OpenVINOConfig.cmake for static build
# no needs to install protobuf
else()
ov_install_static_lib(${protobuf_target_name} ${OV_CPACK_COMP_CORE})
set("${protobuf_install_name}" ON CACHE INTERNAL "" FORCE)
endif()
endif()
endif()
if(flatbuffers_schema_files)
@@ -262,6 +261,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

@@ -2,41 +2,6 @@
# SPDX-License-Identifier: Apache-2.0
#
include(target_flags)
# TODO: remove this function: we must not have conditions for particular OS names or versions
# cmake needs to look at /etc files only when we build for Linux on Linux
if(CMAKE_HOST_LINUX AND LINUX)
function(get_linux_name res_var)
if(EXISTS "/etc/lsb-release")
# linux version detection using cat /etc/lsb-release
file(READ "/etc/lsb-release" release_data)
set(name_regex "DISTRIB_ID=([^ \n]*)\n")
set(version_regex "DISTRIB_RELEASE=([0-9]+(\\.[0-9]+)?)")
else()
execute_process(COMMAND find -L /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \;
OUTPUT_VARIABLE release_data
RESULT_VARIABLE result)
string(REPLACE "Red Hat" "CentOS" release_data "${release_data}")
set(name_regex "NAME=\"([^ \"\n]*).*\"\n")
set(version_regex "VERSION=\"([0-9]+(\\.[0-9]+)?)[^\n]*\"")
endif()
string(REGEX MATCH ${name_regex} name ${release_data})
set(os_name ${CMAKE_MATCH_1})
string(REGEX MATCH ${version_regex} version ${release_data})
set(os_name "${os_name} ${CMAKE_MATCH_1}")
if(os_name)
set(${res_var} ${os_name} PARENT_SCOPE)
else ()
set(${res_var} NOTFOUND PARENT_SCOPE)
endif ()
endfunction()
else()
function(get_linux_name res_var)
set(${res_var} NOTFOUND PARENT_SCOPE)
endfunction()
endif ()
function(get_linux_name res_var)
set(${res_var} NOTFOUND PARENT_SCOPE)
endfunction()

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,15 +21,23 @@ 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})
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/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)
set(OV_CPACK_PYTHONDIR ${CMAKE_INSTALL_LIBDIR}/${pyversion}/site-packages)
# should not be used in production; only by setup.py install
set(OV_CPACK_PYTHONDIR lib/${pyversion}/site-packages)
endif()
# non-native stuff
@@ -59,17 +67,48 @@ macro(ov_override_component_names)
# merge C++ and C runtimes
set(OV_CPACK_COMP_CORE_C "${OV_CPACK_COMP_CORE}")
set(OV_CPACK_COMP_CORE_C_DEV "${OV_CPACK_COMP_CORE_DEV}")
# merge all pythons into a single component
set(OV_CPACK_COMP_PYTHON_OPENVINO "pyopenvino")
set(OV_CPACK_COMP_PYTHON_IE_API "${OV_CPACK_COMP_PYTHON_OPENVINO}")
set(OV_CPACK_COMP_PYTHON_NGRAPH "${OV_CPACK_COMP_PYTHON_OPENVINO}")
# merge all C / C++ samples as a single samples component
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}")
# 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_BENCHMARK_APP_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
set(OV_CPACK_COMP_OVC_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_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()
if(CPACK_GENERATOR STREQUAL "BREW")
# brew relies on RPATH
set(CMAKE_SKIP_INSTALL_RPATH OFF)
endif()

View File

@@ -31,6 +31,7 @@ macro(ov_debian_cpack_set_dirs)
set(OV_CPACK_NGRAPH_CMAKEDIR ${OV_CPACK_RUNTIMEDIR}/cmake/ngraph${OpenVINO_VERSION})
set(OV_CPACK_OPENVINO_CMAKEDIR ${OV_CPACK_RUNTIMEDIR}/cmake/openvino${OpenVINO_VERSION})
set(OV_CPACK_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
set(OV_CPACK_LICENSESDIR ${OV_CPACK_DOCDIR}/licenses)
set(OV_CPACK_PYTHONDIR lib/python3/dist-packages)
# non-native stuff
@@ -60,21 +61,58 @@ macro(ov_override_component_names)
# merge C++ and C runtimes
set(OV_CPACK_COMP_CORE_C "${OV_CPACK_COMP_CORE}")
set(OV_CPACK_COMP_CORE_C_DEV "${OV_CPACK_COMP_CORE_DEV}")
# merge all pythons into a single component
set(OV_CPACK_COMP_PYTHON_OPENVINO "pyopenvino")
set(OV_CPACK_COMP_PYTHON_IE_API "${OV_CPACK_COMP_PYTHON_OPENVINO}")
set(OV_CPACK_COMP_PYTHON_NGRAPH "${OV_CPACK_COMP_PYTHON_OPENVINO}")
# merge all C / C++ samples as a single samples component
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}")
# 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_BENCHMARK_APP_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
set(OV_CPACK_COMP_OVC_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_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
#
@@ -132,14 +170,17 @@ macro(ov_debian_specific_settings)
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
endif()
endif()
# we don't need RPATHs, because libraries are search by standard paths
set(CMAKE_SKIP_INSTALL_RPATH ON)
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")
@@ -275,7 +316,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,77 @@
# 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_OPENVINO_EXCLUDE_ALL)
set(OV_CPACK_COMP_BENCHMARK_APP_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
set(OV_CPACK_COMP_OVC_EXCLUDE_ALL ${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_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

@@ -4,8 +4,31 @@
include(CPackComponent)
# we don't need RPATHs, because setupvars.sh is used
set(CMAKE_SKIP_INSTALL_RPATH ON)
#
# 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()
# save all internal installed targets to filter them later in 'ov_generate_dev_package_config'
list(APPEND openvino_installed_targets ${target})
set(openvino_installed_targets "${openvino_installed_targets}" CACHE INTERNAL
"A list of OpenVINO internal targets" FORCE)
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,15 +52,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 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>)
@@ -99,10 +119,10 @@ endif()
# if <FILE> is a symlink, we resolve it, but install file with a name of symlink
#
function(ov_install_with_name file component)
if((APPLE AND file MATCHES "^[^\.]+\.[0-9]+${CMAKE_SHARED_LIBRARY_SUFFIX}$") OR
(file MATCHES "^.*\.${CMAKE_SHARED_LIBRARY_SUFFIX}\.[0-9]+$"))
get_filename_component(actual_name "${file}" NAME)
if((APPLE AND actual_name MATCHES "^[^\.]+\.[0-9]+${CMAKE_SHARED_LIBRARY_SUFFIX}$") OR
(actual_name MATCHES "^.*\.${CMAKE_SHARED_LIBRARY_SUFFIX}\.[0-9]+$"))
if(IS_SYMLINK "${file}")
get_filename_component(actual_name "${file}" NAME)
get_filename_component(file "${file}" REALPATH)
set(install_rename RENAME "${actual_name}")
endif()
@@ -134,13 +154,13 @@ macro(ov_define_component_names)
set(OV_CPACK_COMP_C_SAMPLES "c_samples")
set(OV_CPACK_COMP_PYTHON_SAMPLES "python_samples")
# python
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_BENCHMARK_APP "benchmark_app")
set(OV_CPACK_COMP_OVC "ovc")
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")
@@ -149,20 +169,66 @@ 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_OPENVINO_EXCLUDE_ALL)
unset(OV_CPACK_COMP_BENCHMARK_APP_EXCLUDE_ALL)
unset(OV_CPACK_COMP_OVC_EXCLUDE_ALL)
set(OV_CPACK_COMP_PYTHON_OPENVINO_PACKAGE_EXCLUDE_ALL EXCLUDE_FROM_ALL)
unset(OV_CPACK_COMP_PYTHON_WHEELS_EXCLUDE_ALL)
# tools
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)$")
elseif(CPACK_GENERATOR MATCHES "^(CONDA-FORGE|BREW|CONAN|VCPKG)$")
include(packaging/common-libraries)
endif()

View File

@@ -22,7 +22,7 @@ macro(ov_rpm_cpack_set_dirs)
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_DOCDIR ${CMAKE_INSTALL_DATADIR}/doc/openvino-${OpenVINO_VERSION})
# set(OV_CPACK_PYTHONDIR lib/python3/dist-packages)
set(OV_CPACK_LICENSESDIR ${OV_CPACK_DOCDIR}/licenses)
ov_get_pyversion(pyversion)
if(pyversion)
@@ -56,22 +56,58 @@ macro(ov_override_component_names)
# merge C++ and C runtimes
set(OV_CPACK_COMP_CORE_C "${OV_CPACK_COMP_CORE}")
set(OV_CPACK_COMP_CORE_C_DEV "${OV_CPACK_COMP_CORE_DEV}")
# merge all pythons into a single component
set(OV_CPACK_COMP_PYTHON_OPENVINO "pyopenvino")
set(OV_CPACK_COMP_PYTHON_IE_API "${OV_CPACK_COMP_PYTHON_OPENVINO}")
set(OV_CPACK_COMP_PYTHON_NGRAPH "${OV_CPACK_COMP_PYTHON_OPENVINO}")
# merge all C / C++ samples as a single samples component
set(OV_CPACK_COMP_CPP_SAMPLES "samples")
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}")
# 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_BENCHMARK_APP_EXCLUDE_ALL ${OV_CPACK_COMP_PYTHON_OPENVINO_EXCLUDE_ALL})
set(OV_CPACK_COMP_OVC_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_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
#
@@ -93,9 +129,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")
@@ -115,6 +149,9 @@ macro(ov_rpm_specific_settings)
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
endif()
endif()
# we don't need RPATHs, because libraries are search by standard paths
set(CMAKE_SKIP_INSTALL_RPATH ON)
endmacro()
ov_rpm_specific_settings()

View File

@@ -103,11 +103,15 @@ function(ov_add_plugin)
endforeach()
if (OV_PLUGIN_ADD_CLANG_FORMAT)
add_clang_format_target(${OV_PLUGIN_NAME}_clang FOR_TARGETS ${OV_PLUGIN_NAME})
add_clang_format_target(${OV_PLUGIN_NAME}_clang FOR_SOURCES ${OV_PLUGIN_SOURCES})
else()
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
@@ -131,7 +135,7 @@ function(ov_add_plugin)
LIBRARY DESTINATION ${OV_CPACK_PLUGINSDIR}
COMPONENT ${install_component})
else()
ov_install_static_lib(${OV_PLUGIN_NAME} ${install_component})
ov_install_static_lib(${OV_PLUGIN_NAME} ${OV_CPACK_COMP_CORE})
endif()
endif()
endif()

View File

@@ -17,69 +17,78 @@ if(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif()
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
set(arch_flag X86_64)
set(OV_HOST_ARCH X86_64)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
set(arch_flag X86)
set(OV_HOST_ARCH X86)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*)")
set(arch_flag AARCH64)
set(OV_HOST_ARCH AARCH64)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
set(arch_flag ARM)
set(OV_HOST_ARCH ARM)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^riscv64$")
set(arch_flag RISCV64)
set(OV_HOST_ARCH RISCV64)
endif()
set(HOST_${arch_flag} ON)
macro(_ov_detect_arch_by_processor_type)
if(CMAKE_OSX_ARCHITECTURES AND APPLE)
if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
set(OV_ARCH AARCH64)
elseif(CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
set(OV_ARCH X86_64)
elseif(CMAKE_OSX_ARCHITECTURES MATCHES ".*x86_64.*" AND CMAKE_OSX_ARCHITECTURES MATCHES ".*arm64.*")
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(OV_ARCH X86_64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*|wasm")
set(OV_ARCH X86)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*|armv8)")
set(OV_ARCH AARCH64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
set(OV_ARCH ARM)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64$")
set(OV_ARCH RISCV64)
endif()
endmacro()
macro(_ie_process_msvc_generator_platform arch_flag)
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()
set(${arch_flag} ON)
_ov_detect_arch_by_processor_type()
endif()
endmacro()
if(MSVC64 OR MINGW64)
_ie_process_msvc_generator_platform(${arch_flag})
_ov_process_msvc_generator_platform()
elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING))
_ie_process_msvc_generator_platform(${arch_flag})
elseif(CMAKE_OSX_ARCHITECTURES AND APPLE)
if(CMAKE_OSX_ARCHITECTURES STREQUAL "arm64")
set(AARCH64 ON)
elseif(CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
set(X86_64 ON)
elseif(CMAKE_OSX_ARCHITECTURES MATCHES ".*x86_64.*" AND CMAKE_OSX_ARCHITECTURES MATCHES ".*arm64.*")
set(UNIVERSAL2 ON)
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)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
set(X86 ON)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm64.*|aarch64.*|AARCH64.*|ARM64.*)")
set(AARCH64 ON)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
set(ARM ON)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^riscv64$")
set(RISCV64 ON)
_ov_process_msvc_generator_platform()
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()
if(UNIX AND NOT (APPLE OR ANDROID OR EMSCRIPTEN))
if(UNIX AND NOT (APPLE OR ANDROID OR EMSCRIPTEN OR CYGWIN))
set(LINUX ON)
endif()
if(NOT DEFINED CMAKE_HOST_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
if(CMAKE_VERSION VERSION_LESS 3.25 AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux")
# the variable is available since 3.25
# https://cmake.org/cmake/help/latest/variable/CMAKE_HOST_LINUX.html
set(CMAKE_HOST_LINUX ON)
endif()
@@ -106,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

@@ -40,6 +40,7 @@ function(ieTargetLinkWholeArchive targetName)
"-Wl,-noall_load"
)
else()
# non-Apple Clang and GCC / MinGW
list(APPEND libs
"-Wl,--whole-archive"
${staticLib}

View File

@@ -15,7 +15,7 @@ function(ie_generate_dev_package_config)
add_custom_target(ie_dev_targets DEPENDS ${all_dev_targets})
set(PATH_VARS "OpenVINO_SOURCE_DIR")
if(ENABLE_SAMPLES OR ENABLE_COMPILE_TOOL OR ENABLE_TESTS)
if(ENABLE_SAMPLES OR ENABLE_TESTS)
list(APPEND PATH_VARS "gflags_BINARY_DIR")
# if we've found system gflags
if(gflags_DIR)
@@ -39,20 +39,22 @@ function(ov_generate_dev_package_config)
find_package(OpenCV QUIET)
foreach(component IN LISTS openvino_export_components)
# TODO: remove legacy targets from tests
# string(FIND "${component}" "_legacy" index)
# if(index EQUAL -1)
# export all targets with prefix and use them during extra modules build
export(TARGETS ${${component}} NAMESPACE openvino::
# filter out targets which are installed by OpenVINOConfig.cmake static build case
set(exported_targets)
foreach(target IN LISTS ${component})
if(NOT target IN_LIST openvino_installed_targets)
list(APPEND exported_targets ${target})
endif()
endforeach()
# export all developer targets with prefix and use them during extra modules build
export(TARGETS ${exported_targets} NAMESPACE openvino::
APPEND FILE "${CMAKE_BINARY_DIR}/ov_${component}_dev_targets.cmake")
list(APPEND all_dev_targets ${${component}})
# endif()
endforeach()
add_custom_target(ov_dev_targets DEPENDS ${all_dev_targets})
set(PATH_VARS "OpenVINO_SOURCE_DIR")
if(ENABLE_SAMPLES OR ENABLE_COMPILE_TOOL OR ENABLE_TESTS)
if(ENABLE_SAMPLES OR ENABLE_TESTS)
list(APPEND PATH_VARS "gflags_BINARY_DIR")
# if we've found system gflags
if(gflags_DIR)
@@ -76,10 +78,6 @@ endfunction()
#
function(register_extra_modules)
# post export
openvino_developer_export_targets(COMPONENT core_legacy TARGETS inference_engine)
openvino_developer_export_targets(COMPONENT core_legacy TARGETS ngraph)
set(InferenceEngineDeveloperPackage_DIR "${CMAKE_CURRENT_BINARY_DIR}/build-modules")
set(OpenVINODeveloperPackage_DIR "${CMAKE_BINARY_DIR}/build-modules")
set(OpenVINO_DIR "${CMAKE_BINARY_DIR}")
@@ -94,12 +92,12 @@ function(register_extra_modules)
file(WRITE "${devconfig_file}" "\# !! AUTOGENERATED: DON'T EDIT !!\n\n")
foreach(target IN LISTS ${openvino_export_components})
if(target)
foreach(targets_list IN LISTS ${openvino_export_components})
foreach(target IN LISTS targets_list)
file(APPEND "${devconfig_file}" "if(NOT TARGET ${NS}::${target})
add_library(${NS}::${target} ALIAS ${target})
endif()\n")
endif()
endforeach()
endforeach()
endfunction()

View File

@@ -5,6 +5,7 @@
#
# Common cmake options
#
ov_option (ENABLE_PROXY "Proxy plugin for OpenVINO Runtime" ON)
ie_dependent_option (ENABLE_INTEL_CPU "CPU plugin for OpenVINO Runtime" ON "RISCV64 OR X86 OR X86_64 OR AARCH64 OR ARM" OFF)
@@ -12,8 +13,6 @@ ie_dependent_option (ENABLE_ARM_COMPUTE_CMAKE "Enable ARM Compute build via cmak
ie_option (ENABLE_TESTS "unit, behavior and functional tests" OFF)
ie_option (ENABLE_COMPILE_TOOL "Enables compile_tool" ON)
ie_option (ENABLE_STRICT_DEPENDENCIES "Skip configuring \"convinient\" dependencies for efficient parallel builds" ON)
if(X86_64)
@@ -22,11 +21,11 @@ else()
set(ENABLE_INTEL_GPU_DEFAULT OFF)
endif()
ie_dependent_option (ENABLE_INTEL_GPU "GPU OpenCL-based plugin for OpenVINO Runtime" ${ENABLE_INTEL_GPU_DEFAULT} "X86_64 OR AARCH64;NOT APPLE;NOT MINGW;NOT WINDOWS_STORE;NOT WINDOWS_PHONE" OFF)
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)
@@ -34,6 +33,10 @@ 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_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)
ie_option_enum(ENABLE_PROFILING_FILTER "Enable or disable ITT counter groups.\
@@ -45,13 +48,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)
#
@@ -76,46 +83,50 @@ 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)
ie_option (ENABLE_INTEL_GNA_DEBUG "GNA debug build" OFF)
ie_dependent_option (ENABLE_INTEL_GNA_DEBUG "GNA debug build" OFF "ENABLE_INTEL_GNA" OFF)
ie_dependent_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF "ENABLE_INTEL_GNA" OFF)
ie_dependent_option (ENABLE_IR_V7_READER "Enables IR v7 reader" ${BUILD_SHARED_LIBS} "ENABLE_TESTS;ENABLE_INTEL_GNA" OFF)
ie_option (ENABLE_GAPI_PREPROCESSING "Enables G-API preprocessing" ON)
ie_dependent_option (ENABLE_GAPI_PREPROCESSING "Enables G-API preprocessing" ON "NOT MINGW64" OFF)
ie_option (ENABLE_MULTI "Enables MULTI Device Plugin" ON)
ie_option (ENABLE_AUTO "Enables AUTO Device Plugin" ON)
ie_option (ENABLE_AUTO_BATCH "Enables Auto-Batching Plugin" ON)
ie_option (ENABLE_HETERO "Enables Hetero Device Plugin" ON)
ie_option (ENABLE_TEMPLATE "Enable template plugin" ON)
ie_dependent_option (ENABLE_PLUGINS_XML "Generate plugins.xml configuration file or not" OFF "NOT BUILD_SHARED_LIBS" OFF)
ie_dependent_option (ENABLE_PLUGINS_XML "Generate plugins.xml configuration file or not" OFF "BUILD_SHARED_LIBS" OFF)
ie_dependent_option (GAPI_TEST_PERF "if GAPI unit tests should examine performance" OFF "ENABLE_TESTS;ENABLE_GAPI_PREPROCESSING" OFF)
ie_dependent_option (ENABLE_DATA "fetch models from testdata repo" ON "ENABLE_FUNCTIONAL_TESTS;NOT ANDROID" OFF)
ie_dependent_option (ENABLE_BEH_TESTS "tests oriented to check OpenVINO Runtime API correctness" ON "ENABLE_TESTS" OFF)
ie_dependent_option (ENABLE_FUNCTIONAL_TESTS "functional tests" ON "ENABLE_TESTS" OFF)
ie_option (ENABLE_SAMPLES "console samples are part of OpenVINO Runtime package" ON)
ie_option (ENABLE_OPENCV "enables custom OpenCV download" OFF)
ie_option (ENABLE_V7_SERIALIZE "enables serialization to IR v7" OFF)
set(OPENVINO_EXTRA_MODULES "" CACHE STRING "Extra paths for extra modules to include into OpenVINO build")
ie_dependent_option(ENABLE_TBB_RELEASE_ONLY "Only Release TBB libraries are linked to the OpenVINO Runtime binaries" ON "THREADING MATCHES TBB;LINUX" OFF)
find_host_package(PythonInterp 3 QUIET)
ie_option(ENABLE_OV_ONNX_FRONTEND "Enable ONNX FrontEnd" ${PYTHONINTERP_FOUND})
ie_option(ENABLE_OV_PADDLE_FRONTEND "Enable PaddlePaddle FrontEnd" ON)
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ie_option(ENABLE_OV_PYTORCH_FRONTEND "Enable PyTorch FrontEnd" ON)
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ie_option(ENABLE_OV_TF_FRONTEND "Enable TensorFlow FrontEnd" ON)
ie_option(ENABLE_OV_TF_LITE_FRONTEND "Enable TensorFlow Lite FrontEnd" ON)
ie_dependent_option(ENABLE_SNAPPY_COMPRESSION "Enables compression support for TF FE" ON
"ENABLE_OV_TF_FRONTEND" OFF)
if(CMAKE_HOST_LINUX AND LINUX)
# Debian packages are enabled on Ubuntu systems
# so, system TBB / pugixml / OpenCL can be tried for usage
@@ -131,40 +142,50 @@ else()
set(ENABLE_SYSTEM_TBB_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT})
endif()
if(BUILD_SHARED_LIBS)
set(ENABLE_SYSTEM_PUGIXML_DEFAULT ${ENABLE_SYSTEM_LIBS_DEFAULT})
else()
# for static libraries case libpugixml.a must be compiled with -fPIC
# but we still need an ability to compile with system PugiXML and BUILD_SHARED_LIBS
# for Conan case where everything is compiled statically
set(ENABLE_SYSTEM_PUGIXML_DEFAULT OFF)
endif()
if(ANDROID)
# when protobuf from /usr/include is used, then Android toolchain ignores include paths
# but if we build for Android using vcpkg / conan / etc where flatbuffers is not located in
# 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)
endif()
# for static libraries case libpugixml.a must be compiled with -fPIC
ie_dependent_option (ENABLE_SYSTEM_PUGIXML "use the system copy of pugixml" ${ENABLE_SYSTEM_LIBS_DEFAULT} "BUILD_SHARED_LIBS" OFF)
ie_dependent_option (ENABLE_SYSTEM_TBB "use the system version of TBB" ${ENABLE_SYSTEM_TBB_DEFAULT} "THREADING MATCHES TBB" OFF)
ie_dependent_option (ENABLE_SYSTEM_OPENCL "Use the system version of OpenCL" ${ENABLE_SYSTEM_LIBS_DEFAULT} "BUILD_SHARED_LIBS;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" OFF)
ie_dependent_option (ENABLE_CPU_DEBUG_CAPS "enable CPU debug capabilities at runtime" ON "ENABLE_DEBUG_CAPS" OFF)
find_host_package(PythonInterp 3 QUIET)
ie_option(ENABLE_OV_ONNX_FRONTEND "Enable ONNX FrontEnd" ${PYTHONINTERP_FOUND})
ie_option(ENABLE_OV_PADDLE_FRONTEND "Enable PaddlePaddle FrontEnd" ON)
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ie_option(ENABLE_OV_PYTORCH_FRONTEND "Enable PyTorch FrontEnd" ON)
ie_option(ENABLE_OV_TF_FRONTEND "Enable TensorFlow FrontEnd" ON)
ie_option(ENABLE_OV_TF_LITE_FRONTEND "Enable TensorFlow Lite FrontEnd" ON)
ie_option(ENABLE_OV_IR_FRONTEND "Enable IR FrontEnd" ON)
ie_dependent_option(ENABLE_SNAPPY_COMPRESSION "Enables compression support for TF FE" ON
"ENABLE_OV_TF_FRONTEND" ON)
ie_dependent_option(ENABLE_SYSTEM_PROTOBUF "Enables use of system protobuf" OFF
"ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_TF_FRONTEND;BUILD_SHARED_LIBS" OFF)
ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Enables use of system flatbuffers" ON
ie_dependent_option (ENABLE_SYSTEM_TBB "Enables use of system TBB" ${ENABLE_SYSTEM_TBB_DEFAULT}
"THREADING MATCHES TBB" OFF)
# TODO: turn it off by default during the work on cross-os distribution, because pugixml is not
# available out of box on all systems (like RHEL, UBI)
ie_option (ENABLE_SYSTEM_PUGIXML "Enables use of system PugiXML" ${ENABLE_SYSTEM_PUGIXML_DEFAULT})
# the option is on by default, because we use only flatc compiler and don't use any libraries
ie_dependent_option(ENABLE_SYSTEM_FLATBUFFERS "Enables use of system flatbuffers" ${ENABLE_SYSTEM_FLATBUFFERS_DEFAULT}
"ENABLE_OV_TF_LITE_FRONTEND" OFF)
ie_dependent_option(ENABLE_SYSTEM_SNAPPY "Enables use of system version of snappy" OFF "ENABLE_SNAPPY_COMPRESSION;BUILD_SHARED_LIBS" OFF)
ie_dependent_option (ENABLE_SYSTEM_OPENCL "Enables use of system OpenCL" ${ENABLE_SYSTEM_LIBS_DEFAULT}
"ENABLE_INTEL_GPU" OFF)
# the option is turned off by default, because we compile our own static version of protobuf
# with LTO and -fPIC options, while system one does not have such flags
ie_dependent_option (ENABLE_SYSTEM_PROTOBUF "Enables use of system Protobuf" OFF
"ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_TF_FRONTEND" OFF)
# the option is turned off by default, because we don't want to have a dependency on libsnappy.so
ie_dependent_option (ENABLE_SYSTEM_SNAPPY "Enables use of system version of Snappy" OFF
"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)

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
if(# python is not a part of conda | brew
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,24 @@ 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
# temporary block nvidia
NOT item STREQUAL "nvidia" AND
# 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()
@@ -94,6 +89,7 @@ macro(ov_cpack_settings)
# - 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 2023.0.1
)
#
@@ -117,7 +113,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 +123,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 +134,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 +144,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 +156,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 +172,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 +294,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 +329,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 +364,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 +400,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)$")
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,25 @@ 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
# temporary block nvidia
NOT item STREQUAL "nvidia" AND
# 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)
@@ -80,6 +75,7 @@ macro(ov_cpack_settings)
# - 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 2023.0.1
)
find_host_program(rpmlint_PROGRAM NAMES rpmlint DOC "Path to rpmlint")
@@ -121,7 +117,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 +126,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 +136,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 +156,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 +171,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 +180,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 +268,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 +322,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 +366,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

@@ -37,6 +37,7 @@ include(CMakeFindDependencyMacro)
find_dependency(OpenVINO
PATHS "${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/../openvino${InferenceEngine_VERSION}"
NO_CMAKE_FIND_ROOT_PATH
NO_DEFAULT_PATH)

View File

@@ -142,6 +142,14 @@ if(ENABLE_SYSTEM_PUGIXML)
endif()
endif()
set(_IE_nlohmann_json_FOUND "@nlohmann_json_FOUND@")
if(_IE_nlohmann_json_FOUND)
find_dependency(nlohmann_json)
set_target_properties(nlohmann_json::nlohmann_json PROPERTIES IMPORTED_GLOBAL ON)
add_library(IE::nlohmann_json ALIAS nlohmann_json::nlohmann_json)
endif()
unset(_IE_nlohmann_json_FOUND)
# inherit OpenCV from main IE project if enabled
if ("@OpenCV_FOUND@")
load_cache("${cache_path}" READ_WITH_PREFIX "" OpenCV_DIR)

View File

@@ -85,9 +85,9 @@
#
# `OpenVINO_VERSION_MAJOR`
# Major version component
#
#
# `OpenVINO_VERSION_MINOR`
# minor version component
# Minor version component
#
# `OpenVINO_VERSION_PATCH`
# Patch version component
@@ -138,7 +138,7 @@ endmacro()
macro(_ov_find_tbb)
set(THREADING "@THREADING@")
if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND NOT TBB_FOUND)
if(THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
set(enable_pkgconfig_tbb "@tbb_FOUND@")
# try tbb.pc
@@ -153,10 +153,10 @@ macro(_ov_find_tbb)
endif()
pkg_search_module(tbb
${pkg_config_quiet_arg}
${pkg_config_required_arg}
IMPORTED_TARGET
tbb)
${pkg_config_quiet_arg}
${pkg_config_required_arg}
IMPORTED_TARGET
tbb)
unset(pkg_config_quiet_arg)
unset(pkg_config_required_arg)
@@ -223,39 +223,214 @@ macro(_ov_find_tbb)
PATHS ${_tbb_bind_dir}
NO_CMAKE_FIND_ROOT_PATH
NO_DEFAULT_PATH)
set_target_properties(${TBBBIND_2_5_IMPORTED_TARGETS} PROPERTIES IMPORTED_GLOBAL ON)
unset(_tbb_bind_dir)
endif()
unset(install_tbbbind)
endif()
endmacro()
macro(_ov_find_pugixml)
set(_OV_ENABLE_SYSTEM_PUGIXML "@ENABLE_SYSTEM_PUGIXML@")
if(_OV_ENABLE_SYSTEM_PUGIXML)
set(_ov_pugixml_pkgconfig_interface "@pugixml_FOUND@")
set(_ov_pugixml_cmake_interface "@PugiXML_FOUND@")
if(_ov_pugixml_pkgconfig_interface AND NOT ANDROID)
_ov_find_dependency(PkgConfig)
elseif(_ov_pugixml_cmake_interface)
_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)
if(TARGET pugixml)
set(_ov_pugixml_target pugixml)
elseif(TARGET pugixml::pugixml)
set(_ov_pugixml_target pugixml::pugixml)
endif()
if(OpenVINODeveloperPackage_DIR)
# 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)
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
set(pkg_config_quiet_arg QUIET)
endif()
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
set(pkg_config_required_arg REQUIRED)
endif()
pkg_search_module(pugixml
${pkg_config_quiet_arg}
${pkg_config_required_arg}
IMPORTED_TARGET
${_ov_pugixml_visibility}
pugixml)
unset(pkg_config_quiet_arg)
unset(pkg_config_required_arg)
if(pugixml_FOUND)
if(OpenVINODeveloperPackage_DIR)
# 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
get_target_property(interface_include_dir PkgConfig::pugixml INTERFACE_INCLUDE_DIRECTORIES)
if(interface_include_dir AND NOT EXISTS "${interface_include_dir}")
set_target_properties(PkgConfig::pugixml PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "")
endif()
endif()
endif()
# debian 9 case: no cmake, no pkg-config files
if(NOT TARGET openvino::pugixml)
find_library(PUGIXML_LIBRARY NAMES pugixml DOC "Path to pugixml library")
if(PUGIXML_LIBRARY)
add_library(openvino::pugixml INTERFACE IMPORTED)
set_target_properties(openvino::pugixml PROPERTIES INTERFACE_LINK_LIBRARIES "${PUGIXML_LIBRARY}")
else()
message(FATAL_ERROR "Failed to find system pugixml in OpenVINO Developer Package")
endif()
endif()
unset(_ov_pugixml_visibility)
endif()
endmacro()
macro(_ov_find_itt)
set(_ENABLE_PROFILING_ITT "@ENABLE_PROFILING_ITT@")
# whether 'ittapi' is found via find_package
set(_ENABLE_SYSTEM_ITTAPI "@ittapi_FOUND@")
if(_ENABLE_PROFILING_ITT AND _ENABLE_SYSTEM_ITTAPI)
_ov_find_dependency(ittapi)
endif()
unset(_ENABLE_PROFILING_ITT)
unset(_ENABLE_SYSTEM_ITTAPI)
endmacro()
macro(_ov_find_ade)
set(_OV_ENABLE_GAPI_PREPROCESSING "@ENABLE_GAPI_PREPROCESSING@")
# 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 @ade_VERSION@)
endif()
unset(_OV_ENABLE_GAPI_PREPROCESSING)
unset(_ENABLE_SYSTEM_ADE)
endmacro()
macro(_ov_find_intel_cpu_dependencies)
set(_OV_ENABLE_CPU_ACL "@DNNL_USE_ACL@")
if(_OV_ENABLE_CPU_ACL)
set(_ov_in_install_tree "@PACKAGE_ARM_COMPUTE_LIB_DIR@")
if(_ov_in_install_tree)
set_and_check(ARM_COMPUTE_LIB_DIR "@PACKAGE_ARM_COMPUTE_LIB_DIR@")
set(ACL_DIR "${CMAKE_CURRENT_LIST_DIR}")
else()
set_and_check(ACL_DIR "@PACKAGE_FIND_ACL_PATH@")
endif()
_ov_find_dependency(ACL)
unset(_ov_in_install_tree)
unset(ARM_COMPUTE_LIB_DIR)
endif()
unset(_OV_ENABLE_CPU_ACL)
endmacro()
macro(_ov_find_intel_gpu_dependencies)
set(_OV_ENABLE_INTEL_GPU "@ENABLE_INTEL_GPU@")
set(_OV_ENABLE_SYSTEM_OPENCL "@ENABLE_SYSTEM_OPENCL@")
if(_OV_ENABLE_INTEL_GPU AND _OV_ENABLE_SYSTEM_OPENCL)
set(_OV_OpenCLICDLoader_FOUND "@OpenCLICDLoader_FOUND@")
if(_OV_OpenCLICDLoader_FOUND)
_ov_find_dependency(OpenCLICDLoader)
else()
_ov_find_dependency(OpenCL)
endif()
unset(_OV_OpenCLICDLoader_FOUND)
endif()
unset(_OV_ENABLE_INTEL_GPU)
unset(_OV_ENABLE_SYSTEM_OPENCL)
endmacro()
macro(_ov_find_intel_gna_dependencies)
set(_OV_ENABLE_INTEL_GNA "@ENABLE_INTEL_GNA@")
if(_OV_ENABLE_INTEL_GNA AND NOT libGNA_FOUND)
if(_OV_ENABLE_INTEL_GNA)
set_and_check(GNA_PATH "@PACKAGE_GNA_PATH@")
_ov_find_dependency(libGNA
COMPONENTS KERNEL
CONFIG
PATHS "${CMAKE_CURRENT_LIST_DIR}"
NO_CMAKE_FIND_ROOT_PATH
NO_DEFAULT_PATH)
unset(GNA_PATH)
endif()
unset(_OV_ENABLE_INTEL_GNA)
endmacro()
macro(_ov_find_protobuf_frontend_dependency)
set(_OV_ENABLE_SYSTEM_PROTOBUF "@ENABLE_SYSTEM_PROTOBUF@")
set(_OV_PROTOBUF_PACKAGE_CONFIG "@protobuf_config@")
if(_OV_ENABLE_SYSTEM_PROTOBUF)
_ov_find_dependency(Protobuf @Protobuf_VERSION@ EXACT ${_OV_PROTOBUF_PACKAGE_CONFIG})
endif()
unset(_OV_PROTOBUF_PACKAGE_CONFIG)
unset(_OV_ENABLE_SYSTEM_PROTOBUF)
endmacro()
macro(_ov_find_tensorflow_frontend_dependencies)
set(_OV_ENABLE_SYSTEM_SNAPPY "@ENABLE_SYSTEM_SNAPPY@")
set(_ov_snappy_lib "@ov_snappy_lib@")
if(_OV_ENABLE_SYSTEM_SNAPPY)
_ov_find_dependency(Snappy @Snappy_VERSION@ EXACT)
endif()
unset(_OV_ENABLE_SYSTEM_SNAPPY)
unset(_ov_snappy_lib)
set(PACKAGE_PREFIX_DIR ${_ov_package_prefix_dir})
endmacro()
macro(_ov_find_onnx_frontend_dependencies)
set(_OV_ENABLE_SYSTEM_ONNX "@ENABLE_SYSTEM_ONNX@")
if(_OV_ENABLE_SYSTEM_ONNX)
_ov_find_dependency(ONNX @ONNX_VERSION@ EXACT)
endif()
unset(_OV_ENABLE_SYSTEM_ONNX)
endmacro()
function(_ov_target_no_deprecation_error)
if(NOT MSVC)
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# older macOS x86_64 does not support this linker option
if(CMAKE_CROSSCOMPILING AND NOT APPLE)
set_target_properties(${ARGV} PROPERTIES
INTERFACE_LINK_OPTIONS "-Wl,--allow-shlib-undefined")
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(flags "-diag-warning=1786")
else()
set(flags "-Wno-error=deprecated-declarations")
endif()
if(CMAKE_CROSSCOMPILING)
set_target_properties(${ARGV} PROPERTIES
INTERFACE_LINK_OPTIONS "-Wl,--allow-shlib-undefined")
endif()
set_target_properties(${ARGV} PROPERTIES INTERFACE_COMPILE_OPTIONS ${flags})
endif()
@@ -265,13 +440,41 @@ endfunction()
# OpenVINO config
#
cmake_policy(PUSH)
# we need CMP0057 to allow IN_LIST in if() command
if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW)
else()
message(FATAL_ERROR "OpenVINO requires CMake 3.3 or newer")
endif()
# need to store current PACKAGE_PREFIX_DIR, because it's overwritten by sub-package one
set(_ov_package_prefix_dir "${PACKAGE_PREFIX_DIR}")
set(_OV_ENABLE_OPENVINO_BUILD_SHARED "@BUILD_SHARED_LIBS@")
if(NOT TARGET openvino)
set(_ov_as_external_package ON)
endif()
if(NOT _OV_ENABLE_OPENVINO_BUILD_SHARED)
# common openvino dependencies
_ov_find_tbb()
_ov_find_itt()
_ov_find_pugixml()
# preprocessing dependencies
_ov_find_ade()
# frontend dependencies
_ov_find_protobuf_frontend_dependency()
_ov_find_tensorflow_frontend_dependencies()
_ov_find_onnx_frontend_dependencies()
# plugin dependencies
_ov_find_intel_cpu_dependencies()
_ov_find_intel_gpu_dependencies()
_ov_find_intel_gna_dependencies()
endif()
@@ -279,13 +482,26 @@ _ov_find_dependency(Threads)
unset(_OV_ENABLE_OPENVINO_BUILD_SHARED)
if(NOT TARGET openvino)
set(_ov_as_external_package ON)
set(_ov_imported_libs openvino::runtime openvino::runtime::c
openvino::frontend::onnx openvino::frontend::paddle openvino::frontend::tensorflow
openvino::frontend::pytorch openvino::frontend::tensorflow_lite)
if(_ov_as_external_package)
include("${CMAKE_CURRENT_LIST_DIR}/OpenVINOTargets.cmake")
foreach(target IN LISTS _ov_imported_libs)
if(TARGET ${target})
get_target_property(imported_configs ${target} IMPORTED_CONFIGURATIONS)
if(NOT RELWITHDEBINFO IN_LIST imported_configs)
set_property(TARGET ${target} PROPERTY MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)
endif()
unset(imported_configs)
endif()
endforeach()
# WA for cmake version < 3.16 which does not export
# IMPORTED_LINK_DEPENDENT_LIBRARIES_** properties if no PUBLIC dependencies for the library
if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND TBB_FOUND)
if(THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
foreach(type RELEASE DEBUG RELWITHDEBINFO MINSIZEREL)
foreach(tbb_target TBB::tbb TBB::tbbmalloc PkgConfig::tbb)
if(TARGET ${tbb_target})
@@ -326,12 +542,12 @@ endif()
# Apply common functions
#
foreach(target openvino::runtime openvino::runtime::c
openvino::frontend::onnx openvino::frontend::paddle openvino::frontend::tensorflow)
foreach(target IN LISTS _ov_imported_libs)
if(TARGET ${target} AND _ov_as_external_package)
_ov_target_no_deprecation_error(${target})
endif()
endforeach()
unset(_ov_imported_libs)
unset(_ov_as_external_package)
# restore PACKAGE_PREFIX_DIR
@@ -349,3 +565,7 @@ unset(${CMAKE_FIND_PACKAGE_NAME}_IR_FOUND)
unset(${CMAKE_FIND_PACKAGE_NAME}_Paddle_FOUND)
unset(${CMAKE_FIND_PACKAGE_NAME}_ONNX_FOUND)
unset(${CMAKE_FIND_PACKAGE_NAME}_TensorFlow_FOUND)
unset(${CMAKE_FIND_PACKAGE_NAME}_TensorFlowLite_FOUND)
unset(${CMAKE_FIND_PACKAGE_NAME}_PyTorch_FOUND)
cmake_policy(POP)

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")
@@ -56,6 +60,7 @@ find_dependency(OpenVINO
NO_DEFAULT_PATH)
_ov_find_tbb()
_ov_find_pugixml()
foreach(component @openvino_export_components@)
# TODO: remove legacy targets from some tests
@@ -65,58 +70,6 @@ foreach(component @openvino_export_components@)
# endif()
endforeach()
if(ENABLE_SYSTEM_PUGIXML)
set(_ov_pugixml_pkgconfig_interface "@pugixml_FOUND@")
set(_ov_pugixml_cmake_interface "@PugiXML_FOUND@")
if(_ov_pugixml_pkgconfig_interface)
find_dependency(PkgConfig)
elseif(_ov_pugixml_cmake_interface)
find_dependency(PugiXML)
endif()
if(PugiXML_FOUND)
set_property(TARGET pugixml PROPERTY IMPORTED_GLOBAL TRUE)
add_library(openvino::pugixml ALIAS pugixml)
elseif(PkgConfig_FOUND)
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
set(pkg_config_quiet_arg QUIET)
endif()
if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
set(pkg_config_required_arg REQUIRED)
endif()
pkg_search_module(pugixml
${pkg_config_quiet_arg}
${pkg_config_required_arg}
IMPORTED_TARGET GLOBAL
pugixml)
unset(pkg_config_quiet_arg)
unset(pkg_config_required_arg)
if(pugixml_FOUND)
add_library(openvino::pugixml ALIAS PkgConfig::pugixml)
# PATCH: on Ubuntu 18.04 pugixml.pc contains incorrect include directories
get_target_property(interface_include_dir PkgConfig::pugixml INTERFACE_INCLUDE_DIRECTORIES)
if(interface_include_dir AND NOT EXISTS "${interface_include_dir}")
set_target_properties(PkgConfig::pugixml PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "")
endif()
endif()
endif()
# debian 9 case: no cmake, no pkg-config files
if(NOT TARGET openvino::pugixml)
find_library(PUGIXML_LIBRARY NAMES pugixml DOC "Path to pugixml library")
if(PUGIXML_LIBRARY)
add_library(openvino::pugixml INTERFACE IMPORTED GLOBAL)
set_target_properties(openvino::pugixml PROPERTIES INTERFACE_LINK_LIBRARIES "${PUGIXML_LIBRARY}")
else()
message(FATAL_ERROR "Failed to find system pugixml in OpenVINO Developer Package")
endif()
endif()
endif()
# inherit OpenCV from main OpenVINO project if enabled
if ("@OpenCV_FOUND@")
load_cache("${cache_path}" READ_WITH_PREFIX "" OpenCV_DIR)

View File

@@ -1,5 +1,5 @@
# ******************************************************************************
# Copyright 2017-2022 Intel Corporation
# Copyright 2017-2023 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
# ******************************************************************************
#
#
# FindNGraph
# ngraph config file
# ------
#
# This script defines the following variables and imported targets:
@@ -44,7 +44,7 @@ include(CMakeFindDependencyMacro)
find_dependency(OpenVINO
PATHS "${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/ngraph"
"${CMAKE_CURRENT_LIST_DIR}/../openvino${ngraph_VERSION}"
NO_CMAKE_FIND_ROOT_PATH
NO_DEFAULT_PATH)

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

@@ -0,0 +1,19 @@
# Copyright (C) 2018-2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
#
# Prerequisites:
#
# Build platform: Ubuntu
# apt-get install mingw-w64 mingw-w64-tools g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64
#
# Build platform: macOS
# brew install mingw-w64
#
set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
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")

View File

@@ -24,7 +24,7 @@ set(CMAKE_LINKER ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-ld)
set(CMAKE_OBJCOPY ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-objcopy)
set(CMAKE_OBJDUMP ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-objdump)
set(CMAKE_READELF ${RISCV_TOOLCHAIN_ROOT}/bin/riscv64-unknown-linux-gnu-readelf)
set(PKG_CONFIG_EXECUTABLE "NOT-FOUND" CACHE PATH "Path to ARM64 pkg-config")
set(PKG_CONFIG_EXECUTABLE "NOT-FOUND" CACHE PATH "Path to RISC-V pkg-config")
# Don't run the linker on compiler check
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
@@ -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

@@ -0,0 +1,14 @@
# Copyright (C) 2018-2023 Intel Corporation
# 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 x86_64-linux-gnu-pkg-config CACHE PATH "Path to amd64 pkg-config")

31
conanfile.txt Normal file
View File

@@ -0,0 +1,31 @@
[requires]
ade/0.1.2a
onetbb/[>=2021.2.1]
pugixml/[>=1.10]
protobuf/3.21.9
ittapi/[>=3.23.0]
zlib/[>=1.2.8]
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
onnx/1.13.1
nlohmann_json/[>=3.1.1]
pybind11/[>=2.10.1]
flatbuffers/[>=22.9.24]
[tool_requires]
cmake/[>=3.15]
patchelf/[>=0.12]
protobuf/3.21.9
flatbuffers/[>=22.9.24]
[options]
protobuf/*:lite=True
flatbuffers/*:header_only=True
[generators]
CMakeDeps
CMakeToolchain

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

@@ -77,7 +77,7 @@ function(build_docs)
if(ENABLE_OPENVINO_NOTEBOOKS)
set(NBDOC_SCRIPT "${DOCS_SOURCE_DIR}/nbdoc/nbdoc.py")
list(APPEND commands
COMMAND ${PYTHON_EXECUTABLE} "${NBDOC_SCRIPT}" "${RST_OUTPUT}/notebooks"
COMMAND ${PYTHON_EXECUTABLE} "${NBDOC_SCRIPT}" "${DOCS_SOURCE_DIR}/notebooks" "${RST_OUTPUT}/notebooks"
)
endif()

View File

@@ -0,0 +1,76 @@
# Datumaro {#datumaro_documentation}
@sphinxdirective
.. meta::
:description: Start working with Datumaro, which offers functionalities for basic data
import/export, validation, correction, filtration and transformations.
Datumaro provides a suite of basic data import/export (IE) for more than 35 public vision data
formats and manipulation functionalities such as validation, correction, filtration, and some
transformations. To achieve the web-scale training, this further aims to merge multiple
heterogeneous datasets through comparator and merger. Datumaro is integrated into Geti™, OpenVINO™
Training Extensions, and CVAT for the ease of data preparation. Datumaro is open-sourced and
available on `GitHub <https://github.com/openvinotoolkit/datumaro>`__.
Refer to the official `documentation <https://openvinotoolkit.github.io/datumaro/stable/docs/get-started/introduction.html>`__ to learn more.
Plus, enjoy `Jupyter notebooks <https://github.com/openvinotoolkit/datumaro/tree/develop/notebooks>`__ for the real Datumaro practices.
Detailed Workflow
#################
.. image:: ./_static/images/datumaro.png
1. To start working with Datumaro, download public datasets or prepare your own annotated dataset.
.. note::
Datumaro provides a CLI `datum download` for downloading `TensorFlow Datasets <https://www.tensorflow.org/datasets>`__.
2. Import data into Datumaro and manipulate the dataset for the data quality using `Validator`, `Corrector`, and `Filter`.
3. Compare two datasets and transform the label schemas (category information) before merging them.
4. Merge two datasets to a large-scale dataset.
.. note::
There are some choices of merger, i.e., `ExactMerger`, `IntersectMerger`, and `UnionMerger`.
5. Split the unified dataset into subsets, e.g., `train`, `valid`, and `test` through `Splitter`.
.. note::
We can split data with a given ratio of subsets according to both the number of samples or
annotations. Please see `SplitTask` for the task-specific split.
6. Export the cleaned and unified dataset for follow-up workflows such as model training.
Go to :doc:`OpenVINO™ Training Extensions <ote_documentation>`.
If the results are unsatisfactory, add datasets and perform the same steps, starting with dataset annotation.
Datumaro Components
###################
* `Datumaro CLIs <https://openvinotoolkit.github.io/datumaro/stable/docs/command-reference/overview.html>`__
* `Datumaro APIs <https://openvinotoolkit.github.io/datumaro/stable/docs/reference/datumaro_module.html>`__
* `Datumaro data format <https://openvinotoolkit.github.io/datumaro/stable/docs/data-formats/datumaro_format.html>`__
* `Supported data formats <https://openvinotoolkit.github.io/datumaro/stable/docs/data-formats/formats/index.html>`__
Tutorials
#########
* `Basic skills <https://openvinotoolkit.github.io/datumaro/stable/docs/level-up/basic_skills/index.html>`__
* `Intermediate skills <https://openvinotoolkit.github.io/datumaro/stable/docs/level-up/intermediate_skills/index.html>`__
* `Advanced skills <https://openvinotoolkit.github.io/datumaro/stable/docs/level-up/advanced_skills/index.html>`__
Python Hands-on Examples
########################
* `Data IE <https://openvinotoolkit.github.io/datumaro/stable/docs/jupyter_notebook_examples/dataset_IO.html>`__
* `Data manipulation <https://openvinotoolkit.github.io/datumaro/stable/docs/jupyter_notebook_examples/manipulate.html>`__
* `Data exploration <https://openvinotoolkit.github.io/datumaro/stable/docs/jupyter_notebook_examples/explore.html>`__
* `Data refinement <https://openvinotoolkit.github.io/datumaro/stable/docs/jupyter_notebook_examples/refine.html>`__
* `Data transformation <https://openvinotoolkit.github.io/datumaro/stable/docs/jupyter_notebook_examples/transform.html>`__
* `Deep learning end-to-end use-cases <https://openvinotoolkit.github.io/datumaro/stable/docs/jupyter_notebook_examples/e2e_example.html>`__
@endsphinxdirective

View File

@@ -1,33 +0,0 @@
# Running and Deploying Inference {#openvino_docs_deployment_guide_introduction}
@sphinxdirective
.. toctree::
:maxdepth: 1
:hidden:
Run and Deploy Locally <openvino_deployment_guide>
Deploy via Model Serving <ovms_what_is_openvino_model_server>
Once you have a model that meets both OpenVINO™ and your requirements, you can choose how to deploy it with your application.
.. panels::
:doc:`Deploy via OpenVINO Runtime <openvino_deployment_guide>`
^^^^^^^^^^^^^^
Local deployment uses OpenVINO Runtime that is called from, and linked to, the application directly.
It utilizes resources available to the system and provides the quickest way of launching inference.
---
:doc:`Deploy via Model Server <ovms_what_is_openvino_model_server>`
^^^^^^^^^^^^^^
Deployment via OpenVINO Model Server allows the application to connect to the inference server set up remotely.
This way inference can use external resources instead of those available to the application itself.
Apart from the default deployment options, you may also :doc:`deploy your application for the TensorFlow framework with OpenVINO Integration <ovtf_integration>`
@endsphinxdirective

View File

@@ -17,7 +17,7 @@ OpenVINO Runtime offers multiple inference modes to allow optimum hardware utili
The remaining modes assume certain levels of automation in selecting devices for inference. Using them in the deployed solution may potentially increase its performance and portability. The automated modes are:
* :doc:`Automatic Device Selection (AUTO) <openvino_docs_OV_UG_supported_plugins_AUTO>`
* :doc:``Multi-Device Execution (MULTI) <openvino_docs_OV_UG_Running_on_multiple_devices>`
* :doc:`Multi-Device Execution (MULTI) <openvino_docs_OV_UG_Running_on_multiple_devices>`
* :doc:`Heterogeneous Execution (HETERO) <openvino_docs_OV_UG_Hetero_execution>`
* :doc:`Automatic Batching Execution (Auto-batching) <openvino_docs_OV_UG_Automatic_Batching>`

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Explore OpenCV Graph API and other media processing frameworks
used for development of computer vision solutions.
.. toctree::
:maxdepth: 1

View File

@@ -1,6 +1,11 @@
# Model Preparation {#openvino_docs_model_processing_introduction}
@sphinxdirective
.. meta::
:description: Preparing models for OpenVINO Runtime. Learn how to convert and compile models from different frameworks or read them directly.
.. toctree::
:maxdepth: 1
:hidden:
@@ -10,22 +15,48 @@
omz_tools_downloader
Every deep learning workflow begins with obtaining a model. You can choose to prepare a custom one, use a ready-made solution and adjust it to your needs, or even download and run a pre-trained network from an online database, such as OpenVINO's :doc:`Open Model Zoo <model_zoo>`.
Every deep learning workflow begins with obtaining a model. You can choose to prepare a custom one, use a ready-made solution and adjust it to your needs, or even download and run a pre-trained network from an online database, such as `TensorFlow Hub <https://tfhub.dev/>`__, `Hugging Face <https://huggingface.co/>`__, `Torchvision models <https://pytorch.org/hub/>`__.
:doc:`OpenVINO™ supports several model formats <Supported_Model_Formats>` and allows to convert them to it's own, OpenVINO IR, providing a tool dedicated to this task.
:doc:`OpenVINO™ supports several model formats <Supported_Model_Formats>` and allows converting them to it's own, `openvino.runtime.Model <api/ie_python_api/_autosummary/openvino.runtime.Model.html>`__ (`ov.Model <api/ie_python_api/_autosummary/openvino.runtime.Model.html>`__ ), providing a tool dedicated to this task.
:doc:`Model Optimizer <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>` reads the original model and creates the OpenVINO IR model (.xml and .bin files) so that inference can ultimately be performed without delays due to format conversion. Optionally, Model Optimizer can adjust the model to be more suitable for inference, for example, by :doc:`alternating input shapes <openvino_docs_MO_DG_prepare_model_convert_model_Converting_Model>`, :doc:`embedding preprocessing <openvino_docs_MO_DG_Additional_Optimization_Use_Cases>` and :doc:`cutting training parts off <openvino_docs_MO_DG_prepare_model_convert_model_Cutting_Model>`.
There are several options to convert a model from original framework to OpenVINO model format (``ov.Model``).
The approach to fully convert a model is considered the default choice, as it allows the full extent of OpenVINO features. The OpenVINO IR model format is used by other conversion and preparation tools, such as the Post-Training Optimization Tool, for further optimization of the converted model.
The ``read_model()`` method reads a model from a file and produces ``ov.Model``. If the file is in one of the supported original framework file formats, it is converted automatically to OpenVINO Intermediate Representation. If the file is already in the OpenVINO IR format, it is read "as-is", without any conversion involved. ``ov.Model`` can be serialized to IR using the ``ov.serialize()`` method. The serialized IR can be further optimized using :doc:`Neural Network Compression Framework (NNCF) <ptq_introduction>` that applies post-training quantization methods.
Conversion is not required for ONNX, PaddlePaddle, TensorFlow Lite and TensorFlow models (check :doc:`TensorFlow Frontend Capabilities and Limitations <openvino_docs_MO_DG_TensorFlow_Frontend>`), as OpenVINO provides C++ and Python APIs for importing them to OpenVINO Runtime directly. It provides a convenient way to quickly switch from framework-based code to OpenVINO-based code in your inference application.
Convert a model in Python
######################################
Model conversion API, specifically, the ``mo.convert_model()`` method converts a model from original framework to ``ov.Model``. ``mo.convert_model()`` returns ``ov.Model`` object in memory so the ``read_model()`` method is not required. The resulting ``ov.Model`` can be inferred in the same training environment (python script or Jupiter Notebook). ``mo.convert_model()`` provides a convenient way to quickly switch from framework-based code to OpenVINO-based code in your inference application. In addition to model files, ``mo.convert_model()`` can take OpenVINO extension objects constructed directly in Python for easier conversion of operations that are not supported in OpenVINO. The ``mo.convert_model()`` method also has a set of parameters to :doc:`cut the model <openvino_docs_MO_DG_prepare_model_convert_model_Cutting_Model>`, :doc:`set input shapes or layout <openvino_docs_MO_DG_prepare_model_convert_model_Converting_Model>`, :doc:`add preprocessing <openvino_docs_MO_DG_Additional_Optimization_Use_Cases>`, etc.
.. image:: _static/images/model_conversion_diagram.svg
:alt: model conversion diagram
Convert a model with ``mo`` command-line tool
#############################################
Another option to convert a model is to use ``mo`` command-line tool. ``mo`` is a cross-platform tool that facilitates the transition between training and deployment environments, performs static model analysis, and adjusts deep learning models for optimal execution on end-point target devices in the same measure, as the ``mo.convert_model`` method.
``mo`` requires the use of a pre-trained deep learning model in one of the supported formats: TensorFlow, TensorFlow Lite, PaddlePaddle, or ONNX. ``mo`` converts the model to the OpenVINO Intermediate Representation format (IR), which needs to be read with the ``ov.read_model()`` method. Then, you can compile and infer the ``ov.Model`` later with :doc:`OpenVINO™ Runtime <openvino_docs_OV_UG_OV_Runtime_User_Guide>`.
The figure below illustrates the typical workflow for deploying a trained deep learning model:
.. image:: _static/images/BASIC_FLOW_MO_simplified.svg
where IR is a pair of files describing the model:
* ``.xml`` - Describes the network topology.
* ``.bin`` - Contains the weights and biases binary data.
Model files (not Python objects) from ONNX, PaddlePaddle, TensorFlow and TensorFlow Lite (check :doc:`TensorFlow Frontend Capabilities and Limitations <openvino_docs_MO_DG_TensorFlow_Frontend>`) do not require a separate step for model conversion, that is ``mo.convert_model``. OpenVINO provides C++ and Python APIs for importing the models to OpenVINO Runtime directly by just calling the ``read_model`` method.
The results of both ``mo`` and ``mo.convert_model()`` conversion methods described above are the same. You can choose one of them, depending on what is most convenient for you. Keep in mind that there should not be any differences in the results of model conversion if the same set of parameters is used.
This section describes how to obtain and prepare your model for work with OpenVINO to get the best inference results:
* :doc:`See the supported formats and how to use them in your project <Supported_Model_Formats>`.
* :doc:`Convert different model formats to the OpenVINO IR format <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>`.
* `Automate model-related tasks with Model Downloader and additional OMZ Tools <https://docs.openvino.ai/latest/omz_tools_downloader.html>`__.
To begin with, you may want to :doc:`browse a database of models for use in your projects <model_zoo>`.
* :doc:`Convert different model formats to the ov.Model format <openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide>`.
@endsphinxdirective

View File

@@ -2,21 +2,24 @@
@sphinxdirective
.. meta::
:description: OpenVINO™ is an ecosystem of utilities that have advanced capabilities, which help develop deep learning solutions.
.. toctree::
:maxdepth: 1
:hidden:
ote_documentation
ovtf_integration
datumaro_documentation
ovsa_get_started
openvino_inference_engine_tools_compile_tool_README
openvino_docs_tuning_utilities
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)
###########################################
**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.
@@ -27,8 +30,7 @@ More resources:
* `PyPI <https://pypi.org/project/nncf/>`__
OpenVINO™ Training Extensions
#############################
**OpenVINO™ Training Extensions**
A convenient environment to train Deep Learning models and convert them using the OpenVINO™ toolkit for optimized inference.
@@ -38,71 +40,60 @@ 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
#########################
**OpenVINO™ Security Add-on**
A solution for Model Developers and Independent Software Vendors to use secure packaging and secure model execution.
More resources:
* `Documentation <https://docs.openvino.ai/latest/ovsa_get_started.html>`__
* :doc:`Documentation <ovsa_get_started>`
* `GitHub <https://github.com/openvinotoolkit/security_addon>`__
OpenVINO™ integration with TensorFlow (OVTF)
############################################
A solution empowering TensorFlow developers with OpenVINO's optimization capabilities. With just two lines of code in your application, you can offload inference to OpenVINO, while keeping the TensorFlow API.
More resources:
* `Documentation <https://github.com/openvinotoolkit/openvino_tensorflow>`__
* `PyPI <https://pypi.org/project/openvino-tensorflow/>`__
* `GitHub <https://github.com/openvinotoolkit/openvino_tensorflow>`__
DL Streamer
###########
A streaming media analytics framework, based on the GStreamer multimedia framework, for creating complex media analytics pipelines.
More resources:
* `Documentation on GitHub <https://dlstreamer.github.io/index.html>`__
* `Installation Guide on GitHub <https://github.com/openvinotoolkit/dlstreamer_gst/wiki/Install-Guide>`__
DL Workbench
############
A web-based tool for deploying deep learning models. Built on the core of OpenVINO and equipped with a graphics user interface, DL Workbench is a great way to explore the possibilities of the OpenVINO workflow, import, analyze, optimize, and build your pre-trained models. You can do all that by visiting `Intel® Developer Cloud <https://software.intel.com/content/www/us/en/develop/tools/devcloud.html>`__ and launching DL Workbench online.
More resources:
* `Documentation <https://docs.openvino.ai/2022.3/workbench_docs_Workbench_DG_Introduction.html>`__
* `Docker Hub <https://hub.docker.com/r/openvino/workbench>`__
* `PyPI <https://pypi.org/project/openvino-workbench/>`__
Computer Vision Annotation Tool (CVAT)
######################################
An online, interactive video and image annotation tool for computer vision purposes.
More resources:
* `Documentation on GitHub <https://opencv.github.io/cvat/docs/>`__
* `Web application <https://www.cvat.ai/>`__
* `Docker Hub <https://hub.docker.com/r/openvino/cvat_server>`__
* `GitHub <https://github.com/openvinotoolkit/cvat>`__
Dataset Management Framework (Datumaro)
#######################################
**Dataset Management Framework (Datumaro)**
A framework and CLI tool to build, transform, and analyze datasets.
More resources:
* `Documentation on GitHub <https://openvinotoolkit.github.io/datumaro/docs/>`__
* :doc:`Overview <datumaro_documentation>`
* `PyPI <https://pypi.org/project/datumaro/>`__
* `GitHub <https://github.com/openvinotoolkit/datumaro>`__
* `Documentation <https://openvinotoolkit.github.io/datumaro/stable/docs/get-started/introduction.html>`__
**Compile Tool**
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-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/export_compiled_model.py
:language: python
:fragment: [export_compiled_model]
.. tab-item:: C++
:sync: cpp
.. 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>`.
For more details on preprocessing steps, refer to the :doc:`Optimize Preprocessing <openvino_docs_OV_UG_Preprocessing_Overview>`. To compile the model with advanced preprocessing capabilities, refer to the :doc:`Use Case - Integrate and Save Preprocessing Steps Into OpenVINO IR <openvino_docs_OV_UG_Preprocess_Usecase_save>`, which shows how to have all the preprocessing in the compiled blob.
**DL Workbench**
A web-based tool for deploying deep learning models. Built on the core of OpenVINO and equipped with a graphics user interface, DL Workbench is a great way to explore the possibilities of the OpenVINO workflow, import, analyze, optimize, and build your pre-trained models. You can do all that by visiting `Intel® Developer Cloud <https://software.intel.com/content/www/us/en/develop/tools/devcloud.html>`__ and launching DL Workbench online.
**OpenVINO™ integration with TensorFlow (OVTF)**
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

@@ -1,55 +0,0 @@
# OpenVINO™ integration with TensorFlow {#ovtf_integration}
@sphinxdirective
**OpenVINO™ integration with TensorFlow** is a solution for TensorFlow developers who want to get started with OpenVINO™ in their inferencing applications. By adding just two lines of code you can now take advantage of OpenVINO™ toolkit optimizations with TensorFlow inference applications across a range of Intel® computation devices.
This is all you need:
.. code-block:: bash
import openvino_tensorflow
openvino_tensorflow.set_backend('<backend_name>')
**OpenVINO™ integration with TensorFlow** accelerates inference across many AI models on a variety of Intel® technologies, such as:
* Intel® CPUs
* Intel® integrated GPUs
.. note::
For maximum performance, efficiency, tooling customization, and hardware control, we recommend developers to adopt native OpenVINO™ solutions.
To find out more about the product itself, as well as learn how to use it in your project, check its dedicated `GitHub repository <https://github.com/openvinotoolkit/openvino_tensorflow/tree/master/docs>`__.
To see what you can do with **OpenVINO™ integration with TensorFlow**, explore the demos located in the `examples folder <https://github.com/openvinotoolkit/openvino_tensorflow/tree/master/examples>`__ in our GitHub repository.
Sample tutorials are also hosted on `Intel® DevCloud <https://www.intel.com/content/www/us/en/developer/tools/devcloud/edge/build/ovtfoverview.html>`__. The demo applications are implemented using Jupyter Notebooks. You can interactively execute them on Intel® DevCloud nodes, compare the results of **OpenVINO™ integration with TensorFlow**, native TensorFlow, and OpenVINO™.
License
#######
**OpenVINO™ integration with TensorFlow** is licensed under `Apache License Version 2.0 <https://github.com/openvinotoolkit/openvino_tensorflow/blob/master/LICENSE>`__.
By contributing to the project, you agree to the license and copyright terms therein
and release your contribution under these terms.
Support
#######
Submit your questions, feature requests and bug reports via `GitHub issues <https://github.com/openvinotoolkit/openvino_tensorflow/issues>`__.
How to Contribute
#################
We welcome community contributions to **OpenVINO™ integration with TensorFlow**. If you have an idea for improvement:
* Share your proposal via `GitHub issues <https://github.com/openvinotoolkit/openvino_tensorflow/issues>`__.
* Submit a `pull request <https://github.com/openvinotoolkit/openvino_tensorflow/pulls>`__.
We will review your contribution as soon as possible. If any additional fixes or modifications are necessary, we will guide you and provide feedback. Before you make your contribution, make sure you can build **OpenVINO™ integration with TensorFlow** and run all the examples with your fix/patch. If you want to introduce a large feature, create test cases for your feature. Upon our verification of your pull request, we will merge it to the repository provided that the pull request has met the above mentioned requirements and proved acceptable.
\* Other names and brands may be claimed as the property of others.
@endsphinxdirective

View File

@@ -1,6 +1,12 @@
# OpenVINO™ Training Extensions {#ote_documentation}
@sphinxdirective
@sphinxdirective
.. meta::
:description: OpenVINO™ Training Extensions include advanced algorithms used
to create, train and convert deep learning models with OpenVINO
Toolkit for optimized inference.
OpenVINO™ Training Extensions provide a suite of advanced algorithms to train
Deep Learning models and convert them using the `OpenVINO™
@@ -19,21 +25,22 @@ Detailed Workflow
.. note::
Prepare a separate dataset or split the dataset you have for more accurate quality evaluation.
3. Having successful evaluation results received, you have an opportunity to deploy your model or continue optimizing it, using NNCF and POT. For more information about these frameworks, go to :doc:`Optimization Guide <openvino_docs_model_optimization_guide>`.
3. Having successful evaluation results received, you have an opportunity to deploy your model or continue optimizing it, using NNCF. For more information about these frameworks, go to :doc:`Optimization Guide <openvino_docs_model_optimization_guide>`.
If the results are unsatisfactory, add datasets and perform the same steps, starting with dataset annotation.
OpenVINO Training Extensions Components
#######################################
- `OpenVINO Training Extensions SDK <https://github.com/openvinotoolkit/training_extensions/tree/master/ote_sdk>`__
- `OpenVINO Training Extensions CLI <https://github.com/openvinotoolkit/training_extensions/tree/master/ote_cli>`__
- `OpenVINO Training Extensions Algorithms <https://github.com/openvinotoolkit/training_extensions/tree/master/external>`__
* `OpenVINO Training Extensions API <https://github.com/openvinotoolkit/training_extensions/tree/develop/otx/api>`__
* `OpenVINO Training Extensions CLI <https://github.com/openvinotoolkit/training_extensions/tree/develop/otx/cli>`__
* `OpenVINO Training Extensions Algorithms <https://github.com/openvinotoolkit/training_extensions/tree/develop/otx/algorithms>`__
Tutorials
#########
`Object Detection <https://github.com/openvinotoolkit/training_extensions/blob/master/ote_cli/notebooks/train.ipynb>`__
* `Base tutorial <https://openvinotoolkit.github.io/training_extensions/stable/guide/tutorials/base/index.html>`__
* `Advanced tutorial <https://openvinotoolkit.github.io/training_extensions/stable/guide/tutorials/advanced/index.html>`__
@endsphinxdirective

View File

@@ -3,22 +3,45 @@
@sphinxdirective
.. meta::
:description: OpenVINO toolkit workflow usually involves preparation,
optimization, and compression of models, running inference and
deploying deep learning applications.
.. toctree::
:maxdepth: 1
:hidden:
Model Preparation <openvino_docs_model_processing_introduction>
Model Optimization and Compression <openvino_docs_model_optimization_guide>
Running and Deploying Inference <openvino_docs_deployment_guide_introduction>
Running Inference <openvino_docs_OV_UG_OV_Runtime_User_Guide>
Deployment on a Local System <openvino_deployment_guide>
Deployment on a Model Server <ovms_what_is_openvino_model_server>
| :doc:`Model Preparation <openvino_docs_model_processing_introduction>`
| With Model Downloader and Model Optimizer guides, you will learn to download pre-trained models and convert them for use with OpenVINO™. You can use your own models or choose some from a broad selection provided in the Open Model Zoo.
| With model conversion API guide, you will learn to convert pre-trained models for use with OpenVINO™. You can use your own models or choose some from a broad selection in online databases, such as `TensorFlow Hub <https://tfhub.dev/>`__, `Hugging Face <https://huggingface.co/>`__, `Torchvision models <https://pytorch.org/hub/>`__..
| :doc:`Model Optimization and Compression <openvino_docs_model_optimization_guide>`
| In this section you will find out how to optimize a model to achieve better inference performance. It describes multiple optimization methods for both the training and post-training stages.
| :doc:`Deployment <openvino_docs_deployment_guide_introduction>`
| This section explains the process of deploying your own inference application using either OpenVINO Runtime or OpenVINO Model Server. It describes how to run inference which is the most basic form of deployment and the quickest way of launching inference.
| :doc:`Running Inference <openvino_docs_OV_UG_OV_Runtime_User_Guide>`
| This section explains describes how to run inference which is the most basic form of deployment and the quickest way of launching inference.
Once you have a model that meets both OpenVINO™ and your requirements, you can choose how to deploy it with your application.
| :doc:`Option 1. Deployment via OpenVINO Runtime <openvino_deployment_guide>`
| Local deployment uses OpenVINO Runtime that is called from, and linked to, the application directly.
| It utilizes resources available to the system and provides the quickest way of launching inference.
| Deployment on a local system requires performing the steps from the running inference section.
| :doc:`Option 2. Deployment via Model Server <ovms_what_is_openvino_model_server>`
| Deployment via OpenVINO Model Server allows the application to connect to the inference server set up remotely.
| This way inference can use external resources instead of those available to the application itself.
| Deployment on a model server can be done quickly and without performing any additional steps described in the running inference section.
@endsphinxdirective

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Learn the details of custom kernel support for the GPU device to
enable operations not supported by OpenVINO.
To enable operations not supported by OpenVINO™ out of the box, you may need an extension for OpenVINO operation set, and a custom kernel for the device you will target. This article describes custom kernel support for the GPU device.
The GPU codepath abstracts many details about OpenCL. You need to provide the kernel code in OpenCL C and an XML configuration file that connects the kernel and its parameters to the parameters of the operation.
@@ -13,18 +18,20 @@ There are two options for using the custom operation configuration file:
.. tab-set::
.. tab-item:: C++
.. doxygensnippet:: docs/snippets/gpu/custom_kernels_api.cpp
:language: cpp
:fragment: [part0]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/gpu/custom_kernels_api.py
:language: python
:fragment: [part0]
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/gpu/custom_kernels_api.cpp
:language: cpp
:fragment: [part0]
All OpenVINO samples, except the trivial ``hello_classification``, and most Open Model Zoo demos
feature a dedicated command-line option ``-c`` to load custom kernels. For example, to load custom operations for the classification sample, run the command below:
@@ -235,7 +242,8 @@ Example Configuration File
The following code sample provides an example configuration file in XML
format. For information on the configuration file structure, see the `Configuration File Format <#config-file-format>`__.
.. code-block:: cpp
.. code-block:: xml
:force:
<CustomLayer name="ReLU" type="SimpleGPU" version="1">
<Kernel entry="example_relu_kernel">

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Explore OpenVINO™ Extensibility API, which allows adding
support for models with custom operations and their further implementation
in applications.
.. toctree::
:maxdepth: 1
:hidden:
@@ -9,7 +14,6 @@
openvino_docs_Extensibility_UG_add_openvino_ops
openvino_docs_Extensibility_UG_Frontend_Extensions
openvino_docs_Extensibility_UG_GPU
openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer
.. toctree::
:maxdepth: 1
@@ -18,14 +22,20 @@
openvino_docs_transformations
OpenVINO Plugin Developer Guide <openvino_docs_ie_plugin_dg_overview>
The Intel® Distribution of OpenVINO™ toolkit supports neural network models trained with various frameworks, including
TensorFlow, PyTorch, ONNX, TensorFlow Lite, PaddlePaddle, Apache MXNet, Caffe, and Kaldi. The list of supported operations is different for
each of the supported frameworks. To see the operations supported by your framework, refer to :doc:`Supported Framework Operations <openvino_docs_MO_DG_prepare_model_Supported_Frameworks_Layers>`.
.. toctree::
:maxdepth: 1
:hidden:
openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer
The Intel® Distribution of OpenVINO™ toolkit supports neural-network models trained with various frameworks, including
TensorFlow, PyTorch, ONNX, TensorFlow Lite, and PaddlePaddle (OpenVINO support for Apache MXNet, Caffe, and Kaldi is currently
being deprecated and will be removed entirely in the future). The list of supported operations is different for each of the supported frameworks.
To see the operations supported by your framework, refer to :doc:`Supported Framework Operations <openvino_resources_supported_operations_frontend>`.
Custom operations, which are not included in the list, are not recognized by OpenVINO out-of-the-box. The need for custom operation may appear in two cases:
1. A new or rarely used regular framework operation is not supported in OpenVINO yet.
2. A new user operation that was created for some specific model topology by the author of the model using framework extension capabilities.
Importing models with such operations requires additional steps. This guide illustrates the workflow for running inference on models featuring custom operations. This allows plugging in your own implementation for them. OpenVINO Extensibility API enables adding support for those custom operations and using one implementation for Model Optimizer and OpenVINO Runtime.
@@ -54,9 +64,9 @@ Mapping of custom operation is implemented differently, depending on model forma
1. If a model is represented in the ONNX (including models exported from Pytorch in ONNX), TensorFlow Lite, PaddlePaddle or TensorFlow formats, then one of the classes from :doc:`Frontend Extension API <openvino_docs_Extensibility_UG_Frontend_Extensions>` should be used. It consists of several classes available in C++ which can be used with the ``--extensions`` option in Model Optimizer or when a model is imported directly to OpenVINO runtime using the ``read_model`` method. Python API is also available for runtime model import.
2. If a model is represented in the Caffe, Kaldi or MXNet formats, then :doc:`Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer>` should be used. This approach is available for model conversion in Model Optimizer only.
2. If a model is represented in the Caffe, Kaldi or MXNet formats (as legacy frontends), then :doc:`[Legacy] Model Optimizer Extensions <openvino_docs_MO_DG_prepare_model_customize_model_optimizer_Customize_Model_Optimizer>` should be used. This approach is available for model conversion in Model Optimizer only.
Existing of two approaches simultaneously is explained by two different types of frontends used for model conversion in OpenVINO: new frontends (ONNX, PaddlePaddle, TensorFlow Lite and TensorFlow) and legacy frontends (Caffe, Kaldi and Apache MXNet). Model Optimizer can use both front-ends in contrast to the direct import of model with ``read_model`` method which can use new frontends only. Follow one of the appropriate guides referenced above to implement mappings depending on framework frontend.
Existing of two approaches simultaneously is explained by two different types of frontends used for model conversion in OpenVINO: new frontends (ONNX, PaddlePaddle, TensorFlow Lite, and TensorFlow) and legacy frontends (Caffe, Kaldi, and Apache MXNet). Model Optimizer can use both frontends in contrast to the direct import of model with ``read_model`` method which can use new frontends only. Follow one of the appropriate guides referenced above to implement mappings depending on framework frontend.
If you are implementing extensions for new ONNX, PaddlePaddle, TensorFlow Lite or TensorFlow frontends and plan to use the ``--extensions`` option in Model Optimizer for model conversion, then the extensions should be:
@@ -85,6 +95,13 @@ Extensions can be loaded from a code with the ``:ref:`ov::Core::add_extension <
.. tab-set::
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [add_extension]
.. tab-item:: C++
:sync: cpp
@@ -92,18 +109,18 @@ Extensions can be loaded from a code with the ``:ref:`ov::Core::add_extension <
:language: cpp
:fragment: [add_extension]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [add_extension]
The ``Identity`` is a custom operation class defined in :doc:`Custom Operation Guide <openvino_docs_Extensibility_UG_add_openvino_ops>`. This is sufficient to enable reading OpenVINO IR which uses the ``Identity`` extension operation emitted by Model Optimizer. In order to load original model directly to the runtime, add a mapping extension:
.. tab-set::
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [add_frontend_extension]
.. tab-item:: C++
:sync: cpp
@@ -111,16 +128,11 @@ The ``Identity`` is a custom operation class defined in :doc:`Custom Operation G
:language: cpp
:fragment: [add_frontend_extension]
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [add_frontend_extension]
When Python API is used, there is no way to implement a custom OpenVINO operation. Even if custom OpenVINO operation is implemented in C++ and loaded into the runtime by a shared library, there is still no way to add a frontend mapping extension that refers to this custom operation. In this case, use C++ shared library approach to implement both operations semantics and framework mapping.
Python can still be used to map and decompose operations when only operations from the standard OpenVINO operation set are used.
.. _create_a_library_with_extensions:
Create a Library with Extensions
++++++++++++++++++++++++++++++++
@@ -165,13 +177,6 @@ This CMake script finds OpenVINO, using the ``find_package`` CMake command.
.. tab-set::
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [add_extension_lib]
.. tab-item:: Python
:sync: py
@@ -179,6 +184,13 @@ This CMake script finds OpenVINO, using the ``find_package`` CMake command.
:language: python
:fragment: [add_extension_lib]
.. tab-item:: C++
:sync: cpp
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [add_extension_lib]
See Also
########

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Explore OpenVINO™ Extension API which enables registering
custom operations to support models with operations
not supported by OpenVINO.
OpenVINO™ Extension API allows you to register custom operations to support models with operations which OpenVINO™ does not support out-of-the-box. This capability requires writing code in C++, so if you are using Python to develop your application you need to build a separate shared library implemented in C++ first and load it in Python using ``add_extension`` API. Please refer to :ref:`Create library with extensions <create_library_with_extensions>` for more details on library creation and usage. The remining part of this document describes how to implement an operation class.
Operation Class

View File

@@ -2,6 +2,12 @@
@sphinxdirective
.. meta::
:description: Learn how to use frontend extension classes to facilitate the mapping
of custom operations from the framework model representation to the OpenVINO
representation.
The goal of this chapter is to explain how to use Frontend extension classes to facilitate
mapping of custom operations from framework model representation to OpenVINO representation.
Refer to :doc:`Introduction to OpenVINO Extension <openvino_docs_Extensibility_UG_Intro>` to
@@ -19,6 +25,11 @@ guide.
operation that is a placeholder for your real custom operation. You can review the complete code,
which is fully compilable, to see how it works.
.. note::
You can find more examples of extensions in `openvino_contrib repository <https://github.com/openvinotoolkit/openvino_contrib/tree/master/modules/custom_operations>`_.
Single Operation Mapping with OpExtension
#########################################
@@ -83,6 +94,13 @@ In this case, you can directly say that 'MyRelu' -> ``Relu`` mapping should be u
.. tab-set::
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [py_frontend_extension_MyRelu]
.. tab-item:: C++
:sync: cpp
@@ -90,13 +108,6 @@ In this case, you can directly say that 'MyRelu' -> ``Relu`` mapping should be u
:language: cpp
:fragment: [frontend_extension_MyRelu]
.. tab-item:: Python
:sync: python
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [py_frontend_extension_MyRelu]
In the resulting converted OpenVINO model, “MyRelu” operation will be replaced by the standard operation
``Relu`` from the latest available OpenVINO operation set. Notice that when standard operation is used,
@@ -108,10 +119,18 @@ as it was demonstrated with ``TemplateExtension::Identity``.
Attribute Mapping
++++++++++++++++++
As described above, ``OpExtension`` is useful when attributes can be mapped one by one or initialized by a constant.
As described above, ``OpExtension`` is useful when attributes can be mapped one by one or initialized by a constant.
Attributes in OpenVINO operators are identified by their names, so for frameworks that also have named attributes (like TensorFlow, PaddlePaddle, ONNX),
you can specify name to name mapping. For frameworks where OpenVINO operator's attributes can be mapped to one of the framework
operator inputs (like PyTorch), there's a name to input index mapping.
Named attributes mapping
^^^^^^^^^^^^^^^^^^^^^^^^
If the set of attributes in framework representation and OpenVINO representation completely match by their names and types,
nothing should be specified in OpExtension constructor parameters. The attributes are discovered and mapped
automatically based on ``visit_attributes`` method that should be defined for any OpenVINO operation.
no attribute mapping has to be specified in OpExtension constructor parameters. The attributes are discovered and mapped automatically
based on ``visit_attributes`` method that should be defined for any OpenVINO operation.
Imagine you have CustomOperation class implementation that has two attributes with names: ``attr1`` and ``attr2``.
@@ -119,14 +138,15 @@ Imagine you have CustomOperation class implementation that has two attributes wi
:language: cpp
:fragment: [frontend_extension_CustomOperation]
And the original model in the framework representation also has operation named “CustomOperation with the same
And original model in framework representation also has operation with name ``CustomOperation`` with the same
``attr1`` and ``attr2`` attributes. Then with the following code:
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_CustomOperation_as_is]
Both ``attr1`` and ``attr2`` are copied from framework representation to OpenVINO representation automatically.
Both ``attr1`` and ``attr2`` are copied from framework representation to OpenVINO representation automatically.
If for some reason names of attributes are different but values still can be copied “as-is” you can pass attribute
names mapping in ``OpExtension`` constructor:
@@ -144,48 +164,123 @@ to achieve that do the following:
:language: cpp
:fragment: [frontend_extension_CustomOperation_rename_set]
So the conclusion is that each attribute of target OpenVINO operation should be initialized either by
1. Setting automatically due to name matching
2. Mapped by attribute name
3. Set to a constant value
This is achieved by specifying maps as arguments for `OpExtension` constructor.
This is achieved by specifying maps as arguments for ``OpExtension`` constructor.
Attribute mapping with named inputs and outputs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mappings in previous examples assume that inputs and outputs of an operator in framework model representation come
with a particular order so you can directly map framework operation input ``0`` to OpenVINO operation input ``0`` and so on.
That's not always the case, for frameworks like PaddlePaddle, operation inputs and outputs are identified by their names
and may be defined in any order. So to map it to OpenVINO operation inputs and outputs, you have to specify that order yourself.
This can be done by creating two vector of strings, one for input and one for output, where framework operation
input name at position ``i`` maps to OpenVINO operation input at position ``i`` (and similarly for outputs).
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 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.
Given that, such custom operation can be registered by the following:
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_CustomOperation_as_is_paddle]
Second example shows how to map the operation with named inputs and outputs, but when names of attributes are different:
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_CustomOperation_rename_paddle]
and the last one shows how to map the operation with named inputs and outputs, but when (in order to correctly map framework
operation to OpenVINO operation) one of the attributes has to be set to predefined value:
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_CustomOperation_rename_set_paddle]
Mapping attributes from operation inputs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For models (like PyTorch models), where operations have attributes on the input list, you can specify name to input index mapping.
For example, imagine you have created a custom OpenVINO operation that implements a variant of ELU activation function
with two attributes ``alpha`` and ``beta``:
.. math::
CustomElu=\left\lbrace
\begin{array}{ll}
beta * x & \textrm{if x > 0} \newline
alpha * (exp(x) - 1) & \textrm{otherwise}
\end{array}
\right.
Below is a snippet of ``CustomElu`` class showing how to define its attributes:
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_framework_map_CustomElu]
Let's see an example of how you can map ``CustomElu`` to PyTorch `aten::elu <https://pytorch.org/docs/stable/generated/torch.nn.functional.elu.html>`_
(note that if ``beta`` is equal to ``1``, ``CustomElu`` works the same as ``aten::elu``).
``aten::elu`` has ``alpha`` attribute second on the input list, but it doesn't have ``beta``.
So in order to map it to ``CustomElu`` you can use the following:
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_framework_map_CustomElu_mapping]
This will map ``alpha`` to the second input and map ``beta`` attribute to constant value ``1.0f``.
Such created extension can be used, e.g. in dynamic library, please refer to :ref:`Create a library with extensions <create_a_library_with_extensions>`.
Mapping custom operations to frontends with OPENVINO_FRAMEWORK_MAP macro
---------------------------------------------------------------------------
########################################################################
.. note::
Below solution works only for ONNX and Tensorflow frontends.
``OPENVINO_FRAMEWORK_MAP`` is a macro that should be used inside OpenVINO operation's class definition and that lets you specify
the mapping between this operation to a frontend operation.
``OPENVINO_FRAMEWORK_MAP`` is a macro that should be used inside OpenVINO operation's class definition
and that lets you specify the mapping between this operation to a frontend operation.
Let's consider the following example. Imagine you have an ONNX model with ``CustomOp`` operation (and this operation has ``mode`` attribute),
a TensorFlow model with ``CustomOpV3`` operation (this operation has ``axis`` attribute) and a PaddlePaddle model with ``CustomOp`` (with ``mode`` attribute)
that has input named "X" and output named "Out" and all of them can be implemented with a single OpenVINO operation ``CustomOp`` like follows:
Let's consider the following example. Imagine you have an ONNX model with ``CustomOp`` operation
(and this operation has ``mode`` attribute) and a Tensorflow model with ``CustomOpV3`` operation
(this operation has ``axis`` attribute) and both of them can be implemented with a single OpenVINO
operation ``CustomOp`` like follows:
.. doxygensnippet:: ov_extensions.cpp
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_framework_map_macro_headers]
.. doxygensnippet:: ov_extensions.cpp
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_framework_map_macro_CustomOp]
Let's take a closer look at the parameters this macro takes (note that there are two flavors - the second one is to map
for PaddlePaddle operations where input and output names have to be specified).
Let's take a closer look at the parameters this macro takes:
.. code-block::cpp
.. code-block:: cpp
OPENVINO_FRAMEWORK_MAP(framework, name, attributes_map, attributes_values)
OPENVINO_FRAMEWORK_MAP(framework, input_names, output_names, name, attributes_map, attributes_values)
- ``framework`` - framework name.
- ``name`` - the framework operation name. It's optional if the OpenVINO custom operation name
(that is the name that is passed as the first parameter to `OPENVINO_OP` macro) is the
same as the framework operation name and both ``attributes_map`` and ``attributes_values`` are not provided.
(that is the name that is passed as the first parameter to ``OPENVINO_OP`` macro) is the same
as the framework operation name and both ``attributes_map`` and ``attributes_values`` are not provided.
- ``input_names`` - vector of strings that specify the names of inputs (needed to map PaddlePaddle to OpenVINO operations),
- ``output_names`` - vector of strings that specify the names of outputs (needed to map PaddlePaddle to OpenVINO operations),
- ``attributes_map`` - used to provide a mapping between OpenVINO operation attribute and
framework operation attribute. Contains key-value pairs, where key is an OpenVINO operation
attribute name and value is its corresponding framework operation attribute name.
@@ -196,14 +291,21 @@ Let's take a closer look at the parameters this macro takes:
operation attribute name and the value is this attribute value. This parameter cannot be provided
if ``attributes_map`` contains all of OpenVINO operation attributes or if ``attributes_map`` is not provided.
In the example above, ``OPENVINO_FRAMEWORK_MAP`` is used twice.
In the example above, ``OPENVINO_FRAMEWORK_MAP`` is used three times.
First, OpenVINO ``CustomOp`` is mapped to ONNX ``CustomOp`` operation, ``m_mode`` attribute is mapped to ``mode``
attribute, while ``m_axis`` attribute gets the default value ``-1``. Secondly, OpenVINO `CustomOp` is mapped
to Tensorflow ``CustomOpV3`` operation, ``m_axis`` attribute is mapped to ``axis`` attribute, while ``m_mode``
attribute gets the default value ``linear``.
attribute, while ``m_axis`` attribute gets the default value ``-1``. Secondly, OpenVINO ``CustomOp`` is mapped
to TensorFlow ``CustomOpV3`` operation, ``m_axis`` attribute is mapped to ``axis`` attribute, while ``m_mode``
attribute gets the default value ``"linear"``. Thirdly, OpenVINO ``CustomOp`` is mapped to PaddlePaddle ``CustomOp`` operation,
``m_mode`` attribute is mapped to ``mode`` attribute, while ``m_axis`` attribute gets the default value ``-1``.
This mapping also specifies the input name "X" and output name "Out".
The last step is to register this custom operation by following:
@snippet ov_extensions.cpp frontend_extension_framework_map_macro_add_extension
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_framework_map_macro_add_extension]
Mapping to Multiple Operations with ConversionExtension
#######################################################
@@ -222,7 +324,7 @@ operations constructing dependency graph of any complexity.
operation classes. Follow chapter :ref:`Build a Model in OpenVINO Runtime <ov_ug_build_model>` to
learn how to use OpenVINO operation classes to build a fragment of model for replacement.
The next example illustrates using ``ConversionExtension`` for conversion of “ThresholdedRelu”
Below example illustrates using ``ConversionExtension`` for conversion of “ThresholdedRelu”
from ONNX according to the formula: ``ThresholdedRelu(x, alpha) -> Multiply(x, Convert(Greater(x, alpha), type=float))``.
.. note::
@@ -233,6 +335,13 @@ from ONNX according to the formula: ``ThresholdedRelu(x, alpha) -> Multiply(x, C
.. tab-set::
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [py_frontend_extension_ThresholdedReLU_header]
.. tab-item:: C++
:sync: cpp
@@ -240,14 +349,14 @@ from ONNX according to the formula: ``ThresholdedRelu(x, alpha) -> Multiply(x, C
:language: cpp
:fragment: [frontend_extension_ThresholdedReLU_header]
.. tab-item:: Python
:sync: python
.. tab-set::
.. tab-item:: Python
:sync: py
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [py_frontend_extension_ThresholdedReLU_header]
.. tab-set::
:fragment: [py_frontend_extension_ThresholdedReLU]
.. tab-item:: C++
:sync: cpp
@@ -256,24 +365,47 @@ from ONNX according to the formula: ``ThresholdedRelu(x, alpha) -> Multiply(x, C
:language: cpp
:fragment: [frontend_extension_ThresholdedReLU]
.. tab-item:: Python
:sync: python
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [py_frontend_extension_ThresholdedReLU]
The next example shows how to use ``ConversionExtension`` to convert PyTorch
`aten::hardtanh <https://pytorch.org/docs/stable/generated/torch.nn.functional.hardtanh.html>`_
to demonstrate how to use ``get_values_from_const_input`` function to fetch an attribute value from input:
To access original framework operation attribute value and connect to inputs,
``node`` object of type ``NodeContext`` is used. It has two main methods:
.. doxygensnippet:: docs/snippets/ov_extensions.py
:language: python
:fragment: [py_frontend_extension_aten_hardtanh]
To access original framework operation attribute value and connect to inputs, ``node`` object of type ``NodeContext`` is used. It has three main methods:
* ``NodeContext::get_input`` to get input with a given index,
* ``NodeContext::get_attribute`` to get attribute value with a given name.
* ``NodeContext::get_attribute`` to get attribute value with a given name,
* ``NodeContext::get_values_from_const_input`` to get an attribute with a given input index.
The conversion function should return a vector of node outputs that are mapped to
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 following example shows such conversion for the ``top_k_v2`` operation.
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_paddle_TopK]
For TensorFlow framework, if an operation has more than one output, it is recommended to assign names to
those outputs using the ``NamedOutputVector`` structure which allows both indexed and named output access.
For a description of TensorFlow operations, including the names of their outputs, refer to the
`tf.raw_ops <https://www.tensorflow.org/api_docs/python/tf/raw_ops/>`__ documentation page.
The next example shows such conversion for the ``TopKV2`` operation.
.. doxygensnippet:: docs/snippets/ov_extensions.cpp
:language: cpp
:fragment: [frontend_extension_tf_TopK]
@endsphinxdirective

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Get to know how Graph Rewrite handles running multiple matcher passes on
ov::Model in a single graph traversal.
``:ref:`ov::pass::GraphRewrite <doxid-classov_1_1pass_1_1_graph_rewrite>``` serves for running multiple matcher passes on ``:ref:`ov::Model <doxid-classov_1_1_model>``` in a single graph traversal.
Example:

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Learn how to create a pattern, implement a callback, register
the pattern and Matcher to execute MatcherPass transformation
on a model.
``:ref:`ov::pass::MatcherPass <doxid-classov_1_1pass_1_1_matcher_pass>``` is used for pattern-based transformations.
Template for MatcherPass transformation class

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Learn how to use Model Pass transformation class to take entire
ov::Model as input and process it.
``:ref:`ov::pass::ModelPass <doxid-classov_1_1pass_1_1_model_pass>``` is used for transformations that take entire ``:ref:`ov::Model <doxid-classov_1_1_model>``` as an input and process it.
Template for ModelPass transformation class

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Learn how to apply additional model optimizations or transform
unsupported subgraphs and operations, using OpenVINO™ Transformations API.
.. toctree::
:maxdepth: 1
:hidden:

View File

@@ -2,6 +2,9 @@
@sphinxdirective
.. meta::
:description: Use the base ov::IAsyncInferRequest class to implement a custom asynchronous inference request in OpenVINO.
Asynchronous Inference Request runs an inference pipeline asynchronously in one or several task executors depending on a device pipeline structure.
OpenVINO Runtime Plugin API provides the base ov::IAsyncInferRequest class:
@@ -33,7 +36,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

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Learn how to build a plugin using CMake and OpenVINO Developer Package.
OpenVINO build infrastructure provides the OpenVINO Developer Package for plugin development.
OpenVINO Developer Package
@@ -9,7 +13,7 @@ OpenVINO Developer Package
To automatically generate the OpenVINO Developer Package, run the ``cmake`` tool during a OpenVINO build:
.. code-block:: bash
.. code-block:: sh
$ mkdir openvino-release-build
$ cd openvino-release-build
@@ -32,9 +36,9 @@ Once the commands above are executed, the OpenVINO Developer Package is generate
* Libraries for tests development:
* ``openvino::gtest``, ``openvino::gtest_main``, ``openvino::gmock`` - Google Tests framework libraries
* ``openvino::commonTestUtils`` - static library with common tests utilities
* ``openvino::funcTestUtils`` - static library with functional tests utilities
* ``openvino::unitTestUtils`` - static library with unit tests utilities
* ``openvino::common_test_utils`` - static library with common tests utilities
* ``openvino::func_test_utils`` - static library with functional tests utilities
* ``openvino::unit_test_utils`` - static library with unit tests utilities
* ``openvino::ngraphFunctions`` - static library with the set of ``ov::Model`` builders
* ``openvino::funcSharedTests`` - static library with common functional tests
* ``openvino::ngraph_reference`` - static library with operation reference implementations.
@@ -48,7 +52,7 @@ Build Plugin using OpenVINO Developer Package
To build a plugin source tree using the OpenVINO Developer Package, run the commands below:
.. code-block:: bash
.. code-block:: sh
$ mkdir template-plugin-release-build
$ cd template-plugin-release-build
@@ -72,7 +76,7 @@ To build a plugin and its tests, run the following CMake scripts:
The default values of the ``ENABLE_TESTS``, ``ENABLE_FUNCTIONAL_TESTS`` options are shared via the OpenVINO Developer Package and they are the same as for the main OpenVINO build tree. You can override them during plugin build using the command below:
.. code-block:: bash
.. code-block:: sh
$ cmake -DENABLE_FUNCTIONAL_TESTS=OFF -DOpenVINODeveloperPackage_DIR=../openvino-release-build ../template-plugin

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Use the ov::CompiledModel class as the base class for a compiled
model and to create an arbitrary number of ov::InferRequest objects.
ov::CompiledModel class functionality:
* Compile an ov::Model instance to a backend specific graph representation

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Use the ov::ISyncInferRequest interface as the base class to implement a synchronous inference request in OpenVINO.
``InferRequest`` class functionality:
* Allocate input and output tensors needed for a backend-dependent network inference.

View File

@@ -2,6 +2,12 @@
@sphinxdirective
.. meta::
:description: Develop and implement independent inference solutions for
different devices with the components of plugin architecture
of OpenVINO.
.. toctree::
:maxdepth: 1
:caption: Converting and Preparing Models
@@ -83,11 +89,12 @@ 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
##############
* `OpenVINO Plugin API <https://docs.openvino.ai/nightly/groupov_dev_api.html>`__
* `OpenVINO Transformation API <https://docs.openvino.ai/2022.3/groupie_transformation_api.html>`__
* `OpenVINO Plugin API <https://docs.openvino.ai/2023.0/groupov_dev_api.html>`__
* `OpenVINO Transformation API <https://docs.openvino.ai/2023.0/groupie_transformation_api.html>`__
@endsphinxdirective

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Explore OpenVINO Plugin API, which includes functions and
helper classes that simplify the development of new plugins.
OpenVINO Plugin usually represents a wrapper around a backend. Backends can be:
* OpenCL-like backend (e.g. clDNN library) for GPU devices.

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Use the openvino::funcSharedTests library, which includes
a predefined set of functional tests and utilities to verify a plugin.
OpenVINO tests infrastructure provides a predefined set of functional tests and utilities. They are used to verify a plugin using the OpenVINO public API.
All the tests are written in the `Google Test C++ framework <https://github.com/google/googletest>`__.

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Use the ov::Property class to define access rights and
specific properties of an OpenVINO plugin.
Plugin can provide own device-specific properties.
Property Class

View File

@@ -3,6 +3,11 @@
@sphinxdirective
.. meta::
:description: Learn about the support for quantized models with different
precisions and the FakeQuantize operation used to express
quantization rules.
One of the feature of OpenVINO is the support of quantized models with different precisions: INT8, INT4, etc.
However, it is up to the plugin to define what exact precisions are supported by the particular HW.
All quantized models which can be expressed in IR have a unified representation by means of *FakeQuantize* operation.
@@ -53,8 +58,8 @@ Thus we can define:
Quantization specifics and restrictions
#######################################
In general, OpenVINO can represent and execute quantized models from different sources. However, the Post-training Optimization Tool (POT)
is considered the default way to get optimized models. Since the POT supports HW-aware quantization it means that specific rules can be implemented in it for
In general, OpenVINO can represent and execute quantized models from different sources. However, the Neural Network Compression Framework (NNCF)
is considered the default way to get optimized models. Since the NNCF supports HW-aware quantization it means that specific rules can be implemented in it for
the particular HW. However, it is reasonable to have compatibility with general-purpose HW such as CPU and GPU and support their quantization schemes.
Below we define these rules as follows:

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Use the ov::RemoteContext class as the base class for a plugin-specific remote context.
ov::RemoteContext class functionality:
* Represents device-specific inference context.

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Use the ov::IRemoteTensor interface as a base class for device-specific remote tensors.
ov::RemoteTensor class functionality:
* Provides an interface to work with device-specific memory.
@@ -47,7 +51,7 @@ The example implementation have two remote tensor classes:
Based on that, an implementation of a type independent remote tensor class can look as follows:
.. doxygensnippet:: src/plugins/template/src/remote_context.cpp
.. doxygensnippet:: src/plugins/template/src/remote_tensor.hpp
:language: cpp
:fragment: [vector_impl:implementation]

View File

@@ -2,6 +2,11 @@
@sphinxdirective
.. meta::
:description: Learn more about plugin development and specific features in
OpenVINO: precision transformations and support for quantized
models with different precisions.
.. toctree::
:maxdepth: 1
:hidden:

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Learn about extra API references required for the development of
plugins in OpenVINO.
.. toctree::
:maxdepth: 1
:hidden:
@@ -9,9 +13,9 @@
../groupov_dev_api
../groupie_transformation_api
@endsphinxdirective
The guides below provides extra API references needed for OpenVINO plugin development:
* [OpenVINO Plugin API](@ref ov_dev_api)
* [OpenVINO Transformation API](@ref ie_transformation_api)
* `OpenVINO Plugin API <https://docs.openvino.ai/2023.0/groupov_dev_api.html>`__
* `OpenVINO Transformation API <https://docs.openvino.ai/2023.0/groupie_transformation_api.html>`__
@endsphinxdirective

View File

@@ -2,6 +2,9 @@
@sphinxdirective
.. meta::
:description: Learn about AvgPoolPrecisionPreserved attribute used only during AvgPool operation.
:ref:`ngraph::AvgPoolPrecisionPreservedAttribute <doxid-classngraph_1_1_avg_pool_precision_preserved_attribute>` class represents the ``AvgPoolPrecisionPreserved`` attribute.
Utility attribute, which is used only during ``AvgPool`` operation, precision preserved property definition.

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Learn about IntervalsAlignment attribute, which describes a subgraph with the same quantization intervals alignment.
:ref:`ngraph::IntervalsAlignmentAttribute <doxid-classngraph_1_1_intervals_alignment_attribute>` class represents the ``IntervalsAlignment`` attribute.
The attribute defines a subgraph with the same quantization intervals alignment. ``FakeQuantize`` operations are included. The attribute is used by quantization operations.

View File

@@ -2,6 +2,10 @@
@sphinxdirective
.. meta::
:description: Learn about PrecisionPreserved attribute, which describes a precision preserved operation.
:ref:`ngraph::PrecisionPreservedAttribute <doxid-classngraph_1_1_precision_preserved_attribute>` class represents the ``PrecisionPreserved`` attribute.
The attribute defines a precision preserved operation. If the attribute is absent, then an operation is not precision preserved.

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