#include <boost/core/ignore_unused.hpp>
#ifdef ARMCOMPUTENEON_ENABLED
-#include "workloads/NeonAdditionFloatWorkload.hpp"
+#include "workloads/NeonAdditionWorkload.hpp"
#include "workloads/NeonActivationWorkload.hpp"
#include "workloads/NeonBatchNormalizationFloatWorkload.hpp"
#include "workloads/NeonConvolution2dWorkload.hpp"
std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateAddition(const AdditionQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return MakeWorkloadHelper<NeonAdditionFloatWorkload, NullWorkload>(descriptor, info);
+ return std::make_unique<NeonAdditionWorkload>(descriptor, info);
}
std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateMultiplication(
NeonTimer.cpp \
NeonWorkloadFactory.cpp \
workloads/NeonActivationWorkload.cpp \
- workloads/NeonAdditionFloatWorkload.cpp \
+ workloads/NeonAdditionWorkload.cpp \
workloads/NeonBatchNormalizationFloatWorkload.cpp \
workloads/NeonConstantWorkload.cpp \
workloads/NeonConvertFp16ToFp32Workload.cpp \
#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC
BOOST_AUTO_TEST_CASE(CreateAdditionFloat16Workload)
{
- NeonCreateElementwiseWorkloadTest<NeonAdditionFloatWorkload,
+ NeonCreateElementwiseWorkloadTest<NeonAdditionWorkload,
AdditionQueueDescriptor,
AdditionLayer,
DataType::Float16>();
BOOST_AUTO_TEST_CASE(CreateAdditionFloatWorkload)
{
- NeonCreateElementwiseWorkloadTest<NeonAdditionFloatWorkload,
+ NeonCreateElementwiseWorkloadTest<NeonAdditionWorkload,
AdditionQueueDescriptor,
AdditionLayer,
DataType::Float32>();
list(APPEND armnnNeonBackendWorkloads_sources
NeonActivationWorkload.cpp
NeonActivationWorkload.hpp
- NeonAdditionFloatWorkload.cpp
- NeonAdditionFloatWorkload.hpp
+ NeonAdditionWorkload.cpp
+ NeonAdditionWorkload.hpp
NeonBatchNormalizationFloatWorkload.cpp
NeonBatchNormalizationFloatWorkload.hpp
NeonConstantWorkload.cpp
// SPDX-License-Identifier: MIT
//
-#include "NeonAdditionFloatWorkload.hpp"
+#include "NeonAdditionWorkload.hpp"
#include <aclCommon/ArmComputeTensorUtils.hpp>
#include <backendsCommon/CpuTensorHandle.hpp>
}
-NeonAdditionFloatWorkload::NeonAdditionFloatWorkload(const AdditionQueueDescriptor& descriptor,
- const WorkloadInfo& info)
- : FloatWorkload<AdditionQueueDescriptor>(descriptor, info)
+NeonAdditionWorkload::NeonAdditionWorkload(const AdditionQueueDescriptor& descriptor,
+ const WorkloadInfo& info)
+ : BaseWorkload<AdditionQueueDescriptor>(descriptor, info)
{
- m_Data.ValidateInputsOutputs("NeonAdditionFloatWorkload", 2, 1);
+ m_Data.ValidateInputsOutputs("NeonAdditionWorkload", 2, 1);
arm_compute::ITensor& input1 = boost::polymorphic_downcast<INeonTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
arm_compute::ITensor& input2 = boost::polymorphic_downcast<INeonTensorHandle*>(m_Data.m_Inputs[1])->GetTensor();
m_AddLayer.configure(&input1, &input2, &output, arm_compute::ConvertPolicy::SATURATE);
}
-void NeonAdditionFloatWorkload::Execute() const
+void NeonAdditionWorkload::Execute() const
{
- ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonAdditionFloatWorkload_Execute");
+ ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonAdditionWorkload_Execute");
m_AddLayer.run();
}
const TensorInfo& input1,
const TensorInfo& output);
-class NeonAdditionFloatWorkload : public FloatWorkload<AdditionQueueDescriptor>
+class NeonAdditionWorkload : public BaseWorkload<AdditionQueueDescriptor>
{
public:
- NeonAdditionFloatWorkload(const AdditionQueueDescriptor& descriptor, const WorkloadInfo& info);
+ NeonAdditionWorkload(const AdditionQueueDescriptor& descriptor, const WorkloadInfo& info);
virtual void Execute() const override;
private:
#pragma once
#include "NeonActivationWorkload.hpp"
-#include "NeonAdditionFloatWorkload.hpp"
+#include "NeonAdditionWorkload.hpp"
#include "NeonBatchNormalizationFloatWorkload.hpp"
#include "NeonConstantWorkload.hpp"
#include "NeonConvertFp16ToFp32Workload.hpp"