aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonWorkloadFactory.cpp
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2020-03-24 09:54:36 +0000
committerSadik Armagan <sadik.armagan@arm.com>2020-03-24 14:28:53 +0000
commitac47210621a601a2b6ded78e003d136626434f50 (patch)
tree7bb4940dd25ac2dac85c97227b82d567bd2a4d87 /src/backends/neon/NeonWorkloadFactory.cpp
parent957b844f130066f00c8adbafae36cec2ab3e9548 (diff)
downloadarmnn-ac47210621a601a2b6ded78e003d136626434f50.tar.gz
IVGCVSW-3813 Add Unary Elementwise Operation 'NEG' support to the android-nn-driver
* Implemented ClNegWorkload * Implemented NeonNegWorkload * Enabled 'NEG' operator on CL and Neon as well as Ref * Implemented unit tests for 'NEG' operator Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Change-Id: I3d7a892692716636cae6bdf8ddd238e3d1ea064f
Diffstat (limited to 'src/backends/neon/NeonWorkloadFactory.cpp')
-rw-r--r--src/backends/neon/NeonWorkloadFactory.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
index cc7dca031d..bf26d82a76 100644
--- a/src/backends/neon/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -218,9 +218,8 @@ std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateDivision(
return std::make_unique<NeonDivisionWorkload>(descriptor, info);
}
-std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor&
- descriptor,
- const WorkloadInfo& info) const
+std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateElementwiseUnary(
+ const ElementwiseUnaryQueueDescriptor& descriptor, const WorkloadInfo& info) const
{
if (descriptor.m_Parameters.m_Operation == UnaryOperation::Abs)
{
@@ -238,6 +237,10 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateElementwiseUnary(const Ele
return std::make_unique<NeonRsqrtWorkload>(rsqrtQueueDescriptor, info);
}
+ else if (descriptor.m_Parameters.m_Operation == UnaryOperation::Neg)
+ {
+ return std::make_unique<NeonNegWorkload>(descriptor, info);
+ }
return MakeWorkloadHelper<NullWorkload, NullWorkload>(descriptor, info);
}