From 6124390be4690ba06c404d56449f7e5d390cef53 Mon Sep 17 00:00:00 2001 From: Sheri Zhang Date: Tue, 12 Jan 2021 18:25:16 +0000 Subject: Make Add kernel and operator stateless - Rename NEArithmeticAdditionKernel to CpuAddKernel Cpu and move files appropriately - Add CpuAdd under src/runtime/cpu/operators Partially resolves: COMPMID-4005 Signed-off-by: Sheri Zhang Change-Id: I1d8d406df9773fea198899f50327407d7125c38d Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4867 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Gian Marco Iodice Reviewed-by: Georgios Pinitas --- .../NEON/functions/NEArithmeticAddition.cpp | 38 ++++++---------------- 1 file changed, 10 insertions(+), 28 deletions(-) (limited to 'src/runtime/NEON/functions/NEArithmeticAddition.cpp') diff --git a/src/runtime/NEON/functions/NEArithmeticAddition.cpp b/src/runtime/NEON/functions/NEArithmeticAddition.cpp index 1eaccf3396..2e4755b949 100644 --- a/src/runtime/NEON/functions/NEArithmeticAddition.cpp +++ b/src/runtime/NEON/functions/NEArithmeticAddition.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2020 Arm Limited. + * Copyright (c) 2017-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -23,37 +23,19 @@ */ #include "arm_compute/runtime/NEON/functions/NEArithmeticAddition.h" -#include "arm_compute/core/ITensor.h" -#include "src/core/NEON/kernels/NEArithmeticAdditionKernel.h" +#include "arm_compute/core/Validate.h" +#include "src/runtime/cpu/operators/CpuAdd.h" #include namespace arm_compute { -namespace experimental -{ -NEArithmeticAddition::~NEArithmeticAddition() = default; - -void NEArithmeticAddition::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output, ConvertPolicy policy, const ActivationLayerInfo &act_info) -{ - ARM_COMPUTE_UNUSED(act_info); - auto k = std::make_unique(); - k->configure(input1, input2, output, policy); - _kernel = std::move(k); -} -Status NEArithmeticAddition::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, ConvertPolicy policy, const ActivationLayerInfo &act_info) -{ - ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); - return NEArithmeticAdditionKernel::validate(input1, input2, output, policy); -} -} // namespace experimental - struct NEArithmeticAddition::Impl { - const ITensor *src_0{ nullptr }; - const ITensor *src_1{ nullptr }; - ITensor *dst{ nullptr }; - std::unique_ptr op{ nullptr }; + const ITensor *src_0{ nullptr }; + const ITensor *src_1{ nullptr }; + ITensor *dst{ nullptr }; + std::unique_ptr op{ nullptr }; }; NEArithmeticAddition::NEArithmeticAddition() @@ -66,7 +48,7 @@ NEArithmeticAddition::~NEArithmeticAddition() = Status NEArithmeticAddition::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, ConvertPolicy policy, const ActivationLayerInfo &act_info) { - return experimental::NEArithmeticAddition::validate(input1, input2, output, policy, act_info); + return cpu::CpuAdd::validate(input1, input2, output, policy, act_info); } void NEArithmeticAddition::configure(const ITensor *input1, const ITensor *input2, ITensor *output, ConvertPolicy policy, const ActivationLayerInfo &act_info) @@ -74,8 +56,8 @@ void NEArithmeticAddition::configure(const ITensor *input1, const ITensor *input _impl->src_0 = input1; _impl->src_1 = input2; _impl->dst = output; - _impl->op = std::make_unique(); - _impl->op->configure(input1->info(), input2->info(), output->info(), policy, act_info); + _impl->op = std::make_unique(); + _impl->op->configure(_impl->src_0->info(), _impl->src_1->info(), _impl->dst->info(), policy, act_info); } void NEArithmeticAddition::run() -- cgit v1.2.1