blob: d024452d7828744dca5a11625c1dab635cf36e86 [file] [log] [blame]
Matthew Bentham29cadb32018-10-01 17:22:32 +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 Bentham29cadb32018-10-01 17:22:32 +01009
Narumol Prangnawarat74135832019-05-23 15:07:33 +010010#include <arm_compute/runtime/CL/CLFunctions.h>
11
12#include <functional>
13
Matthew Bentham29cadb32018-10-01 17:22:32 +010014namespace armnn
15{
16
Narumol Prangnawarat74135832019-05-23 15:07:33 +010017arm_compute::Status ClSplitterWorkloadValidate(const TensorInfo& input,
18 const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
19 unsigned int splitAxis);
20
Matthew Bentham29cadb32018-10-01 17:22:32 +010021class ClSplitterWorkload : public BaseWorkload<SplitterQueueDescriptor>
22{
23public:
Narumol Prangnawarat74135832019-05-23 15:07:33 +010024 ClSplitterWorkload(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info);
Matthew Bentham29cadb32018-10-01 17:22:32 +010025
Narumol Prangnawarat74135832019-05-23 15:07:33 +010026 void Execute() const override;
27
28private:
29 mutable std::unique_ptr<arm_compute::CLSplit> m_Layer;
Matthew Bentham29cadb32018-10-01 17:22:32 +010030};
31
32} //namespace armnn