blob: 3120b423b68c349e66a9b82913654745d30320ae [file] [log] [blame]
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +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>
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +01009
Matthew Bentham9b3e7382020-02-05 21:39:55 +000010#include <arm_compute/core/Error.h>
11#include <arm_compute/runtime/IFunction.h>
Sadik Armagane9444752020-12-02 11:28:58 +000012#include <arm_compute/runtime/CL/functions/CLConcatenateLayer.h>
Nikhil Raj8599a412018-11-19 14:51:07 +000013
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +010014namespace armnn
15{
16
Jim Flynn69059412019-05-17 13:03:57 +010017arm_compute::Status ClConcatWorkloadValidate(const std::vector<const TensorInfo*>& inputs,
Nikhil Raj8599a412018-11-19 14:51:07 +000018 const TensorInfo& output,
Jim Flynne242f2d2019-05-22 14:24:13 +010019 const OriginsDescriptor& descriptor);
Nikhil Raj8599a412018-11-19 14:51:07 +000020
Jim Flynne242f2d2019-05-22 14:24:13 +010021class ClConcatWorkload : public BaseWorkload<ConcatQueueDescriptor>
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +010022{
23public:
Sadik Armagane9444752020-12-02 11:28:58 +000024 ClConcatWorkload(const ConcatQueueDescriptor& descriptor,
25 const WorkloadInfo& info,
26 const arm_compute::CLCompileContext& clCompileContext);
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +010027
Nikhil Raj8599a412018-11-19 14:51:07 +000028 void Execute() const override;
29
30private:
Matthew Bentham9b3e7382020-02-05 21:39:55 +000031 mutable std::unique_ptr<arm_compute::IFunction> m_Layer;
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +010032};
33
34} //namespace armnn