blob: 327826c3b49ba046c6625ae1741b7142fb9d45ed [file] [log] [blame]
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +01001//
Teresa Charlin588cbdf2022-01-19 15:55:37 +00002// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
Nattapat Chaimanowong02f8bc12018-10-11 16:16:17 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Teresa Charlin588cbdf2022-01-19 15:55:37 +00008#include "ClBaseWorkload.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
Teresa Charlin588cbdf2022-01-19 15:55:37 +000021class ClConcatWorkload : public ClBaseWorkload<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