blob: f9025663ca9a8844787e8b39564aa60a734afa0c [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
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010010#include <arm_compute/runtime/NEON/NEFunctions.h>
11
12#include <functional>
13
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010014namespace armnn
15{
16
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010017arm_compute::Status NeonSplitterWorkloadValidate(const TensorInfo& input,
18 const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
19 unsigned int splitAxis);
20
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010021class NeonSplitterWorkload : public BaseWorkload<SplitterQueueDescriptor>
22{
23public:
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010024 NeonSplitterWorkload(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info);
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010025
Narumol Prangnawarat15eb5832019-05-20 15:31:05 +010026 void Execute() const override;
27
28private:
29 mutable std::unique_ptr<arm_compute::NESplit> m_Layer;
Nattapat Chaimanowong14766d72018-10-12 15:09:53 +010030};
31
32} //namespace armnn