Commit Graph

88 Commits

Author SHA1 Message Date
Anton Pankratv
2fcf92be42 Removed IRelease Interface (#4032) 2021-03-05 12:08:01 +03:00
Bartosz Sochacki
3daacb5e09 [GNA] POT enabling (#4358)
* POT enabling for GNA

* POT enabling for GNA

* POT enabling for GNA - accuracy improvements
2021-03-04 16:10:01 +03:00
Ilya Lavrenov
f5da64db8a Fixed getting InputInfo name for empty object (#4564) 2021-03-03 07:24:09 +03:00
Ilya Churaev
ca9540fda0 Removed getOVNameForOperation (#4514) 2021-03-01 07:13:34 +03:00
Andrey Sazonov
a558a6f143 Fix GetConfig doc (#4333) 2021-02-15 21:13:34 +03:00
Yasunori Shimura
15d6a0ff48 DPC++ link error workaround. (#4192)
* DPC++ link error workaround.

OpenVINO C++ program failed to link when DPC++ compiler is used.
'make_shared_blob' causes 'unresolved external symbol' error on linking.
Commented out some __clang__ specific directives to workaround the issue in "ie_blob.h".

* DPC++ compatibility issue fix #2

1. Removed type-by-type template class definition for __clang__.
2. Modified TBlob() destructor. The 'unresolved reference' error occur again if I left 'virtual ~TBlob();' only. It seems it needs to be 'virtual ~TBlob() {};'.

* DPC++ compatibility fix #3 - Add DPC++ conditional code

Uses '__SYCL_COMPILER_VERSION' predefined macro to check if the compiler is a DPC++ or not.
Added conditional directive to switch code based of the detected compiler.
NOTE: User program must include <CL/sycl.hpp>, or the '__SYCL_COMPILER_VERSION' macro won't be defined and this fix won't take effect.

* DPC++ compatibility issue fix #4

Changed from #ifdef to #if + logical formulas.

* DPC++ compatibility issue fix #5

Added compiler check logic in src/ie_rtti.cpp

* DPC++ Compatibility issue #6 - ie_parameter.cpp

Added compiler check macro for DPC++ to ie_parameter.cpp as well.

Co-authored-by: Yasunori Shimura <yasunori.shimura@intel.com>
2021-02-13 08:44:25 +03:00
Anton Pankratv
91dcb515a3 Simplified cancel behavior (#4224) 2021-02-09 12:55:24 +03:00
Ilya Lavrenov
367cacd2f2 CVS-43973: added HWC layout (#4147)
* CVS-43973: added HWC layout

* Added test
2021-02-04 15:16:31 +03:00
Anton Pankratv
54c889f876 Implemented base cancelation implementation (#3805) 2021-02-04 11:19:44 +03:00
Ilya Lavrenov
685bf830d5 Fixed cldnn compilation with static runtime (#4070) 2021-02-02 20:11:40 +03:00
Ilya Churaev
2ebae7cf30 Introduce the Broker API to map original framework names to OV (#3800)
* Added tests

* Fixed tests

* Added tests to check addOutput method

* Added support of port names in the IR

* Update copyrights

* Deprecate tensor name

* Fixed comments

* Enabled functional tests for GPU, GNA and Myriad

* Fixed get_tensor().get_names()

* Added unit test to check tensor names

* Fixed code style

* Skip add output test for GNA

* Added serialization support

* Added PythonAPI

* Fixed tests

* Fixed tests

* Fixed typo

* Try to disable GNA test

* Fixed tests

* Removed unused variables

* Fixed tests

* Update documentation

* Fixed comment
2021-01-29 06:28:31 +03:00
Ilya Lavrenov
8311b98222 Pre-deprecation of ICNNNetwork (#3887)
* Deprecated ICNNNetwork

* MKLDNN plugin: partially

* MYRIAD plugin: partially

* Fixed Myriad Plugin

* Improved GNA; fixed MKLDNN

* Fixed tests

* Fixed GNA

* Fixed unit tests linkage

* Removed ICNNNetwork from tests

* Removed obsolete tests
2021-01-25 14:09:03 +03:00
Ilya Lavrenov
f3f1b7002d Deprecated IVariableState interface (#3884) 2021-01-18 16:58:35 +03:00
Krzysztof Bruniecki
00c57a3bdf Enable CNN2D tests for GNa Lib 2.1.0.1048 (#3529)
Enable tests including rectangular kernel and multiple kernels
  Pad filters to 16B
  Fix style space after if before ( needed
  Fix PRETTY_FUNCTION double def
  Fix canMatchWith1AsyncThread
  Fix ifdefs for gna 2.0
  Add and fix mock
  Simplify and fix condition for Rotate features
  Refine commnets in GNA CONV tests file
  Apply review, Refactor ConvolutionPrimitive
  Refine CNN enforce legacy
  Add debug print
  Move debug dump definitions
  Add new metric for GNA library version
  Add coments on FP32
2021-01-15 16:56:37 +03:00
Maxim Shevtsov
ee8e9a9e8a Attempt to put some order to the single general (that differs only by messages) and typed exception, on the example of NOT_IMPLEMENTED (#3537)
NOT_IMPLEMENTED status code correctly translates to the NonImplemented exception (and handled as the correspondingly typed exception)
2020-12-14 10:27:29 +03:00
Dmitrii Ryzhkov
77ecd7e17c Feature/drizshko/cancellable request (#2635)
Added Cancelability to an Infer Request class (actually implemented for the CPU only, with a stub for other devices)
2020-12-14 09:38:29 +03:00
Ilya Lavrenov
ca08c5b45c Fixed Plugin API compilation with /WX (#3551)
* Fixed Plugin API compilation with /WX

* Removed generic_ie.hpp from white list

Co-authored-by: lab_ddpqa <lab_ddpqa@intel.com>
2020-12-10 16:49:30 +03:00
Maxim Shevtsov
d0eef043fd [MULTI]Data affinity remote context and blobs (#3342)
* zero-copy (assuming determenistic app-level scheduling) for the multi-device, via "borrowing" the corresponding device-specific blobs and letting the app to implicitly use these

* Optimized Infer Request Scheduling

* remoteblob checks in the conventional SetBlob

* correctly (with status) reporting NOT_IMPLEMENTED

* SetBlob to accomodate for the RemoteBobs

* Tests for remote blobs support via MULTI: creating the shared_test in case the other (closed source) plugins would want to use that (in the private shared_tests instantiations).
Also instantiating the remote blobs tests for the some basic combinations to test the MULTI supports them

* macos compilation (and general plugin platform support) fix

* shuffled files, so that the MULTI tests are now part of the ieFuncTests (and need no separate target). Also brushed the macro that handales the NOT_IMPLEMENTED as bit

* further shuffled files, so that the initial MULTI tests are now part of the IE tests, yet specific instances do need separate targets

* Fixed misprint

* Brushing the code and comments a bit

* further brushing of the ScheduleToWorkerRequest: moving the task execution directly into the loop over devices (avoids pointers and 'else' clause)

* 1) zero-copy (assuming determenistic app-level scheduling) for the multi-device, via "borrowing" the corresponding device-specific blobs and letting the app to implicitly use these

2) Initial MULTI section in the opt guide (primarily to document a tip on helping the MULTI to keep the zero-copy path)

* [MULTI] remote context support and associated scheduling (respecting the remote data affinity)

* fix CentOS (old) gcc issue: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81880
since the intriduced therad_local string is template the bug manifests itself (and the string is not allocated/initialized).
the QA is to wrap the std::string into the function

* further fix for the old gcc versions issue, now with non-trivial thread_local destruction sefault: switching from the std::string to the plain const char*

* additional tests for the MULTI and remote blobs (no remote context and multi GPUs cases)

* fix for the tests (that now can check for more specific NotImplemented exeption).
Alos couple of line endings
2020-12-09 09:52:19 +03:00
Jan Iwaszkiewicz
e1a7f7e5af [nGraph][IE] Enable FP64 data type in IE and review nGraph Python tests (#2563) 2020-12-02 12:09:28 +01:00
Alexander Peskov
f6dcf45e1c Restore compilaltion with tbb 2017u7 (#3007)
* Restore compilaltion with tbb 2017u7

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

* Fix unsupported arg for tbb deterministic_reduce

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

Co-authored-by: Alexander Zhogov <alexander.zhogov@intel.com>
2020-12-01 11:00:58 +03:00
Ilya Lavrenov
776005749c Documentation fixes (#3418)
* Fixed documentation build when paths contain spaces

* ops math formula fix

* Fixed typo in

* Added more dependencies for openvino_docs

* Improvements

Co-authored-by: Nikolay Tyukaev <ntyukaev_lo@jenkins.inn.intel.com>
2020-12-01 06:33:36 +03:00
Ilya Lavrenov
92e3972853 Significant documentation fixes (#3364)
* Added VariableState to Plugin API documentation

* More fixes for plugin documentation

* Added ie_memory_state.hpp to documentation

* Added proper dependencies between C++ and Plugin API targets

* Fixed issues in public C++ API reference

* Fixed issues in public C++ API reference: part 2

* Removed obsolete entries from EXCLUDE_SYMBOLS in doxygen config

* Fixed path to examples, tag files for Plugin API doxygen file

* Put impl to a private section for VariableStatebase

* Fixed examples path to Plugin API: part 2

* Fixed path to examples in main ie_docs doxygen file

* Replaced path to snippets; otherwise path depends on how cloned repo is named

* Added path to snippets for ie_docs doxygen file as well

* Great amount of fixes for documentation

* Removed IE_SET_METRIC

* Fixes for C API documentation

* More fixes for documentation

* Restored Transformations API as a part of Plugin API

* Fixed tag files usage for Plugin API

* Fixed link to FakeQuantize operation
2020-11-26 14:32:12 +03:00
Dmitrii Ryzhkov
70c02d0fea ngraph constant mem reuse (#2548)
* Memory re-use for nGraph Consstant

* Code style fixes

* Did remove setWeights from public API

* Fixes for tests

* Moving setWeightsPtr to CNNNetwork

* Removing setWeights function, set blob ptr directly to preallocated ngraph buffer

* Fix for code style

* Preallocated buffer refactored, rename to Shared, remove declaration from AlignedBuffer

* Fix for code style

* Remove setWeightsBlobPtr from mock classes.

* fixing bugs after merge

* Test fix

* Fix for cpu Functional tests

* Fix for Windows build

* Try to fix GNMT test failure.

* Releasing pointers what holds CNNNetwork

* Fix after merge

* mkl-dnn submodule update

* reverting back cloned network cleanup

* Fix for double allocation

* Code style...

* update mkl-dnn

* update mkl-dnn

* mkl-dnn bump

* update mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* mkl-dnn bump

* bump mkl-dnn

* update mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* mkl-dnn bump

* update mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* mkl-dnn bump

* update mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* update mkl-dnn

* bump mkl-dnn

* mkl-dnn bump

Co-authored-by: Tony Reina <g.anthony.reina@intel.com>
2020-11-19 14:03:12 +03:00
Rafik Saliev
9790c1253c [BugFix] Fix compilation error caused by typo in #3109 (#3135) 2020-11-16 11:25:57 +03:00
Ilya Lavrenov
fec3bc0990 Propogate DEVICE_ID for functions working with RemoteContext (#3109)
* Propogate DEVICE_ID for functions working with RemoteContext

* More fixes for RemoteContext

* Fixed tests compilation with VariableState
2020-11-13 19:44:40 +03:00
Svetlana Dolinina
7bd76dc12b Move QueryState from ExecutableNetwork to InferRequest (#2818)
* QueryState moved to InferRequest

* deprecate ExecutableNetwork::QueryState,chaged tests (without any check yet)

* fix build

* review fixes + build fix

* build fix + review changes

* remove blank line

* style fixes

* test build fixes

* style fix

* style fix

* fixed build of tests

* fix

* mac build fix

* hddl plugin build fix

* clean up unneeded implementation for method

* fixed tests build

* add implementation for getstate, correct getName for MklDNN

* fixed description of state API in comments

* lint fixes

* Rename MemoryState to VariableState

* added tests for cpu for VariableStates, several small fixes in tests and code

* merge fix

* lint fix

* remove whitespaces

* spaces fix

* fix in test to make it workable for all plugins

* fix typo

* fix test for gna

* remove extra comment

* fix test for gna
2020-11-12 12:40:43 +03:00
Ivan Tikhonov
1c3208ffe0 Low Latency transformation (#2869)
* initial draft of adding sinks to ngraph::Function

* style fixes

* code style fixes

* code style fixes

* code style fix

* review fix+build fix

* code style fix

* fix build

* API changed according to latest discussion

* review fixes

* review fixes + tests

* initial draft of adding sinks to ngraph::Function

* style fixes

* code style fixes

* code style fixes

* code style fix

* review fix+build fix

* code style fix

* fix build

* API changed according to latest discussion

* review fixes

* review fixes + tests

* added 1 more ctor

* style fixes

* used new api in ir parser

* fixed build

* update low latency transformation, fix unroll transformation, add unit tests, modify subgraph tests

* fix low latency transformation

* Update low latency transformation, unit and sub-graph tests

* update LowLatency transformation and tests

* ngraph codestyle

* fix build, update description

* resolve review remarks

Co-authored-by: Svetlana Dolinina <svetlana.a.dolinina@intel.com>
2020-11-06 14:11:11 +03:00
Vladimir Paramuzov
6e7db6fb37 [IE CLDNN] Plugin-side kernels caching (#2871) 2020-11-05 23:44:45 +03:00
Rafik Saliev
d225ba6e53 [IE] Add batched blob support (#2203)
* [IE] Add batched blob support

New `class BatchedBlob : public CompoundBlob` defined to allow to pass multiple blobs as 1 InferRequest input.

Motivation: There is the special user case when a number of plain images (e.g. `NV12Blob`) should be passed as one input for network which batch size > 1.

`class CompoundBlob` is not applicable for such cases due to:
1. `NV12Blob` is `CompoundBlob` which prevents to combine multiple NV12 images to a CompoundBlob
2. The default behavior in most of plugins - do not accept generic CompoundBlob as `SetBlob()` argument

Adding `SetBlob(name, vector<Blob::Ptr>...)` to `class IInferRequest`, `class InferRequest`, `class IInferRequestInternal`, ...  - is not effective solution due to limited and specific use cases for `batched inputs`.

+ Apply rule-of-zero to CompoundBlob and inherited classes.

* Add "BATCHED_BLOB" optimization capability metric

* Add BatchedBlob usage to hello_nv12_input_classification

* Apply offline code review outcome:

1. Revert CompoundBlob public .ctors signatures
2. Remove 'workaround' .ctor for `BatchedBlob`
3. Revert tensor descriptors of `I420Blob` `NV12Blob` back to the 'fake' value.

* Code review fix

* Add functional tests for CPU, GPU, MULTI, HETERO

* update doc comment

* Apply code review change requests.
2020-11-03 21:19:26 +03:00
Jozef Daniecki
34af04e1a8 Serialization of experimental and custom ops (#2862)
* Add IEGeneric node type handling.

* Remove dependency on plugin_api library.

IEGeneric type name is passed via Visiotr API as new syntetic atribute.

* Add custom operations support

* Fix charachter literals comparison.

* Pass custom opsets to CNNNetwork:serialize().

IE extensions are stored in ngraph CNNNetwork and later used to pass
custom opsets to serialization transformation.

* Refactor custom ops tests to use template_extension library.

* Add comment on __generic_ie_type__ purpose.
2020-10-30 07:31:27 +03:00
Alexander Peskov
6e5a4714ac Make MVN behaviour deterministic (#2458)
* Change default parallel reduce alg into deternimistic way

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

* Introduce ie::parallel_for semantic with group_id parameter

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>

* [CPU] Make MVN behaviour deterministic

Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>
2020-10-26 21:01:38 +03:00
Roman Donchenko
ba3fc7fb8a Fix spelling errors in the API and bindings (#2781) 2020-10-23 09:17:03 +03:00
Mateusz Bencer
c0d71900fd Provide ONNX external data mechanism to ReadNetwork (#2588)
* added unit test

* added python test

* using pword approach

* Added passing path to onnx reader

* support for wstring

* Added more tests

* Apply suggestions from code review

Co-authored-by: Michał Karzyński <4430709+postrational@users.noreply.github.com>

* fix build for Windows

* styles applied

* Fixed Windows tests

* styles applied

* fixed styles in tests

* review remarks

* cmake order

* Used target_compile_definitions instead of add_definitions

* Move ONNX_TEST_MODELS to other scope

Co-authored-by: Michał Karzyński <4430709+postrational@users.noreply.github.com>
2020-10-14 12:30:53 +03:00
Alexey Varyzgin
4c87427818 [CPU][BF16] bf16 for Gemm or MatMul was enabled (#1920) 2020-09-04 10:04:02 +03:00
Vladimir Paramuzov
b976782c70 [IE CLDNN] Fallback to FP16 for non-quantized layers in quantized FP16+INT8 IR (#941) 2020-09-03 17:41:29 +03:00
Maksim Doronin
66aa119b11 [IE][VPU]: Refactor vpu configs (#1334)
* [IE][VPU]: Refactor vpu configs

* [IE][VPU][GT]: Refactor vpu configs usage in GT

* [IE][VPU]: Refactor vpu configs usage in myriad plugin

* [IE][VPU]: Refactor vpu configs usage in tests

* [IE][VPU]: Refactor vpu configs usage in deprecated_tests

* [IE][VPU]: Refactor vpu configs usage in tools

* [IE][VPU]: Use hddl metric vars instead of macros

* [IE][VPU]: style fixes

* [IE][VPU]: Replace MYRIAD_FORCE_RESET with MYRIAD_ENABLE_FORCE_RESET

* [IE][VPU]: Resolve confilcts with MYRIAD_TILING_CMX_LIMIT_KB

* [IE][VPU]: Remove MYRIAD_PLATFORM from tools

* [IE][VPU]: Fix DISABLE_REORDER config in StridedSlice

* [IE][VPU]: Redesign config headers hierarchy

* [IE][VPU]: Clarify comments related to vpu configs

* [IE][VPU]: Leave default values of deprecated configs

* [IE][VPU]: Revert beh tests on VPU_MYRIAD_PLATFORM

* [IE][VPU]: Revert beh tests with deprecated configs

* [IE][VPU]: Resolve conflicts

* [IE][VPU]: Revert opencv dependency
2020-08-17 17:30:38 +03:00
Ilya Lavrenov
a4dcfed1a9 Simplified plugin interfaces (#1745)
* Simplified plugin interface

* Allow not implemented

* Fixes

* Fixed CPU plugin tests

* Fixed tests dependencies

* Fixes

* Fixed GPU plugin compilation

* Renamed plugin

* Fixes

* Removed tests for plugin base

* Fix2

* Fix 2

* Define a macro to define plugin creation function

* Clean-up

* Fixed OSX build

* Fixed CentOS

* Fixed exception catch / throw

* Fixed clang issue

* Fixed python tests on macOsx
2020-08-14 12:11:54 +03:00
Ilya Lavrenov
f95f756929 Changed ICNNNetwork to CNNNetwork in QueryNetwork (#1704) 2020-08-10 18:24:54 +03:00
Ilya Lavrenov
8c118ef8b2 Moved caseless to Plugin API (#1664) 2020-08-07 06:24:28 +03:00
Ilya Lavrenov
6a5993fb36 Implement unicode conversion using Windows native functions (#1590)
* Implement unicode conversion using Windows native functions

* NOCPPLINT

* Fixed deprecated c++ api usage in tests

* Moved impl to cpp

* Moved Unicode utils to Plugin API

* Added missed include for Windows

* Fixes for unit tests; CentOS fixes

* Fixed Windows compilation

* Fixed unit tests on Unix

* Fixed unix 2
2020-08-06 12:01:34 +03:00
Ilya Lavrenov
b9c3825897 Moved QueryNetworkResult to ie_common.h (#1648) 2020-08-06 06:17:29 +03:00
Ilya Lavrenov
0339fff3bc [IE CLDNN] Add push / pop macro for OpenCL header (#1645) 2020-08-05 23:55:42 +03:00
Alexander Peskov
f56cfd3c4b Fix missprint
Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>
2020-08-05 17:01:35 +03:00
Ilya Lavrenov
9f767f7b93 Hide implementation of SharedObjectLoader to cpp files (#1556)
* Hide implementation of SharedObjectLoader to cpp files

* Fixed GPU tests compilation

* Fixes for Unix; check OpenCL headers with strict flags

* Fixed Windows

* More fixes for Windows

* Fixed Unit tests

* Enabled compilation with libVA for new GPU tests

* Fixes for case when libVA is not available

* Removed useless NOMINMAX

* Useless include

* Fix

* Fixes

* Fixes for Intel compiler

* Fix for Windows + Intel compiler

* Fixed samples compilation with Intel compiler
2020-08-03 14:01:56 +03:00
Ilya Lavrenov
17e457d7c8 Updated inference_engine.hpp (#1539) 2020-07-30 18:40:28 +03:00
Ilya Churaev
6c3b7ee8ca Avoid redundant clone and reshape (#1376)
* Avoid redundant clone and reshape

* Removed some constructors

* Fixed output precision
2020-07-29 19:30:59 +03:00
Vladislav Vinogradov
0b1ef99fd7 [IE] Add Blob::createROI method (#882)
* Add default implementation that throws exception.
* Implement `createROI` for `TBlob` and existing compound blobs.
* Use reference couting for TBlob memory buffer to prolong its life time for ROI blobs.
* Add private extension for ND ROI and use it as implementation detail for now:
  * Add `DimSlice` and `TensorSlice` structures for generic ND ROI support.
  * Add `make_roi_desc` function to create `TensorDesc` for ROI.
2020-07-28 11:26:38 +03:00
Ilya Lavrenov
3be1f6b6fa Removed NgraphData (#1416) 2020-07-28 05:58:52 +03:00
Ilya Lavrenov
8e081c8388 Removed CNNLayer entries from ie_common.h (#1420)
* Removed useless header include

* Removed CNNLayer entries from ie_common.h
2020-07-22 06:44:05 +03:00
Ilya Churaev
32d7959b92 Added U32 precision (#1297) 2020-07-14 10:27:10 +03:00