ArmNN
 25.11
Loading...
Searching...
No Matches
NeonGatherNdWorkload.hpp
Go to the documentation of this file.
1//
2// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
9
10#include "arm_compute/runtime/Tensor.h"
11#include "arm_compute/runtime/NEON/functions/NEGather.h"
12#include "arm_compute/runtime/NEON/functions/NEPixelWiseMultiplication.h"
13#include "arm_compute/runtime/NEON/functions/NEReductionOperation.h"
14#include "arm_compute/runtime/NEON/functions/NEReshapeLayer.h"
15
16namespace armnn
17{
18arm_compute::Status NeonGatherNdWorkloadValidate(const TensorInfo& input,
19 const TensorInfo& indices,
20 const TensorInfo& output);
21
22class NeonGatherNdWorkload : public NeonBaseWorkload<GatherNdQueueDescriptor>
23{
24public:
26 virtual void Execute() const override;
27
28private:
29 arm_compute::Tensor m_InputGather;
30 arm_compute::Tensor m_FlattenedCoeff;
31 arm_compute::Tensor m_OutputMul;
32 arm_compute::Tensor m_FlattenedIndices;
33 arm_compute::Tensor m_OutputGather;
34 arm_compute::Tensor m_IndicesReshaped;
35
36 mutable arm_compute::NEPixelWiseMultiplication m_MulLayer;
37 mutable arm_compute::NEReductionOperation m_ReduceSumLayer;
38 mutable arm_compute::NEGather m_GatherLayer;
39 mutable arm_compute::NEReshapeLayer m_ReshapeInputLayer;
40 mutable arm_compute::NEReshapeLayer m_ReshapeOutputLayer;
41 mutable arm_compute::NEReshapeLayer m_ReshapeIndicesLayer;
42
43};
44
45} //namespace armnn
NeonBaseWorkload(const GatherNdQueueDescriptor &descriptor, const WorkloadInfo &info)
virtual void Execute() const override
NeonGatherNdWorkload(const GatherNdQueueDescriptor &descriptor, const WorkloadInfo &info)
Copyright (c) 2021 ARM Limited and Contributors.
arm_compute::Status NeonGatherNdWorkloadValidate(const TensorInfo &paramsInfo, const TensorInfo &indicesInfo, const TensorInfo &outputInfo)
Contains information about TensorInfos of a layer.