From e507b630ebd66440a1fb02b8820f1dea5a00f655 Mon Sep 17 00:00:00 2001 From: Egor Shulman Date: Wed, 30 Mar 2022 18:26:35 +0300 Subject: [PATCH] Use CC in CPUSpecificTransform (#11231) --- .../align_matmul_input_ranks.cpp | 4 +- .../convert_broadcast_to_tiles.cpp | 5 ++- .../convert_matmul_to_fc.cpp | 5 ++- .../convert_tile_to_seq_tiles.cpp | 5 ++- .../convert_to_cpu_specific_opset.hpp | 3 ++ .../convert_to_leaky_relu.cpp | 5 ++- .../convert_to_power_static.cpp | 5 ++- .../convert_to_swish_cpu.cpp | 5 ++- .../ngraph_transformations/fc_bias_fusion.cpp | 5 ++- .../src/ngraph_transformations/itt.hpp | 43 +++++++++++++++++++ .../move_eltwise_up_data_movement.cpp | 5 ++- .../op/fully_connected.cpp | 4 ++ .../ngraph_transformations/op/leaky_relu.cpp | 4 ++ .../op/power_static.cpp | 4 ++ .../ngraph_transformations/op/swish_cpu.cpp | 4 ++ .../reshape_fc_fusion.cpp | 5 ++- .../ngraph_transformations/reshape_prelu.cpp | 5 ++- .../rnn_sequences_optimization.cpp | 11 +++-- .../snippets_mark_skipped.cpp | 3 ++ .../swap_convert_transpose.cpp | 5 ++- 20 files changed, 120 insertions(+), 15 deletions(-) create mode 100644 src/plugins/intel_cpu/src/ngraph_transformations/itt.hpp diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/align_matmul_input_ranks.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/align_matmul_input_ranks.cpp index 6f3c4c45cb3..517cf337679 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/align_matmul_input_ranks.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/align_matmul_input_ranks.cpp @@ -12,8 +12,10 @@ #include #include +#include "itt.hpp" ov::intel_cpu::AlignMatMulInputRanks::AlignMatMulInputRanks() { + MATCHER_SCOPE(AlignMatMulInputRanks); ngraph::OutputVector twoInputs = { ngraph::pattern::any_input(ngraph::pattern::has_static_rank()), ngraph::pattern::any_input(ngraph::pattern::has_static_rank()) @@ -135,6 +137,6 @@ ov::intel_cpu::AlignMatMulInputRanks::AlignMatMulInputRanks() { return true; }; - auto m = std::make_shared(matmulPattern, "AlignMatMulInputRanks"); + auto m = std::make_shared(matmulPattern, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/convert_broadcast_to_tiles.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/convert_broadcast_to_tiles.cpp index 08036e188ee..69dfeed6a3d 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/convert_broadcast_to_tiles.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/convert_broadcast_to_tiles.cpp @@ -8,7 +8,10 @@ #include #include +#include "itt.hpp" + ov::intel_cpu::ConvertBroadcastToTiles::ConvertBroadcastToTiles() { + MATCHER_SCOPE(ConvertBroadcastToTiles); auto broadcast = ngraph::pattern::wrap_type(); ngraph::matcher_pass_callback callback = [this](ngraph::pattern::Matcher& m) { @@ -91,6 +94,6 @@ ov::intel_cpu::ConvertBroadcastToTiles::ConvertBroadcastToTiles() { return true; }; - auto m = std::make_shared(broadcast, "ConvertBroadcastToTiles"); + auto m = std::make_shared(broadcast, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/convert_matmul_to_fc.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/convert_matmul_to_fc.cpp index c9369fefad1..d176dd857ff 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/convert_matmul_to_fc.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/convert_matmul_to_fc.cpp @@ -9,7 +9,10 @@ #include #include +#include "itt.hpp" + ov::intel_cpu::ConvertMatMulToFC::ConvertMatMulToFC() { + MATCHER_SCOPE(ConvertMatMulToFC); auto activations_m = ngraph::pattern::any_input(ngraph::pattern::has_static_rank()); auto weights_m = ngraph::pattern::wrap_type(); auto matmul_m = ngraph::pattern::wrap_type({ activations_m, weights_m }, ngraph::pattern::has_static_rank()); @@ -162,6 +165,6 @@ ov::intel_cpu::ConvertMatMulToFC::ConvertMatMulToFC() { return true; }; - auto m = std::make_shared(matmul_m, "ConvertMatMulToFC"); + auto m = std::make_shared(matmul_m, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/convert_tile_to_seq_tiles.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/convert_tile_to_seq_tiles.cpp index a21fcafd24d..fa0609e528a 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/convert_tile_to_seq_tiles.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/convert_tile_to_seq_tiles.cpp @@ -12,7 +12,10 @@ #include +#include "itt.hpp" + ov::intel_cpu::ConvertTileToSeqTiles::ConvertTileToSeqTiles() { + MATCHER_SCOPE(ConvertTileToSeqTiles); auto tile = ngraph::pattern::wrap_type({ngraph::pattern::any_input(ngraph::pattern::has_static_rank()), ngraph::pattern::wrap_type()}); @@ -88,6 +91,6 @@ ov::intel_cpu::ConvertTileToSeqTiles::ConvertTileToSeqTiles() { return true; }; - auto m = std::make_shared(tile, "ConvertTileToSeqTiles"); + auto m = std::make_shared(tile, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_cpu_specific_opset.hpp b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_cpu_specific_opset.hpp index 7da63c8f5be..9a6427fdf43 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_cpu_specific_opset.hpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_cpu_specific_opset.hpp @@ -20,10 +20,13 @@ #include "rnn_sequences_optimization.hpp" #include "transformations/common_optimizations/reshape_sequence_fusion.hpp" +#include "itt.hpp" + namespace ov { namespace intel_cpu { inline void ConvertToCPUSpecificOpset(std::shared_ptr &nGraphFunc) { + RUN_ON_FUNCTION_SCOPE(ConvertToCPUSpecificOpset); ngraph::pass::Manager manager; manager.register_pass(); manager.register_pass(); diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_leaky_relu.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_leaky_relu.cpp index d46fbc3d896..dc1f73bd581 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_leaky_relu.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_leaky_relu.cpp @@ -9,7 +9,10 @@ #include #include "op/leaky_relu.hpp" +#include "itt.hpp" + ov::intel_cpu::ConvertToLeakyRelu::ConvertToLeakyRelu() { + MATCHER_SCOPE(ConvertToLeakyRelu); auto input = ngraph::pattern::any_input(); auto slope_constant = ngraph::pattern::wrap_type(); auto prelu = ngraph::pattern::wrap_type({ input, slope_constant }); @@ -32,6 +35,6 @@ ov::intel_cpu::ConvertToLeakyRelu::ConvertToLeakyRelu() { return false; }; - auto m = std::make_shared(prelu, "ConvertToLeakyRelu"); + auto m = std::make_shared(prelu, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_power_static.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_power_static.cpp index 3a98458ad31..a090bd00fa3 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_power_static.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_power_static.cpp @@ -14,6 +14,8 @@ #include "op/fully_connected.hpp" #include "utils/general_utils.h" +#include "itt.hpp" + namespace { int getConstPort(const std::shared_ptr &node) { @@ -97,6 +99,7 @@ std::shared_ptr convert(const std::shared_ptr &node) { } // namespace ov::intel_cpu::ConvertToPowerStatic::ConvertToPowerStatic() { + MATCHER_SCOPE(ConvertToPowerStatic); ngraph::OutputVector twoInputs = {ngraph::pattern::any_input(ngraph::pattern::has_static_rank()), ngraph::pattern::any_input(ngraph::pattern::has_static_rank())}; auto power = ngraph::pattern::wrap_type(twoInputs); @@ -134,6 +137,6 @@ ov::intel_cpu::ConvertToPowerStatic::ConvertToPowerStatic() { return true; }; - auto m = std::make_shared(candidate, "ConvertToPowerStatic"); + auto m = std::make_shared(candidate, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_swish_cpu.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_swish_cpu.cpp index 7e7b24a29a4..f274efad680 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_swish_cpu.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/convert_to_swish_cpu.cpp @@ -9,7 +9,10 @@ #include #include "op/swish_cpu.hpp" +#include "itt.hpp" + ov::intel_cpu::ConvertToSwishCPU::ConvertToSwishCPU() { + MATCHER_SCOPE(ConvertToSwishCPU); auto swish = ngraph::pattern::wrap_type(); ngraph::matcher_pass_callback callback = [](ngraph::pattern::Matcher& m) { @@ -34,6 +37,6 @@ ov::intel_cpu::ConvertToSwishCPU::ConvertToSwishCPU() { return true; }; - auto m = std::make_shared(swish, "ConvertToSwishCPU"); + auto m = std::make_shared(swish, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/fc_bias_fusion.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/fc_bias_fusion.cpp index 5524d839718..77ffe5632b1 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/fc_bias_fusion.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/fc_bias_fusion.cpp @@ -11,7 +11,10 @@ #include "transformations/utils/utils.hpp" +#include "itt.hpp" + ov::intel_cpu::FullyConnectedBiasFusion::FullyConnectedBiasFusion() { + MATCHER_SCOPE(FullyConnectedBiasFusion); auto input = ngraph::pattern::any_input(); auto weights = ngraph::pattern::any_input(ngraph::pattern::has_static_shape()); auto m_fc = ngraph::pattern::wrap_type({ input, weights }, [](ngraph::Output output) { @@ -68,6 +71,6 @@ ov::intel_cpu::FullyConnectedBiasFusion::FullyConnectedBiasFusion() { return true; }; - auto m = std::make_shared(m_add, "FullyConnectedBiasFusion"); + auto m = std::make_shared(m_add, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/itt.hpp b/src/plugins/intel_cpu/src/ngraph_transformations/itt.hpp new file mode 100644 index 00000000000..c54f290b857 --- /dev/null +++ b/src/plugins/intel_cpu/src/ngraph_transformations/itt.hpp @@ -0,0 +1,43 @@ +// Copyright (C) 2018-2022 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 +// + +/** + * @brief Defines openvino domains for tracing + * @file itt.hpp + */ + +#pragma once + +#include + +namespace ov { +namespace intel_cpu { +namespace itt { +namespace domains { + OV_ITT_DOMAIN(CPUSpecificTransform); +} // namespace domains +} // namespace itt +} // namespace intel_cpu +} // namespace ov + +OV_CC_DOMAINS(internal_op); + +/* + * RUN_ON_FUNCTION_SCOPE macro allows to disable the run_on_function pass + * MATCHER_SCOPE macro allows to disable the MatcherPass if matcher isn't applied + * INTERNAL_OP_SCOPE macro allows to disable parts of internal nGraph operations if they are not used + */ +#if defined(SELECTIVE_BUILD_ANALYZER) + +#define INTERNAL_OP_SCOPE(region) OV_SCOPE(internal_op, region) + +#elif defined(SELECTIVE_BUILD) + +#define INTERNAL_OP_SCOPE(region) MATCHER_SCOPE_(internal_op, region) + +#else + +#define INTERNAL_OP_SCOPE(region) + +#endif diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/move_eltwise_up_data_movement.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/move_eltwise_up_data_movement.cpp index 72a1404ff57..b5a733c623b 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/move_eltwise_up_data_movement.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/move_eltwise_up_data_movement.cpp @@ -12,6 +12,8 @@ #include #include +#include "itt.hpp" + namespace { bool is_data_movement_operation(const std::shared_ptr& node) { @@ -38,6 +40,7 @@ namespace { } // namespace ov::intel_cpu::MoveEltwiseUpThroughDataMov::MoveEltwiseUpThroughDataMov() { + MATCHER_SCOPE(MoveEltwiseUpThroughDataMov); auto eltwise_pattern = ngraph::pattern::wrap_type(ngraph::pattern::has_static_rank()); @@ -108,6 +111,6 @@ ov::intel_cpu::MoveEltwiseUpThroughDataMov::MoveEltwiseUpThroughDataMov() { return true; }; - auto m = std::make_shared(eltwise_pattern, "MoveEltwiseUpThroughDataMov"); + auto m = std::make_shared(eltwise_pattern, matcher_name); register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/op/fully_connected.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/op/fully_connected.cpp index 936e9beb2a6..c9da277bcc2 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/op/fully_connected.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/op/fully_connected.cpp @@ -3,6 +3,7 @@ // #include "fully_connected.hpp" +#include "../itt.hpp" ov::intel_cpu::FullyConnectedNode::FullyConnectedNode(const ngraph::Output& A, const ngraph::Output& B, @@ -22,6 +23,7 @@ ov::intel_cpu::FullyConnectedNode::FullyConnectedNode(const ngraph::Output } std::shared_ptr ov::intel_cpu::FullyConnectedNode::clone_with_new_inputs(const ngraph::OutputVector& new_args) const { + INTERNAL_OP_SCOPE(FullyConnectedNode_clone_with_new_inputs); check_new_args_count(this, new_args); if (new_args.size() == 2) { return std::make_shared(new_args.at(0), new_args.at(1), m_output_rank, m_output_type); @@ -33,6 +35,7 @@ std::shared_ptr ov::intel_cpu::FullyConnectedNode::clone_with_new_ } void ov::intel_cpu::FullyConnectedNode::validate_and_infer_types() { + INTERNAL_OP_SCOPE(FullyConnectedNode_validate_and_infer_types); const auto input_size = get_input_size(); NODE_VALIDATION_CHECK(this, input_size == 2 || input_size == 3, @@ -94,6 +97,7 @@ void ov::intel_cpu::FullyConnectedNode::validate_and_infer_types() { } bool ov::intel_cpu::FullyConnectedNode::visit_attributes(ngraph::AttributeVisitor &visitor) { + INTERNAL_OP_SCOPE(FullyConnectedNode_visit_attributes); visitor.on_attribute("out-rank", m_output_rank); visitor.on_attribute("out-type", m_output_type); return true; diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/op/leaky_relu.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/op/leaky_relu.cpp index 4f2899d7c3c..e1e63b456b9 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/op/leaky_relu.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/op/leaky_relu.cpp @@ -3,6 +3,7 @@ // #include "leaky_relu.hpp" +#include "../itt.hpp" ov::intel_cpu::LeakyReluNode::LeakyReluNode(const ngraph::Output &data, const float &negative_slope, @@ -12,11 +13,13 @@ ov::intel_cpu::LeakyReluNode::LeakyReluNode(const ngraph::Output & } std::shared_ptr ov::intel_cpu::LeakyReluNode::clone_with_new_inputs(const ngraph::OutputVector& new_args) const { + INTERNAL_OP_SCOPE(LeakyReluNode_clone_with_new_inputs); check_new_args_count(this, new_args); return std::make_shared(new_args.at(0), m_negative_slope, m_output_type); } void ov::intel_cpu::LeakyReluNode::validate_and_infer_types() { + INTERNAL_OP_SCOPE(LeakyReluNode_validate_and_infer_types); set_output_type( 0, m_output_type == ngraph::element::undefined ? get_input_element_type(0) : m_output_type, @@ -24,6 +27,7 @@ void ov::intel_cpu::LeakyReluNode::validate_and_infer_types() { } bool ov::intel_cpu::LeakyReluNode::visit_attributes(ngraph::AttributeVisitor &visitor) { + INTERNAL_OP_SCOPE(LeakyReluNode_visit_attributes); visitor.on_attribute("negative_slope", m_negative_slope); visitor.on_attribute("out-type", m_output_type); return true; diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/op/power_static.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/op/power_static.cpp index cddc10fa06e..976066a48e4 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/op/power_static.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/op/power_static.cpp @@ -3,6 +3,7 @@ // #include "power_static.hpp" +#include "../itt.hpp" ov::intel_cpu::PowerStaticNode::PowerStaticNode(const ngraph::Output &data, const float &power, @@ -14,6 +15,7 @@ ov::intel_cpu::PowerStaticNode::PowerStaticNode(const ngraph::Output &data } std::shared_ptr ov::intel_cpu::PowerStaticNode::clone_with_new_inputs(const ngraph::OutputVector &new_args) const { + INTERNAL_OP_SCOPE(PowerStaticNode_clone_with_new_inputs); if (new_args.size() != 1) { throw ngraph::ngraph_error("Incorrect number of new arguments"); } @@ -22,10 +24,12 @@ std::shared_ptr ov::intel_cpu::PowerStaticNode::clone_with_new_inp } void ov::intel_cpu::PowerStaticNode::validate_and_infer_types() { + INTERNAL_OP_SCOPE(PowerStaticNode_validate_and_infer_types); set_output_type(0, m_output_type == ngraph::element::undefined ? get_input_element_type(0) : m_output_type, get_input_partial_shape(0)); } bool ov::intel_cpu::PowerStaticNode::visit_attributes(ngraph::AttributeVisitor &visitor) { + INTERNAL_OP_SCOPE(PowerStaticNode_visit_attributes); visitor.on_attribute("scale", scale); visitor.on_attribute("power", power); visitor.on_attribute("shift", shift); diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/op/swish_cpu.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/op/swish_cpu.cpp index f0628ad252c..e4cc5de6810 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/op/swish_cpu.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/op/swish_cpu.cpp @@ -3,6 +3,7 @@ // #include "swish_cpu.hpp" +#include "../itt.hpp" ov::intel_cpu::SwishNode::SwishNode(const ngraph::Output & input, const float alpha) : Op({input}), m_alpha(alpha) { @@ -10,16 +11,19 @@ ov::intel_cpu::SwishNode::SwishNode(const ngraph::Output & input, } std::shared_ptr ov::intel_cpu::SwishNode::clone_with_new_inputs(const ngraph::OutputVector& new_args) const { + INTERNAL_OP_SCOPE(SwishNode_clone_with_new_inputs); check_new_args_count(this, new_args); return std::make_shared(new_args.at(0), m_alpha); } bool ov::intel_cpu::SwishNode::visit_attributes(ngraph::AttributeVisitor& visitor) { + INTERNAL_OP_SCOPE(SwishNode_visit_attributes); visitor.on_attribute("alpha", m_alpha); return true; } void ov::intel_cpu::SwishNode::validate_and_infer_types() { + INTERNAL_OP_SCOPE(SwishNode_validate_and_infer_types); set_output_type(0, get_input_element_type(0), get_input_partial_shape(0)); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/reshape_fc_fusion.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/reshape_fc_fusion.cpp index 7b43b43e25c..e2cb71f0890 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/reshape_fc_fusion.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/reshape_fc_fusion.cpp @@ -10,7 +10,10 @@ #include #include +#include "itt.hpp" + ov::intel_cpu::ReshapeFullyConnectedFusion::ReshapeFullyConnectedFusion() { + MATCHER_SCOPE(ReshapeFullyConnectedFusion); auto m_reshape = ngraph::pattern::wrap_type({ngraph::pattern::any_input(ov::pass::pattern::has_static_shape()), ngraph::pattern::any_input()}, ngraph::pattern::has_static_shape()); @@ -81,6 +84,6 @@ ov::intel_cpu::ReshapeFullyConnectedFusion::ReshapeFullyConnectedFusion() { return true; }; - auto m = std::make_shared(fcTwoOrThreeInputs, "ReshapeFullyConnectedFusion"); + auto m = std::make_shared(fcTwoOrThreeInputs, matcher_name); register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/reshape_prelu.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/reshape_prelu.cpp index 649052b0614..0ee300ab813 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/reshape_prelu.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/reshape_prelu.cpp @@ -9,7 +9,10 @@ #include #include "transformations/utils/utils.hpp" +#include "itt.hpp" + ov::intel_cpu::ReshapePRelu::ReshapePRelu() { + MATCHER_SCOPE(ReshapeFullyConnectedFusion); auto input_m = ngraph::pattern::any_input(ngraph::pattern::has_static_rank()); auto slope_m = ngraph::pattern::any_input(ngraph::pattern::has_static_rank()); auto prelu_m = ngraph::pattern::wrap_type({ input_m, slope_m }); @@ -49,6 +52,6 @@ ov::intel_cpu::ReshapePRelu::ReshapePRelu() { return true; }; - auto m = std::make_shared(prelu_m, "ReshapePRelu"); + auto m = std::make_shared(prelu_m, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/rnn_sequences_optimization.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/rnn_sequences_optimization.cpp index 6c111fd3d49..bf724a84c54 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/rnn_sequences_optimization.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/rnn_sequences_optimization.cpp @@ -11,6 +11,8 @@ #include #include +#include "itt.hpp" + namespace { int64_t getSeqAxis(const std::shared_ptr& sequenceOp) { // Optimization. @@ -82,6 +84,7 @@ namespace { } // namespace ov::intel_cpu::OptimizeGRUSequenceTransposes::OptimizeGRUSequenceTransposes() { + MATCHER_SCOPE(OptimizeGRUSequenceTransposes); auto gruSequenceNgraph = ngraph::pattern::wrap_type(); ngraph::matcher_pass_callback callback = [](ngraph::pattern::Matcher &m) { @@ -96,11 +99,12 @@ ov::intel_cpu::OptimizeGRUSequenceTransposes::OptimizeGRUSequenceTransposes() { return transform(gruSequence); }; - auto m = std::make_shared(gruSequenceNgraph, "OptimizeGRUSequenceTransposes"); + auto m = std::make_shared(gruSequenceNgraph, matcher_name); this->register_matcher(m, callback); } ov::intel_cpu::OptimizeRNNSequenceTransposes::OptimizeRNNSequenceTransposes() { + MATCHER_SCOPE(OptimizeRNNSequenceTransposes); auto rnnSequenceNgraph = ngraph::pattern::wrap_type(); ngraph::matcher_pass_callback callback = [](ngraph::pattern::Matcher &m) { @@ -115,11 +119,12 @@ ov::intel_cpu::OptimizeRNNSequenceTransposes::OptimizeRNNSequenceTransposes() { return transform(rnnSequence); }; - auto m = std::make_shared(rnnSequenceNgraph, "OptimizeRNNSequenceTransposes"); + auto m = std::make_shared(rnnSequenceNgraph, matcher_name); this->register_matcher(m, callback); } ov::intel_cpu::OptimizeLSTMSequenceTransposes::OptimizeLSTMSequenceTransposes() { + MATCHER_SCOPE(OptimizeLSTMSequenceTransposes); auto lstmSequenceNgraph = ngraph::pattern::wrap_type(); ngraph::matcher_pass_callback callback = [](ngraph::pattern::Matcher &m) { @@ -137,7 +142,7 @@ ov::intel_cpu::OptimizeLSTMSequenceTransposes::OptimizeLSTMSequenceTransposes() return checkSequence(lstmSequence) ? transform(lstmSequence) : false; }; - auto m = std::make_shared(lstmSequenceNgraph, "OptimizeLSTMSequenceTransposes"); + auto m = std::make_shared(lstmSequenceNgraph, matcher_name); this->register_matcher(m, callback); } diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/snippets_mark_skipped.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/snippets_mark_skipped.cpp index 16061da83a4..77d3d634adb 100644 --- a/src/plugins/intel_cpu/src/ngraph_transformations/snippets_mark_skipped.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/snippets_mark_skipped.cpp @@ -7,6 +7,8 @@ #include #include +#include "itt.hpp" + using namespace ngraph; namespace ov { @@ -297,6 +299,7 @@ void MarkSubgraphOpAsSkipped(const std::shared_ptr &node) { } // namespace bool SnippetsMarkSkipped::run_on_model(const std::shared_ptr &m) { + RUN_ON_MODEL_SCOPE(SnippetsMarkSkipped); for (auto &node : m->get_ordered_ops()) { if (ngraph::op::is_constant(node)) continue; diff --git a/src/plugins/intel_cpu/src/ngraph_transformations/swap_convert_transpose.cpp b/src/plugins/intel_cpu/src/ngraph_transformations/swap_convert_transpose.cpp index 5b7899928ce..69695f4ffe5 100755 --- a/src/plugins/intel_cpu/src/ngraph_transformations/swap_convert_transpose.cpp +++ b/src/plugins/intel_cpu/src/ngraph_transformations/swap_convert_transpose.cpp @@ -8,9 +8,12 @@ #include #include +#include "itt.hpp" + NGRAPH_RTTI_DEFINITION(ov::intel_cpu::SwapConvertTranspose, "SwapConvertTranspose", 0); ov::intel_cpu::SwapConvertTranspose::SwapConvertTranspose() { + MATCHER_SCOPE(SwapConvertTranspose); ngraph::element::TypeVector param_precisions{ ngraph::element::i8, ngraph::element::u8 }; auto input_m = ngraph::pattern::wrap_type(ngraph::pattern::type_matches_any(param_precisions)); auto convert_m = ngraph::pattern::wrap_type({input_m}, ngraph::pattern::type_matches(ngraph::element::f32)); @@ -38,6 +41,6 @@ ov::intel_cpu::SwapConvertTranspose::SwapConvertTranspose() { return true; }; - auto m = std::make_shared(transpose_m, "SwapConvertTranspose"); + auto m = std::make_shared(transpose_m, matcher_name); this->register_matcher(m, callback); }