blob: 3432c626cb7174f3e73f32097d9afdbc75de1342 [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>
12#
13#include <memory>
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010014
15namespace armnn
16{
Nikhil Raj8599a412018-11-19 14:51:07 +000017arm_compute::Status NeonMergerWorkloadValidate(const std::vector<const TensorInfo*>& inputs,
18 const TensorInfo& output,
19 const MergerDescriptor& descriptor);
20
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010021class NeonMergerWorkload : public BaseWorkload<MergerQueueDescriptor>
22{
23public:
Nikhil Raj8599a412018-11-19 14:51:07 +000024 NeonMergerWorkload(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info);
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010025
Nikhil Raj8599a412018-11-19 14:51:07 +000026 using BaseWorkload<MergerQueueDescriptor>::BaseWorkload;
27 void Execute() const override;
28
29private:
Matthew Benthamd80a7122019-01-08 17:52:37 +000030 std::unique_ptr<arm_compute::IFunction> m_Layer;
Nikhil Raj8599a412018-11-19 14:51:07 +000031 bool m_Execute;
32
Nattapat Chaimanowongf3eb46d2018-10-12 13:54:09 +010033};
34
35} //namespace armnn