blob: ae4f26a7cb4462f01206acbc2ee288e6d29a4886 [file] [log] [blame]
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +01001//
Teresa Charlin588cbdf2022-01-19 15:55:37 +00002// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Teresa Charlin588cbdf2022-01-19 15:55:37 +00008#include "NeonBaseWorkload.hpp"
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +01009
Matthew Bentham5e98b012020-01-24 23:11:43 +000010#include <arm_compute/core/Error.h>
11#include <arm_compute/runtime/IFunction.h>
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010012
13#include <functional>
14
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010015namespace armnn
16{
17
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010018arm_compute::Status NeonSplitterWorkloadValidate(const TensorInfo& input,
19 const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
20 unsigned int splitAxis);
21
Teresa Charlin588cbdf2022-01-19 15:55:37 +000022class NeonSplitterWorkload : public NeonBaseWorkload<SplitterQueueDescriptor>
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010023{
24public:
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010025 NeonSplitterWorkload(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info);
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010026
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010027 void Execute() const override;
28
29private:
Matthew Bentham5e98b012020-01-24 23:11:43 +000030 mutable std::unique_ptr<arm_compute::IFunction> m_Layer;
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010031};
32
33} //namespace armnn