aboutsummaryrefslogtreecommitdiff
path: root/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp')
-rw-r--r--src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp b/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp
new file mode 100644
index 0000000000..b887721648
--- /dev/null
+++ b/src/backends/tosaCommon/operatorMappings/TosaOperatorUtils.hpp
@@ -0,0 +1,60 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <armnn/Tensor.hpp>
+#include <armnn/Types.hpp>
+
+#include <tosa_generated.h>
+
+using namespace armnn;
+using namespace tosa;
+
+// Function to return Tosa datatype from input ArmNN datatype.
+DType ArmNNToDType(const DataType& type)
+{
+ switch (type)
+ {
+ case DataType::Float16:
+ case DataType::Float32:
+ case DataType::BFloat16:
+ return DType_FLOAT;
+ case DataType::QAsymmU8:
+ return DType_UINT8;
+ case DataType::QSymmS8:
+ case DataType::QAsymmS8:
+ return DType_INT8;
+ case DataType::QSymmS16:
+ return DType_INT16;
+ case DataType::Signed32:
+ return DType_INT32;
+ case DataType::Signed64:
+ // No signed 64, only DType_INT48.
+ return DType_UNKNOWN;
+ case DataType::Boolean:
+ return DType_BOOL;
+ default:
+ return DType_UNKNOWN;
+ }
+}
+
+// Function to return Tosa tensor shape from input ArmNN tensor shape.
+std::vector<int32_t> GetTosaTensorShape(const TensorShape& shape)
+{
+ std::vector<int32_t> returnShape;
+ for (u_int32_t i = 0; i < shape.GetNumDimensions(); i++)
+ {
+ returnShape.push_back(static_cast<int32_t>(shape[i]));
+ }
+ return returnShape;
+}
+
+// Function to return unique int as a string to ensure uniqueness between all input, output and block names.
+static int uniqueTosaMappingID = 0;
+std::string GetUniqueTosaMappingID()
+{
+ return std::to_string(++uniqueTosaMappingID);
+}