Commit Graph

3293 Commits

Author SHA1 Message Date
Maxim Shevtsov
80f5fe953b
Openvino hybrid awareness (#5261)
* change the deprecated method to the recent

* first ver of the hybrid cores aware CPU streams (+debug info)

* more debug and fixed sum threads

* disabled NUMA pinning to experiment with affinity via OS

* further brushing of stream to core type logic

* hybrid CPU-aware getNumberOfCPUCores

* adding check on the efficiency

* experimental TBB package (that cmake should pull from the internal server)

* iterating over core types in the reversed order (so the big cores are populated first in case user specified less than all #threads)

* adding back the NUMA affinity code-path for the full validation (incl 2 sockets Windows Server)

* cpplint fix and tabbing the #if clauses for the readbility

* pre-production TBB from internal server

* wrapping over #cores/types

* wrapping over #cores/types, ver 2

* wrapping over #streams instead

* disabling warnings as errors for a while (to unlock testing)

* accomodating new TBB layout for dependencies.bat

* next tbb ver (with debug binaries that probably can unlock the commodity builds, without playing product_configs)

* minor brushing for experiments (so that pinning can be disabled)

* minor brushing from code review

* Updating the SHA hash which appeared when rebasing to the master

* WIP refactoring

* Completed refactoring of the "config" phase of the cpu stream executor and on-the-fly streams to core types mapping

* making the benchmark_app aware about new pinning mode

* Brushing a bit (in preparation for the "soft" affinity)

* map to vector to simplify the things

* updated executors comparison

* more fine-grained pinning scheme for the HYBRID (required to allow all cores on 2+8 1+4, and other LITTLE-skewed scenarios)

TODO: seprate little to big ratio for the fp322 and int8 (and pass the fp32Only flag to the MakeDefaultMultiTHreaded)

* separating fp32 and int8 intensive cases for hybrid execution, also leveraging the HT if the #big_cores is small, refactored. also switched to the 2021.2 oneTBB RC package

* code style

* stripped tbb archives from unused folders and files, also has to rename the LICENSE.txt to the LICENSE to match existing OV packaging tools

* assigning nodeId regradless of pinning mode

* tests OpenCV builds with same 2021.2 oneTBB, ubuntu 18/20

* cmake install paths for oneTBB, alos a ie_parallel.cmake warning on older ver of TBB

* Updated latency case desc to cover multi-socket machines

* adding centos8 OCV with oneTBB build

updating TBB drops with hwloc shared libs added.

* enabled internal OCV from THIRD_PARTY_SERVER to test thru CI..
Added Centos7 notbb OCV build (until g-api get ready for onetbb) to unlock the Centos7 CI build

* separate rpath log to respect one-tbb specific paths

* fixed SEQ code-path

* fixed doc misprint

* allowing all cores in 2+8 for int8 as well

* cleaned from debug printfs

* HYBRID_AWARE pinning option for the Python benchmark_app

* OpenVINO Hybrid CPUs support

* Remove custom::task_arena abstraction layout

* Get back to the custom::task_arena interface

* Add windows.h inclusion

* Fix typo in macro name

* Separate TBB and TBBbind packages

* Fix compile-time conditions

* Fix preprocessors conditions

* Fix typo

* Fix linking

* make linking private

* Fix typo

* Fix target_compile_definitions syntax

* Implement CMake install logic, update sha hash for the tbbbind_2_4 package

* Add tbbbind_2_4 required paths to setup_vars

* Update CI paths

* Include ie_parallel.hpp to ie_system_conf.cpp

* Try to update dependencies scripts

* Try to fix dependencies.bat

* Modify dependencies script

* Use static tbbbind_2_4 library

* Remove redundant paths from CI

* Revert "cleaned from debug printfs"

This reverts commit 82c9bd90c5.

# Conflicts:
#	inference-engine/src/inference_engine/os/win/win_system_conf.cpp
#	inference-engine/src/inference_engine/threading/ie_cpu_streams_executor.cpp
#	inference-engine/src/mkldnn_plugin/config.cpp

* Update tbbbind package version

* fixed compilation

* removing the direct tbb::info calls from CPU plugin, to aggregate everything in the single module (that exposes the higher level APIs)

* Update tbbbind package version

(cherry picked from commit f66b8f6aa6)

* compilation fix

* brushing the headers a bit

* Make custom::task_arena inherited from tbb::task_arena

* change to the latest TBB API, and more debug printfs

* code-style

* ARM compilation

* aligned "failed system config" between OV and TBB (by using '-1')

* macos compilation fix

* default arena creation (to make sure all code-path have that fallback)

* Incapsulate all TBB versions related logic inside the custom namespace

* Move custom layer header to internal scope + minor improvements

* with all NUMA/Hybrid checks now consolidated in the custom_arena, cleaning the ugly ifdefs thta we had

* Introduce new ThreadBindingType + fix compilation

* fixing OMP compilation

* OpenVINO Hybrid CPUs support

* Remove custom::task_arena abstraction layout

* Get back to the custom::task_arena interface

* Add windows.h inclusion

* Fix typo in macro name

* Separate TBB and TBBbind packages

* Fix compile-time conditions

* Fix preprocessors conditions

* Fix typo

* Fix linking

* make linking private

* Fix typo

* Fix target_compile_definitions syntax

* Implement CMake install logic, update sha hash for the tbbbind_2_4 package

* Add tbbbind_2_4 required paths to setup_vars

* Update CI paths

* Include ie_parallel.hpp to ie_system_conf.cpp

* Try to update dependencies scripts

* Try to fix dependencies.bat

* Modify dependencies script

* Use static tbbbind_2_4 library

* Remove redundant paths from CI

* Update tbbbind package version

* Make custom::task_arena inherited from tbb::task_arena

* Incapsulate all TBB versions related logic inside the custom namespace

* Move custom layer header to internal scope + minor improvements

* Introduce new ThreadBindingType + fix compilation

* Fix compilation

* Use public tbbbind_2_4 package

* fixed macos build, corrected comments/desc

* reverted to the default binding selection logic ( to preserve the legacy beh)

* OpenVINO Hybrid CPUs support

* Remove custom::task_arena abstraction layout

* Get back to the custom::task_arena interface

* Add windows.h inclusion

* Fix typo in macro name

* Separate TBB and TBBbind packages

* Fix compile-time conditions

* Fix preprocessors conditions

* Fix typo

* Fix linking

* make linking private

* Fix typo

* Fix target_compile_definitions syntax

* Implement CMake install logic, update sha hash for the tbbbind_2_4 package

* Add tbbbind_2_4 required paths to setup_vars

* Update CI paths

* Include ie_parallel.hpp to ie_system_conf.cpp

* Try to update dependencies scripts

* Try to fix dependencies.bat

* Modify dependencies script

* Use static tbbbind_2_4 library

* Remove redundant paths from CI

* Update tbbbind package version

* Make custom::task_arena inherited from tbb::task_arena

* Incapsulate all TBB versions related logic inside the custom namespace

* Move custom layer header to internal scope + minor improvements

* Introduce new ThreadBindingType + fix compilation

* Fix compilation

* Use public tbbbind_2_4 package

* Apply review comments

* Fix compilation without tbbbind_2_4

* Fix compilation with different TBB versions

* code review remarks

* fix for the NONE pinning code-path under HYBRID_AWAR

* whitespace and cleaning the debug printfs (per review)

* code-review comments

* fixed code-style

Co-authored-by: Kochin, Ivan <ivan.kochin@intel.com>
Co-authored-by: Kochin Ivan <kochin.ivan@intel.com>
2021-04-28 17:42:58 +03:00
Gleb Kazantaev
8413b85b8a
Change ConvertFP32TpFP16 Pass To Use ConvertPrecision (#5378)
* Change ConvertFP32TpFP16 Pass To Use ConvertPrecision

* Pass inference_engine_transformations_EXPORTS to nGraph

* Resolve conflicts

* Pass ngraph_EXPORTS to transformation library

* Remove relative path

* target_compile_definitions for transformations

* TRANSFORMATIONS_API -> NGRAPH_API

* Removetarget_compile_definitions

* Added f32 to f16 switch case

* Code Style Fix
2021-04-28 15:52:23 +03:00
Alexander Zhogov
aef26b962a
Azure CI: Remove MklDnnBehaviorTests (#5351)
* Remove MklDnnBehaviorTests
2021-04-28 14:45:46 +03:00
Elizaveta Gerashchenko
bc5b3c14bd
[IE CLDNN] Generation of undefs optimization (#5158) 2021-04-28 14:35:54 +03:00
Kate Generalova
10f3d7e065
feat: linters for IE Py API, wheel, samples (#5352)
* feat: linters for IE Py API, wheel, samples

* fix indent after auto-formatter

* ignore formatting for argument parsing
2021-04-28 13:52:03 +03:00
Svetlana Dolinina
4daa74303a
changed output finding + add error to catch problem in future (#5368)
* changed output finding + add error to catch problem in future

* added unit test

* review fixes

* review fixes

* fix typo
2021-04-28 12:59:59 +03:00
Anton Chetverikov
8395ce1b0f
Update modules version checker in MO to support ~= (#5342)
* Add check for ~= sign for modules versions check

* Add unit test

* Update check for environment markers

* Update check for ~= sign

* Update unit tests

Co-authored-by: achetver <anton.chetverikov@.intel.com>
2021-04-28 11:23:08 +03:00
Katarzyna Mitrus
a541f0929a
Attributes visitor tests - Transpose and Sqrt op (#5430)
* Add get value map size to the visitor util

* Type parametrized test POC

* Unify visitor test approach

* Remove unused using ValueMap

* Add const to get_value_map_size() function
2021-04-28 11:22:22 +03:00
Irina Efode
60ac91b446
[IE TESTS] Allow to specify skip tests config by list file (#5388)
* [IE TESTS] Allow to specify skip tests config by list file

* Fix func name

* Fix includes

* TEmplate
2021-04-28 11:02:26 +03:00
Ilya Churaev
08ca1d4307
Fixed segfault (#5415) 2021-04-28 11:01:11 +03:00
Nikita Malinin
d13de771af
Added transformations for GNA device (#5409) 2021-04-28 10:52:15 +03:00
Sergey Lyubimtsev
7d5fd3d51c
MO Transformation configs are missing in openvino-dev package (#5302)
* MO Transformation configs are missing in openvino-dev package

* fix pylint issues

* add escape

Co-authored-by: Roman Donchenko <roman.donchenko@intel.com>

* add escape

Co-authored-by: Roman Donchenko <roman.donchenko@intel.com>

* add mo_caffe.proto

* Add MO package_data to openvino-dev package

Co-authored-by: Roman Donchenko <roman.donchenko@intel.com>
2021-04-28 10:15:22 +03:00
Alina Kladieva
1ae1757a5a
[inference-engine|tests|functional|gpu] Exclude sporadic (54436) (#5428) 2021-04-27 18:54:25 +03:00
Sergey Lyubimtsev
6d28be7411
Enable CPack for Python samples (#5406)
* Enable Python samples for CI & CPack

* remove external dependency for CMakeLists file
2021-04-27 18:53:55 +03:00
Ilya Lavrenov
6c83e0f8a5
Small refactoring in TEMPLATE plugin (#5398)
* Small refactoring in TEMPLATE plugin

* Fixed compilation on Windows

* Fixed code style
2021-04-27 18:52:45 +03:00
Gleb Kazantaev
689f8aedb6
Added BackwardGraphRewrite And Input<Node> RTInfo (#5343)
* Added BackwardGraphRewrite

* Add RT Info to Input<Node> class

* Add RTInfo tests; BackwardGraphRewrite tests
2021-04-27 17:26:20 +03:00
Svetlana Dolinina
3028c78594
fix typo + test (#5392) 2021-04-27 13:37:02 +03:00
Ilya Lavrenov
fa7d67b07f
Removed reading of port precision (#5397) 2021-04-27 10:18:19 +03:00
Ilya Lavrenov
0337b055db
Added GetAvailableDevices for AUTO device (#5377)
* Added GetAvailableDevices for AUTO device

* Fixed tests compilation
2021-04-27 09:12:55 +03:00
Mikhail Nosov
05cae2714f
Generate unique file names for GNAAOTTests (#5403)
Issue can be reproduced on stress testing:
Get stress scripts from git@github.com:google/gtest-parallel.git
> python3 <workdir>/gtest-parallel/gtest_parallel.py  ./InferenceEngineUnitTests --gtest_filter=*GNAAOT* -r 100

It starts each test separately in different threads/processes and there is big chance of conflicts with unit_tests.bin
2021-04-27 08:59:20 +03:00
Patryk Elszkowski
5de5f4d7d1
Constant op SLT (#5349)
* add SLT for Constant OP

* add test for U4 and I4

* drop test for BIN data

Co-authored-by: Patryk Elszkowski <patryk.elszkowki@intel.com>
2021-04-27 07:09:23 +03:00
Mikhail Nosov
6581127114
[Caching] Don't propagate import error on plugin side (#5390)
* HotFix for ConvertPrecision tests

* [Caching] Don't propagate import error on plugin side

Instead, invalid cache will be silently removed and network will be loaded without cache

Co-authored-by: Ilya Churaev <ilya.churaev@intel.com>
2021-04-27 06:54:49 +03:00
Ilya Churaev
2a51a62d48
Fixed Ninja build (#5408) 2021-04-27 06:36:45 +03:00
Artyom Anokhov
16da65fc93
IE PyAPI CMakeLists.txt: Added copying requirements.txt to <INSTALLROOT>/python folder (#5407) 2021-04-26 22:56:25 +03:00
Alexandra Sidorova
5ca7cba451
[CPU] Added improvements for Mish (#5062) 2021-04-26 18:11:41 +03:00
Sergey Lyubimtsev
5912c983d4
Enable make install for openvino/tools folder (#5326)
* enable make install for openvino/tools folder

* fix component name

* use python_tools as component name

* update ie_cpack_add_component name

* enable CPack for python tools

* use find_package(PythonInterp)
2021-04-26 18:06:39 +03:00
Tomasz Dołbniak
e15d9efe30
Template plugin support in ONNX compliance tests (#5375) 2021-04-26 15:34:39 +02:00
Vladislav Golubev
32ac4f4e15
[LPT] Reduce*Transformation (#4713)
* [LPT] added notAllChildrensAreFQ to NetworkHelper

* [LPT] Added ReduceBaseTransformation class

* [LPT] ReduceMeanTransformation

* [LPT][TESTS] ReduceMeanTransformation: functional and plugin tests

* [LPT] ReduceMaxTransformation

* [LPT][TESTS] ReduceMaxTransformation: functional and plugin tests

* [LPT] ReduceMinTransformation

* [LPT][TESTS] ReduceMinTransformation: functional and plugin tests

* [LPT] RedueSumTransformation

* [LPT][TESTS] ReduceSumTransformation: functional and plugin tests

* [nGraph] TypeRelaxed::clone_with_new_inputs: added validate_and_infer_types()

* [LPT] ReduceMin/ReduceMax: handle mul with negative values

* [LPT] ReduceBaseTransformation:
    * fold for dequantization constants instead of manual manipulations
    * refactoring

* [TESTS] Reduce*Transformation template functional test-class and builder

* codestyle fix

* [LPT] ReduceMeanTransformation: removed WA

* [LPT] added description for ReduceBaseTransformation

* [LPT] NetworkHelper::foldDequantizationConstant quick fix

* [LPT][TESTS] reduce builder quick fix and fp16 tests for gpu enabled
2021-04-26 16:03:03 +03:00
Ilya Churaev
d150d75a65
HotFix for ConvertPrecision tests (#5391) 2021-04-26 15:48:55 +03:00
Roman Lyamin
16d7d01a27
[IE CLDNN] Eltwise b_fs_zyx_fsv16 optimization (#5098) 2021-04-26 15:36:38 +03:00
Maksim Kutakov
9f2a3d0edc
[CPU] Split supported PD initialization refactoring plus tests for multiply port connections. (#4521) 2021-04-26 15:18:26 +03:00
Roman Donchenko
ed5313b2e1
Fix common misspelling: wraper -> wrapper (#5355) 2021-04-26 13:42:12 +03:00
Ilya Churaev
9045c94e3d
Improved performance of i4 conversion (#5258) 2021-04-26 13:12:35 +03:00
Irina Efode
7226190b30
[IE TESTS] Fix typo in script (#5384) 2021-04-26 12:54:33 +03:00
Egor Duplensky
93f63ceb6a
[CPU] Exclude colon characters from test names (#5243)
* [CPU] Exclude colon characters from test names

":" is used for specifying list of filters in '--gtest_filter=' option
So when a test name contains a colon char it is impossible to run such
test by its full name.
There is now way to escape this colon char as well.
2021-04-26 12:30:02 +03:00
Szymon Irzabek
af6f315071
[GNA] Remove FQ layers positioned after a memory layer (#5323) 2021-04-26 11:44:18 +03:00
Irina Efode
d2868c9873
[IE TESTS] Update conformance Readme file (#5374)
* [IE TESTS] Update conformance Readme file

* [IE TESTS] Update conformance Readme file
2021-04-26 11:17:31 +03:00
Mikhail Nosov
e53249ddf2
Disable time measurement (#5376)
On CI machines there is a chance to run various test executables at the same time.
When intensive CPU load occurs, 'sleeps' can last much longer than expected even in very pessimistic scenario
2021-04-26 10:28:26 +03:00
Kate Generalova
add383c566
feat: clang-style for cython api (#5354) 2021-04-26 09:40:20 +03:00
Egor Duplensky
39e1a21c42
[CPU] Enable bf16 RNN primitives (#4942) 2021-04-25 22:18:38 +03:00
Kate Generalova
8bb73273f1
fix: string comparing in object_detection_sample_ssd_c (#5371) 2021-04-25 21:42:04 +03:00
Ivan Novoselov
594c4882e6
[CPU] optimize ExtractImagePatches (#4898) 2021-04-25 19:52:07 +03:00
Irina Efode
b770be227b
[IE TEST] fix small issue in summarize (#5367)
* [IE TEST] fix small issue in summarize

* Add
2021-04-24 12:29:46 +03:00
Roman Kazantsev
fcea3f8a0c
Implement nGraph shell for Einsum-7 (#5282)
* Implement nGraph shell for Einsum-7

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

* Correct doxygen formats

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

* Apply clang format change

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

* Support implicit mode and capital letters

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

* Correct and optimize the code based on review

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

* Correct private methods and its API, add more tests

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

* Make equation aux methods public and remove regex usage

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

* Make is_subscript_correct function local

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

* Correct check for missed ellipsis and add test for it

Signed-off-by: Roman Kazantsev <roman.kazantsev@intel.com>
2021-04-24 09:41:48 +03:00
Steve Yoo
7d0cae8bb5
Add test cases for PReLU in cpu plugin (#5293)
* For case when slope is vector
2021-04-23 17:19:35 +03:00
Kate Generalova
2063f17391
fix: doxygen links for samples (#5365) 2021-04-23 16:40:08 +03:00
Mateusz Bencer
9a569805c2
remove redundant header (#5363) 2021-04-23 16:35:46 +03:00
Ilya Lavrenov
0a8c3ef5a9
Fixed python test_utils compilation for clang-12 (#5362) 2021-04-23 16:34:26 +03:00
Gabriele Galiero Casay
59a001580f
Revise Split operation reference implementation (#5174)
* Review Split operation class

   * Added node validation checks
   * Added type_prop unit tests with invalid cases and negative axis value

* Add ngraph check for host tensor inputs and outputs

* Enable CPU backend tests

* Add serialization single layer tests

* Add more precisions, axis and num of splits in single layer tests

* Add op to script of trusted operations

* Fix check macro for inputs and outputs in evaluate method

* Fix comparison of integer expressions of different signedness compilation error

* Add validation check for upper bound dimension for dynamic shapes

* Add node validation check for num_splits attribute greater than zero

* Align spec with num_splits attribute range of values
2021-04-23 15:58:08 +03:00
Mikhail Ryzhov
8d2bc2b895
[PyPI] Corrected OS support matrix (#4919)
+ removed optional --system-site-packages from the instructions
2021-04-23 15:01:59 +03:00