diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2023-09-29 17:00:38 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2023-10-03 09:40:37 +0000 |
commit | ad323af0e9b47e53d366b85cdf74927f88748d40 (patch) | |
tree | c4251570a54ad9c123e4946bc1c69cbdbbf08253 /src/backends/tosaCommon/operatorMappings | |
parent | edefbc282556021b7ea4db5d88d4cce2f9782b15 (diff) | |
download | armnn-ad323af0e9b47e53d366b85cdf74927f88748d40.tar.gz |
IVGCVSW-8033 Update Arm NN to use TOSA v0.60.0
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: If1504534fbd7d6b317fdb93083dcdbd8b827764b
Diffstat (limited to 'src/backends/tosaCommon/operatorMappings')
12 files changed, 23 insertions, 3 deletions
diff --git a/src/backends/tosaCommon/operatorMappings/AvgPool2DIgnoreValueOperator.cpp b/src/backends/tosaCommon/operatorMappings/AvgPool2DIgnoreValueOperator.cpp index 61de0ae39a..a7ca873831 100644 --- a/src/backends/tosaCommon/operatorMappings/AvgPool2DIgnoreValueOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/AvgPool2DIgnoreValueOperator.cpp @@ -111,6 +111,7 @@ TosaSerializationBasicBlock* ConvertAvgPool2DIgnoreValueToTosaOperator(const Lay // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {opPad, opPool}, // operators tensors, // tensors {padInputName}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/ConcatOperator.cpp b/src/backends/tosaCommon/operatorMappings/ConcatOperator.cpp index 8c651be052..d1ff0dfb20 100644 --- a/src/backends/tosaCommon/operatorMappings/ConcatOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/ConcatOperator.cpp @@ -74,6 +74,7 @@ TosaSerializationBasicBlock* ConvertConcatToTosaOperator(const Layer* layer, // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators tensors, // tensors inputNames, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/ConstantOperator.cpp b/src/backends/tosaCommon/operatorMappings/ConstantOperator.cpp index 5e3973f8ec..c7cd7d7969 100644 --- a/src/backends/tosaCommon/operatorMappings/ConstantOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/ConstantOperator.cpp @@ -37,6 +37,7 @@ TosaSerializationBasicBlock* ConvertConstantToTosaOperator(const Layer* layer, auto* outputTensor0 = new TosaSerializationTensor(outputName, outputShape0, outputDType0, uint8Data); return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators {outputTensor0}, // tensors {}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/Conv2dOperator.cpp b/src/backends/tosaCommon/operatorMappings/Conv2dOperator.cpp index a7af08347a..fdd6ca4c27 100644 --- a/src/backends/tosaCommon/operatorMappings/Conv2dOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/Conv2dOperator.cpp @@ -114,7 +114,7 @@ TosaSerializationBasicBlock* ConvertConv2dToTosaOperator(const Layer* layer, static_cast<int>(conv2dDescriptor->m_StrideX)}; std::vector<int> dilation = {static_cast<int>(conv2dDescriptor->m_DilationY), static_cast<int>(conv2dDescriptor->m_DilationX)}; - TosaConvAttribute attribute(pad, stride, dilation, 0, 0, ArmNNToDType(inputs[0]->GetDataType())); + TosaConvAttribute attribute(pad, stride, dilation, 0, 0); auto* op = new TosaSerializationOperator(Op_CONV2D, Attribute_ConvAttribute, @@ -126,6 +126,7 @@ TosaSerializationBasicBlock* ConvertConv2dToTosaOperator(const Layer* layer, // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name operators, // operators tensors, // tensors inputNames, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/ElementwiseBinaryOperator.cpp b/src/backends/tosaCommon/operatorMappings/ElementwiseBinaryOperator.cpp index 9909e66a7d..28e7ec8231 100644 --- a/src/backends/tosaCommon/operatorMappings/ElementwiseBinaryOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/ElementwiseBinaryOperator.cpp @@ -95,6 +95,7 @@ TosaSerializationBasicBlock* ConvertElementwiseBinaryToTosaOperator(const Layer* // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to Tosa mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators tensors, // tensors {input0Name, input1Name}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/ElementwiseUnaryOperator.cpp b/src/backends/tosaCommon/operatorMappings/ElementwiseUnaryOperator.cpp index 15fb9d746b..17ea64b984 100644 --- a/src/backends/tosaCommon/operatorMappings/ElementwiseUnaryOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/ElementwiseUnaryOperator.cpp @@ -65,6 +65,7 @@ TosaSerializationBasicBlock* ConvertElementwiseUnaryOperator(const Layer* layer, // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to Tosa mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators tensors, // tensors {input0Name}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/Pooling2DOperator.cpp b/src/backends/tosaCommon/operatorMappings/Pooling2DOperator.cpp index 444d99a39e..c33f61296a 100644 --- a/src/backends/tosaCommon/operatorMappings/Pooling2DOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/Pooling2DOperator.cpp @@ -66,6 +66,7 @@ TosaSerializationBasicBlock* ConvertPooling2DToTosaOperator(const Layer* layer, // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators tensors, // tensors {input0Name}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/ReshapeOperator.cpp b/src/backends/tosaCommon/operatorMappings/ReshapeOperator.cpp index 10670ecb95..55d66806b7 100644 --- a/src/backends/tosaCommon/operatorMappings/ReshapeOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/ReshapeOperator.cpp @@ -55,6 +55,7 @@ TosaSerializationBasicBlock* ConvertReshapeToTosaOperator(const Layer* layer, // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators tensors, // tensors {inputName}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/SliceOperator.cpp b/src/backends/tosaCommon/operatorMappings/SliceOperator.cpp index b98576f47d..294d38937f 100644 --- a/src/backends/tosaCommon/operatorMappings/SliceOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/SliceOperator.cpp @@ -58,6 +58,7 @@ TosaSerializationBasicBlock* ConvertSliceToTosaOperator(const Layer* layer, // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators tensors, // tensors {inputName}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp b/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp index dccb29892c..3e106e1fd5 100644 --- a/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp +++ b/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp @@ -16,14 +16,17 @@ using namespace armnn; using namespace tosa; +const std::string mainName = "main"; + // Function to return Tosa datatype from input ArmNN datatype. inline DType ArmNNToDType(const DataType& type) { switch (type) { case DataType::Float16: - case DataType::BFloat16: return DType_FP16; + case DataType::BFloat16: + return DType_BF16; case DataType::Float32: return DType_FP32; case DataType::QAsymmU8: @@ -126,6 +129,8 @@ inline std::string TosaDTypeToString(DType tosaDType) return "DType_UINT16"; case DType_FP16: return "DType_FP16"; + case DType_BF16: + return "DType_BF16"; } return ""; } @@ -273,6 +278,10 @@ inline std::string TosaOpToString(Op tosaOp) return "Op_COND_IF"; case Op_WHILE_LOOP: return "Op_WHILE_LOOP"; + case Op_FFT2D: + return "Op_FFT2D"; + case Op_RFFT2D: + return "Op_RFFT2D"; } return ""; } diff --git a/src/backends/tosaCommon/operatorMappings/TransposeConv2dOperator.cpp b/src/backends/tosaCommon/operatorMappings/TransposeConv2dOperator.cpp index c8af5c2926..3041b790ae 100644 --- a/src/backends/tosaCommon/operatorMappings/TransposeConv2dOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/TransposeConv2dOperator.cpp @@ -143,7 +143,7 @@ TosaSerializationBasicBlock* ConvertTransposeConv2dToTosaOperator(const Layer* l } } - TosaTransposeConvAttribute attribute(pad, stride, outputShape, 0, 0, ArmNNToDType(inputs[0]->GetDataType())); + TosaTransposeConvAttribute attribute(pad, stride, outputShape, 0, 0); auto* op = new TosaSerializationOperator(Op_TRANSPOSE_CONV2D, Attribute_TransposeConvAttribute, @@ -155,6 +155,7 @@ TosaSerializationBasicBlock* ConvertTransposeConv2dToTosaOperator(const Layer* l // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name operators, // operators tensors, // tensors {input0Name, input1Name, input2Name}, // inputs diff --git a/src/backends/tosaCommon/operatorMappings/TransposeOperator.cpp b/src/backends/tosaCommon/operatorMappings/TransposeOperator.cpp index 56178e428b..ccc77741c9 100644 --- a/src/backends/tosaCommon/operatorMappings/TransposeOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/TransposeOperator.cpp @@ -58,6 +58,7 @@ TosaSerializationBasicBlock* ConvertTransposeToTosaOperator(const Layer* layer, // operatorInputNames/operatorOutputNames ends up being the same as // blockInputNames/blockOutputNames for one-to-one ArmNN to TOSA mappings return new TosaSerializationBasicBlock(blockName, // name + mainName, // region name {op}, // operators tensors, // tensors {input0Name}, // inputs |