From 748fcdea3aa619996bc7fd7ba1f556d36a4ac1bd Mon Sep 17 00:00:00 2001 From: "Zhai, Xuejun" Date: Mon, 6 Mar 2023 15:05:55 +0800 Subject: [PATCH] Fix merge master error Signed-off-by: Zhai, Xuejun --- .../template/backend/pass/dyn_elimination.cpp | 143 ------------------ 1 file changed, 143 deletions(-) delete mode 100644 src/plugins/template/backend/pass/dyn_elimination.cpp diff --git a/src/plugins/template/backend/pass/dyn_elimination.cpp b/src/plugins/template/backend/pass/dyn_elimination.cpp deleted file mode 100644 index d3ad3b1a7ca..00000000000 --- a/src/plugins/template/backend/pass/dyn_elimination.cpp +++ /dev/null @@ -1,143 +0,0 @@ -// Copyright (C) 2018-2023 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#include "dyn_elimination.hpp" - -#include - -#include "ngraph/builder/reshape.hpp" -#include "ngraph/op/broadcast.hpp" -#include "ngraph/op/range.hpp" -#include "ngraph/op/transpose.hpp" -#include "ngraph/pattern/matcher.hpp" -#include "ngraph/pattern/op/label.hpp" -#include "ngraph/runtime/reference/range.hpp" -#include "ngraph/slice_plan.hpp" - -NGRAPH_SUPPRESS_DEPRECATED_START - -using namespace std; -using namespace ngraph; - -pass::DynElimination::DynElimination() : GraphRewrite() { - construct_range(); -} - -template -std::shared_ptr make_range_replacement(const element::Type& et, - const Shape& shape, - const std::shared_ptr& start_arg, - const std::shared_ptr& step_arg) { - std::vector elements(shape_size(shape)); - std::vector start_vec = start_arg->get_vector(); - std::vector step_vec = step_arg->get_vector(); - - NGRAPH_CHECK(start_vec.size() == 1 && step_vec.size() == 1); - - runtime::reference::range(start_vec.data(), step_vec.data(), shape_size(shape), elements.data()); - - return make_shared(et, shape, elements); -} - -void pass::DynElimination::construct_range() { - auto start_arg_label = make_shared(element::f32, Shape{}, pattern::has_class()); - auto stop_arg_label = make_shared(element::f32, Shape{}, pattern::has_class()); - auto step_arg_label = make_shared(element::f32, Shape{}, pattern::has_class()); - - auto range_pat = make_shared(start_arg_label, stop_arg_label, step_arg_label); - - auto range_callback = [start_arg_label, stop_arg_label, step_arg_label](pattern::Matcher& m) { - auto pattern_map = m.get_pattern_map(); - - auto start_arg = static_pointer_cast(pattern_map[start_arg_label]); - auto step_arg = static_pointer_cast(pattern_map[step_arg_label]); - auto range_node = static_pointer_cast(m.get_match_root()); - - NGRAPH_CHECK(start_arg->get_output_partial_shape(0).rank().compatible(0) && - step_arg->get_output_partial_shape(0).rank().compatible(0)); - - auto et = range_node->get_output_element_type(0); - auto shape = range_node->get_output_shape(0); - - std::shared_ptr replacement; - -#if defined(__GNUC__) && !(__GNUC__ == 4 && __GNUC_MINOR__ == 8) -# pragma GCC diagnostic push -# pragma GCC diagnostic error "-Wswitch" -# pragma GCC diagnostic error "-Wswitch-enum" -#endif - switch (et) { - case element::Type_t::bf16: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::f16: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::f32: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::f64: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::i8: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::i16: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::i32: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::i64: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::u8: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::u16: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::u32: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::u64: - replacement = make_range_replacement(et, shape, start_arg, step_arg); - break; - case element::Type_t::i4: - case element::Type_t::u4: - case element::Type_t::u1: - case element::Type_t::undefined: - case element::Type_t::dynamic: - case element::Type_t::boolean: - NGRAPH_CHECK(false, "Internal nGraph error: unsupported element type: ", et); - break; - } -#if defined(__GNUC__) && !(__GNUC__ == 4 && __GNUC_MINOR__ == 8) -# pragma GCC diagnostic pop -#endif - - replace_node(range_node, replacement); - return true; - }; - - auto range_matcher = make_shared(range_pat, "DynElimination.Range"); - auto match_pass = std::make_shared( - range_matcher->get_name(), - range_matcher, - [range_matcher, range_callback](const std::shared_ptr& node) -> bool { - NGRAPH_DEBUG << "Running matcher " << range_matcher->get_name() << " on " << node; - OV_PASS_CALLBACK(m); - if (std::dynamic_pointer_cast(range_matcher)->match(node->output(0))) { - NGRAPH_DEBUG << "Matcher " << range_matcher->get_name() << " matched " << node; - bool status = range_callback(*range_matcher.get()); - // explicitly clear Matcher state because it holds pointers to matched nodes - range_matcher->clear_state(); - return status; - } - range_matcher->clear_state(); - return false; - }, - all_pass_property_off); - add_matcher(match_pass); -}