blob: cd2a5b208d8fba97c4ff257ebee3f465e3d5741d [file] [log] [blame]
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +01001//
Teresa Charlin588cbdf2022-01-19 15:55:37 +00002// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Teresa Charlin588cbdf2022-01-19 15:55:37 +00008#include "NeonBaseWorkload.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
Teresa Charlin588cbdf2022-01-19 15:55:37 +000022class NeonConcatWorkload : public NeonBaseWorkload<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
Teresa Charlin588cbdf2022-01-19 15:55:37 +000027 using NeonBaseWorkload<ConcatQueueDescriptor>::NeonBaseWorkload;
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