aboutsummaryrefslogtreecommitdiff
path: root/include/tosa_generated.h
diff options
context:
space:
mode:
authorTai Ly <tai.ly@arm.com>2024-03-21 17:01:14 +0000
committerTai Ly <tai.ly@arm.com>2024-04-08 22:18:34 +0000
commitce911a2f1d9cd678fb9fe82a40c86ad0c6772f5a (patch)
tree68faf6d7b1c676705a022b32d8aa7950db03ab5e /include/tosa_generated.h
parent8f9e2842ce7d25645233ad4f6fa406be982346ae (diff)
downloadserialization_lib-ce911a2f1d9cd678fb9fe82a40c86ad0c6772f5a.tar.gz
Add conversions of U8 to/from BF16 and FP8
Adds type to PadAttribute and ClampAttribute so their pad_const and max_val/min_val can be deserialized according to type Adds conversion functions of U8 arrays to/from BF16/FP8 values Also, refactor and expose TosaSerializer.convertDataToUint8Vec for converting dtype/data to uint8 list for serialization And modify convertDataToUint8Vec to serialize bf16 values into 2 bytes each, and serialize fp8 values into single bytes each. Signed-off-by: Tai Ly <tai.ly@arm.com> Change-Id: I05659e8187c76d359f1cc9f71c8c23cafd0e877f
Diffstat (limited to 'include/tosa_generated.h')
-rw-r--r--include/tosa_generated.h40
1 files changed, 32 insertions, 8 deletions
diff --git a/include/tosa_generated.h b/include/tosa_generated.h
index 20f6993..0798256 100644
--- a/include/tosa_generated.h
+++ b/include/tosa_generated.h
@@ -1008,15 +1008,20 @@ inline ::flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribut
struct PadAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
typedef PadAttributeBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
- VT_PAD_CONST = 4
+ VT_PAD_CONST = 4,
+ VT_TYPE = 6
};
const ::flatbuffers::Vector<uint8_t> *pad_const() const {
return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_PAD_CONST);
}
+ tosa::DType type() const {
+ return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
+ }
bool Verify(::flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_PAD_CONST) &&
verifier.VerifyVector(pad_const()) &&
+ VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
verifier.EndTable();
}
};
@@ -1028,6 +1033,9 @@ struct PadAttributeBuilder {
void add_pad_const(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const) {
fbb_.AddOffset(PadAttribute::VT_PAD_CONST, pad_const);
}
+ void add_type(tosa::DType type) {
+ fbb_.AddElement<uint32_t>(PadAttribute::VT_TYPE, static_cast<uint32_t>(type), 0);
+ }
explicit PadAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -1041,20 +1049,24 @@ struct PadAttributeBuilder {
inline ::flatbuffers::Offset<PadAttribute> CreatePadAttribute(
::flatbuffers::FlatBufferBuilder &_fbb,
- ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const = 0) {
+ ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> pad_const = 0,
+ tosa::DType type = tosa::DType_UNKNOWN) {
PadAttributeBuilder builder_(_fbb);
+ builder_.add_type(type);
builder_.add_pad_const(pad_const);
return builder_.Finish();
}
inline ::flatbuffers::Offset<PadAttribute> CreatePadAttributeDirect(
::flatbuffers::FlatBufferBuilder &_fbb,
- const std::vector<uint8_t> *pad_const = nullptr) {
+ const std::vector<uint8_t> *pad_const = nullptr,
+ tosa::DType type = tosa::DType_UNKNOWN) {
if (pad_const) { _fbb.ForceVectorAlignment(pad_const->size(), sizeof(uint8_t), 8); }
auto pad_const__ = pad_const ? _fbb.CreateVector<uint8_t>(*pad_const) : 0;
return tosa::CreatePadAttribute(
_fbb,
- pad_const__);
+ pad_const__,
+ type);
}
struct AxisAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
@@ -1193,7 +1205,8 @@ struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
typedef ClampAttributeBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_MIN_VAL = 4,
- VT_MAX_VAL = 6
+ VT_MAX_VAL = 6,
+ VT_TYPE = 8
};
const ::flatbuffers::Vector<uint8_t> *min_val() const {
return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MIN_VAL);
@@ -1201,12 +1214,16 @@ struct ClampAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
const ::flatbuffers::Vector<uint8_t> *max_val() const {
return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_MAX_VAL);
}
+ tosa::DType type() const {
+ return static_cast<tosa::DType>(GetField<uint32_t>(VT_TYPE, 0));
+ }
bool Verify(::flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyOffset(verifier, VT_MIN_VAL) &&
verifier.VerifyVector(min_val()) &&
VerifyOffset(verifier, VT_MAX_VAL) &&
verifier.VerifyVector(max_val()) &&
+ VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
verifier.EndTable();
}
};
@@ -1221,6 +1238,9 @@ struct ClampAttributeBuilder {
void add_max_val(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_val) {
fbb_.AddOffset(ClampAttribute::VT_MAX_VAL, max_val);
}
+ void add_type(tosa::DType type) {
+ fbb_.AddElement<uint32_t>(ClampAttribute::VT_TYPE, static_cast<uint32_t>(type), 0);
+ }
explicit ClampAttributeBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
@@ -1235,8 +1255,10 @@ struct ClampAttributeBuilder {
inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
::flatbuffers::FlatBufferBuilder &_fbb,
::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> min_val = 0,
- ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_val = 0) {
+ ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> max_val = 0,
+ tosa::DType type = tosa::DType_UNKNOWN) {
ClampAttributeBuilder builder_(_fbb);
+ builder_.add_type(type);
builder_.add_max_val(max_val);
builder_.add_min_val(min_val);
return builder_.Finish();
@@ -1245,7 +1267,8 @@ inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttribute(
inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
::flatbuffers::FlatBufferBuilder &_fbb,
const std::vector<uint8_t> *min_val = nullptr,
- const std::vector<uint8_t> *max_val = nullptr) {
+ const std::vector<uint8_t> *max_val = nullptr,
+ tosa::DType type = tosa::DType_UNKNOWN) {
if (min_val) { _fbb.ForceVectorAlignment(min_val->size(), sizeof(uint8_t), 8); }
auto min_val__ = min_val ? _fbb.CreateVector<uint8_t>(*min_val) : 0;
if (max_val) { _fbb.ForceVectorAlignment(max_val->size(), sizeof(uint8_t), 8); }
@@ -1253,7 +1276,8 @@ inline ::flatbuffers::Offset<ClampAttribute> CreateClampAttributeDirect(
return tosa::CreateClampAttribute(
_fbb,
min_val__,
- max_val__);
+ max_val__,
+ type);
}
struct RescaleAttribute FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {