blob: a577c06fea5f3e8f3a1a0f1e6cb48705a35707d9 [file] [log] [blame]
Sadik Armaganf4464322018-12-20 16:19:12 +00001//
Teresa Charlin2ea403d2023-06-19 12:06:19 +01002// Copyright © 2017, 2020-2023 Arm Ltd and Contributors. All rights reserved.
Sadik Armaganf4464322018-12-20 16:19:12 +00003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Teresa Charlin588cbdf2022-01-19 15:55:37 +00008#include "ClBaseWorkload.hpp"
Teresa Charlin2ea403d2023-06-19 12:06:19 +01009#include "ClWorkloadUtils.hpp"
Sadik Armaganf4464322018-12-20 16:19:12 +000010
11#include <arm_compute/runtime/CL/functions/CLSpaceToBatchLayer.h>
Teresa Charlin2ea403d2023-06-19 12:06:19 +010012#include <arm_compute/runtime/CL/functions/CLReshapeLayer.h>
Sadik Armaganf4464322018-12-20 16:19:12 +000013
14namespace armnn
15{
16
17arm_compute::Status ClSpaceToBatchNdWorkloadValidate(const TensorInfo& input,
18 const TensorInfo& output,
19 const SpaceToBatchNdDescriptor& descriptor);
20
Teresa Charlin588cbdf2022-01-19 15:55:37 +000021class ClSpaceToBatchNdWorkload : public ClBaseWorkload<SpaceToBatchNdQueueDescriptor>
Sadik Armaganf4464322018-12-20 16:19:12 +000022{
23public:
Sadik Armagane9444752020-12-02 11:28:58 +000024 ClSpaceToBatchNdWorkload(const SpaceToBatchNdQueueDescriptor& descriptor,
25 const WorkloadInfo& info,
26 const arm_compute::CLCompileContext& clCompileContext);
Teresa Charlin2ea403d2023-06-19 12:06:19 +010027 virtual void Execute() const override;
Sadik Armaganf4464322018-12-20 16:19:12 +000028
29private:
Teresa Charlin2ea403d2023-06-19 12:06:19 +010030 mutable arm_compute::CLSpaceToBatchLayer m_Layer;
31 mutable std::unique_ptr<arm_compute::CLReshapeLayer> m_LayerReshapeInput;
32 mutable std::unique_ptr<arm_compute::CLReshapeLayer> m_LayerReshapeOutput;
33 arm_compute::CLTensor m_ReshapeInputTensor;
34 arm_compute::CLTensor m_ReshapeOutputTensor;
Sadik Armaganf4464322018-12-20 16:19:12 +000035};
36
37} //namespace armnn
38