From 8038f54a9e1e13853afdc4b056f70445bc28088b Mon Sep 17 00:00:00 2001 From: mitruska Date: Thu, 21 Nov 2024 18:40:37 +0100 Subject: [PATCH] Update files name --- .../transformations/include/ov_ops/swiglu.hpp | 84 --------- .../common_optimizations/swiglu_fusion.hpp | 21 --- .../transformations/src/ov_ops/swiglu.cpp | 74 -------- .../common_optimizations/swiglu_fusion.cpp | 128 -------------- .../swiglu_fusion_test.cpp | 161 ------------------ .../include/intel_gpu/primitives/swiglu.hpp | 2 +- src/plugins/intel_gpu/src/graph/swiglu.cpp | 2 +- .../kernels/swiglu/swiglu_kernel_base.h | 2 +- .../intel_gpu/src/plugin/ops/swiglu.cpp | 2 +- .../src/plugin/transformations_pipeline.cpp | 2 +- .../tests/unit/test_cases/swiglu_gpu_test.cpp | 2 +- 11 files changed, 6 insertions(+), 474 deletions(-) delete mode 100644 src/common/transformations/include/ov_ops/swiglu.hpp delete mode 100644 src/common/transformations/include/transformations/common_optimizations/swiglu_fusion.hpp delete mode 100644 src/common/transformations/src/ov_ops/swiglu.cpp delete mode 100644 src/common/transformations/src/transformations/common_optimizations/swiglu_fusion.cpp delete mode 100644 src/common/transformations/tests/common_optimizations/swiglu_fusion_test.cpp diff --git a/src/common/transformations/include/ov_ops/swiglu.hpp b/src/common/transformations/include/ov_ops/swiglu.hpp deleted file mode 100644 index 760641978b574d..00000000000000 --- a/src/common/transformations/include/ov_ops/swiglu.hpp +++ /dev/null @@ -1,84 +0,0 @@ -// Copyright (C) 2024 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#pragma once - -#include "openvino/op/op.hpp" -#include "transformations_visibility.hpp" - -namespace ov { -namespace op { -namespace internal { - -/// \brief Operator performing Gated Linear Unit Activation -/// This operation performs gated linear unit activation that combines swish or gelu activation function -class TRANSFORMATIONS_API GLU : public ov::op::Op { -public: - OPENVINO_OP("GLU", "ie_internal_opset"); - - enum GluType { Swish = 0, Gelu, Gelu_Tanh }; - - GLU() = default; - /// \brief Constructs an GLU operation. - /// - /// \param data Input tensor with data - /// \param axis The index of an axis in "data" along which to perform the split - /// \param split_lenghts A list containing the sizes of each output tensor along the split "axis" - /// \param glu_type GLU type, one of Swish, Gelu and Gelu_Tanh - /// \param split_to_glu_idx Output index of variadic split, which is connected to GLU - /// \param output_type Output element type - GLU(const Output& data, - int64_t axis, - int64_t split_lengths, - const GluType glu_type, - const size_t split_to_glu_idx, - const ov::element::Type output_type = ov::element::undefined); - - bool visit_attributes(ov::AttributeVisitor& visitor) override; - - void validate_and_infer_types() override; - - std::shared_ptr clone_with_new_inputs(const ov::OutputVector& new_args) const override; - - int64_t get_axis() const { - return m_axis; - } - int64_t get_split_lengths() const { - return m_split_lengths; - } - GluType get_glu_type() const { - return m_glu_type; - } - size_t get_split_to_glu_idx() const { - return m_split_to_glu_idx; - } - - void set_axis(int64_t axis) { - m_axis = axis; - } - void set_split_lengths(int64_t split_lengths) { - m_split_lengths = split_lengths; - } - void set_glu_type(GluType glu_type) { - m_glu_type = glu_type; - } - void set_split_to_glu_idx(size_t split_to_glu_idx) { - m_split_to_glu_idx = split_to_glu_idx; - } - -private: - int64_t m_axis = 0; - int64_t m_split_lengths = 0; - GluType m_glu_type = GluType::Swish; - size_t m_split_to_glu_idx = 0; - ov::element::Type m_output_type{}; -}; - -// TODO 157615: Move to shape_inference -TRANSFORMATIONS_API std::vector shape_infer(const GLU* op, - std::vector input_shapes); - -} // namespace internal -} // namespace op -} // namespace ov diff --git a/src/common/transformations/include/transformations/common_optimizations/swiglu_fusion.hpp b/src/common/transformations/include/transformations/common_optimizations/swiglu_fusion.hpp deleted file mode 100644 index 7ec71a05027d80..00000000000000 --- a/src/common/transformations/include/transformations/common_optimizations/swiglu_fusion.hpp +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (C) 2024 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#pragma once - -#include "openvino/pass/manager.hpp" -#include "openvino/pass/matcher_pass.hpp" -#include "transformations_visibility.hpp" - -namespace ov { -namespace pass { - -class TRANSFORMATIONS_API GLUFusion : public ov::pass::MatcherPass { -public: - OPENVINO_RTTI("GLUFusion", "0"); - GLUFusion(); -}; - -} // namespace pass -} // namespace ov diff --git a/src/common/transformations/src/ov_ops/swiglu.cpp b/src/common/transformations/src/ov_ops/swiglu.cpp deleted file mode 100644 index 5ff660f57cbc43..00000000000000 --- a/src/common/transformations/src/ov_ops/swiglu.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (C) 2024 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#include "ov_ops/swiglu.hpp" - -#include "openvino/core/partial_shape.hpp" -#include "openvino/core/validation_util.hpp" -#include "openvino/op/variadic_split.hpp" -#include "variadic_split_shape_inference.hpp" - -namespace ov { -namespace op { -namespace internal { - -GLU::GLU(const Output& data, - int64_t axis, - int64_t split_lengths, - const GluType glu_type, - const size_t split_to_glu_idx, - const ov::element::Type output_type) - : Op({data}), - m_axis(axis), - m_split_lengths(split_lengths), - m_glu_type(glu_type), - m_split_to_glu_idx(split_to_glu_idx), - m_output_type(output_type) { - validate_and_infer_types(); -} - -bool GLU::visit_attributes(ov::AttributeVisitor& visitor) { - visitor.on_attribute("axis", m_axis); - visitor.on_attribute("split_lengths", m_split_lengths); - visitor.on_attribute("output_type", m_output_type); - return true; -} - -void GLU::validate_and_infer_types() { - auto output_type = m_output_type == ov::element::undefined ? get_input_element_type(0) : m_output_type; - - std::vector input_shapes = {get_input_partial_shape(0), - ov::PartialShape(ov::Shape{}), - ov::PartialShape(ov::Shape{2})}; - - set_output_type(0, output_type, shape_infer(this, input_shapes)[0]); -} - -std::shared_ptr GLU::clone_with_new_inputs(const ov::OutputVector& new_args) const { - check_new_args_count(this, new_args); - return std::make_shared(new_args.at(0), - m_axis, - m_split_lengths, - m_glu_type, - m_split_to_glu_idx, - m_output_type); -} - -std::vector shape_infer(const GLU* op, std::vector input_shapes) { - ov::op::v1::VariadicSplit variadic_split; - std::vector axis = {op->get_axis()}; - std::vector split_lengths = {op->get_split_lengths(), -1}; - - std::unordered_map const_data; - const_data.emplace(1, ov::Tensor(ov::element::i64, ov::Shape{}, static_cast(axis.data()))); - const_data.emplace( - 2, - ov::Tensor(ov::element::i64, ov::Shape{split_lengths.size()}, static_cast(split_lengths.data()))); - - return ov::op::v1::shape_infer(&variadic_split, input_shapes, ov::make_tensor_accessor(const_data)); -} - -} // namespace internal -} // namespace op -} // namespace ov diff --git a/src/common/transformations/src/transformations/common_optimizations/swiglu_fusion.cpp b/src/common/transformations/src/transformations/common_optimizations/swiglu_fusion.cpp deleted file mode 100644 index bf8eaffcf52235..00000000000000 --- a/src/common/transformations/src/transformations/common_optimizations/swiglu_fusion.cpp +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright (C) 2024 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#include "transformations/common_optimizations/swiglu_fusion.hpp" - -#include "openvino/core/rt_info.hpp" -#include "openvino/op/constant.hpp" -#include "openvino/op/gelu.hpp" -#include "openvino/op/multiply.hpp" -#include "openvino/op/swish.hpp" -#include "openvino/op/variadic_split.hpp" -#include "openvino/pass/manager.hpp" -#include "openvino/pass/pattern/op/or.hpp" -#include "openvino/pass/pattern/op/wrap_type.hpp" -#include "ov_ops/swiglu.hpp" -#include "transformations/utils/utils.hpp" - -namespace ov { -namespace pass { - -GLUFusion::GLUFusion() { - using namespace ov::pass::pattern; - using ov::pass::pattern::op::Or; - - auto last_dim_static = [](const ov::Output& output) { - auto out_ps = output.get_node()->get_output_partial_shape(0); - return out_ps.rank().is_static() && out_ps[out_ps.rank().get_length() - 1].is_static() && out_ps.size() <= 5; - }; - - // Detect GLU decomposition pattern - // GLU(Xw, Xv, beta) = (Xw * (1.0 + exp(-beta * Xw))) * Xv - auto data_m = any_input(last_dim_static); - - // VariadicSplit(X, axis, split_lengths) = Xw, Xv - auto axis_const_m = wrap_type(); - auto split_lengths_const_m = wrap_type(); - auto variadic_split_m = wrap_type({data_m, axis_const_m, split_lengths_const_m}); - variadic_split_m->set_output_size(2); - - // Swish(Xw) = Xw * (1.0 + exp(-beta * Xw)) - auto swish_m = wrap_type({variadic_split_m->output(0)}); - auto gelu_m = wrap_type({variadic_split_m->output(0)}); - - // Mul(Xw, Xv) = Swish(Xw) * Xv - auto glu_m = std::make_shared(OutputVector{swish_m, gelu_m}); - auto mul_m = wrap_type({glu_m, variadic_split_m->output(1)}); - - ov::matcher_pass_callback callback = [OV_CAPTURE_CPY_AND_THIS](ov::pass::pattern::Matcher& m) { - const auto& pattern_map = m.get_pattern_value_map(); - OPENVINO_ASSERT(pattern_map.count(mul_m)); - OPENVINO_ASSERT(pattern_map.count(swish_m) || pattern_map.count(gelu_m)); - OPENVINO_ASSERT(pattern_map.count(variadic_split_m)); - OPENVINO_ASSERT(pattern_map.count(split_lengths_const_m)); - OPENVINO_ASSERT(pattern_map.count(axis_const_m)); - auto mul = std::dynamic_pointer_cast(pattern_map.at(mul_m).get_node_shared_ptr()); - if (!mul || transformation_callback(mul)) - return false; - - auto isSwiGLU = pattern_map.count(swish_m); - auto isGeGLU = pattern_map.count(gelu_m); - size_t split_to_glu_idx = 0; - ov::op::internal::GLU::GluType glu_type = ov::op::internal::GLU::GluType::Swish; - - if (isSwiGLU) { - auto swish = std::dynamic_pointer_cast(pattern_map.at(swish_m).get_node_shared_ptr()); - glu_type = ov::op::internal::GLU::GluType::Swish; - split_to_glu_idx = swish->input_value(0).get_index(); - - size_t split_in_idx = ov::is_type(mul->get_input_node_shared_ptr(0)) ? 1 : 0; - if (mul->input_value(split_in_idx).get_index() == split_to_glu_idx) - return false; - } else if (isGeGLU) { - auto gelu = std::dynamic_pointer_cast(pattern_map.at(gelu_m).get_node_shared_ptr()); - glu_type = (gelu->get_approximation_mode() == ov::op::GeluApproximationMode::ERF) - ? ov::op::internal::GLU::GluType::Gelu - : ov::op::internal::GLU::GluType::Gelu_Tanh; - split_to_glu_idx = gelu->input_value(0).get_index(); - - size_t split_in_idx = ov::is_type(mul->get_input_node_shared_ptr(0)) ? 1 : 0; - if (mul->input_value(split_in_idx).get_index() == split_to_glu_idx) - return false; - } else { - OPENVINO_THROW("'glu_type' not initialized"); - } - - auto variadic_split = std::dynamic_pointer_cast( - pattern_map.at(variadic_split_m).get_node_shared_ptr()); - auto variadic_split_in_ps = variadic_split->get_input_partial_shape(0); - auto last_dim = variadic_split_in_ps.rank().get_length() - 1; - - auto axis = std::dynamic_pointer_cast(pattern_map.at(axis_const_m).get_node_shared_ptr()); - bool valid_axis_const_values = ov::op::util::has_constant_value(axis, -1) || - ov::op::util::has_constant_value(axis, last_dim); - if (!valid_axis_const_values) - return false; - auto axis_value = axis->cast_vector()[0]; - - auto split_lengths = std::dynamic_pointer_cast( - pattern_map.at(split_lengths_const_m).get_node_shared_ptr()); - auto split_lengths_value = split_lengths->cast_vector()[0]; - // Allow only case that exactly splits in half along the last dimension - auto split_length = variadic_split_in_ps[last_dim].get_length() / 2; - if (split_lengths_value != split_length) - return false; - - auto data = pattern_map.at(data_m); - auto output_type = m.get_match_root()->get_output_element_type(0); - - auto swiglu = std::make_shared(data, - axis_value, - split_lengths_value, - glu_type, - split_to_glu_idx, - output_type); - swiglu->set_friendly_name(m.get_match_root()->get_friendly_name()); - ov::copy_runtime_info(m.get_matched_nodes(), swiglu); - ov::replace_node(m.get_match_root(), swiglu); - - return true; - }; - - auto m = std::make_shared(mul_m, "GLUFusion"); - this->register_matcher(m, callback); -} - -} // namespace pass -} // namespace ov diff --git a/src/common/transformations/tests/common_optimizations/swiglu_fusion_test.cpp b/src/common/transformations/tests/common_optimizations/swiglu_fusion_test.cpp deleted file mode 100644 index 33468dbe119106..00000000000000 --- a/src/common/transformations/tests/common_optimizations/swiglu_fusion_test.cpp +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright (C) 2024 Intel Corporation -// SPDX-License-Identifier: Apache-2.0 -// - -#include "transformations/common_optimizations/swiglu_fusion.hpp" - -#include - -#include -#include - -#include "common_test_utils/ov_test_utils.hpp" -#include "openvino/core/model.hpp" -#include "openvino/op/constant.hpp" -#include "openvino/op/gelu.hpp" -#include "openvino/op/multiply.hpp" -#include "openvino/op/parameter.hpp" -#include "openvino/op/swish.hpp" -#include "openvino/op/variadic_split.hpp" -#include "openvino/pass/manager.hpp" -#include "ov_ops/swiglu.hpp" -#include "transformations/utils/utils.hpp" - -using namespace testing; -using namespace ov::pass; - -TEST_F(TransformationTestsF, GLUFusionTest1) { - { - auto input = std::make_shared(ov::element::f16, ov::PartialShape{2, 1, 6}); - auto axis_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{}, {-1}); - auto split_lengths_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{2}, {3, -1}); - auto variadic_split = std::make_shared(input, axis_const, split_lengths_const); - auto swish = std::make_shared(variadic_split->output(0)); - auto mul = std::make_shared(swish, variadic_split->output(1)); - - model = std::make_shared(ov::NodeVector{mul}, ov::ParameterVector{input}); - manager.register_pass(); - } - { - int64_t axis = -1; - int64_t split_lenghts = 3; - auto input = std::make_shared(ov::element::f16, ov::PartialShape{2, 1, 6}); - auto swiglu = std::make_shared(input, - axis, - split_lenghts, - ov::op::internal::GLU::GluType::Swish, - 0, - ov::element::f16); - - model_ref = std::make_shared(ov::NodeVector{swiglu}, ov::ParameterVector{input}); - } -} - -TEST_F(TransformationTestsF, GLUFusionTest2) { - { - auto input = std::make_shared(ov::element::f16, ov::PartialShape{-1, -1, 6}); - auto axis_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{}, {0}); - auto split_lengths_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{2}, {3, 3}); - auto variadic_split = std::make_shared(input, axis_const, split_lengths_const); - auto swish = std::make_shared(variadic_split->output(0)); - auto mul = std::make_shared(swish, variadic_split->output(1)); - - model = std::make_shared(ov::NodeVector{mul}, ov::ParameterVector{input}); - manager.register_pass(); - } -} - -TEST_F(TransformationTestsF, GLUFusionTest3) { - { - auto input = std::make_shared(ov::element::f16, ov::PartialShape{-1, -1, 6}); - auto axis_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{}, {-1}); - auto split_lengths_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{2}, {3, -1}); - auto variadic_split = std::make_shared(input, axis_const, split_lengths_const); - auto swish = std::make_shared(variadic_split->output(0)); - auto mul = std::make_shared(swish, variadic_split->output(1)); - - model = std::make_shared(ov::NodeVector{mul}, ov::ParameterVector{input}); - manager.register_pass(); - } - { - int64_t axis = -1; - int64_t split_lenghts = 3; - auto input = std::make_shared(ov::element::f16, ov::PartialShape{-1, -1, 6}); - auto swiglu = std::make_shared(input, - axis, - split_lenghts, - ov::op::internal::GLU::GluType::Swish, - 0, - ov::element::f16); - - model_ref = std::make_shared(ov::NodeVector{swiglu}, ov::ParameterVector{input}); - } -} - -TEST_F(TransformationTestsF, GLUFusionTest3ReverseOrder) { - { - auto input = std::make_shared(ov::element::f16, ov::PartialShape{-1, -1, 6}); - auto axis_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{}, {-1}); - auto split_lengths_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{2}, {3, -1}); - auto variadic_split = std::make_shared(input, axis_const, split_lengths_const); - auto swish = std::make_shared(variadic_split->output(0)); - auto mul = std::make_shared(variadic_split->output(1), swish); - - model = std::make_shared(ov::NodeVector{mul}, ov::ParameterVector{input}); - manager.register_pass(); - } - { - int64_t axis = -1; - int64_t split_lenghts = 3; - auto input = std::make_shared(ov::element::f16, ov::PartialShape{-1, -1, 6}); - auto swiglu = std::make_shared(input, - axis, - split_lenghts, - ov::op::internal::GLU::GluType::Swish, - 0, - ov::element::f16); - - model_ref = std::make_shared(ov::NodeVector{swiglu}, ov::ParameterVector{input}); - } -} - -TEST_F(TransformationTestsF, GLUFusionTest4) { - { - auto input = std::make_shared(ov::element::f16, ov::PartialShape{-1, -1, 6}); - auto axis_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{}, {-1}); - auto split_lengths_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{2}, {3, -1}); - auto variadic_split = std::make_shared(input, axis_const, split_lengths_const); - auto swish = std::make_shared(variadic_split->output(0)); - auto mul = std::make_shared(swish, variadic_split->output(0)); - - model = std::make_shared(ov::NodeVector{mul}, ov::ParameterVector{input}); - manager.register_pass(); - } -} - -TEST_F(TransformationTestsF, GeGLUFusionTest1) { - { - auto input = std::make_shared(ov::element::f16, ov::PartialShape{2, 1, 6}); - auto axis_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{}, {-1}); - auto split_lengths_const = ov::op::v0::Constant::create(ov::element::i64, ov::Shape{2}, {3, -1}); - auto variadic_split = std::make_shared(input, axis_const, split_lengths_const); - auto gelu = std::make_shared(variadic_split->output(1)); - auto mul = std::make_shared(variadic_split->output(0), gelu); - - model = std::make_shared(ov::NodeVector{mul}, ov::ParameterVector{input}); - manager.register_pass(); - } - { - int64_t axis = -1; - int64_t split_lenghts = 3; - auto input = std::make_shared(ov::element::f16, ov::PartialShape{2, 1, 6}); - auto swiglu = std::make_shared(input, - axis, - split_lenghts, - ov::op::internal::GLU::GluType::Gelu, - 1, - ov::element::f16); - - model_ref = std::make_shared(ov::NodeVector{swiglu}, ov::ParameterVector{input}); - } -} diff --git a/src/plugins/intel_gpu/include/intel_gpu/primitives/swiglu.hpp b/src/plugins/intel_gpu/include/intel_gpu/primitives/swiglu.hpp index 3cdad8df43d9c0..1a72e36d471dfc 100644 --- a/src/plugins/intel_gpu/include/intel_gpu/primitives/swiglu.hpp +++ b/src/plugins/intel_gpu/include/intel_gpu/primitives/swiglu.hpp @@ -3,7 +3,7 @@ // #pragma once -#include "ov_ops/swiglu.hpp" +#include "ov_ops/glu.hpp" #include "primitive.hpp" namespace cldnn { diff --git a/src/plugins/intel_gpu/src/graph/swiglu.cpp b/src/plugins/intel_gpu/src/graph/swiglu.cpp index bb218e0d0e850f..e82e4e974b1868 100644 --- a/src/plugins/intel_gpu/src/graph/swiglu.cpp +++ b/src/plugins/intel_gpu/src/graph/swiglu.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // -#include "ov_ops/swiglu.hpp" +#include "ov_ops/glu.hpp" #include "swiglu_inst.h" #include "primitive_type_base.h" diff --git a/src/plugins/intel_gpu/src/kernel_selector/kernels/swiglu/swiglu_kernel_base.h b/src/plugins/intel_gpu/src/kernel_selector/kernels/swiglu/swiglu_kernel_base.h index 76493a7eaa2b65..2f5c046690f78d 100644 --- a/src/plugins/intel_gpu/src/kernel_selector/kernels/swiglu/swiglu_kernel_base.h +++ b/src/plugins/intel_gpu/src/kernel_selector/kernels/swiglu/swiglu_kernel_base.h @@ -6,7 +6,7 @@ #include "kernel_base_opencl.h" #include "kernel_selector_params.h" -#include "ov_ops/swiglu.hpp" +#include "ov_ops/glu.hpp" namespace kernel_selector { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/plugins/intel_gpu/src/plugin/ops/swiglu.cpp b/src/plugins/intel_gpu/src/plugin/ops/swiglu.cpp index 73b3e52a4f994d..5df2cafd41a41f 100644 --- a/src/plugins/intel_gpu/src/plugin/ops/swiglu.cpp +++ b/src/plugins/intel_gpu/src/plugin/ops/swiglu.cpp @@ -6,7 +6,7 @@ #include "intel_gpu/plugin/common_utils.hpp" #include "intel_gpu/primitives/swiglu.hpp" -#include "ov_ops/swiglu.hpp" +#include "ov_ops/glu.hpp" using GLU = ov::op::internal::GLU; diff --git a/src/plugins/intel_gpu/src/plugin/transformations_pipeline.cpp b/src/plugins/intel_gpu/src/plugin/transformations_pipeline.cpp index 90e8cf4275eb55..f4ec7afb5c3d1e 100644 --- a/src/plugins/intel_gpu/src/plugin/transformations_pipeline.cpp +++ b/src/plugins/intel_gpu/src/plugin/transformations_pipeline.cpp @@ -93,7 +93,7 @@ #include "transformations/common_optimizations/move_eltwise_up_data_movement.hpp" #include "transformations/common_optimizations/mvn_fusion.hpp" #include "transformations/common_optimizations/softmax_fusion.hpp" -#include "transformations/common_optimizations/swiglu_fusion.hpp" +#include "transformations/common_optimizations/glu_fusion.hpp" #include "transformations/common_optimizations/transpose_sinking.hpp" #include "transformations/common_optimizations/weights_dequantize_to_fake_quantize.hpp" #include "transformations/common_optimizations/wrap_interpolate_into_transposes.hpp" diff --git a/src/plugins/intel_gpu/tests/unit/test_cases/swiglu_gpu_test.cpp b/src/plugins/intel_gpu/tests/unit/test_cases/swiglu_gpu_test.cpp index bb3a1769635a71..11bca6e27ba942 100644 --- a/src/plugins/intel_gpu/tests/unit/test_cases/swiglu_gpu_test.cpp +++ b/src/plugins/intel_gpu/tests/unit/test_cases/swiglu_gpu_test.cpp @@ -7,7 +7,7 @@ #include #include #include -#include "ov_ops/swiglu.hpp" +#include "ov_ops/glu.hpp" #include "swiglu_inst.h" using namespace cldnn;