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