From 54609e7b72d9faa5a38fe7ac15c84aae77fbbc82 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Tue, 19 Sep 2023 00:07:59 +0400 Subject: [PATCH] Removed FixRtInfo pass (#16870) * Removed FixRtInfo pass * Removed FixRtInfo pass * Fixed macOS compilation --- CMakeLists.txt | 2 - .../docs/develop_cc_for_new_component.md | 1 - src/common/snippets/src/pass/hash.cpp | 2 +- .../include/transformations/fix_rt_info.hpp | 38 ----------------- .../src/transformations/fix_rt_info.cpp | 42 ------------------- .../src/transformations/init_node_info.cpp | 5 +-- src/core/CMakeLists.txt | 1 - src/core/src/pass/serialize.cpp | 2 +- src/core/tests/CMakeLists.txt | 2 - src/inference/src/cnn_network_ngraph_impl.cpp | 8 ---- src/inference/src/compilation_context.cpp | 2 - .../tests/unit/compilation_context_test.cpp | 3 +- .../functional/test_utils/cpu_test_utils.cpp | 7 ++-- .../functional/test_utils/cpu_test_utils.hpp | 3 +- .../template/tests/functional/CMakeLists.txt | 4 +- .../src/summary/op_summary.cpp | 2 +- 16 files changed, 13 insertions(+), 111 deletions(-) delete mode 100644 src/common/transformations/include/transformations/fix_rt_info.hpp delete mode 100644 src/common/transformations/src/transformations/fix_rt_info.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b552b3da34..e9d4760eb86 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,8 +106,6 @@ function(openvino_developer_export_targets) if(TARGET "${target_name}") get_target_property(original_name ${target_name} ALIASED_TARGET) if(TARGET "${original_name}") - message(STATUS "The name ${target_name} is an ALIAS for ${original_name}. " - "It will be exported to the OpenVINODeveloperPackage with the original name.") list(REMOVE_ITEM ${EXPORT_COMPONENT} ${target_name}) list(APPEND ${EXPORT_COMPONENT} ${original_name}) endif() diff --git a/src/common/conditional_compilation/docs/develop_cc_for_new_component.md b/src/common/conditional_compilation/docs/develop_cc_for_new_component.md index 4166a907434..32c10478dc6 100644 --- a/src/common/conditional_compilation/docs/develop_cc_for_new_component.md +++ b/src/common/conditional_compilation/docs/develop_cc_for_new_component.md @@ -69,7 +69,6 @@ It checks whether the code region in this module is active or inactive by the ma There is an example of `conditional_compilation_gen.h`: ``` -#define ov_pass_FixRtInfo_run_on_function 1 #define ov_pass_GraphRewrite_run_on_model 1 #define ov_pass_InitNodeInfo_run_on_function 1 #define ov_pass_ConstantFolding_run_on_model 1 diff --git a/src/common/snippets/src/pass/hash.cpp b/src/common/snippets/src/pass/hash.cpp index 8d509b56886..48dd9586ae4 100644 --- a/src/common/snippets/src/pass/hash.cpp +++ b/src/common/snippets/src/pass/hash.cpp @@ -62,7 +62,7 @@ static uint64_t hash_combine(uint64_t seed, const T &v) { namespace rt_info { // some node attr is not type of ov::RuntimeAttribute, need dedicate visitor. -const std::vector list_of_names{ +static const std::vector list_of_names{ "PrimitivesPriority", "alt_width", }; diff --git a/src/common/transformations/include/transformations/fix_rt_info.hpp b/src/common/transformations/include/transformations/fix_rt_info.hpp deleted file mode 100644 index a9c33645633..00000000000 --- a/src/common/transformations/include/transformations/fix_rt_info.hpp +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (C) 2018-2023 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#pragma once - -/** - * @brief Defines initialize node runtime information pass - * @file init_node_info.hpp - */ - -#include -#include - -#include "openvino/pass/graph_rewrite.hpp" -#include "transformations_visibility.hpp" - -namespace ov { -namespace pass { - -class TRANSFORMATIONS_API FixRtInfo; - -} // namespace pass -} // namespace ov - -/** - * @ingroup ie_transformation_common_api - * @brief FixRtInfo transformation helps to fix info attributes in a single place. - * User can pass runtime attribute using various types. - * This Pass should generalize them runtime info representation. - * - * Used to extract runtime attributes from shared pointer to `ov::RuntimeAttributeWrapper` to standard or trivial types - */ -class ov::pass::FixRtInfo : public ov::pass::ModelPass { -public: - OPENVINO_RTTI("FixRtInfo", "0"); - bool run_on_model(const std::shared_ptr& m) override; -}; diff --git a/src/common/transformations/src/transformations/fix_rt_info.cpp b/src/common/transformations/src/transformations/fix_rt_info.cpp deleted file mode 100644 index b70176ca7ae..00000000000 --- a/src/common/transformations/src/transformations/fix_rt_info.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (C) 2018-2023 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#include "transformations/fix_rt_info.hpp" - -#include -#include - -#include "itt.hpp" -#include "openvino/core/rt_info.hpp" -#include "openvino/opsets/opset1.hpp" -#include "transformations/rt_info/primitives_priority_attribute.hpp" - -bool ov::pass::FixRtInfo::run_on_model(const std::shared_ptr& f) { - RUN_ON_FUNCTION_SCOPE(FixRtInfo); - - for (auto& node : f->get_ops()) { - // Recursively apply transformation for sub-graph based operations - if (auto sub_graph_node = std::dynamic_pointer_cast(node)) { - if (auto sub_graph = sub_graph_node->get_function()) { - run_on_model(sub_graph); - } - } - auto& rt_info = node->get_rt_info(); - { - auto it_info = rt_info.find("PrimitivesPriority"); - if (it_info != rt_info.end()) { - if (it_info->second.is()) { - rt_info.emplace(ov::PrimitivesPriority::get_type_info_static(), - it_info->second.as()); - } - if (it_info->second.is()) { - rt_info.emplace(ov::PrimitivesPriority::get_type_info_static(), - ov::PrimitivesPriority{it_info->second.as()}); - } - rt_info.erase(it_info); - } - } - } - return false; -} diff --git a/src/common/transformations/src/transformations/init_node_info.cpp b/src/common/transformations/src/transformations/init_node_info.cpp index 93c958d14f6..efc2627199c 100644 --- a/src/common/transformations/src/transformations/init_node_info.cpp +++ b/src/common/transformations/src/transformations/init_node_info.cpp @@ -8,9 +8,7 @@ #include #include "itt.hpp" -#include "openvino/core/rt_info.hpp" -#include "openvino/opsets/opset1.hpp" -#include "transformations/fix_rt_info.hpp" +#include "openvino/op/util/sub_graph_base.hpp" #include "transformations/rt_info/fused_names_attribute.hpp" #include "transformations/rt_info/primitives_priority_attribute.hpp" @@ -27,6 +25,5 @@ bool ov::pass::InitNodeInfo::run_on_model(const std::shared_ptr& f) { auto& rtInfo = node->get_rt_info(); rtInfo.emplace(FusedNames::get_type_info_static(), FusedNames{node->get_friendly_name()}); } - FixRtInfo{}.run_on_model(f); return false; } diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 4d8545a5a21..03580613532 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -122,7 +122,6 @@ file(GLOB_RECURSE smart_reshape_srcs ${CMAKE_CURRENT_SOURCE_DIR}/src/pass/smart_ file(GLOB_RECURSE rt_info_srcs ${CMAKE_CURRENT_SOURCE_DIR}/src/pass/rt_info/*.cpp) set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/src/pass/convert_precision.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/pass/convert_fp32_to_fp16.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/src/pass/fix_rt_info.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/pass/init_node_info.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/pass/serialize.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/src/op/type_relaxed.cpp" diff --git a/src/core/src/pass/serialize.cpp b/src/core/src/pass/serialize.cpp index de2fcd8c46b..70b91b7e97b 100644 --- a/src/core/src/pass/serialize.cpp +++ b/src/core/src/pass/serialize.cpp @@ -197,7 +197,7 @@ void ngfunction_2_ir(pugi::xml_node& node, bool deterministic); namespace rt_info { -const std::vector list_of_names{ +static const std::vector list_of_names{ "PrimitivesPriority", "alt_width", }; diff --git a/src/core/tests/CMakeLists.txt b/src/core/tests/CMakeLists.txt index e42513bd939..b5298b9e5ee 100644 --- a/src/core/tests/CMakeLists.txt +++ b/src/core/tests/CMakeLists.txt @@ -11,8 +11,6 @@ ov_try_use_gold_linker() add_definitions(-DSERIALIZED_ZOO=\"${TEST_MODEL_ZOO}/core/models\") -message(STATUS "OpenVINO Core unit tests enabled") - # For type relaxed types set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/threading.cpp PROPERTIES INCLUDE_DIRECTORIES $) diff --git a/src/inference/src/cnn_network_ngraph_impl.cpp b/src/inference/src/cnn_network_ngraph_impl.cpp index cb26e63e7c2..74f80f39e2f 100644 --- a/src/inference/src/cnn_network_ngraph_impl.cpp +++ b/src/inference/src/cnn_network_ngraph_impl.cpp @@ -29,7 +29,6 @@ #include "transformations/common_optimizations/nop_elimination.hpp" #include "transformations/common_optimizations/remove_concat_zero_dim_input.hpp" #include "transformations/common_optimizations/remove_multi_subgraph_op_dangling_params.hpp" -#include "transformations/fix_rt_info.hpp" #include "transformations/smart_reshape/set_batch_size.hpp" #include "transformations/smart_reshape/smart_reshape.hpp" #include "transformations/utils/utils.hpp" @@ -136,7 +135,6 @@ CNNNetworkNGraphImpl::CNNNetworkNGraphImpl(const std::shared_ptr& nGra { ov::pass::Manager m; using namespace ov::pass; - REGISTER_PASS(m, FixRtInfo) REGISTER_PASS(m, EliminateScatterUpdate) REGISTER_PASS(m, RemoveConcatZeroDimInput) REGISTER_PASS(m, RemoveMultiSubGraphOpDanglingParamsResults) @@ -199,12 +197,6 @@ CNNNetworkNGraphImpl::CNNNetworkNGraphImpl(const CNNNetwork& network) { } _ngraph_function = ngraph::clone_function(*network.getFunction()); - { - ov::pass::Manager m; - using namespace ov::pass; - REGISTER_PASS(m, FixRtInfo) - m.run_passes(_ngraph_function); - } validateFunctionNames(); InputsDataMap inputs = network.getInputsInfo(); OutputsDataMap outputs = network.getOutputsInfo(); diff --git a/src/inference/src/compilation_context.cpp b/src/inference/src/compilation_context.cpp index e4a373f1c02..7c0b9cfba86 100644 --- a/src/inference/src/compilation_context.cpp +++ b/src/inference/src/compilation_context.cpp @@ -18,7 +18,6 @@ #include "itt.hpp" #include "ngraph/opsets/opset6.hpp" #include "openvino/pass/manager.hpp" -#include "transformations/fix_rt_info.hpp" #include "transformations/hash.hpp" #include "transformations/rt_info/fused_names_attribute.hpp" #include "transformations/rt_info/primitives_priority_attribute.hpp" @@ -86,7 +85,6 @@ std::string ModelCache::compute_hash(const std::shared_ptr& mod uint64_t seed = 0; // 1. Calculate hash on function ov::pass::Manager m; - m.register_pass(); m.register_pass(seed); m.run_passes(std::const_pointer_cast(model)); diff --git a/src/inference/tests/unit/compilation_context_test.cpp b/src/inference/tests/unit/compilation_context_test.cpp index 1f3d5266729..2070f2302e2 100644 --- a/src/inference/tests/unit/compilation_context_test.cpp +++ b/src/inference/tests/unit/compilation_context_test.cpp @@ -189,8 +189,7 @@ TEST(NetworkContext, HashWithPrimitivesPriority) { op3["PrimitivesPriority"] = "testPriority"; ASSERT_NE(ModelCache::compute_hash(net1, {}), ModelCache::compute_hash(net2, {})); - - ASSERT_EQ(ModelCache::compute_hash(net2, {}), ModelCache::compute_hash(net3, {})); + ASSERT_NE(ModelCache::compute_hash(net2, {}), ModelCache::compute_hash(net3, {})); } TEST(NetworkContext, HashWithFusedNames) { diff --git a/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.cpp b/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.cpp index e76d6caf9bd..e355ee79b75 100644 --- a/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.cpp +++ b/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.cpp @@ -6,6 +6,7 @@ #include "ie_ngraph_utils.hpp" #include "openvino/core/type/element_type.hpp" #include "utils/rt_info/memory_formats_attribute.hpp" +#include "transformations/rt_info/primitives_priority_attribute.hpp" #include "utils/general_utils.h" #include @@ -101,7 +102,7 @@ std::string CPUTestsBase::fmts2str(const std::vector &fmts, return str; } -std::string CPUTestsBase::impls2str(const std::vector &priority) { +ov::PrimitivesPriority CPUTestsBase::impls2primProiority(const std::vector &priority) { std::string str; for (auto &impl : priority) { ((str += "cpu:") += impl) += ","; @@ -109,7 +110,7 @@ std::string CPUTestsBase::impls2str(const std::vector &priority) { if (!str.empty()) { str.pop_back(); } - return str; + return ov::PrimitivesPriority(str); } void CPUTestsBase::CheckPluginRelatedResults(InferenceEngine::ExecutableNetwork &execNet, const std::set& nodeType) const { @@ -321,7 +322,7 @@ CPUTestsBase::makeCPUInfo(const std::vector& inFmts, ov::intel_cpu::OutputMemoryFormats(fmts2str(outFmts, "cpu:"))}); } if (!priority.empty()) { - cpuInfo.insert({"PrimitivesPriority", impls2str(priority)}); + cpuInfo.emplace(ov::PrimitivesPriority::get_type_info_static(), impls2primProiority(priority)); } cpuInfo.insert({"enforceBF16evenForGraphTail", true}); diff --git a/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.hpp b/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.hpp index b1e77e48fe7..d8deddfebe5 100644 --- a/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.hpp +++ b/src/plugins/intel_cpu/tests/functional/test_utils/cpu_test_utils.hpp @@ -7,6 +7,7 @@ #include #include "ie_system_conf.h" #include "shared_test_classes/base/layer_test_utils.hpp" +#include "transformations/rt_info/primitives_priority_attribute.hpp" #include #include #include "ie_system_conf.h" @@ -122,7 +123,7 @@ public: static const char *cpu_fmt2str(cpu_memory_format_t v); static cpu_memory_format_t cpu_str2fmt(const char *str); static std::string fmts2str(const std::vector &fmts, const std::string &prefix); - static std::string impls2str(const std::vector &priority); + static ov::PrimitivesPriority impls2primProiority(const std::vector &priority); static CPUInfo makeCPUInfo(const std::vector& inFmts, const std::vector& outFmts, const std::vector& priority); diff --git a/src/plugins/template/tests/functional/CMakeLists.txt b/src/plugins/template/tests/functional/CMakeLists.txt index a4ba476c4c2..983ee2534a4 100644 --- a/src/plugins/template/tests/functional/CMakeLists.txt +++ b/src/plugins/template/tests/functional/CMakeLists.txt @@ -28,11 +28,11 @@ ov_add_test_target( find_package(OpenCV QUIET COMPONENTS core imgproc) if(OpenCV_FOUND AND OpenCV_VERSION VERSION_GREATER_EQUAL 3.4) - message("-- Reference preprocessing: OpenCV tests are enabled") + message(STATUS "Reference preprocessing: OpenCV tests are enabled") target_compile_definitions(${TARGET_NAME} PRIVATE OPENCV_TEMPLATE_TESTS) target_link_libraries(${TARGET_NAME} PRIVATE opencv_imgproc opencv_core) else() - message("-- Reference preprocessing: OpenCV tests are disabled, because OpenCV ver. 3.4+ is not found") + message(WARNING "Reference preprocessing: OpenCV tests are disabled, because OpenCV ver. 3.4+ is not found") endif() if (ENABLE_INTEL_CPU) diff --git a/src/tests/test_utils/functional_test_utils/src/summary/op_summary.cpp b/src/tests/test_utils/functional_test_utils/src/summary/op_summary.cpp index 626cce43c20..08a0d9c0a24 100644 --- a/src/tests/test_utils/functional_test_utils/src/summary/op_summary.cpp +++ b/src/tests/test_utils/functional_test_utils/src/summary/op_summary.cpp @@ -140,7 +140,7 @@ void OpSummary::updateOPsStats(const std::shared_ptr& model, const Pa return; } bool isFunctionalGraph = false; - for (const auto &op : model->get_ordered_ops()) { + for (const auto& op : model->get_ordered_ops()) { if (!std::dynamic_pointer_cast(op) && !std::dynamic_pointer_cast(op) && !std::dynamic_pointer_cast(op)) {