blob: e5a8d15055c78867d11fc4c5cc8654a6512314bb [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
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00008#include <backendsCommon/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,
20 const MergerDescriptor& descriptor);
21
Jim Flynn39d487d2019-05-17 15:44:36 +010022class NeonConcatWorkload : public BaseWorkload<MergerQueueDescriptor>
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010023{
24public:
Jim Flynn39d487d2019-05-17 15:44:36 +010025 NeonConcatWorkload(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info);
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010026
Nikhil Raj8599a412018-11-19 14:51:07 +000027 using BaseWorkload<MergerQueueDescriptor>::BaseWorkload;
28 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