blob: 82211f5baf45b1604c64a50dd2d404afb286da4f [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
Matthew Bentham9b3e7382020-02-05 21:39:55 +000010#include <arm_compute/core/Error.h>
11#include <arm_compute/runtime/IFunction.h>
Narumol Prangnawarat74135832019-05-23 15:07:33 +010012
13#include <functional>
14
Matthew Bentham29cadb32018-10-01 17:22:32 +010015namespace armnn
16{
17
Narumol Prangnawarat74135832019-05-23 15:07:33 +010018arm_compute::Status ClSplitterWorkloadValidate(const TensorInfo& input,
19 const std::vector<std::reference_wrapper<TensorInfo>>& outputs,
20 unsigned int splitAxis);
21
Matthew Bentham29cadb32018-10-01 17:22:32 +010022class ClSplitterWorkload : public BaseWorkload<SplitterQueueDescriptor>
23{
24public:
Narumol Prangnawarat74135832019-05-23 15:07:33 +010025 ClSplitterWorkload(const SplitterQueueDescriptor& descriptor, const WorkloadInfo& info);
Matthew Bentham29cadb32018-10-01 17:22:32 +010026
Narumol Prangnawarat74135832019-05-23 15:07:33 +010027 void Execute() const override;
28
29private:
Matthew Bentham9b3e7382020-02-05 21:39:55 +000030 std::unique_ptr<arm_compute::IFunction> m_Layer;
Matthew Bentham29cadb32018-10-01 17:22:32 +010031};
32
33} //namespace armnn