From 09cad7253cc75f67bf428ceef196cfbec7f8c357 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Wed, 22 Jul 2020 12:11:20 +0100 Subject: COMPMID-3393: Minor tweaks on memory injection interface * Avoid the need to overload workspace() everytime * Remove the Layer suffix from the operators * Clean interface by removing default arguments when unsupported Signed-off-by: Georgios Pinitas Change-Id: I7710ecd485cae13e9c2d45216debbd8103bc5a0f Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3610 Tested-by: Arm Jenkins Reviewed-by: Michalis Spyrou Comments-Addressed: Arm Jenkins --- src/runtime/NEON/INEOperator.cpp | 5 ++ src/runtime/NEON/functions/NEActivationLayer.cpp | 5 -- .../NEON/functions/NEArithmeticAddition.cpp | 4 - .../NEON/functions/NEArithmeticSubtraction.cpp | 5 -- src/runtime/NEON/functions/NEConcatenateLayer.cpp | 27 +++---- .../NEON/functions/NEElementwiseOperators.cpp | 89 ++++++---------------- src/runtime/NEON/functions/NEPReluLayer.cpp | 21 ++--- .../NEON/functions/NEPixelWiseMultiplication.cpp | 10 --- src/runtime/NEON/functions/NEReshapeLayer.cpp | 19 ++--- src/runtime/NEON/functions/NESlice.cpp | 5 -- src/runtime/NEON/functions/NEStridedSlice.cpp | 5 -- 11 files changed, 54 insertions(+), 141 deletions(-) (limited to 'src/runtime/NEON') diff --git a/src/runtime/NEON/INEOperator.cpp b/src/runtime/NEON/INEOperator.cpp index 3ace8a6294..1d819977c8 100644 --- a/src/runtime/NEON/INEOperator.cpp +++ b/src/runtime/NEON/INEOperator.cpp @@ -49,5 +49,10 @@ void INEOperator::prepare(OperatorTensorMap constants) { ARM_COMPUTE_UNUSED(constants); } + +MemoryRequirements INEOperator::workspace() const +{ + return {}; +} } // namespace experimental } // namespace arm_compute diff --git a/src/runtime/NEON/functions/NEActivationLayer.cpp b/src/runtime/NEON/functions/NEActivationLayer.cpp index afa220fd72..0e75e58b3b 100644 --- a/src/runtime/NEON/functions/NEActivationLayer.cpp +++ b/src/runtime/NEON/functions/NEActivationLayer.cpp @@ -45,11 +45,6 @@ Status NEActivationLayer::validate(const ITensorInfo *input, const ITensorInfo * { return NEActivationLayerKernel::validate(input, output, activation_info); } - -MemoryRequirements NEActivationLayer::workspace() const -{ - return MemoryRequirements{}; -} } // namespace experimental struct NEActivationLayer::Impl diff --git a/src/runtime/NEON/functions/NEArithmeticAddition.cpp b/src/runtime/NEON/functions/NEArithmeticAddition.cpp index 95cee0e1ef..b18309ef1d 100644 --- a/src/runtime/NEON/functions/NEArithmeticAddition.cpp +++ b/src/runtime/NEON/functions/NEArithmeticAddition.cpp @@ -45,10 +45,6 @@ Status NEArithmeticAddition::validate(const ITensorInfo *input1, const ITensorIn ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEArithmeticAdditionKernel::validate(input1, input2, output, policy); } -MemoryRequirements NEArithmeticAddition::workspace() const -{ - return MemoryRequirements{}; -} } // namespace experimental struct NEArithmeticAddition::Impl diff --git a/src/runtime/NEON/functions/NEArithmeticSubtraction.cpp b/src/runtime/NEON/functions/NEArithmeticSubtraction.cpp index a69e78def3..c7f492bcbc 100644 --- a/src/runtime/NEON/functions/NEArithmeticSubtraction.cpp +++ b/src/runtime/NEON/functions/NEArithmeticSubtraction.cpp @@ -46,11 +46,6 @@ Status NEArithmeticSubtraction::validate(const ITensorInfo *input1, const ITenso ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEArithmeticSubtractionKernel::validate(input1, input2, output, policy); } - -MemoryRequirements NEArithmeticSubtraction::workspace() const -{ - return MemoryRequirements{}; -} } // namespace experimental struct NEArithmeticSubtraction::Impl diff --git a/src/runtime/NEON/functions/NEConcatenateLayer.cpp b/src/runtime/NEON/functions/NEConcatenateLayer.cpp index 37cdd15529..9f8a2a1b8e 100644 --- a/src/runtime/NEON/functions/NEConcatenateLayer.cpp +++ b/src/runtime/NEON/functions/NEConcatenateLayer.cpp @@ -41,12 +41,12 @@ namespace arm_compute { namespace experimental { -NEConcatenateLayer::NEConcatenateLayer() +NEConcatenation::NEConcatenation() : _concat_kernels(), _num_inputs(0), _axis(0) { } -void NEConcatenateLayer::configure(const std::vector &inputs_vector, ITensorInfo *output, size_t axis) +void NEConcatenation::configure(const std::vector &inputs_vector, ITensorInfo *output, size_t axis) { ARM_COMPUTE_ERROR_ON(output == nullptr); @@ -100,7 +100,7 @@ void NEConcatenateLayer::configure(const std::vector &input } } -Status NEConcatenateLayer::validate(const std::vector &inputs_vector, const ITensorInfo *output, size_t axis) +Status NEConcatenation::validate(const std::vector &inputs_vector, const ITensorInfo *output, size_t axis) { ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(output); ARM_COMPUTE_RETURN_ERROR_ON(inputs_vector.size() < 2); @@ -146,12 +146,7 @@ Status NEConcatenateLayer::validate(const std::vector &inpu return Status{}; } -MemoryRequirements NEConcatenateLayer::workspace() const -{ - return MemoryRequirements{}; -} - -void NEConcatenateLayer::run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) +void NEConcatenation::run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) { ARM_COMPUTE_UNUSED(workspace); @@ -177,11 +172,11 @@ void NEConcatenateLayer::run(InputTensorMap inputs, OutputTensorMap outputs, Ope struct NEConcatenateLayer::Impl { - std::vector srcs{}; - ITensor *dst{ nullptr }; - unsigned int num_inputs{ 0 }; - unsigned int axis{ 0 }; - std::unique_ptr op{ nullptr }; + std::vector srcs{}; + ITensor *dst{ nullptr }; + unsigned int num_inputs{ 0 }; + unsigned int axis{ 0 }; + std::unique_ptr op{ nullptr }; }; NEConcatenateLayer::NEConcatenateLayer() @@ -203,7 +198,7 @@ void NEConcatenateLayer::configure(std::vector inputs_vector, I _impl->dst = output; _impl->axis = axis; _impl->num_inputs = inputs_vector.size(); - _impl->op = arm_compute::support::cpp14::make_unique(); + _impl->op = arm_compute::support::cpp14::make_unique(); std::vector inputs_vector_info; for(unsigned int i = 0; i < inputs_vector.size(); ++i) @@ -216,7 +211,7 @@ void NEConcatenateLayer::configure(std::vector inputs_vector, I Status NEConcatenateLayer::validate(const std::vector &inputs_vector, const ITensorInfo *output, size_t axis) { - return experimental::NEConcatenateLayer::validate(inputs_vector, output, axis); + return experimental::NEConcatenation::validate(inputs_vector, output, axis); } void NEConcatenateLayer::run() diff --git a/src/runtime/NEON/functions/NEElementwiseOperators.cpp b/src/runtime/NEON/functions/NEElementwiseOperators.cpp index 28039d68f8..9340cc09d4 100644 --- a/src/runtime/NEON/functions/NEElementwiseOperators.cpp +++ b/src/runtime/NEON/functions/NEElementwiseOperators.cpp @@ -34,101 +34,66 @@ namespace arm_compute { namespace experimental { -void NEElementwiseMax::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output, const ActivationLayerInfo &act_info) +void NEElementwiseMax::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output) { - ARM_COMPUTE_UNUSED(act_info); auto k = arm_compute::support::cpp14::make_unique(); k->configure(ArithmeticOperation::MAX, input1, input2, output); _kernel = std::move(k); } -Status NEElementwiseMax::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) +Status NEElementwiseMax::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output) { - ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEArithmeticOperationKernel::validate(ArithmeticOperation::MAX, input1, input2, output); } -MemoryRequirements NEElementwiseMax::workspace() const -{ - return MemoryRequirements{}; -} - -void NEElementwiseMin::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output, const ActivationLayerInfo &act_info) +void NEElementwiseMin::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output) { - ARM_COMPUTE_UNUSED(act_info); auto k = arm_compute::support::cpp14::make_unique(); k->configure(ArithmeticOperation::MIN, input1, input2, output); _kernel = std::move(k); } -Status NEElementwiseMin::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) +Status NEElementwiseMin::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output) { - ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEArithmeticOperationKernel::validate(ArithmeticOperation::MIN, input1, input2, output); } -MemoryRequirements NEElementwiseMin::workspace() const -{ - return MemoryRequirements{}; -} - -void NEElementwiseSquaredDiff::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output, const ActivationLayerInfo &act_info) +void NEElementwiseSquaredDiff::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output) { - ARM_COMPUTE_UNUSED(act_info); auto k = arm_compute::support::cpp14::make_unique(); k->configure(ArithmeticOperation::SQUARED_DIFF, input1, input2, output); _kernel = std::move(k); } -Status NEElementwiseSquaredDiff::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) +Status NEElementwiseSquaredDiff::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output) { - ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEArithmeticOperationKernel::validate(ArithmeticOperation::SQUARED_DIFF, input1, input2, output); } -MemoryRequirements NEElementwiseSquaredDiff::workspace() const -{ - return MemoryRequirements{}; -} - -void NEElementwiseDivision::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output, const ActivationLayerInfo &act_info) +void NEElementwiseDivision::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output) { - ARM_COMPUTE_UNUSED(act_info); auto k = arm_compute::support::cpp14::make_unique(); k->configure(input1, input2, output); _kernel = std::move(k); } -Status NEElementwiseDivision::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) +Status NEElementwiseDivision::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output) { - ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEDivisionOperationKernel::validate(input1, input2, output); } -MemoryRequirements NEElementwiseDivision::workspace() const +void NEElementwisePower::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output) { - return MemoryRequirements{}; -} - -void NEElementwisePower::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output, const ActivationLayerInfo &act_info) -{ - ARM_COMPUTE_UNUSED(act_info); auto k = arm_compute::support::cpp14::make_unique(); k->configure(input1, input2, output); _kernel = std::move(k); } -Status NEElementwisePower::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) +Status NEElementwisePower::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output) { - ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEPowerOperationKernel::validate(input1, input2, output); } -MemoryRequirements NEElementwisePower::workspace() const -{ - return MemoryRequirements{}; -} - template void NEElementwiseComparisonStatic::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output) { @@ -143,12 +108,6 @@ Status NEElementwiseComparisonStatic::validate(const ITensorInfo *input1, c return NEComparisonOperationKernel::validate(COP, input1, input2, output); } -template -MemoryRequirements NEElementwiseComparisonStatic::workspace() const -{ - return MemoryRequirements{}; -} - void NEElementwiseComparison::configure(const ITensorInfo *input1, const ITensorInfo *input2, ITensorInfo *output, ComparisonOperation op) { auto k = arm_compute::support::cpp14::make_unique(); @@ -161,11 +120,6 @@ Status NEElementwiseComparison::validate(const ITensorInfo *input1, const ITenso return NEComparisonOperationKernel::validate(op, input1, input2, output); } -MemoryRequirements NEElementwiseComparison::workspace() const -{ - return MemoryRequirements{}; -} - // Supported Specializations template class NEElementwiseComparisonStatic; template class NEElementwiseComparisonStatic; @@ -193,17 +147,18 @@ NEElementwiseMax::~NEElementwiseMax() = default; void NEElementwiseMax::configure(ITensor *input1, ITensor *input2, ITensor *output, const ActivationLayerInfo &act_info) { + ARM_COMPUTE_UNUSED(act_info); _impl->src_0 = input1; _impl->src_1 = input2; _impl->dst = output; _impl->op = arm_compute::support::cpp14::make_unique(); - _impl->op->configure(input1->info(), input2->info(), output->info(), act_info); + _impl->op->configure(input1->info(), input2->info(), output->info()); } Status NEElementwiseMax::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) { ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); - return experimental::NEElementwiseMax::validate(input1, input2, output, act_info); + return experimental::NEElementwiseMax::validate(input1, input2, output); } void NEElementwiseMax::run() @@ -231,17 +186,18 @@ NEElementwiseMin::~NEElementwiseMin() = default; void NEElementwiseMin::configure(ITensor *input1, ITensor *input2, ITensor *output, const ActivationLayerInfo &act_info) { + ARM_COMPUTE_UNUSED(act_info); _impl->src_0 = input1; _impl->src_1 = input2; _impl->dst = output; _impl->op = arm_compute::support::cpp14::make_unique(); - _impl->op->configure(input1->info(), input2->info(), output->info(), act_info); + _impl->op->configure(input1->info(), input2->info(), output->info()); } Status NEElementwiseMin::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) { ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); - return experimental::NEElementwiseMin::validate(input1, input2, output, act_info); + return experimental::NEElementwiseMin::validate(input1, input2, output); } void NEElementwiseMin::run() @@ -269,17 +225,18 @@ NEElementwiseSquaredDiff::~NEElementwiseSquaredDiff() void NEElementwiseSquaredDiff::configure(ITensor *input1, ITensor *input2, ITensor *output, const ActivationLayerInfo &act_info) { + ARM_COMPUTE_UNUSED(act_info); _impl->src_0 = input1; _impl->src_1 = input2; _impl->dst = output; _impl->op = arm_compute::support::cpp14::make_unique(); - _impl->op->configure(input1->info(), input2->info(), output->info(), act_info); + _impl->op->configure(input1->info(), input2->info(), output->info()); } Status NEElementwiseSquaredDiff::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) { ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); - return experimental::NEElementwiseSquaredDiff::validate(input1, input2, output, act_info); + return experimental::NEElementwiseSquaredDiff::validate(input1, input2, output); } void NEElementwiseSquaredDiff::run() @@ -312,13 +269,13 @@ void NEElementwiseDivision::configure(ITensor *input1, ITensor *input2, ITensor _impl->src_1 = input2; _impl->dst = output; _impl->op = arm_compute::support::cpp14::make_unique(); - _impl->op->configure(input1->info(), input2->info(), output->info(), act_info); + _impl->op->configure(input1->info(), input2->info(), output->info()); } Status NEElementwiseDivision::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) { ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); - return experimental::NEElementwiseDivision::validate(input1, input2, output, act_info); + return experimental::NEElementwiseDivision::validate(input1, input2, output); } void NEElementwiseDivision::run() @@ -351,13 +308,13 @@ void NEElementwisePower::configure(ITensor *input1, ITensor *input2, ITensor *ou _impl->src_1 = input2; _impl->dst = output; _impl->op = arm_compute::support::cpp14::make_unique(); - _impl->op->configure(input1->info(), input2->info(), output->info(), act_info); + _impl->op->configure(input1->info(), input2->info(), output->info()); } Status NEElementwisePower::validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info) { ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); - return experimental::NEElementwisePower::validate(input1, input2, output, act_info); + return experimental::NEElementwisePower::validate(input1, input2, output); } void NEElementwisePower::run() diff --git a/src/runtime/NEON/functions/NEPReluLayer.cpp b/src/runtime/NEON/functions/NEPReluLayer.cpp index c54c70615a..15d9fd9959 100644 --- a/src/runtime/NEON/functions/NEPReluLayer.cpp +++ b/src/runtime/NEON/functions/NEPReluLayer.cpp @@ -31,30 +31,25 @@ namespace arm_compute { namespace experimental { -void NEPReluLayer::configure(const ITensorInfo *input, const ITensorInfo *alpha, ITensorInfo *output) +void NEPRelu::configure(const ITensorInfo *input, const ITensorInfo *alpha, ITensorInfo *output) { auto k = arm_compute::support::cpp14::make_unique(); k->configure(ArithmeticOperation::PRELU, input, alpha, output); _kernel = std::move(k); } -Status NEPReluLayer::validate(const ITensorInfo *input, const ITensorInfo *alpha, const ITensorInfo *output) +Status NEPRelu::validate(const ITensorInfo *input, const ITensorInfo *alpha, const ITensorInfo *output) { return NEArithmeticOperationKernel::validate(ArithmeticOperation::PRELU, input, alpha, output); } - -MemoryRequirements NEPReluLayer::workspace() const -{ - return MemoryRequirements{}; -} } // nsamespace experimental struct NEPReluLayer::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 }; }; NEPReluLayer::NEPReluLayer() @@ -70,7 +65,7 @@ void NEPReluLayer::configure(const ITensor *input, const ITensor *alpha, ITensor _impl->src_0 = input; _impl->src_1 = alpha; _impl->dst = output; - _impl->op = arm_compute::support::cpp14::make_unique(); + _impl->op = arm_compute::support::cpp14::make_unique(); _impl->op->configure(input->info(), alpha->info(), output->info()); } @@ -83,6 +78,6 @@ void NEPReluLayer::run() Status NEPReluLayer::validate(const ITensorInfo *input, const ITensorInfo *alpha, const ITensorInfo *output) { - return experimental::NEPReluLayer::validate(input, alpha, output); + return experimental::NEPRelu::validate(input, alpha, output); } } // namespace arm_compute diff --git a/src/runtime/NEON/functions/NEPixelWiseMultiplication.cpp b/src/runtime/NEON/functions/NEPixelWiseMultiplication.cpp index 3d51e0d0fd..ba5dd7cdee 100644 --- a/src/runtime/NEON/functions/NEPixelWiseMultiplication.cpp +++ b/src/runtime/NEON/functions/NEPixelWiseMultiplication.cpp @@ -48,11 +48,6 @@ Status NEPixelWiseMultiplication::validate(const ITensorInfo *input1, const ITen return NEPixelWiseMultiplicationKernel::validate(input1, input2, output, scale, overflow_policy, rounding_policy); } -MemoryRequirements NEPixelWiseMultiplication::workspace() const -{ - return MemoryRequirements{}; -} - void NEComplexPixelWiseMultiplication::configure(ITensorInfo *input1, ITensorInfo *input2, ITensorInfo *output, const ActivationLayerInfo &act_info) { ARM_COMPUTE_UNUSED(act_info); @@ -66,11 +61,6 @@ Status NEComplexPixelWiseMultiplication::validate(const ITensorInfo *input1, con ARM_COMPUTE_RETURN_ERROR_ON(act_info.enabled()); return NEComplexPixelWiseMultiplicationKernel::validate(input1, input2, output); } - -MemoryRequirements NEComplexPixelWiseMultiplication::workspace() const -{ - return MemoryRequirements{}; -} } // namespace experimental struct NEPixelWiseMultiplication::Impl diff --git a/src/runtime/NEON/functions/NEReshapeLayer.cpp b/src/runtime/NEON/functions/NEReshapeLayer.cpp index 101fdbdf4d..47d5519274 100644 --- a/src/runtime/NEON/functions/NEReshapeLayer.cpp +++ b/src/runtime/NEON/functions/NEReshapeLayer.cpp @@ -35,29 +35,24 @@ namespace arm_compute { namespace experimental { -void NEReshapeLayer::configure(const ITensorInfo *input, ITensorInfo *output) +void NEReshape::configure(const ITensorInfo *input, ITensorInfo *output) { auto k = arm_compute::support::cpp14::make_unique(); k->configure(input, output); _kernel = std::move(k); } -Status NEReshapeLayer::validate(const ITensorInfo *input, const ITensorInfo *output) +Status NEReshape::validate(const ITensorInfo *input, const ITensorInfo *output) { return arm_compute::NEReshapeLayerKernel::validate(input, output); } - -MemoryRequirements NEReshapeLayer::workspace() const -{ - return MemoryRequirements{}; -} } // namespace experimental struct NEReshapeLayer::Impl { - const ITensor *src{ nullptr }; - ITensor *dst{ nullptr }; - std::unique_ptr op{ nullptr }; + const ITensor *src{ nullptr }; + ITensor *dst{ nullptr }; + std::unique_ptr op{ nullptr }; }; NEReshapeLayer::NEReshapeLayer() @@ -75,14 +70,14 @@ void NEReshapeLayer::configure(const ITensor *input, ITensor *output) { _impl->src = input; _impl->dst = output; - _impl->op = arm_compute::support::cpp14::make_unique(); + _impl->op = arm_compute::support::cpp14::make_unique(); _impl->op->configure(input->info(), output->info()); } Status NEReshapeLayer::validate(const ITensorInfo *input, const ITensorInfo *output) { ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(input, output); - ARM_COMPUTE_RETURN_ON_ERROR(experimental::NEReshapeLayer::validate(input, output)); + ARM_COMPUTE_RETURN_ON_ERROR(experimental::NEReshape::validate(input, output)); return Status{}; } diff --git a/src/runtime/NEON/functions/NESlice.cpp b/src/runtime/NEON/functions/NESlice.cpp index 15fbe8d432..7c3252178b 100644 --- a/src/runtime/NEON/functions/NESlice.cpp +++ b/src/runtime/NEON/functions/NESlice.cpp @@ -62,11 +62,6 @@ Status NESlice::validate(const ITensorInfo *input, const ITensorInfo *output, co return NEStridedSliceKernel::validate(input, output, starts, ends, BiStrides(), 0, slice_end_mask, 0); } - -MemoryRequirements NESlice::workspace() const -{ - return MemoryRequirements{}; -} } // namespace experimental struct NESlice::Impl diff --git a/src/runtime/NEON/functions/NEStridedSlice.cpp b/src/runtime/NEON/functions/NEStridedSlice.cpp index 243c01780c..37e3590446 100644 --- a/src/runtime/NEON/functions/NEStridedSlice.cpp +++ b/src/runtime/NEON/functions/NEStridedSlice.cpp @@ -47,11 +47,6 @@ Status NEStridedSlice::validate(const ITensorInfo *input, const ITensorInfo *out { return NEStridedSliceKernel::validate(input, output, starts, ends, strides, begin_mask, end_mask, shrink_axis_mask); } - -MemoryRequirements NEStridedSlice::workspace() const -{ - return MemoryRequirements{}; -} } // namespace experimental struct NEStridedSlice::Impl -- cgit v1.2.1