From 5d580faec02bcef56164587accb5fd88a3e80d86 Mon Sep 17 00:00:00 2001 From: Tai Ly Date: Fri, 15 Dec 2023 20:34:51 +0000 Subject: [serialization_lib] Add tosa shape ops Added tosa shape ops to tosa.fbs also added convert I64 to and from U8 for storing const_shape data values Signed-off-by: Tai Ly Change-Id: I1e938dec7398fbcbe5be657dad65cdd61af5b597 --- include/tosa_generated.h | 28 +++++++++++++++++++++++----- include/tosa_serialization_handler.h | 2 ++ 2 files changed, 25 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/tosa_generated.h b/include/tosa_generated.h index 0547316..2ecd35a 100644 --- a/include/tosa_generated.h +++ b/include/tosa_generated.h @@ -272,11 +272,17 @@ enum Op : uint32_t { Op_RFFT2D = 70, Op_ERF = 71, Op_DIM = 72, + Op_CONST_SHAPE = 73, + Op_CONCAT_SHAPE = 74, + Op_ADD_SHAPE = 75, + Op_SUB_SHAPE = 76, + Op_MUL_SHAPE = 77, + Op_DIV_SHAPE = 78, Op_MIN = Op_UNKNOWN, - Op_MAX = Op_DIM + Op_MAX = Op_DIV_SHAPE }; -inline const Op (&EnumValuesOp())[73] { +inline const Op (&EnumValuesOp())[79] { static const Op values[] = { Op_UNKNOWN, Op_ARGMAX, @@ -350,13 +356,19 @@ inline const Op (&EnumValuesOp())[73] { Op_FFT2D, Op_RFFT2D, Op_ERF, - Op_DIM + Op_DIM, + Op_CONST_SHAPE, + Op_CONCAT_SHAPE, + Op_ADD_SHAPE, + Op_SUB_SHAPE, + Op_MUL_SHAPE, + Op_DIV_SHAPE }; return values; } inline const char * const *EnumNamesOp() { - static const char * const names[74] = { + static const char * const names[80] = { "UNKNOWN", "ARGMAX", "AVG_POOL2D", @@ -430,13 +442,19 @@ inline const char * const *EnumNamesOp() { "RFFT2D", "ERF", "DIM", + "CONST_SHAPE", + "CONCAT_SHAPE", + "ADD_SHAPE", + "SUB_SHAPE", + "MUL_SHAPE", + "DIV_SHAPE", nullptr }; return names; } inline const char *EnumNameOp(Op e) { - if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIM)) return ""; + if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIV_SHAPE)) return ""; const size_t index = static_cast(e); return EnumNamesOp()[index]; } diff --git a/include/tosa_serialization_handler.h b/include/tosa_serialization_handler.h index 41032fc..35327e8 100644 --- a/include/tosa_serialization_handler.h +++ b/include/tosa_serialization_handler.h @@ -414,6 +414,7 @@ public: // data format conversion. little-endian. static tosa_err_t ConvertF16toU8(const std::vector& in, std::vector& out); static tosa_err_t ConvertF32toU8(const std::vector& in, std::vector& out); + static tosa_err_t ConvertI64toU8(const std::vector& in, std::vector& out); static tosa_err_t ConvertI48toU8(const std::vector& in, std::vector& out); static tosa_err_t ConvertI32toU8(const std::vector& in, std::vector& out); static tosa_err_t ConvertI16toU8(const std::vector& in, std::vector& out); @@ -423,6 +424,7 @@ public: static tosa_err_t ConvertU8toF16(const std::vector& in, uint32_t out_size, std::vector& out); static tosa_err_t ConvertU8toF32(const std::vector& in, uint32_t out_size, std::vector& out); + static tosa_err_t ConvertU8toI64(const std::vector& in, uint32_t out_size, std::vector& out); static tosa_err_t ConvertU8toI48(const std::vector& in, uint32_t out_size, std::vector& out); static tosa_err_t ConvertU8toI32(const std::vector& in, uint32_t out_size, std::vector& out); static tosa_err_t ConvertU8toI16(const std::vector& in, uint32_t out_size, std::vector& out); -- cgit v1.2.1