aboutsummaryrefslogtreecommitdiff
path: root/src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp
diff options
context:
space:
mode:
authorMatthew Sloyan <matthew.sloyan@arm.com>2022-10-28 18:02:17 +0100
committerMatthew Sloyan <matthew.sloyan@arm.com>2022-11-02 15:08:37 +0000
commit164bf4f29f6f1b2a3e6714ef4f5a21fc0fd16c2b (patch)
treee7296130a787578e1be4d3a93de46a9c466944b4 /src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp
parent2e950f4fa774ac995230addea898f3b11bf146cc (diff)
downloadarmnn-164bf4f29f6f1b2a3e6714ef4f5a21fc0fd16c2b.tar.gz
IVGCVSW-7164 Implement TosaRefBackend::OptimizeSubgraphView
* Added TosaRefBackend::OptimizeSubgraphView implementation. * Generalised TosaRefLayerSupport::IsLayerSupported to work with any operator. * Changed TosaCommon.hpp utils to inline functions. * Added source files for TosaMappings.hpp and AdditionOperator.hpp. * Fixed multiple defines issue with HALF_ROUND_STYLE and HALF_ROUND_TIES_TO_EVEN. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: Ib2576ec3fb97faa3a2256b2fb93ec16ac8745760
Diffstat (limited to 'src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp')
-rw-r--r--src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp36
1 files changed, 1 insertions, 35 deletions
diff --git a/src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp b/src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp
index 98c01e2cb8..2a9c479d8e 100644
--- a/src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp
+++ b/src/backends/tosaCommon/operatorMappings/AdditionOperator.hpp
@@ -14,39 +14,5 @@ using namespace armnn;
using namespace tosa;
TosaSerializationBasicBlock* ConvertAdditionToTosaOperator(const std::vector<const TensorInfo*>& inputs,
- const std::vector<const TensorInfo*>& outputs)
-{
- // A helper function with static global variables ensures uniqueness
- // for dynamically generating input, output and block names
- std::string input0Name = std::string("Op_ADD_input0_") + GetUniqueTosaMappingID();
- std::string input1Name = std::string("Op_ADD_input1_") + GetUniqueTosaMappingID();
- std::string outputName = std::string("Op_ADD_output0_") + GetUniqueTosaMappingID();
- std::string blockName = std::string("Op_ADD_block_") + GetUniqueTosaMappingID();
+ const std::vector<const TensorInfo*>& outputs);
- TosaSerializationOperator* op = new TosaSerializationOperator(Op_ADD,
- Attribute_NONE,
- nullptr,
- {input0Name, input1Name},
- {outputName});
-
- std::vector<int32_t> inputShape0 = GetTosaTensorShape(inputs[0]->GetShape());
- DType inputDType0 = ArmNNToDType(inputs[0]->GetDataType());
-
- std::vector<int32_t> inputShape1 = GetTosaTensorShape(inputs[1]->GetShape());
- DType inputDType1 = ArmNNToDType(inputs[1]->GetDataType());
-
- std::vector<int32_t> outputShape0 = GetTosaTensorShape(outputs[0]->GetShape());
- DType outputDType0 = ArmNNToDType(outputs[0]->GetDataType());
-
- TosaSerializationTensor* inputTensor0 = new TosaSerializationTensor(input0Name, inputShape0, inputDType0, {});
- TosaSerializationTensor* inputTensor1 = new TosaSerializationTensor(input1Name, inputShape1, inputDType1, {});
- TosaSerializationTensor* outputTensor0 = new TosaSerializationTensor(outputName, outputShape0, outputDType0, {});
-
- // operatorInputNames/operatorOutputNames ends up being the same as
- // blockInputNames/blockOutputNames for one-to-one ArmNN to Tosa mappings
- return new TosaSerializationBasicBlock(blockName, // name
- {op}, // operators
- {inputTensor0, inputTensor1, outputTensor0}, // tensors
- {input0Name, input1Name}, // inputs
- {outputName}); // outputs
-}