From f77cd52f9dc03737e668c8fb3a1afec37e23bb75 Mon Sep 17 00:00:00 2001 From: xuchen-intel Date: Wed, 22 May 2024 09:14:28 +0200 Subject: [PATCH] Add Elu for Snippets tokenization --- .../intel_cpu/src/emitters/snippets/aarch64/cpu_generator.cpp | 1 + .../snippets/aarch64/pass/snippets_mark_skipped.cpp | 1 + .../intel_cpu/src/transformations/transformation_pipeline.cpp | 3 ++- .../custom/single_layer_tests/classes/activation.cpp | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/intel_cpu/src/emitters/snippets/aarch64/cpu_generator.cpp b/src/plugins/intel_cpu/src/emitters/snippets/aarch64/cpu_generator.cpp index 16a8c86e0e1..958e558c9c7 100644 --- a/src/plugins/intel_cpu/src/emitters/snippets/aarch64/cpu_generator.cpp +++ b/src/plugins/intel_cpu/src/emitters/snippets/aarch64/cpu_generator.cpp @@ -92,6 +92,7 @@ CPUTargetMachine::CPUTargetMachine(dnnl::impl::cpu::aarch64::cpu_isa_t host_isa) // unary jitters[ov::op::v0::Abs::get_type_info_static()] = CREATE_CPU_EMITTER(jit_abs_emitter); jitters[ov::op::v0::Clamp::get_type_info_static()] = CREATE_CPU_EMITTER(jit_clamp_emitter); + jitters[ov::op::v0::Elu::get_type_info_static()] = CREATE_CPU_EMITTER(jit_elu_emitter); jitters[ov::op::v0::Exp::get_type_info_static()] = CREATE_CPU_EMITTER(jit_exp_emitter); jitters[ov::op::v0::Relu::get_type_info_static()] = CREATE_CPU_EMITTER(jit_relu_emitter); jitters[ov::op::v0::Tanh::get_type_info_static()] = CREATE_CPU_EMITTER(jit_tanh_emitter); diff --git a/src/plugins/intel_cpu/src/transformations/snippets/aarch64/pass/snippets_mark_skipped.cpp b/src/plugins/intel_cpu/src/transformations/snippets/aarch64/pass/snippets_mark_skipped.cpp index 102cd29c1f1..9dfadb360f6 100644 --- a/src/plugins/intel_cpu/src/transformations/snippets/aarch64/pass/snippets_mark_skipped.cpp +++ b/src/plugins/intel_cpu/src/transformations/snippets/aarch64/pass/snippets_mark_skipped.cpp @@ -77,6 +77,7 @@ bool SupportsFusingWithConvolution_Simple(const std::shared_ptr &nod // Skip them here, when they are supported by Snippets ARM. Ticket: 141170. return ov::is_type(node) || ov::is_type(node) || + ov::is_type(node) || ov::is_type(node) || ov::is_type(node); } diff --git a/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp b/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp index 2cdc80b9d8d..43072e8d130 100644 --- a/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp +++ b/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp @@ -949,8 +949,9 @@ void Transformations::MainSnippets(void) { ov::is_type(n) || ov::is_type(n) || ov::is_type(n) || - ov::is_type(n) || + ov::is_type(n) || ov::is_type(n) || + ov::is_type(n) || ov::is_type(n) || ov::is_type(n)); #else diff --git a/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/activation.cpp b/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/activation.cpp index 9ebf2628d1b..5e81129c6b7 100644 --- a/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/activation.cpp +++ b/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/activation.cpp @@ -237,6 +237,7 @@ const std::map>>& activat {Abs, {{}}}, {Exp, {{}}}, {Clamp, {{-2.0f, 2.0f}}}, + {Elu, {{0.1f}}}, {Relu, {{}}}, {Tanh, {{}}}, };