From 3189c525f27eb00053bf5010df64dc3c6516ade6 Mon Sep 17 00:00:00 2001 From: ChrisAB Date: Sun, 9 Mar 2025 21:40:56 +0200 Subject: [PATCH] Initial commit testing --- .../src/emitters/snippets/aarch64/cpu_generator.cpp | 3 +++ .../src/transformations/transformation_pipeline.cpp | 3 +++ .../functional/custom/single_layer_tests/classes/eltwise.cpp | 5 ++++- .../functional/shared_tests_instances/skip_tests_config.cpp | 1 + 4 files changed, 11 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 875c57d1c69ac1..38c38a5e2a92c1 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 @@ -170,15 +170,18 @@ CPUTargetMachine::CPUTargetMachine(dnnl::impl::cpu::aarch64::cpu_isa_t host_isa, jitters[snippets::op::Store::get_type_info_static()] = CREATE_SNIPPETS_EMITTER(jit_store_memory_emitter); // ternary + jitters[op::v1::Select::get_type_info_static()] = CREATE_CPU_EMITTER(jit_select_emitter); jitters[intel_cpu::FusedMulAdd::get_type_info_static()] = CREATE_CPU_EMITTER(jit_mul_add_emitter); // binary jitters[op::v1::Add::get_type_info_static()] = CREATE_CPU_EMITTER(jit_add_emitter); jitters[op::v1::Divide::get_type_info_static()] = CREATE_CPU_EMITTER(jit_divide_emitter); + jitters[op::v1::LogicalXor::get_type_info_static()] = CREATE_CPU_EMITTER(jit_logical_xor_emitter); jitters[op::v1::Maximum::get_type_info_static()] = CREATE_CPU_EMITTER(jit_maximum_emitter); jitters[op::v1::Minimum::get_type_info_static()] = CREATE_CPU_EMITTER(jit_minimum_emitter); jitters[op::v1::Mod::get_type_info_static()] = CREATE_CPU_EMITTER(jit_mod_emitter); jitters[op::v1::Multiply::get_type_info_static()] = CREATE_CPU_EMITTER(jit_multiply_emitter); + jitters[snippets::op::PowerStatic::get_type_info_static()] = CREATE_CPU_EMITTER(jit_power_static_emitter); jitters[op::v1::Subtract::get_type_info_static()] = CREATE_CPU_EMITTER(jit_subtract_emitter); // Comparison ops diff --git a/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp b/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp index 40e0ee1e389ac7..8f8fe2f5c84a48 100644 --- a/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp +++ b/src/plugins/intel_cpu/src/transformations/transformation_pipeline.cpp @@ -1235,6 +1235,7 @@ void Transformations::MainSnippets() { ov::op::v0::Elu, ov::op::v0::Exp, ov::op::v1::Equal, + ov::op::v1::LogicalXor, ov::op::v0::FakeQuantize, ov::op::v0::Floor, ov::op::v1::FloorMod, @@ -1249,9 +1250,11 @@ void Transformations::MainSnippets() { ov::op::v4::Mish, ov::op::v1::Mod, ov::op::v1::Multiply, + snippets::op::PowerStatic, ov::op::v0::PRelu, ov::op::v0::Relu, ov::op::v5::Round, + ov::op::v1::Select, ov::op::v0::Sigmoid, ov::op::v0::Sqrt, ov::op::v1::Subtract, diff --git a/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/eltwise.cpp b/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/eltwise.cpp index f69a587986da6e..3a2d1b6e30bd01 100644 --- a/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/eltwise.cpp +++ b/src/plugins/intel_cpu/tests/functional/custom/single_layer_tests/classes/eltwise.cpp @@ -181,7 +181,7 @@ void EltwiseLayerCPUTest::SetUp() { netType, configuration); // selectedType = makeSelectedTypeStr(getPrimitiveType(), netType); -#if defined(OPENVINO_ARCH_ARM) || defined(OPENVINO_ARCH_ARM64) +#if defined(OPENVINO_ARCH_ARM) if (eltwiseType == utils::POWER) { selectedType = std::regex_replace(selectedType, std::regex("acl"), "ref"); } @@ -265,6 +265,7 @@ std::string EltwiseLayerCPUTest::getPrimitiveType(const utils::EltwiseTypes& elt (eltwise_type == utils::EltwiseTypes::DIVIDE) || (eltwise_type == utils::EltwiseTypes::FLOOR_MOD) || (eltwise_type == utils::EltwiseTypes::MOD) || + (eltwise_type == utils::EltwiseTypes::POWER) || (eltwise_type == utils::EltwiseTypes::SQUARED_DIFF)) { return "jit"; } @@ -336,6 +337,7 @@ const std::vector& eltwiseOpTypesBinInp() { utils::EltwiseTypes::FLOOR_MOD, utils::EltwiseTypes::SQUARED_DIFF, utils::EltwiseTypes::MOD, + utils::EltwiseTypes::POWER, }; return eltwiseOpTypesBinInp; } @@ -346,6 +348,7 @@ const std::vector& eltwiseOpTypesBinInpSnippets() { utils::EltwiseTypes::MULTIPLY, utils::EltwiseTypes::FLOOR_MOD, utils::EltwiseTypes::MOD, + utils::EltwiseTypes::POWER, }; return eltwiseOpTypesBinInp; } diff --git a/src/plugins/intel_cpu/tests/functional/shared_tests_instances/skip_tests_config.cpp b/src/plugins/intel_cpu/tests/functional/shared_tests_instances/skip_tests_config.cpp index 0c751a0182b514..b9f4af69b4be73 100644 --- a/src/plugins/intel_cpu/tests/functional/shared_tests_instances/skip_tests_config.cpp +++ b/src/plugins/intel_cpu/tests/functional/shared_tests_instances/skip_tests_config.cpp @@ -520,6 +520,7 @@ std::vector disabledTestPatterns() { retVector.emplace_back(R"(smoke_Snippets_Eltwise/TwoInputsAndOutputs.*)"); // arm jit_eltwise_emitters doesn't support jit_power_dynamic_emitter yet retVector.emplace_back(R"(smoke_Snippets_Eltwise/MaxNumParamsEltwise.*)"); + retVector.emplace_back(R"(smoke_CompareWithRefs_4D_MemOrder_Snippets/EltwiseLayerCPUTest\.CompareWithRefs/.*Pow.*)"); #endif #if defined(_WIN32) retVector.emplace_back(R"(.*smoke_QuantizedConvolutionBatchNormTransposeOnWeights/QuantizedConvolutionBatchNorm.CompareWithRefs/conv_type=convolution_quantize_type=fake_quantize_intervals_type=per_(tensor|channel)_transpose_on_weights=true_device=CPU.*)");