blob: cf9303554848bb2dbc5eb92451838d93849d5980 [file] [log] [blame]
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Colm Donelan0c479742021-12-10 12:43:54 +00008#include <armnn/backends/Workload.hpp>
Matthew Benthamd80a7122019-01-08 17:52:37 +00009
10#include <arm_compute/core/Error.h>
11#include <arm_compute/runtime/IFunction.h>
Derek Lamberti0790dce2019-04-15 18:37:35 +010012#include <arm_compute/runtime/NEON/functions/NEConcatenateLayer.h>
13
Matthew Benthamd80a7122019-01-08 17:52:37 +000014#include <memory>
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010015
16namespace armnn
17{
Jim Flynn39d487d2019-05-17 15:44:36 +010018arm_compute::Status NeonConcatWorkloadValidate(const std::vector<const TensorInfo*>& inputs,
Nikhil Raj8599a412018-11-19 14:51:07 +000019 const TensorInfo& output,
Jim Flynne242f2d2019-05-22 14:24:13 +010020 const OriginsDescriptor& descriptor);
Nikhil Raj8599a412018-11-19 14:51:07 +000021
Jim Flynne242f2d2019-05-22 14:24:13 +010022class NeonConcatWorkload : public BaseWorkload<ConcatQueueDescriptor>
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010023{
24public:
Jim Flynne242f2d2019-05-22 14:24:13 +010025 NeonConcatWorkload(const ConcatQueueDescriptor& descriptor, const WorkloadInfo& info);
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010026
Jim Flynne242f2d2019-05-22 14:24:13 +010027 using BaseWorkload<ConcatQueueDescriptor>::BaseWorkload;
Nikhil Raj8599a412018-11-19 14:51:07 +000028 void Execute() const override;
29
30private:
Derek Lamberti0790dce2019-04-15 18:37:35 +010031 std::unique_ptr<arm_compute::NEConcatenateLayer> m_Layer;
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010032};
33
34} //namespace armnn