From a9bd5f741d8009b61101d6a53b08f64e030f48e7 Mon Sep 17 00:00:00 2001 From: Xuejun Zhai Date: Fri, 17 Mar 2023 14:44:28 +0800 Subject: [PATCH] Xuejun/remove api model (#15924) * [Remove APIs] remove api m_transformation_callback Signed-off-by: Zhai, Xuejun * [Remove APIs] remove api run_on_function(), replaced by run_on_model() Signed-off-by: Zhai, Xuejun * [Remove APIs] remove set_callback(), use get_pass_config() to configure transformation pipeline Signed-off-by: Zhai, Xuejun * [Remove APIs] remove api add_matcher() Signed-off-by: Zhai, Xuejun * Fix format issue Signed-off-by: Zhai, Xuejun * [Remove APIs] Fix review comments Signed-off-by: Zhai, Xuejun * Fix formast issue Signed-off-by: Zhai, Xuejun * Fix merge master error Signed-off-by: Zhai, Xuejun * Fix CI compiler error Signed-off-by: Zhai, Xuejun * Update ONNX Runtime from rel-1.8.1 to rel-1.14.0 Signed-off-by: Zhai, Xuejun * Revert "Update ONNX Runtime from rel-1.8.1 to rel-1.14.0" This reverts commit e31a9e04b7662295fd027d20c1047ac473a8a91b. --------- Signed-off-by: Zhai, Xuejun --- docs/snippets/lpt_intel_cpu_plugin.cpp | 4 +- .../include/openvino/cc/pass/itt.hpp | 7 ++ .../src/layer_transformation.cpp | 22 +++- .../src/low_precision.cpp | 22 +++- ...kup_avg_pool_precisions_transformation.cpp | 4 +- .../offline_transformations/pruning_test.cpp | 115 +++++++++--------- .../include/openvino/pass/graph_rewrite.hpp | 8 -- src/core/include/openvino/pass/manager.hpp | 30 ----- src/core/include/openvino/pass/pass.hpp | 16 +-- src/core/src/itt.hpp | 6 - src/core/src/pass/graph_rewrite.cpp | 31 ----- src/core/src/pass/pass.cpp | 17 --- src/core/tests/graph_rewrite.cpp | 18 +-- src/core/tests/matcher_pass.cpp | 2 +- src/core/tests/pass_config.cpp | 2 +- src/core/tests/pass_manager.cpp | 2 +- src/core/tests/pattern.cpp | 40 +++++- .../src/add_convert_to_reorder.cpp | 4 +- .../subgraph_tests/src/conv_sum_broadcast.cpp | 4 +- .../exec_network_base.hpp | 2 +- .../add_transformation.cpp | 2 +- ...ntwise_branch_selection_transformation.cpp | 2 +- ...e_quantize_and_avg_pool_transformation.cpp | 2 +- ...e_quantize_and_max_pool_transformation.cpp | 2 +- ...ize_precision_selection_transformation.cpp | 2 +- .../fake_quantize_transformation.cpp | 2 +- ...uantize_and_scale_shift_transformation.cpp | 2 +- .../fuse_fake_quantize_transformation.cpp | 2 +- ...ltiply_to_fake_quantize_transformation.cpp | 2 +- ...btract_to_fake_quantize_transformation.cpp | 2 +- .../mat_mul_transformation.cpp | 2 +- .../mat_mul_with_constant_transformation.cpp | 2 +- .../multiply_transformation.cpp | 2 +- .../prelu_transformation.cpp | 2 +- .../relu_transformation.cpp | 2 +- .../squeeze_transformation.cpp | 2 +- .../unsqueeze_transformation.cpp | 2 +- .../shared/src/snippets/codegen_gelu.cpp | 4 +- .../src/base/layer_test_utils.cpp | 4 +- .../src/single_layer/random_uniform.cpp | 2 +- 40 files changed, 177 insertions(+), 223 deletions(-) diff --git a/docs/snippets/lpt_intel_cpu_plugin.cpp b/docs/snippets/lpt_intel_cpu_plugin.cpp index 402f652f394..14dcfad486f 100644 --- a/docs/snippets/lpt_intel_cpu_plugin.cpp +++ b/docs/snippets/lpt_intel_cpu_plugin.cpp @@ -17,9 +17,9 @@ namespace ngraph { namespace pass { namespace device { -class ConvertOpSet1ToDeviceSpecific: public ngraph::pass::FunctionPass { +class ConvertOpSet1ToDeviceSpecific: public ov::pass::ModelPass { public: - bool run_on_function(std::shared_ptr f) override { + bool run_on_model(const std::shared_ptr& f) override { return true; } }; diff --git a/src/common/conditional_compilation/include/openvino/cc/pass/itt.hpp b/src/common/conditional_compilation/include/openvino/cc/pass/itt.hpp index c0a0092ba30..32de9caa492 100644 --- a/src/common/conditional_compilation/include/openvino/cc/pass/itt.hpp +++ b/src/common/conditional_compilation/include/openvino/cc/pass/itt.hpp @@ -24,6 +24,11 @@ OV_CC_DOMAINS(ov_pass); # define ADD_MATCHER(obj, region, ...) obj->add_matcher(__VA_ARGS__); # define REGISTER_PASS(obj, region, ...) obj.register_pass(__VA_ARGS__); # define REGISTER_DISABLED_PASS(obj, region, ...) obj.register_pass(__VA_ARGS__); + +# define OV_PASS_CALLBACK(matcher) \ + openvino::itt::handle_t m_callback_handle; \ + m_callback_handle = openvino::itt::handle(matcher->get_name()); \ + OV_ITT_SCOPED_TASK(SIMPLE_ov_pass, m_callback_handle) #elif defined(SELECTIVE_BUILD) # define MATCHER_SCOPE_(scope, region) \ @@ -70,6 +75,7 @@ OV_CC_DOMAINS(ov_pass); # define REGISTER_DISABLED_PASS(obj, region, ...) \ OV_PP_CAT(REGISTER_PASS_WITH_FALSE_, OV_CC_SCOPE_IS_ENABLED(OV_PP_CAT3(ov_pass, _, region))) \ (obj, region, __VA_ARGS__) +# define OV_PASS_CALLBACK(matcher) #else # define MATCHER_SCOPE(region) const std::string matcher_name(OV_PP_TOSTRING(region)) @@ -79,6 +85,7 @@ OV_CC_DOMAINS(ov_pass); # define ADD_MATCHER(obj, region, ...) obj->add_matcher(__VA_ARGS__); # define REGISTER_PASS(obj, region, ...) obj.register_pass(__VA_ARGS__); # define REGISTER_DISABLED_PASS(obj, region, ...) obj.register_pass(__VA_ARGS__); +# define OV_PASS_CALLBACK(matcher) #endif #define ADD_MATCHER_FOR_THIS(region, ...) ADD_MATCHER(this, region, __VA_ARGS__) diff --git a/src/common/low_precision_transformations/src/layer_transformation.cpp b/src/common/low_precision_transformations/src/layer_transformation.cpp index c1995f39ab9..6a496f15657 100644 --- a/src/common/low_precision_transformations/src/layer_transformation.cpp +++ b/src/common/low_precision_transformations/src/layer_transformation.cpp @@ -5,7 +5,6 @@ #include #include - #include #include #include @@ -448,9 +447,24 @@ void LayerTransformation::addPattern(ngraph::pass::GraphRewrite& pass, Transform }; // TODO: better name for matcher? required? auto m = std::make_shared(patternRoot, matcher_name); - NGRAPH_SUPPRESS_DEPRECATED_START - pass.add_matcher(m, internal_callback, ngraph::pass::PassProperty::CHANGE_DYNAMIC_STATE); - NGRAPH_SUPPRESS_DEPRECATED_END + auto match_pass = std::make_shared( + m->get_name(), + m, + [m, internal_callback](const std::shared_ptr& node) -> bool { + NGRAPH_DEBUG << "Running matcher " << m->get_name() << " on " << node; + OV_PASS_CALLBACK(m); + if (std::dynamic_pointer_cast(m)->match(node->output(0))) { + NGRAPH_DEBUG << "Matcher " << m->get_name() << " matched " << node; + bool status = internal_callback(*m.get()); + // explicitly clear Matcher state because it holds pointers to matched nodes + m->clear_state(); + return status; + } + m->clear_state(); + return false; + }, + ov::pass::PassProperty::CHANGE_DYNAMIC_STATE); + pass.add_matcher(match_pass); } } // namespace low_precision diff --git a/src/common/low_precision_transformations/src/low_precision.cpp b/src/common/low_precision_transformations/src/low_precision.cpp index 61904cbab37..0a476b6f436 100644 --- a/src/common/low_precision_transformations/src/low_precision.cpp +++ b/src/common/low_precision_transformations/src/low_precision.cpp @@ -5,7 +5,6 @@ #include "low_precision/low_precision.hpp" #include - #include #include #include @@ -134,9 +133,24 @@ void make_matcher_type_relaxed(ngraph::pass::GraphRewrite* transformation) { }; auto m = std::make_shared(p_node, matcher_name); - NGRAPH_SUPPRESS_DEPRECATED_START - transformation->add_matcher(m, callback, ngraph::pass::PassProperty::CHANGE_DYNAMIC_STATE); - NGRAPH_SUPPRESS_DEPRECATED_END + auto match_pass = std::make_shared( + m->get_name(), + m, + [m, callback](const std::shared_ptr& node) -> bool { + NGRAPH_DEBUG << "Running matcher " << m->get_name() << " on " << node; + if (std::dynamic_pointer_cast(m)->match(node->output(0))) { + NGRAPH_DEBUG << "Matcher " << m->get_name() << " matched " << node; + OV_PASS_CALLBACK(m); + bool status = callback(*m.get()); + // explicitly clear Matcher state because it holds pointers to matched nodes + m->clear_state(); + return status; + } + m->clear_state(); + return false; + }, + ov::pass::PassProperty::CHANGE_DYNAMIC_STATE); + transformation->add_matcher(match_pass); } ngraph::pass::low_precision::TypeRelaxedReplacer::TypeRelaxedReplacer() { diff --git a/src/common/low_precision_transformations/tests/markup_avg_pool_precisions_transformation.cpp b/src/common/low_precision_transformations/tests/markup_avg_pool_precisions_transformation.cpp index 3432b5ee4a9..2306cd81565 100644 --- a/src/common/low_precision_transformations/tests/markup_avg_pool_precisions_transformation.cpp +++ b/src/common/low_precision_transformations/tests/markup_avg_pool_precisions_transformation.cpp @@ -80,7 +80,7 @@ public: 0); ngraph::pass::low_precision::TypeRelaxedReplacer pass; - pass.run_on_function(actualFunction); + pass.run_on_model(actualFunction); auto supportedPrecisionsOnActivation = std::vector( {ngraph::pass::low_precision::PrecisionsRestriction::create( @@ -129,7 +129,7 @@ public: }; TEST_P(MarkupAvgPoolPrecisionsTransformation, CompareFunctions) { - ov::pass::InitNodeInfo().run_on_function(actualFunction); + ov::pass::InitNodeInfo().run_on_model(actualFunction); actualFunction->validate_nodes_and_infer_types(); const auto avgPoolOperations = LayerTransformation::get(actualFunction); diff --git a/src/common/transformations/tests/offline_transformations/pruning_test.cpp b/src/common/transformations/tests/offline_transformations/pruning_test.cpp index ec47d1c8eda..e3df714c0bb 100644 --- a/src/common/transformations/tests/offline_transformations/pruning_test.cpp +++ b/src/common/transformations/tests/offline_transformations/pruning_test.cpp @@ -267,7 +267,7 @@ TEST_F(TransformationTestsF, PropagateMasksBasic) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksBasic.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -352,7 +352,7 @@ TEST_F(TransformationTestsF, PropagateMasksDynamicConvolution) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksDynamicConvolution.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; @@ -403,7 +403,7 @@ TEST(TransformationTests, PropagateMasksDynamicReshape) { auto function = std::make_shared(NodeVector{conv2}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksDynamicReshape.svg") - .run_on_function(function); + .run_on_model(function); pass::Manager m; m.register_pass(); @@ -448,7 +448,7 @@ TEST(TransformationTests, PropagateMasksDynamicGroupConvolution) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksDynamicGroupConvolution.svg") - .run_on_function(f); + .run_on_model(f); pass::Manager m; m.register_pass(); @@ -486,7 +486,7 @@ TEST(TransformationTests, PropagateMasksEmpty) { auto f = std::make_shared(NodeVector{conv2}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) - ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksEmpty.svg").run_on_function(f); + ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksEmpty.svg").run_on_model(f); pass::Manager m; m.register_pass(); @@ -583,7 +583,7 @@ TEST_F(TransformationTestsF, PropagateMaskPassThrough) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMaskPassThrough.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -735,7 +735,7 @@ TEST_F(TransformationTestsF, PropagateMasksHardDependencies) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksHardDependencies.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -886,7 +886,7 @@ TEST_F(TransformationTestsF, PropagateMasksQuantizedGroupConvolution) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksQuantizedGroupConvolution.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -1053,7 +1053,7 @@ TEST_F(TransformationTestsF, PropagateMasksQuantizedGroupConvolutionWithShapeOf) if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksQuantizedGroupConvolutionWithShapeOf.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -1185,7 +1185,7 @@ TEST_F(TransformationTestsF, PropagateMasksFakeQuantizePerTensor) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksFakeQuantizePerTensor.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; @@ -1269,7 +1269,7 @@ TEST(TransformationTests, PropagateMasksFakeQuantizePerTensor1DScale) { auto function = std::make_shared(NodeVector{conv2}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksFakeQuantizePerTensor1DScale.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; @@ -1387,7 +1387,7 @@ TEST_F(TransformationTestsF, PropagateMasksFakeQuantizePerChannel) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksFakeQuantizePerChannel.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; // Masks for fq input parammeters didn't saved after @@ -1530,7 +1530,7 @@ TEST_F(TransformationTestsF, TestConcatMaskPropagation) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "TestConcatMaskPropagation.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -1673,7 +1673,7 @@ TEST_F(TransformationTestsF, TestConcatMaskPropagationUp) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "TestConcatMaskPropagationUp.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -1744,7 +1744,7 @@ TEST(TransformationTests, TestConcatMaskPropagationUpEmpty) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "TestConcatMaskPropagationUpEmpty.svg") - .run_on_function(f); + .run_on_model(f); pass::Manager m; m.register_pass(); @@ -1806,7 +1806,7 @@ TEST_F(TransformationTestsF, PruneConvIsClosingAndInGroup) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneConvIsClosingAndInGroup.svg") - .run_on_function(function); + .run_on_model(function); { auto input = std::make_shared(element::f32, inputShapes); auto weights = create_constant_with_zeros( @@ -1922,7 +1922,7 @@ TEST(TransformationTests, PruneBranchingStopOp) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneBranchingStopOp.svg") - .run_on_function(function); + .run_on_model(function); pass::Manager m; m.register_pass(); @@ -1977,7 +1977,7 @@ TEST(TransformationTests, PruneStopOpUp) { auto function = std::make_shared(OutputVector{end_conv}, ParameterVector{input}, "StopOpUp"); if (VISUALIZE_TESTS_TREE) - ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneStopOpUp.svg").run_on_function(function); + ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneStopOpUp.svg").run_on_model(function); pass::Manager m; m.register_pass(); @@ -2044,8 +2044,7 @@ TEST_F(TransformationTestsF, PruneReducelayerUp) { function_ref = std::make_shared(OutputVector{conv_1}, ParameterVector{input}); } if (VISUALIZE_TESTS_TREE) - ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneReducelayerUp.svg") - .run_on_function(function); + ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneReducelayerUp.svg").run_on_model(function); pass::Manager m; m.register_pass(); @@ -2142,7 +2141,7 @@ TEST_F(TransformationTestsF, PruneReduceLayerDown) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneReduceLayerDown.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -2194,7 +2193,7 @@ TEST(TransformationTests, PruneStopReducelayerUp) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneStopReducelayerUp.svg") - .run_on_function(function); + .run_on_model(function); pass::Manager m; m.register_pass(); @@ -2252,7 +2251,7 @@ TEST(TransformationTests, PruneStopReduceLayerDown) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneStopReduceLayerDown.svg") - .run_on_function(function); + .run_on_model(function); pass::Manager m; m.register_pass(); @@ -2327,7 +2326,7 @@ TEST_F(TransformationTestsF, MaskPropagationReshapeUp) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeUp.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -2438,7 +2437,7 @@ TEST_P(TransformationTestsBoolParamF, MaskPropagationReshapeUpWithShapeOf) { const auto postfix = use_shape_of ? "True" : "False"; ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeUpWithShapeOf" + postfix + ".svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -2550,7 +2549,7 @@ TEST_F(TransformationTestsF, MaskPropagationReshapeUpShapeSubGraph) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeUpShapeSubGraph.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -2642,7 +2641,7 @@ TEST_F(TransformationTestsF, MaskPropagationReshapeExtend) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeExtend.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -2749,7 +2748,7 @@ TEST_F(DISABLED_TransformationTestsF, MaskPropagationReshapeDownMul) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeDownMul.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -2853,7 +2852,7 @@ TEST_F(TransformationTestsF, MaskPropagationReshapeDownAdd) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeDownAdd.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -2902,7 +2901,7 @@ TEST(TransformationTests, MaskPropagationStopReshapeUp) { auto function = std::make_shared(OutputVector{conv_1}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationStopReshapeUp.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -2959,7 +2958,7 @@ TEST(TransformationTests, MaskPropagationStopReshapeDown) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationStopReshapeDown.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3017,7 +3016,7 @@ TEST_F(TransformationTestsF, MaskPropagationReshapeUnsqueezeUp) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeUnsqueezeUp.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3079,7 +3078,7 @@ TEST_F(TransformationTestsF, MaskPropagationReshapeUnsqueezeDown) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapeUnsqueezeDown.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3140,7 +3139,7 @@ TEST(TransformationTests, MaskPropagationWrongDimsElementwise) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationWrongDimsElementwise.svg") - .run_on_function(function); + .run_on_model(function); pass::Manager m; m.register_pass(); @@ -3251,7 +3250,7 @@ TEST_F(TransformationTestsF, PruneSEBlock) { function_ref = std::make_shared(OutputVector{end_conv}, ParameterVector{input}, "SEBlock"); } if (VISUALIZE_TESTS_TREE) - ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneSEBlock.svg").run_on_function(function); + ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneSEBlock.svg").run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3343,7 +3342,7 @@ TEST_F(TransformationTestsF, PropagateMasksLinear) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksLinear.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3395,7 +3394,7 @@ TEST(TransformationTests, MaskPropagationMatMulStopEmptyABranch) { auto function = std::make_shared(OutputVector{mul_left}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationMatMulStopEmptyABranch.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3462,7 +3461,7 @@ TEST(TransformationTests, PruneLinearUp) { auto function = std::make_shared(OutputVector{last_linear}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) - ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneLinearUp.svg").run_on_function(function); + ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneLinearUp.svg").run_on_model(function); pass::Manager m; m.register_pass(); @@ -3519,8 +3518,7 @@ TEST(TransformationTests, PruneConvUpShort) { auto function = std::make_shared(OutputVector{last_conv}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) - ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneConvUpShort.svg") - .run_on_function(function); + ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneConvUpShort.svg").run_on_model(function); pass::Manager m; m.register_pass(); @@ -3595,7 +3593,7 @@ TEST_F(TransformationTestsF, MaskPropagationLinearOuterDims) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationLinearOuterDims.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3674,7 +3672,7 @@ TEST(TransformationTests, MaskPropagationStopLinearOuterDims) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationStopLinearOuterDims.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3765,7 +3763,7 @@ TEST_F(TransformationTestsF, PruneMasksMatMulColsStopRowsUp) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneMasksMatMulColsStopRowsUp.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3854,7 +3852,7 @@ TEST_F(TransformationTestsF, PruneMasksMatMulRowsStopColsUp) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PruneMasksMatMulRowsStopColsUp.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -3949,8 +3947,7 @@ TEST_F(TransformationTestsF, PropagateFlattenUp) { function_ref = std::make_shared(NodeVector{linear}, ParameterVector{input}); } if (VISUALIZE_TESTS_TREE) - ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateFlattenUp.svg") - .run_on_function(function); + ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateFlattenUp.svg").run_on_model(function); { pass::Manager m; m.register_pass(); @@ -4025,7 +4022,7 @@ TEST_F(TransformationTestsF, PropagateFlattenDown) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateFlattenDown.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -4084,7 +4081,7 @@ TEST_F(TransformationTestsF, PropagateMasksTranspose) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksTranspose.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -4157,7 +4154,7 @@ TEST_F(TransformationTestsF, PropagateMasksTransposeComplex) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksTransposeComplex.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -4197,7 +4194,7 @@ TEST(TransformationTests, PropagateMasksTransposeStop) { auto function = std::make_shared(NodeVector{last_mul}, ParameterVector{input}); if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksTransposeStop.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -4323,7 +4320,7 @@ TEST_F(DISABLED_TransformationTestsF, PropagateMasksBroadcastedEltwiseWithInputs } if (VISUALIZE_TESTS_TREE) { ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksBroadcastedEltwiseWithInputs.svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -4500,7 +4497,7 @@ TEST_F(TransformationTestsF, PropagateMasksBroadcastedEltwise) { } if (VISUALIZE_TESTS_TREE) { ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "PropagateMasksBroadcastedEltwise.svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -4663,7 +4660,7 @@ TEST_F(TransformationTestsF, MaskPropagationComplexReshape) { } if (VISUALIZE_TESTS_TREE) { ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationComplexReshape.svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -4856,7 +4853,7 @@ TEST_P(TransformationTestsBoolParamF, MaskPropagationReshapedPassThroughP) { auto postfix = (add_shape_of) ? "True" : "False"; ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationReshapedPassThroughP" + postfix + ".svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -4981,7 +4978,7 @@ TEST_P(TransformationTestsBoolParamF, MaskPropagationBroadcastedSameRankEltwiseS auto postfix = (reverse_mul) ? "True" : "False"; ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationBroadcastedSameRankEltwiseSwappedLayoutP" + postfix + ".svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -5028,7 +5025,7 @@ TEST(TransformationTests, MaskPropagationBroadcastedEltwiseInputAndWeightsBroadc if (VISUALIZE_TESTS_TREE) { ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationBroadcastedEltwiseInputAndWeightsBroadcasted.svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -5078,7 +5075,7 @@ TEST(TransformationTests, MaskPropagationBroadcastedEltwiseWrongBroadcastingMode if (VISUALIZE_TESTS_TREE) { ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationBroadcastedEltwiseWrongBroadcastingMode.svg") - .run_on_function(function); + .run_on_model(function); } { pass::Manager m; @@ -5143,7 +5140,7 @@ TEST_F(TransformationTestsF, MaskPropagationMatMulWithSeveralOutputs) { } if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "MaskPropagationMatMulWithSeveralOutputs.svg") - .run_on_function(function); + .run_on_model(function); { pass::Manager m; m.register_pass(); @@ -5174,7 +5171,7 @@ TEST(TransformationTests, CheckReshapeWithNoConstInShape) { if (VISUALIZE_TESTS_TREE) ngraph::pass::VisualizeTree(std::string(VISUALIZE_TREE_ROOT) + "CheckReshapeWithNoConstInShape.svg") - .run_on_function(function); + .run_on_model(function); pass::Manager m; m.register_pass(); diff --git a/src/core/include/openvino/pass/graph_rewrite.hpp b/src/core/include/openvino/pass/graph_rewrite.hpp index 42b5247ddee..9ccca3d35ab 100644 --- a/src/core/include/openvino/pass/graph_rewrite.hpp +++ b/src/core/include/openvino/pass/graph_rewrite.hpp @@ -257,14 +257,6 @@ public: return pass; } - OPENVINO_DEPRECATED("Use MatcherPass instead") - void add_matcher(const std::shared_ptr& m, - const graph_rewrite_callback& callback, - const PassPropertyMask& property); - - OPENVINO_DEPRECATED("Use MatcherPass instead") - void add_matcher(const std::shared_ptr& m, const ov::graph_rewrite_callback& callback); - bool run_on_model(const std::shared_ptr& m) override; void set_pass_config(const std::shared_ptr& pass_config) override; diff --git a/src/core/include/openvino/pass/manager.hpp b/src/core/include/openvino/pass/manager.hpp index 40f14d83890..d2d8d06ee8e 100644 --- a/src/core/include/openvino/pass/manager.hpp +++ b/src/core/include/openvino/pass/manager.hpp @@ -76,36 +76,6 @@ public: /// \param new_state Value "true" enables Validate pass run; "false", otherwise void set_per_pass_validation(bool new_state); - /// \brief Callback is a lambda function that can be used by registered transformations. - /// The main purpose of this callback is to provide a way for plugins to disable/enable - /// transformations based on some conditions. In some cases plugins may want not to - /// execute some - /// transformations. - /// For example plugin can disable unpleasant decompositions because of performance - /// reasons for - /// some cases. - /// Callback example: - /// auto callback = [](const std::shared_ptr & node) -> bool { - /// return std::dynamic_pointer_cast(node) != - /// nullptr; - /// }; - /// This callback returns true in case of DepthToSpace operation. So when execution - /// DepthToSpace - /// decomposition pass will check is this decomposition needed or plugin can execute - /// this - /// operation directly. And of course on transformation side we need to have a response - /// for this - /// callback. - /// if (transformation_callback(batch_to_space)) { - /// return false; - /// } - /// \param callback lamda function that returns true in case if node is supported by - /// plugin and - /// transformation is not needed - OPENVINO_DEPRECATED("Please use get_pass_config() to configure transformation pipeline") - void set_callback(const param_callback& callback) { - m_pass_config->set_callback(callback); - } /// \return PassConfig shared object. This object is used for transformations pipeline /// configuration. /// This object allows to disable/enable transformations execution, set callback to diff --git a/src/core/include/openvino/pass/pass.hpp b/src/core/include/openvino/pass/pass.hpp index 44d6339a31b..9cbbce52ba8 100644 --- a/src/core/include/openvino/pass/pass.hpp +++ b/src/core/include/openvino/pass/pass.hpp @@ -61,14 +61,6 @@ public: std::shared_ptr get_pass_config() { return m_pass_config; } - /// \brief Applies callback for given node. By default callback returns false. - /// This method remains here only for backward compatibility and will be removed - /// after all transformations are moved to transformation_callback() method. - /// \return result of callback execution for given node - OPENVINO_DEPRECATED("Please use transformation_callback method instead") - bool m_transformation_callback(const std::shared_ptr& node) { - return m_pass_config->get_callback(get_type_info())(node); - } /// \brief Applies callback for given node. By default callback returns false. /// \param node which will be used inside callback @@ -99,13 +91,7 @@ class OPENVINO_API ModelPass : public PassBase { public: OPENVINO_RTTI("ov::pass::ModelPass"); ~ModelPass() override; - OPENVINO_DEPRECATED("run_on_function() method is deprecated. Please use run_on_model() instead.") - virtual bool run_on_function(std::shared_ptr m); - virtual bool run_on_model(const std::shared_ptr& m); - -private: - bool call_on_function{false}; - bool call_on_model{false}; + virtual bool run_on_model(const std::shared_ptr& m) = 0; }; } // namespace pass diff --git a/src/core/src/itt.hpp b/src/core/src/itt.hpp index 8501692d89f..5c527ecee2d 100644 --- a/src/core/src/itt.hpp +++ b/src/core/src/itt.hpp @@ -33,10 +33,6 @@ OV_CC_DOMAINS(ov_opset); */ #if defined(SELECTIVE_BUILD_ANALYZER) # define OV_OP_SCOPE(region) OV_SCOPE(ov_op, region) -# define OV_PASS_CALLBACK(matcher) \ - openvino::itt::handle_t m_callback_handle; \ - m_callback_handle = openvino::itt::handle(matcher->get_name()); \ - OV_ITT_SCOPED_TASK(SIMPLE_ov_pass, m_callback_handle) # define REGISTER_OP(opset_name, op_name) \ OV_ITT_SCOPED_TASK(SIMPLE_ov_opset, openvino::itt::handle(opset_name + "_" + op_name)) # define INSERT_OP(opset_name, op_name, op_namespace) opset.insert() @@ -44,14 +40,12 @@ OV_CC_DOMAINS(ov_opset); # define OV_OP_SCOPE(region) \ if (OV_CC_SCOPE_IS_ENABLED(OV_PP_CAT3(ov_op, _, region)) == 0) \ throw ngraph::ngraph_error(std::string(OV_PP_TOSTRING(OV_PP_CAT3(ov_op, _, region))) + " is disabled!") -# define OV_PASS_CALLBACK(matcher) # define REGISTER_OP(opset_name, op_name) # define INSERT_OP(opset_name, op_name, op_namespace) \ if (OV_CC_SCOPE_IS_ENABLED(OV_PP_CAT4(ov_opset_, opset_name, _, op_name)) == 1) \ opset.insert() #else # define OV_OP_SCOPE(region) OV_ITT_SCOPED_TASK(ov::itt::domains::ov_op, OV_PP_TOSTRING(region)) -# define OV_PASS_CALLBACK(matcher) # define REGISTER_OP(opset_name, op_name) # define INSERT_OP(opset_name, op_name, op_namespace) opset.insert() #endif diff --git a/src/core/src/pass/graph_rewrite.cpp b/src/core/src/pass/graph_rewrite.cpp index 9d86060b2d3..c51b5159267 100644 --- a/src/core/src/pass/graph_rewrite.cpp +++ b/src/core/src/pass/graph_rewrite.cpp @@ -239,37 +239,6 @@ bool ov::pass::GraphRewrite::apply_matcher_passes(std::shared_ptr f, return rewritten; } -void ov::pass::GraphRewrite::add_matcher(const std::shared_ptr& m, - const graph_rewrite_callback& callback, - const PassPropertyMask& property) { - m_matchers.push_back(std::make_shared( - m->get_name(), - m, - [m, callback](const std::shared_ptr& node) -> bool { - NGRAPH_DEBUG << "Running matcher " << m->get_name() << " on " << node; - if (m->match(node->output(0))) { - NGRAPH_DEBUG << "Matcher " << m->get_name() << " matched " << node; - OV_PASS_CALLBACK(m); - bool status = callback(*m.get()); - // explicitly clear Matcher state because it holds pointers to matched nodes - m->clear_state(); - return status; - } - m->clear_state(); - return false; - }, - property)); -} - -void ov::pass::GraphRewrite::add_matcher(const std::shared_ptr& m, - const graph_rewrite_callback& callback) { - NGRAPH_SUPPRESS_DEPRECATED_START - // TODO: before deprecate this function, by default expect the - // callback require static shape. - add_matcher(m, callback, {PassProperty::REQUIRE_STATIC_SHAPE}); - NGRAPH_SUPPRESS_DEPRECATED_END -} - void ov::pass::GraphRewrite::set_pass_config(const std::shared_ptr& rhs) { auto pass_config = get_pass_config(); // We have to preserve disabled passes because in case when we register matchers inside diff --git a/src/core/src/pass/pass.cpp b/src/core/src/pass/pass.cpp index df487deb314..adde933e3c5 100644 --- a/src/core/src/pass/pass.cpp +++ b/src/core/src/pass/pass.cpp @@ -74,23 +74,6 @@ ov::pass::ModelPass::~ModelPass() = default; OPENVINO_SUPPRESS_DEPRECATED_START -bool ov::pass::ModelPass::run_on_model(const std::shared_ptr& m) { - RUN_ON_MODEL_SCOPE(ModelPass); - RunLocker locked(call_on_model); - OPENVINO_ASSERT(!call_on_function, - "Cycle detected. run_on_model() or run_on_function() method should be overridden."); - bool sts = run_on_function(m); - return sts; -} - -bool ov::pass::ModelPass::run_on_function(std::shared_ptr m) { - RUN_ON_FUNCTION_SCOPE(ModelPass); - RunLocker locked(call_on_function); - OPENVINO_ASSERT(!call_on_model, "Cycle detected. run_on_model() or run_on_function() method should be overridden."); - bool sts = run_on_model(m); - return sts; -} - NGRAPH_RTTI_DEFINITION(ngraph::pass::NodePass, "ngraph::pass::NodePass", 0); ngraph::pass::NodePass::~NodePass() = default; diff --git a/src/core/tests/graph_rewrite.cpp b/src/core/tests/graph_rewrite.cpp index 060c9229e98..c7fb67d243c 100644 --- a/src/core/tests/graph_rewrite.cpp +++ b/src/core/tests/graph_rewrite.cpp @@ -107,7 +107,7 @@ TEST(GraphRewriteTest, MatcherPassCallback) { Anchor anchor; anchor.add_matcher()->set_callback(get_callback()); - anchor.run_on_function(f); + anchor.run_on_model(f); ASSERT_EQ(count_ops_of_type(f), 1); } @@ -118,7 +118,7 @@ TEST(GraphRewriteTest, GraphRewriteCallback) { Anchor anchor; anchor.add_matcher(); anchor.set_callback(get_callback()); - anchor.run_on_function(f); + anchor.run_on_model(f); ASSERT_EQ(count_ops_of_type(f), 1); } @@ -129,7 +129,7 @@ TEST(GraphRewriteTest, ManagerCallbackDeprecated) { pass::Manager manager; auto anchor = manager.register_pass(); anchor->add_matcher(); - manager.set_callback(get_callback()); + manager.get_pass_config()->set_callback(get_callback()); manager.run_passes(f); ASSERT_EQ(count_ops_of_type(f), 1); @@ -153,7 +153,7 @@ TEST(GraphRewriteTest, ManagerCallback2) { pass::Manager manager; auto anchor = manager.register_pass(); - manager.set_callback(get_callback()); + manager.get_pass_config()->set_callback(get_callback()); manager.run_passes(f); ASSERT_EQ(count_ops_of_type(f), 1); @@ -179,7 +179,7 @@ TEST(GraphRewriteTest, MatcherPassCallbackDerived) { Anchor anchor; anchor.add_matcher()->set_callback(get_callback()); - anchor.run_on_function(f); + anchor.run_on_model(f); ASSERT_EQ(count_ops_of_type(f), 1); } @@ -228,7 +228,7 @@ TEST(GraphRewriteTest, TypeBasedMatcherPassCallback) { Anchor anchor; anchor.add_matcher()->set_callback(get_callback()); - anchor.run_on_function(f); + anchor.run_on_model(f); ASSERT_EQ(count_ops_of_type(f), 1); } @@ -238,7 +238,7 @@ TEST(GraphRewriteTest, TypeBasedMatcherPassCallbackDerived) { Anchor anchor; anchor.add_matcher()->set_callback(get_callback()); - anchor.run_on_function(f); + anchor.run_on_model(f); ASSERT_EQ(count_ops_of_type(f), 1); } @@ -249,7 +249,7 @@ TEST(GraphRewriteTest, TypeBasedMatcherPassOrder1) { Anchor anchor; anchor.add_matcher()->set_callback(get_callback()); anchor.add_matcher()->set_callback(get_callback()); - anchor.run_on_function(f); + anchor.run_on_model(f); ASSERT_EQ(count_ops_of_type(f), 1); } @@ -260,7 +260,7 @@ TEST(GraphRewriteTest, TypeBasedMatcherPassOrder2) { Anchor anchor; anchor.add_matcher()->set_callback(get_callback()); anchor.add_matcher()->set_callback(get_callback()); - anchor.run_on_function(f); + anchor.run_on_model(f); ASSERT_EQ(count_ops_of_type(f), 1); } diff --git a/src/core/tests/matcher_pass.cpp b/src/core/tests/matcher_pass.cpp index b16b233a766..79be164bae2 100644 --- a/src/core/tests/matcher_pass.cpp +++ b/src/core/tests/matcher_pass.cpp @@ -98,7 +98,7 @@ TEST(pattern, matcher_pass) { pass::GraphRewrite pass; pass.add_matcher(); - pass.run_on_function(f); + pass.run_on_model(f); // Parameter->Relu->Result ASSERT_TRUE(f->get_ops().size() == 3); diff --git a/src/core/tests/pass_config.cpp b/src/core/tests/pass_config.cpp index ff011de1a94..3c9395aedc2 100644 --- a/src/core/tests/pass_config.cpp +++ b/src/core/tests/pass_config.cpp @@ -56,7 +56,7 @@ class TestFunctionPass : public ngraph::pass::FunctionPass { public: NGRAPH_RTTI_DECLARATION; - bool run_on_function(std::shared_ptr f) override { + bool run_on_model(const std::shared_ptr& f) override { pass::Manager manager(get_pass_config()); manager.register_pass(); diff --git a/src/core/tests/pass_manager.cpp b/src/core/tests/pass_manager.cpp index 0940f2ba4a9..a99c5d558d1 100644 --- a/src/core/tests/pass_manager.cpp +++ b/src/core/tests/pass_manager.cpp @@ -37,7 +37,7 @@ namespace { class DummyPass : public pass::FunctionPass { public: DummyPass() {} - bool run_on_function(std::shared_ptr /* f */) override { + bool run_on_model(const std::shared_ptr& /* f */) override { return false; } }; diff --git a/src/core/tests/pattern.cpp b/src/core/tests/pattern.cpp index cd888ed458f..ef5a75ec99c 100644 --- a/src/core/tests/pattern.cpp +++ b/src/core/tests/pattern.cpp @@ -111,9 +111,23 @@ public: }; auto m = make_shared(make_shared(pattern, iconst1)); - NGRAPH_SUPPRESS_DEPRECATED_START - this->add_matcher(m, callback); - NGRAPH_SUPPRESS_DEPRECATED_END + auto match_pass = std::make_shared( + m->get_name(), + m, + [m, callback](const std::shared_ptr& node) -> bool { + NGRAPH_DEBUG << "Running matcher " << m->get_name() << " on " << node; + if (std::dynamic_pointer_cast(m)->match(node->output(0))) { + NGRAPH_DEBUG << "Matcher " << m->get_name() << " matched " << node; + bool status = callback(*m.get()); + // explicitly clear Matcher state because it holds pointers to matched nodes + m->clear_state(); + return status; + } + m->clear_state(); + return false; + }, + ov::pass::PassProperty::REQUIRE_STATIC_SHAPE); + this->add_matcher(match_pass); } void construct_add_zero() { @@ -156,9 +170,23 @@ public: auto add = make_shared(pattern, iconst0); auto m = make_shared(add); - NGRAPH_SUPPRESS_DEPRECATED_START - this->add_matcher(m, callback); - NGRAPH_SUPPRESS_DEPRECATED_END + auto match_pass = std::make_shared( + m->get_name(), + m, + [m, callback](const std::shared_ptr& node) -> bool { + NGRAPH_DEBUG << "Running matcher " << m->get_name() << " on " << node; + if (std::dynamic_pointer_cast(m)->match(node->output(0))) { + NGRAPH_DEBUG << "Matcher " << m->get_name() << " matched " << node; + bool status = callback(*m.get()); + // explicitly clear Matcher state because it holds pointers to matched nodes + m->clear_state(); + return status; + } + m->clear_state(); + return false; + }, + ov::pass::PassProperty::REQUIRE_STATIC_SHAPE); + this->add_matcher(match_pass); } TestGraphRewrite() : GraphRewrite() { diff --git a/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/add_convert_to_reorder.cpp b/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/add_convert_to_reorder.cpp index 2a79c1e35df..077425faf39 100644 --- a/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/add_convert_to_reorder.cpp +++ b/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/add_convert_to_reorder.cpp @@ -39,9 +39,9 @@ public: std::vector>> CalculateRefs() override { // Convert the second input constant precision to i64 to run the reference function if (ngraph::element::Type_t::i8 == secondConstantType) { - ngraph::pass::ConvertPrecision().run_on_function(functionRefs); + ngraph::pass::ConvertPrecision().run_on_model(functionRefs); } else if (ngraph::element::Type_t::bf16 == secondConstantType) { - ngraph::pass::ConvertPrecision().run_on_function(functionRefs); + ngraph::pass::ConvertPrecision().run_on_model(functionRefs); } return LayerTestsUtils::LayerTestsCommon::CalculateRefs(); } diff --git a/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp b/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp index 81249706415..ff4a10c4b0a 100644 --- a/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp +++ b/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp @@ -203,8 +203,8 @@ public: using ngraph::pass::ConvertPrecision; ConcatConvSumInPlaceTest::SetUp(); functionRefs = function->clone(); - ngraph::pass::ConvertPrecision().run_on_function(functionRefs); - ngraph::pass::ConvertPrecision().run_on_function(functionRefs); + ngraph::pass::ConvertPrecision().run_on_model(functionRefs); + ngraph::pass::ConvertPrecision().run_on_model(functionRefs); functionRefs->validate_nodes_and_infer_types(); } }; diff --git a/src/tests/functional/plugin/shared/include/behavior/ov_executable_network/exec_network_base.hpp b/src/tests/functional/plugin/shared/include/behavior/ov_executable_network/exec_network_base.hpp index 18c4b6c0063..ee7ca6e0649 100644 --- a/src/tests/functional/plugin/shared/include/behavior/ov_executable_network/exec_network_base.hpp +++ b/src/tests/functional/plugin/shared/include/behavior/ov_executable_network/exec_network_base.hpp @@ -681,7 +681,7 @@ TEST_P(OVExecutableNetworkBaseTest, precisionsAsInOriginalIR) { auto filePrefix = CommonTestUtils::generateTestFilePrefix(); const std::string m_out_xml_path_1 = filePrefix + "precisionsAsInOriginalIR.xml"; const std::string m_out_bin_path_1 = filePrefix + "precisionsAsInOriginalIR.bin"; - ov::pass::Serialize(m_out_xml_path_1, m_out_bin_path_1).run_on_function(function); + ov::pass::Serialize(m_out_xml_path_1, m_out_bin_path_1).run_on_model(function); ov::CompiledModel execNet; EXPECT_NO_THROW(execNet = core->compile_model(m_out_xml_path_1, target_device, configuration)); diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/add_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/add_transformation.cpp index 024c8a3d34a..3109ee6bf3d 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/add_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/add_transformation.cpp @@ -62,7 +62,7 @@ void AddTransformation::SetUp() { precision, inputShape, param.broadcast, param.fakeQuantize1, param.fakeQuantize2); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(AddTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/elementwise_branch_selection_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/elementwise_branch_selection_transformation.cpp index 95acaa2b051..f511ffbc090 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/elementwise_branch_selection_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/elementwise_branch_selection_transformation.cpp @@ -67,7 +67,7 @@ void ElementwiseBranchSelectionTransformation::SetUp() { param.branch2.fakeQuantizeAfter, param.fakeQuantizeAfter); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } void ElementwiseBranchSelectionTransformation::Run() { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_avg_pool_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_avg_pool_transformation.cpp index bd77f795048..49087c50819 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_avg_pool_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_avg_pool_transformation.cpp @@ -40,7 +40,7 @@ void FakeQuantizeAndAvgPoolTransformation::SetUp() { inputShape, fakeQuantize); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(FakeQuantizeAndAvgPoolTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_max_pool_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_max_pool_transformation.cpp index b86d33e9af5..e874d741a09 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_max_pool_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_and_max_pool_transformation.cpp @@ -39,7 +39,7 @@ void FakeQuantizeAndMaxPoolTransformation::SetUp() { inputShape, fakeQuantize); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(FakeQuantizeAndMaxPoolTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_precision_selection_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_precision_selection_transformation.cpp index 42e3f413578..f68ed23dc08 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_precision_selection_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_precision_selection_transformation.cpp @@ -44,7 +44,7 @@ void FakeQuantizePrecisionSelectionTransformation::SetUp() { testValues.actual.fakeQuantizeOnWeights }); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(FakeQuantizePrecisionSelectionTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_transformation.cpp index e6a0893a44c..da139265eeb 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fake_quantize_transformation.cpp @@ -49,7 +49,7 @@ void FakeQuantizeTransformation::SetUp() { testParams.fakequantize, true); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } void FakeQuantizeTransformation::Run() { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_and_scale_shift_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_and_scale_shift_transformation.cpp index a72c49b932d..b1221d56c97 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_and_scale_shift_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_and_scale_shift_transformation.cpp @@ -39,7 +39,7 @@ void FuseFakeQuantizeAndScaleShiftTransformation::SetUp() { inputShape, fakeQuantizeOnData); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(FuseFakeQuantizeAndScaleShiftTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_transformation.cpp index f7c02dc0899..0dc3d899f79 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_fake_quantize_transformation.cpp @@ -46,7 +46,7 @@ void FuseFakeQuantizeTransformation::SetUp() { testValues.actual.precisionAfterDequantization, testValues.actual.fakeQuantizeOnData); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(FuseFakeQuantizeTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_multiply_to_fake_quantize_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_multiply_to_fake_quantize_transformation.cpp index 13e88dc976e..9e7a5a4b436 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_multiply_to_fake_quantize_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_multiply_to_fake_quantize_transformation.cpp @@ -35,7 +35,7 @@ void FuseMultiplyToFakeQuantizeTransformation::SetUp() { testValues.actual.fakeQuantizeOnData, testValues.actual.dequantization); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(FuseMultiplyToFakeQuantizeTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_subtract_to_fake_quantize_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_subtract_to_fake_quantize_transformation.cpp index 211c027bc82..083376eb953 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_subtract_to_fake_quantize_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/fuse_subtract_to_fake_quantize_transformation.cpp @@ -35,7 +35,7 @@ void FuseSubtractToFakeQuantizeTransformation::SetUp() { testValues.actual.fakeQuantizeOnData, testValues.actual.dequantization); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(FuseSubtractToFakeQuantizeTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_transformation.cpp index 56e0caf1ac5..2ad47f13fb1 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_transformation.cpp @@ -71,7 +71,7 @@ void MatMulTransformation::SetUp() { testValues.inputShape2, testValues.fqOnData2); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } void MatMulTransformation::Run() { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_with_constant_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_with_constant_transformation.cpp index 6542e1da04c..4592efc3343 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_with_constant_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/mat_mul_with_constant_transformation.cpp @@ -70,7 +70,7 @@ void MatMulWithConstantTransformation::SetUp() { testValues.fqOnWeights, testValues.deqOnWeights); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } void MatMulWithConstantTransformation::Run() { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/multiply_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/multiply_transformation.cpp index af4af2109b0..3e718706c77 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/multiply_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/multiply_transformation.cpp @@ -66,7 +66,7 @@ void MultiplyTransformation::SetUp() { param.fakeQuantizeAfter, param.secondInputIsConstant); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } void MultiplyTransformation::Run() { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/prelu_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/prelu_transformation.cpp index bb541cd67a5..873a0d6f953 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/prelu_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/prelu_transformation.cpp @@ -54,7 +54,7 @@ void PReluTransformation::SetUp() { function = ngraph::builder::subgraph::PReluFunction::getOriginal(inputShape, precision, testValues.fakeQuantize); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(PReluTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/relu_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/relu_transformation.cpp index 75ac5037aec..0969a112211 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/relu_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/relu_transformation.cpp @@ -54,7 +54,7 @@ void ReluTransformation::SetUp() { function = ngraph::builder::subgraph::ReluFunction::getOriginal(inputShape, precision, testValues.fakeQuantize); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(ReluTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/squeeze_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/squeeze_transformation.cpp index 3e2ec51d2e8..a1e791623a3 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/squeeze_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/squeeze_transformation.cpp @@ -75,7 +75,7 @@ void SqueezeTransformation::SetUp() { squeezeParam.fakeQuantize, squeezeParam.squeezeAxes); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(SqueezeTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/low_precision_transformations/unsqueeze_transformation.cpp b/src/tests/functional/plugin/shared/src/low_precision_transformations/unsqueeze_transformation.cpp index 0f457537df3..cce6815222f 100644 --- a/src/tests/functional/plugin/shared/src/low_precision_transformations/unsqueeze_transformation.cpp +++ b/src/tests/functional/plugin/shared/src/low_precision_transformations/unsqueeze_transformation.cpp @@ -75,7 +75,7 @@ void UnsqueezeTransformation::SetUp() { unsqueezeParam.fakeQuantize, unsqueezeParam.unsqueezeAxes); - ov::pass::InitNodeInfo().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); } TEST_P(UnsqueezeTransformation, CompareWithRefImpl) { diff --git a/src/tests/functional/plugin/shared/src/snippets/codegen_gelu.cpp b/src/tests/functional/plugin/shared/src/snippets/codegen_gelu.cpp index db3d313d253..bb76016505b 100644 --- a/src/tests/functional/plugin/shared/src/snippets/codegen_gelu.cpp +++ b/src/tests/functional/plugin/shared/src/snippets/codegen_gelu.cpp @@ -64,8 +64,8 @@ namespace snippets { "CodegenGelu"); if (useSubgraph) { - ov::pass::InitNodeInfo().run_on_function(function); - ngraph::pass::ConstantFolding().run_on_function(function); + ov::pass::InitNodeInfo().run_on_model(function); + ngraph::pass::ConstantFolding().run_on_model(function); } } diff --git a/src/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp b/src/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp index 71f29522cab..ea7befd88f3 100644 --- a/src/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp +++ b/src/tests/functional/shared_test_classes/src/base/layer_test_utils.cpp @@ -417,8 +417,8 @@ void LayerTestsCommon::Infer() { } void LayerTestsCommon::ConvertRefsParams() { - ngraph::pass::ConvertPrecision().run_on_function(functionRefs); - ngraph::pass::ConvertPrecision().run_on_function(functionRefs); + ngraph::pass::ConvertPrecision().run_on_model(functionRefs); + ngraph::pass::ConvertPrecision().run_on_model(functionRefs); } std::vector>> LayerTestsCommon::CalculateRefs() { diff --git a/src/tests/functional/shared_test_classes/src/single_layer/random_uniform.cpp b/src/tests/functional/shared_test_classes/src/single_layer/random_uniform.cpp index 5b053833df1..c60c694a814 100644 --- a/src/tests/functional/shared_test_classes/src/single_layer/random_uniform.cpp +++ b/src/tests/functional/shared_test_classes/src/single_layer/random_uniform.cpp @@ -82,7 +82,7 @@ void RandomUniformLayerTest::SetUp() { void RandomUniformLayerTest::ConvertRefsParams() { // we shouldn't use default conversion from f16 to f32 - ngraph::pass::ConvertPrecision().run_on_function( + ngraph::pass::ConvertPrecision().run_on_model( functionRefs); }