Commit Graph

11 Commits

Author SHA1 Message Date
Gleb Kazantaev 73e8e91ffd
Enable NopEliminatoin inside MO Backend (#6874)
* Refactor NopElimination; Execute NopEliminatoin inside MOC Backend

* Add missing header

* Refactor tests; use weak_ptr to avoid excess consumers for node

* Add test to check number of shared_ptr usages for graph nodes during Manager execution

* Remove AlgebraicSimplification forewer
2021-08-04 13:53:06 +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
Ilya Lavrenov 567ef8a4f0
Fixed warnings generation for ngraph API (#3864) 2021-01-15 19:12:14 +03:00
Tomasz Dołbniak 303c549791
nGraph copyright update for 2021 (#3832) 2021-01-13 16:43:04 +03:00
Ilya Lavrenov 0d22328a25
Partially removed ngraph cmake duplication with IE cmake (#3751)
* Partially removed cmake duplication with IE cmake

* Deprecated API usage: fixed or suppressed

* Fix for TypeRelaxed

* Canonical form for ngraph includes

* Removed extra visibilit settings; removed graphviz find_package

* Removed var_functions module; canonical includes for ngraph::reference

* Fixed deprecated API in ngraph tests

* Re-use standard cmake macro for shared libs

* Trying to fix ONNX importer tests
2021-01-11 14:49:33 +03:00
Ilya Churaev 256e047ad2
Revert "Deprecate global element types (#3444)" (#3468)
* Revert "Deprecate global element types (#3444)"

This reverts commit 071fb9d1c6.

* Fixed code style
2020-12-04 13:28:53 +03:00
Ilya Churaev 071fb9d1c6
Deprecate global element types (#3444)
* Removed global types

* Fixed ONNX importer and nGraph tests

* Fixed code style

* Disable some warnings for Windows

* Try to fix python build

* Extend deprecation message

* Fixed code style

* Fixed comments
2020-12-02 21:27:17 +03:00
Gleb Kazantaev 022ea97f18
Fixed disable/enable logic in PassConfig (#2940)
* Fixed disable/enable logic in PassConfig

* Removed set_pass_config method for Manager; added comments
2020-11-05 17:34:32 +03:00
Gleb Kazantaev 2e49b4e4d8
Fine-Grain Transformation pipeline tuning (#2547)
* Initial version of transformation callback refactoring

* Improved fine-grain tuning for transformation pipeline

* Check disabled matchers in GraphRewrite

* Avoid deprecated classes inside PassConfig

* Enabled DepthToSpace fusion by default

* Removed doulbe search in map

* Moved back pass_config.hpp; Added doxygen documentation for new class and methods

* Added doxygen comment for Manager and GraphRewrite new mthods
2020-10-09 15:33:19 +03:00
Sergey Lyalin a069e39906
Hierarchical extension to nGraph RTTI (#1245)
* RTTI base for ngraph::Node; cherry-pick from another branch, draft

* Added comments, moved code, switched to custom RTTI-based version of is_type

* Move rtti definitions in ngraph op class to the beginning of each class definition as a preparation for the next replacement

* Migrate part of operations to new RTTI

* Migrate GroupConvolution and Concat to new RTTI

* Apply code style for ngraph part

* Rename RTTI_DECLARATION/DEFINITION to NGRAPH_RTTI_DECLARATION/DEFINITION

* Reverted accidentally updated version of mkldnn

* TMP: rewrite RTTI back to constexprions as an attempt to fix static objects initialization order issue

* Apply ngraph code style

* Finalize move back to constexpr for RTTI

* Applied code-style

* Fix in fast algorithm in GraphRewrite, add new tests for this and other cases

* Make parent optional parameter for NGRAPH_RTTI_DECLARATION and remove Node::type_info; remove ability to have Node as a parent for type_info

* Try to resolve compilation error on Windows

* The next attempt to fix Windows build: re-introduce get_type_info_static

* Removed file that was removed in master and kept in this branch by mistake

* Next attempt to fix Windows build: externConstexpr

* Attempt to fix win build: extra public (suspect icc bug), remove get_type_info_static as useless.

* Next attempt to fix Windows: proxy const and constexpr

* Fixed constexpr

* Next attmpts: move get_type_info to cpp file

* Code stype fix

* Re-implemented RTTI without use of constexpr; run-time initialization is used; removed global definitions to avoid issues with order of static objects initialization

* Remove already unncecessary compiler flag for Windows

* get_type_info_static initializes static local constant with type_info that is used for CLASS::type_info and CLASS::get_type_info

* Rewrite commens for NGRAPH_RTTI_... macros, remove not used header
2020-08-04 06:35:58 +03:00
Gleb Kazantaev bd42f09e98
nGraph Transformations refactoring (#931)
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.
2020-07-27 19:47:37 +03:00