• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <armnn/backends/Workload.hpp>
9 
10 #include <arm_compute/runtime/CL/functions/CLL2NormalizeLayer.h>
11 
12 namespace armnn
13 {
14 
15 arm_compute::Status ClL2NormalizationWorkloadValidate(const TensorInfo& input,
16                                                       const TensorInfo& output,
17                                                       const L2NormalizationDescriptor& descriptor);
18 
19 class ClL2NormalizationFloatWorkload : public FloatWorkload<L2NormalizationQueueDescriptor>
20 {
21 public:
22     ClL2NormalizationFloatWorkload(const L2NormalizationQueueDescriptor& descriptor,
23                                    const WorkloadInfo& info,
24                                    const arm_compute::CLCompileContext& clCompileContext);
25 
26     void Execute() const override;
27     // Replace input tensor handle with the given TensorHandle
28     void ReplaceInputTensorHandle(ITensorHandle* tensorHandle, unsigned int slot) override;
29 
30     // Replace output tensor handle with the given TensorHandle
31     void ReplaceOutputTensorHandle(ITensorHandle* tensorHandle, unsigned int slot) override;
32 
33 private:
34     // Purposely not a CLL2Normalize function. See constructor.
35     mutable arm_compute::CLL2NormalizeLayer m_Layer;
36     virtual void Reconfigure();
37 };
38 
39 } //namespace armnn
40 
41 
42 
43 
44