* Aligned SpaceToBatch/BatchToSpace with the spec, converted from fused_op to op
* Implemented transformation to decompose STB/BTS
* Added unit tests
* Added new mode (INTERPRETER_TRANSFOMATIONS) for functional tests
* In this PR I'll add ngraph::pass::ConvertPrecision transformation and change only CPU Plugin to decrease number of changes. Other plugins will be updated in separate PR.
* This PR also includes changes for TI body transformations. We need to call the same sequence of transformations including ConvertPrecision for TI body.
* 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
* [ci-skip][IE Myriad] ie::ICore pointer passed into FrontEnd from plugin
* [ci-skip][IE Myriad] Added MockICore to fix graph transformer tests
* [ci-skip][IE Myriad] IN renamed to I_N to avoid compile error in Windows build: C2513: 'int': no variable declared before '='
* 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.
* Removed legacy library includes from plugin api headers
* Removed IInferencePluginAPI interface; merged with IInferencePlugin
* Removed pluginAPIInterface usage in Core implementation
* First variant of tests for keep_constant_inputs
* Redone tests to check number of inputs
* Count inputs of layer via ngraph::Function
* Add additional transformations for CNNNetwork
* Modified work with CNNNetwork via iterators
* Add tests for FullyConnected Network
* Rename function for counting of inputs
* Debug output was deleted
* transformations_callback was removed
* Change ASSERT_GT on ASSERT_EQ
This PR introduces next changes:
1. Transformations *_tbl.hpp files were replaced with direct registration in cpp files.
2. Plugins use pass::Manager to call conversion passes.
3. Transformations callback was moved to PassBase class as there is no more need to keep it in separate class
4. All pattern based transformations must be inherited from MatcherPass class. GraphRewrite class will be used only for matchers registration and execution on function.
MatcherPass class adds new features to pattern-based transformations approach:
* Allows to run matcher pass on a single node.
* Operations that were created inside transformation callback can be added to execution list to be available for pattern matching within single GraphRewrite.
5. GraphRewrite MatchClosure was replaced with MatcherPass. So all matchers will be registered as a MatcherPass.
6. Added pass::Manager::clear_state() method to avoid dependency with nodes that no longer belongs to function after replacement.
7. Some representative transformations were updated to use MatcherPass as an example.
8. Mul->Add sequence fusion transformation was replaced with LinOpSequenceFusion.
9. Pattern and callback registration code was moved to class c-tors (will be finished for remaining passes in other PR) .
10. Updated pass::Manager to get pass names only when NGRAPH_PROFILE_PASS_ENABLE enabled.
11. Moving towards removing PassProperty.
12. Added ngraph::pattern::wrap_type<T>(inputs, pred) to simplify pattern creation.
13. GraphRewrite was updated to execute MatcherPass more efficient.
* Network serializer for v7 is removed
* Fixed compilation
* Fixed Windows build
* WA for GPU
* Create function 2 times
* Fixed compilation
* Added return
* [IE][VPU]: Moves UpgradeNMS4ToNMSDynamic transformation into myriad plugin
* [IE][VPU]: Moves UpgradeNMS4ToNMSDynamic from common to vpu folder
* [IE][VPU]: Moves Dynamic NMS from common folder to vpu
* [VPU]: Makes NMS conversion unconditional
* [VPU][NGraph]: Changes dynamic NMS base class from v3 to v4
* [VPU]: Moves NMS4toDynamic transformation before common optimization
In some networks, mvTensor would request a large CMX-DMA transfer (<512K). That starves DMA for other timing critical tasks such as SIPP. Limit CMX-DMA request size as an option in myriad_compile:
* Add compile option TILING_CMX_LIMIT_KB
* Declare compile option TILING_CMX_LIMIT_KB in IE tools (compile_tool and vpu_compile)
* Add tests for compile option TILING_CMX_LIMIT_KB. Small fix for naming behavior tests.