1 // 2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #include "NeonFillWorkload.hpp" 7 8 #include <neon/NeonTensorHandle.hpp> 9 #include <aclCommon/ArmComputeTensorUtils.hpp> 10 #include <arm_compute/core/Types.h> 11 #include <arm_compute/runtime/NEON/functions/NEFill.h> 12 13 #include "NeonWorkloadUtils.hpp" 14 15 namespace armnn 16 { 17 using namespace armcomputetensorutils; 18 NeonFillWorkload(const FillQueueDescriptor & descriptor,const WorkloadInfo & info)19NeonFillWorkload::NeonFillWorkload(const FillQueueDescriptor& descriptor, const WorkloadInfo& info) 20 : BaseWorkload<FillQueueDescriptor>(descriptor, info) 21 { 22 m_Data.ValidateInputsOutputs("NeonFillWorkload", 1, 1); 23 24 arm_compute::ITensor& output = static_cast<IAclTensorHandle*>(m_Data.m_Outputs[0])->GetTensor(); 25 arm_compute::PixelValue pixelValue = GetPixelValue(output, descriptor.m_Parameters.m_Value); 26 27 auto layer = std::make_unique<arm_compute::NEFill>(); 28 layer->configure(&output, pixelValue); 29 m_Layer.reset(layer.release()); 30 } 31 Execute() const32void NeonFillWorkload::Execute() const 33 { 34 ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonFillWorkload_Execute"); 35 m_Layer->run(); 36 } 37 38 } // namespace armnn 39