blob: 66349f947ff13b89576d48449dd5a68a619842d6 [file] [log] [blame]
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +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 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
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010022class NeonSplitterWorkload : public BaseWorkload<SplitterQueueDescriptor>
23{
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