aboutsummaryrefslogtreecommitdiff
path: root/1.0/HalPolicy.cpp
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2021-12-03 16:07:42 +0000
committerMike Kelly <mike.kelly@arm.com>2023-03-14 18:30:34 +0000
commitee5872d95455351458ad4373176360200594daa1 (patch)
tree63207fa1e397e1c3cf87072d93c490a234935a8c /1.0/HalPolicy.cpp
parentde547168f108ec1494f18b3ab1ea50bd09f370c1 (diff)
downloadandroid-nn-driver-ee5872d95455351458ad4373176360200594daa1.tar.gz
IVGCVSW-3809 Refactor Elementwise Binary ops to use ElementwiseBinaryLayer
!armnn:9319 * Refactored all functions to convert Add, Div, Maximum, Minimum, Mul and Sub to use ElementwiseBinary layers instead. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: Ic05885cd8692e7f1b7032862fb4a395af70e0bcd Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: If9717d6ab236d97c76f6cd39b96bde86c81e4382
Diffstat (limited to '1.0/HalPolicy.cpp')
-rw-r--r--1.0/HalPolicy.cpp27
1 files changed, 12 insertions, 15 deletions
diff --git a/1.0/HalPolicy.cpp b/1.0/HalPolicy.cpp
index 624a5f2a..08de1b52 100644
--- a/1.0/HalPolicy.cpp
+++ b/1.0/HalPolicy.cpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017,2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -20,7 +20,7 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model,
switch (operation.type)
{
case V1_0::OperationType::ADD:
- return ConvertAdd(operation, model, data);
+ return ConvertElementwiseBinary(operation, model, data, armnn::BinaryOperation::Add);
case V1_0::OperationType::AVERAGE_POOL_2D:
return ConvertAveragePool2d(operation, model, data);
case V1_0::OperationType::CONCATENATION:
@@ -50,7 +50,7 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model,
case V1_0::OperationType::MAX_POOL_2D:
return ConvertMaxPool2d(operation, model, data);
case V1_0::OperationType::MUL:
- return ConvertMul(operation, model, data);
+ return ConvertElementwiseBinary(operation, model, data, armnn::BinaryOperation::Mul);
case V1_0::OperationType::RELU:
return ConvertReLu(operation, model, data);
case V1_0::OperationType::RELU1:
@@ -73,12 +73,6 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model,
}
}
-bool HalPolicy::ConvertAdd(const Operation& operation, const Model& model, ConversionData& data)
-{
- ALOGV("hal_1_0::HalPolicy::ConvertAdd()");
- return ::ConvertAdd<hal_1_0::HalPolicy>(operation, model, data);
-}
-
bool HalPolicy::ConvertAveragePool2d(const Operation& operation, const Model& model, ConversionData& data)
{
ALOGV("hal_1_0::HalPolicy::ConvertAveragePool2d()");
@@ -115,6 +109,15 @@ bool HalPolicy::ConvertDequantize(const Operation& operation, const Model& model
return ::ConvertDequantize<hal_1_0::HalPolicy>(operation, model, data);
}
+bool HalPolicy::ConvertElementwiseBinary(const Operation& operation,
+ const Model& model,
+ ConversionData& data,
+ armnn::BinaryOperation binaryOperation)
+{
+ ALOGV("hal_1_0::HalPolicy::ConvertElementwiseBinary()");
+ return ::ConvertElementwiseBinary<hal_1_0::HalPolicy>(operation, model, data, binaryOperation);
+}
+
bool HalPolicy::ConvertFloor(const Operation& operation, const Model& model, ConversionData& data)
{
ALOGV("hal_1_0::HalPolicy::ConvertFloor()");
@@ -516,12 +519,6 @@ bool HalPolicy::ConvertMaxPool2d(const Operation& operation, const Model& model,
return ConvertPooling2d<hal_1_0::HalPolicy>(operation, __func__, armnn::PoolingAlgorithm::Max, model, data);
}
-bool HalPolicy::ConvertMul(const Operation& operation, const Model& model, ConversionData& data)
-{
- ALOGV("hal_1_0::HalPolicy::ConvertMul()");
- return ::ConvertMul<hal_1_0::HalPolicy>(operation, model, data);
-}
-
bool HalPolicy::ConvertReLu(const Operation& operation, const Model& model, ConversionData& data)
{
ALOGV("hal_1_0::HalPolicy::ConvertReLu()");