* 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>
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
* 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
* 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>
* 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
* 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
* [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.
* 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.
* 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>
* 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>
* 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
* 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
* 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.