// Copyright © Advanced Micro Devices, Inc., or its affiliates. // SPDX-License-Identifier: MIT include "data_types.fbs"; namespace hipdnn_flatbuffers_sdk.data_objects; struct Float32Value { value: float; } struct Float16Value { value: float; } struct BFloat16Value { value: float; } struct Float8Value { value: ubyte; } struct Int32Value { value: int; } struct Float64Value { value: double; } struct Int64Value { value: long; } struct BoolValue { value: bool; } // Note: FP4 and FP6 MX formats (e.g., FP4_E2M1, FP6_E2M3, FP6_E3M2) are intentionally // excluded from TensorValue. These OCP Microscaling formats are designed for block-scaled // tensor storage where values share scaling factors at the block level. union TensorValue { Float32Value, Float16Value, BFloat16Value, Float8Value, Int32Value, Float64Value, Int64Value, BoolValue } table TensorAttributes { uid: long; name: string; data_type: DataType; strides: [long]; dims: [long]; virtual: bool; value: TensorValue; is_runtime_pass_by_value: bool = false; ragged_offset_tensor_uid: long = null; alignment: long = 16; }