diff --git a/src/common/snippets/include/snippets/target_machine.hpp b/src/common/snippets/include/snippets/target_machine.hpp index edd066be95f7c1..d81b315b647a10 100644 --- a/src/common/snippets/include/snippets/target_machine.hpp +++ b/src/common/snippets/include/snippets/target_machine.hpp @@ -50,13 +50,6 @@ class TargetMachine { */ virtual size_t get_lanes() const = 0; - /** - * @brief reports supported precisions set for nodes which don't have emitters - * @param type node type for which the supported precisions set is requested - * @return set of supported precisions for the provided node type - */ - virtual std::set supported_precisions_for_emitterless_node(const ov::DiscreteTypeInfo& type) const; - /** * @brief called by generator to all the emitter for a target machine * @return a map by node's type info with callbacks to create an instance of emitter for corresponding operation type diff --git a/src/common/snippets/src/lowered/target_machine.cpp b/src/common/snippets/src/lowered/target_machine.cpp index e85829e820785f..bf84244f1889b9 100644 --- a/src/common/snippets/src/lowered/target_machine.cpp +++ b/src/common/snippets/src/lowered/target_machine.cpp @@ -5,10 +5,6 @@ #include "snippets/target_machine.hpp" using namespace ov::snippets; -std::set TargetMachine::supported_precisions_for_emitterless_node(const ov::DiscreteTypeInfo& type) const { - OPENVINO_THROW("supported_precisions_for_emitterless_node for this class is not implemented"); -} - std::function(const lowered::ExpressionPtr&)> TargetMachine::get(const ov::DiscreteTypeInfo& type) const { auto jitter = jitters.find(type); if (jitter == jitters.end()) { diff --git a/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.cpp b/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.cpp index bbd721deb5bf69..9f7250167c6576 100644 --- a/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.cpp +++ b/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.cpp @@ -109,12 +109,12 @@ static bool is_segfault_detector_emitter(const intel_cpu::jit_emitter *emitter) } \ } -#define CREATE_UNDEFINED_EMITTER() { \ +#define CREATE_UNDEFINED_EMITTER(supported_precisions) { \ [](const snippets::lowered::ExpressionPtr& expr) -> std::shared_ptr { \ return nullptr; \ }, \ - [this](const std::shared_ptr& n) -> std::set> { \ - return supported_precisions_for_emitterless_node(n->get_type_info()); \ + [](const std::shared_ptr& n) -> std::set> { \ + return supported_precisions; \ } \ } @@ -213,8 +213,8 @@ intel_cpu::CPUTargetMachine::CPUTargetMachine(dnnl::impl::cpu::x64::cpu_isa_t ho jitters[snippets::op::LoopEnd::get_type_info_static()] = CREATE_SNIPPETS_EMITTER(intel_cpu::jit_loop_end_emitter); jitters[intel_cpu::BrgemmCPU::get_type_info_static()] = CREATE_SNIPPETS_EMITTER(intel_cpu::jit_brgemm_emitter); jitters[intel_cpu::BrgemmCopyB::get_type_info_static()] = CREATE_SNIPPETS_EMITTER(intel_cpu::jit_brgemm_copy_b_emitter); - jitters[snippets::op::ReduceMax::get_type_info_static()] = CREATE_UNDEFINED_EMITTER(); - jitters[snippets::op::ReduceSum::get_type_info_static()] = CREATE_UNDEFINED_EMITTER(); + jitters[snippets::op::ReduceMax::get_type_info_static()] = CREATE_UNDEFINED_EMITTER({{ov::element::f32}}); + jitters[snippets::op::ReduceSum::get_type_info_static()] = CREATE_UNDEFINED_EMITTER({{ov::element::f32}}); #ifdef SNIPPETS_DEBUG_CAPS jitters[snippets::op::PerfCountBegin::get_type_info_static()] = CREATE_CPU_EMITTER(ov::intel_cpu::jit_perf_count_chrono_start_emitter); @@ -241,16 +241,6 @@ bool intel_cpu::CPUTargetMachine::is_supported() const { return dnnl::impl::cpu::x64::mayiuse(isa); } -std::set intel_cpu::CPUTargetMachine::supported_precisions_for_emitterless_node(const ov::DiscreteTypeInfo& type) const { - static const std::map> supported_precisions_map{ - {snippets::op::ReduceMax::get_type_info_static(), {{ov::element::f32}}}, - {snippets::op::ReduceSum::get_type_info_static(), {{ov::element::f32}}}, - }; - auto it = supported_precisions_map.find(type); - OPENVINO_ASSERT(it != supported_precisions_map.end(), "supported precisions set for node without emitter is not set. Type info: ", type); - return it->second; -} - snippets::CompiledSnippetPtr intel_cpu::CPUTargetMachine::get_snippet() { if (h->create_kernel() != dnnl::impl::status::success) { OPENVINO_THROW("Failed to create jit_kernel in get_snippet()"); diff --git a/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.hpp b/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.hpp index a0c1dbb4544175..6eafd3cb04771c 100644 --- a/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.hpp +++ b/src/plugins/intel_cpu/src/emitters/snippets/x64/cpu_generator.hpp @@ -33,7 +33,6 @@ class CPUTargetMachine : public snippets::TargetMachine { snippets::CompiledSnippetPtr get_snippet() override; size_t get_lanes() const override; dnnl::impl::cpu::x64::cpu_isa_t get_isa() const; - std::set supported_precisions_for_emitterless_node(const ov::DiscreteTypeInfo& type) const override; #ifdef SNIPPETS_DEBUG_CAPS SnippetsDebugCapsConfig debug_config; #endif