4 #ifndef FLATBUFFERS_GENERATED_PROGRAM_TT_TARGET_METAL_H_
5 #define FLATBUFFERS_GENERATED_PROGRAM_TT_TARGET_METAL_H_
7 #include "flatbuffers/flatbuffers.h"
11 static_assert(FLATBUFFERS_VERSION_MAJOR == 24 &&
12 FLATBUFFERS_VERSION_MINOR == 3 &&
13 FLATBUFFERS_VERSION_REVISION == 25,
14 "Non-compatible flatbuffers version included");
24 struct NocConfigBuilder;
27 struct ComputeConfigBuilder;
30 struct EthernetConfigBuilder;
33 struct KernelSourceBuilder;
36 struct KernelBinaryBuilder;
39 struct KernelArgCBPortBuilder;
42 struct KernelArgBufferAddressBuilder;
45 struct KernelArgSemaphoreBuilder;
48 struct KernelArgBuilder;
51 struct KernelArgsBuilder;
54 struct KernelConfigBuilder;
57 struct ProgramDescBuilder;
75 static const char *
const names[3] = {
85 const size_t index =
static_cast<size_t>(e);
97 static const EthType values[] = {
105 static const char *
const names[3] = {
115 const size_t index =
static_cast<size_t>(e);
135 static const char *
const names[3] = {
145 const size_t index =
static_cast<size_t>(e);
169 static const char *
const names[5] = {
181 const size_t index =
static_cast<size_t>(e);
202 bool VerifyKernelConfigTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelConfigType> *types);
228 static const char *
const names[7] = {
242 const size_t index =
static_cast<size_t>(e);
262 static const char *
const names[3] = {
272 const size_t index =
static_cast<size_t>(e);
285 static const Kernel values[] = {
294 static const char *
const names[4] = {
305 const size_t index =
static_cast<size_t>(e);
322 bool VerifyKernelVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<Kernel> *types);
344 static const char *
const names[5] = {
347 "KernelArgBufferAddress",
348 "KernelArgSemaphore",
356 const size_t index =
static_cast<size_t>(e);
377 bool VerifyKernelArgTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelArgType> *types);
383 return "tt.target.metal.NocConfig";
385 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
391 bool Verify(::flatbuffers::Verifier &verifier)
const {
392 return VerifyTableStart(verifier) &&
393 VerifyField<uint16_t>(verifier, VT_NOC_INDEX, 2) &&
400 ::flatbuffers::FlatBufferBuilder &
fbb_;
403 fbb_.AddElement<uint16_t>(NocConfig::VT_NOC_INDEX,
static_cast<uint16_t
>(noc_index), 0);
409 ::flatbuffers::Offset<NocConfig>
Finish() {
411 auto o = ::flatbuffers::Offset<NocConfig>(end);
417 ::flatbuffers::FlatBufferBuilder &_fbb,
433 return "tt.target.metal.ComputeConfig";
435 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
439 VT_UNPACK_TO_DEST_MODE = 10
451 return GetPointer<const ::flatbuffers::Vector<tt::target::metal::UnpackToDestMode> *>(VT_UNPACK_TO_DEST_MODE);
453 bool Verify(::flatbuffers::Verifier &verifier)
const {
454 return VerifyTableStart(verifier) &&
458 VerifyOffset(verifier, VT_UNPACK_TO_DEST_MODE) &&
459 verifier.VerifyVector(unpack_to_dest_mode()) &&
466 ::flatbuffers::FlatBufferBuilder &
fbb_;
477 void add_unpack_to_dest_mode(::flatbuffers::Offset<::flatbuffers::Vector<tt::target::metal::UnpackToDestMode>> unpack_to_dest_mode) {
478 fbb_.AddOffset(ComputeConfig::VT_UNPACK_TO_DEST_MODE, unpack_to_dest_mode);
484 ::flatbuffers::Offset<ComputeConfig>
Finish() {
486 auto o = ::flatbuffers::Offset<ComputeConfig>(end);
492 ::flatbuffers::FlatBufferBuilder &_fbb,
494 bool fp32_dest_acc_en =
false,
495 bool math_approx_mode =
false,
496 ::flatbuffers::Offset<::flatbuffers::Vector<tt::target::metal::UnpackToDestMode>> unpack_to_dest_mode = 0) {
511 ::flatbuffers::FlatBufferBuilder &_fbb,
513 bool fp32_dest_acc_en =
false,
514 bool math_approx_mode =
false,
515 const std::vector<tt::target::metal::UnpackToDestMode> *unpack_to_dest_mode =
nullptr) {
522 unpack_to_dest_mode__);
529 return "tt.target.metal.EthernetConfig";
531 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
541 bool Verify(::flatbuffers::Verifier &verifier)
const {
542 return VerifyTableStart(verifier) &&
544 VerifyField<uint16_t>(verifier, VT_NOC_INDEX, 2) &&
551 ::flatbuffers::FlatBufferBuilder &
fbb_;
557 fbb_.AddElement<uint16_t>(EthernetConfig::VT_NOC_INDEX,
static_cast<uint16_t
>(noc_index), 0);
563 ::flatbuffers::Offset<EthernetConfig>
Finish() {
565 auto o = ::flatbuffers::Offset<EthernetConfig>(end);
571 ::flatbuffers::FlatBufferBuilder &_fbb,
589 return "tt.target.metal.KernelSource";
591 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
594 const ::flatbuffers::String *
source()
const {
595 return GetPointer<const ::flatbuffers::String *>(VT_SOURCE);
597 bool Verify(::flatbuffers::Verifier &verifier)
const {
598 return VerifyTableStart(verifier) &&
599 VerifyOffset(verifier, VT_SOURCE) &&
600 verifier.VerifyString(source()) &&
607 ::flatbuffers::FlatBufferBuilder &
fbb_;
609 void add_source(::flatbuffers::Offset<::flatbuffers::String> source) {
610 fbb_.AddOffset(KernelSource::VT_SOURCE, source);
616 ::flatbuffers::Offset<KernelSource>
Finish() {
618 auto o = ::flatbuffers::Offset<KernelSource>(end);
624 ::flatbuffers::FlatBufferBuilder &_fbb,
625 ::flatbuffers::Offset<::flatbuffers::String> source = 0) {
637 ::flatbuffers::FlatBufferBuilder &_fbb,
638 const char *source =
nullptr) {
639 auto source__ = source ? _fbb.CreateString(source) : 0;
649 return "tt.target.metal.KernelBinary";
651 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
659 const ::flatbuffers::Vector<uint8_t> *
data()
const {
660 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(
VT_DATA);
663 return GetPointer<const ::flatbuffers::String *>(VT_DEBUG_SOURCE);
665 bool Verify(::flatbuffers::Verifier &verifier)
const {
666 return VerifyTableStart(verifier) &&
668 VerifyOffset(verifier,
VT_DATA) &&
669 verifier.VerifyVector(data()) &&
670 VerifyOffset(verifier, VT_DEBUG_SOURCE) &&
671 verifier.VerifyString(debug_source()) &&
678 ::flatbuffers::FlatBufferBuilder &
fbb_;
683 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
687 fbb_.AddOffset(KernelBinary::VT_DEBUG_SOURCE, debug_source);
693 ::flatbuffers::Offset<KernelBinary>
Finish() {
695 auto o = ::flatbuffers::Offset<KernelBinary>(end);
701 ::flatbuffers::FlatBufferBuilder &_fbb,
703 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
704 ::flatbuffers::Offset<::flatbuffers::String> debug_source = 0) {
718 ::flatbuffers::FlatBufferBuilder &_fbb,
720 const std::vector<uint8_t> *data =
nullptr,
721 const char *debug_source =
nullptr) {
722 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
723 auto debug_source__ = debug_source ? _fbb.CreateString(debug_source) : 0;
735 return "tt.target.metal.KernelArgCBPort";
737 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
741 return GetField<uint32_t>(VT_OPERAND_IDX, 0);
743 bool Verify(::flatbuffers::Verifier &verifier)
const {
744 return VerifyTableStart(verifier) &&
745 VerifyField<uint32_t>(verifier, VT_OPERAND_IDX, 4) &&
752 ::flatbuffers::FlatBufferBuilder &
fbb_;
755 fbb_.AddElement<uint32_t>(KernelArgCBPort::VT_OPERAND_IDX, operand_idx, 0);
761 ::flatbuffers::Offset<KernelArgCBPort>
Finish() {
763 auto o = ::flatbuffers::Offset<KernelArgCBPort>(end);
769 ::flatbuffers::FlatBufferBuilder &_fbb,
770 uint32_t operand_idx = 0) {
785 return "tt.target.metal.KernelArgBufferAddress";
787 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
791 return GetField<uint32_t>(VT_OPERAND_IDX, 0);
793 bool Verify(::flatbuffers::Verifier &verifier)
const {
794 return VerifyTableStart(verifier) &&
795 VerifyField<uint32_t>(verifier, VT_OPERAND_IDX, 4) &&
802 ::flatbuffers::FlatBufferBuilder &
fbb_;
805 fbb_.AddElement<uint32_t>(KernelArgBufferAddress::VT_OPERAND_IDX, operand_idx, 0);
811 ::flatbuffers::Offset<KernelArgBufferAddress>
Finish() {
813 auto o = ::flatbuffers::Offset<KernelArgBufferAddress>(end);
819 ::flatbuffers::FlatBufferBuilder &_fbb,
820 uint32_t operand_idx = 0) {
835 return "tt.target.metal.KernelArgSemaphore";
837 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
847 bool Verify(::flatbuffers::Verifier &verifier)
const {
848 return VerifyTableStart(verifier) &&
857 ::flatbuffers::FlatBufferBuilder &
fbb_;
869 ::flatbuffers::Offset<KernelArgSemaphore>
Finish() {
871 auto o = ::flatbuffers::Offset<KernelArgSemaphore>(end);
877 ::flatbuffers::FlatBufferBuilder &_fbb,
878 uint32_t initial_value = 0,
895 return "tt.target.metal.KernelArg";
897 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
905 return GetPointer<const void *>(VT_ARG);
907 template<
typename T>
const T *
arg_as()
const;
917 bool Verify(::flatbuffers::Verifier &verifier)
const {
918 return VerifyTableStart(verifier) &&
920 VerifyOffset(verifier, VT_ARG) &&
926 template<>
inline const tt::target::metal::KernelArgCBPort *KernelArg::arg_as<tt::target::metal::KernelArgCBPort>()
const {
927 return arg_as_KernelArgCBPort();
930 template<>
inline const tt::target::metal::KernelArgBufferAddress *KernelArg::arg_as<tt::target::metal::KernelArgBufferAddress>()
const {
931 return arg_as_KernelArgBufferAddress();
934 template<>
inline const tt::target::metal::KernelArgSemaphore *KernelArg::arg_as<tt::target::metal::KernelArgSemaphore>()
const {
935 return arg_as_KernelArgSemaphore();
940 ::flatbuffers::FlatBufferBuilder &
fbb_;
945 void add_arg(::flatbuffers::Offset<void> arg) {
946 fbb_.AddOffset(KernelArg::VT_ARG, arg);
952 ::flatbuffers::Offset<KernelArg>
Finish() {
954 auto o = ::flatbuffers::Offset<KernelArg>(end);
960 ::flatbuffers::FlatBufferBuilder &_fbb,
962 ::flatbuffers::Offset<void> arg = 0) {
978 return "tt.target.metal.KernelArgs";
980 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
984 const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>> *
rt_args()
const {
985 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>> *>(
VT_RT_ARGS);
987 const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>> *
ct_args()
const {
988 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>> *>(VT_CT_ARGS);
990 bool Verify(::flatbuffers::Verifier &verifier)
const {
991 return VerifyTableStart(verifier) &&
993 verifier.VerifyVector(rt_args()) &&
994 verifier.VerifyVectorOfTables(rt_args()) &&
995 VerifyOffset(verifier, VT_CT_ARGS) &&
996 verifier.VerifyVector(ct_args()) &&
997 verifier.VerifyVectorOfTables(ct_args()) &&
1004 ::flatbuffers::FlatBufferBuilder &
fbb_;
1006 void add_rt_args(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>>> rt_args) {
1009 void add_ct_args(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>>> ct_args) {
1010 fbb_.AddOffset(KernelArgs::VT_CT_ARGS, ct_args);
1018 auto o = ::flatbuffers::Offset<KernelArgs>(end);
1024 ::flatbuffers::FlatBufferBuilder &_fbb,
1025 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>>> rt_args = 0,
1026 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>>> ct_args = 0) {
1030 return builder_.
Finish();
1039 ::flatbuffers::FlatBufferBuilder &_fbb,
1040 const std::vector<::flatbuffers::Offset<tt::target::metal::KernelArg>> *rt_args =
nullptr,
1041 const std::vector<::flatbuffers::Offset<tt::target::metal::KernelArg>> *ct_args =
nullptr) {
1042 auto rt_args__ = rt_args ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::KernelArg>>(*rt_args) : 0;
1043 auto ct_args__ = ct_args ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::KernelArg>>(*ct_args) : 0;
1054 return "tt.target.metal.KernelConfig";
1056 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1069 return GetPointer<const void *>(
VT_KERNEL);
1078 const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *
core_range_set()
const {
1079 return GetPointer<const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *>(
VT_CORE_RANGE_SET);
1081 const tt::target::metal::KernelArgs *
args()
const {
1082 return GetPointer<const tt::target::metal::KernelArgs *>(
VT_ARGS);
1088 return GetPointer<const void *>(
VT_TYPE);
1101 return GetPointer<const ::flatbuffers::String *>(
VT_DEBUG_INFO);
1103 bool Verify(::flatbuffers::Verifier &verifier)
const {
1104 return VerifyTableStart(verifier) &&
1109 verifier.VerifyVector(core_range_set()) &&
1110 VerifyOffset(verifier,
VT_ARGS) &&
1111 verifier.VerifyTable(args()) &&
1113 VerifyOffset(verifier,
VT_TYPE) &&
1116 verifier.VerifyString(debug_info()) &&
1117 verifier.EndTable();
1121 template<>
inline const tt::target::metal::KernelSource *KernelConfig::kernel_as<tt::target::metal::KernelSource>()
const {
1122 return kernel_as_KernelSource();
1125 template<>
inline const tt::target::metal::KernelBinary *KernelConfig::kernel_as<tt::target::metal::KernelBinary>()
const {
1126 return kernel_as_KernelBinary();
1129 template<>
inline const tt::target::metal::NocConfig *KernelConfig::type_as<tt::target::metal::NocConfig>()
const {
1130 return type_as_NocConfig();
1133 template<>
inline const tt::target::metal::ComputeConfig *KernelConfig::type_as<tt::target::metal::ComputeConfig>()
const {
1134 return type_as_ComputeConfig();
1137 template<>
inline const tt::target::metal::EthernetConfig *KernelConfig::type_as<tt::target::metal::EthernetConfig>()
const {
1138 return type_as_EthernetConfig();
1143 ::flatbuffers::FlatBufferBuilder &
fbb_;
1151 void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set) {
1154 void add_args(::flatbuffers::Offset<tt::target::metal::KernelArgs> args) {
1170 ::flatbuffers::Offset<KernelConfig>
Finish() {
1172 auto o = ::flatbuffers::Offset<KernelConfig>(end);
1178 ::flatbuffers::FlatBufferBuilder &_fbb,
1180 ::flatbuffers::Offset<void> kernel = 0,
1181 ::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set = 0,
1182 ::flatbuffers::Offset<tt::target::metal::KernelArgs> args = 0,
1184 ::flatbuffers::Offset<void> type = 0,
1185 ::flatbuffers::Offset<::flatbuffers::String> debug_info = 0) {
1194 return builder_.
Finish();
1203 ::flatbuffers::FlatBufferBuilder &_fbb,
1205 ::flatbuffers::Offset<void> kernel = 0,
1206 const std::vector<tt::target::Dim2dRange> *core_range_set =
nullptr,
1207 ::flatbuffers::Offset<tt::target::metal::KernelArgs> args = 0,
1209 ::flatbuffers::Offset<void> type = 0,
1210 const char *debug_info =
nullptr) {
1211 auto core_range_set__ = core_range_set ? _fbb.CreateVectorOfStructs<tt::target::Dim2dRange>(*core_range_set) : 0;
1212 auto debug_info__ = debug_info ? _fbb.CreateString(debug_info) : 0;
1228 return "tt.target.metal.ProgramDesc";
1230 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1233 const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelConfig>> *
kernels()
const {
1234 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelConfig>> *>(VT_KERNELS);
1236 bool Verify(::flatbuffers::Verifier &verifier)
const {
1237 return VerifyTableStart(verifier) &&
1238 VerifyOffset(verifier, VT_KERNELS) &&
1239 verifier.VerifyVector(kernels()) &&
1240 verifier.VerifyVectorOfTables(kernels()) &&
1241 verifier.EndTable();
1247 ::flatbuffers::FlatBufferBuilder &
fbb_;
1249 void add_kernels(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelConfig>>> kernels) {
1250 fbb_.AddOffset(ProgramDesc::VT_KERNELS, kernels);
1256 ::flatbuffers::Offset<ProgramDesc>
Finish() {
1258 auto o = ::flatbuffers::Offset<ProgramDesc>(end);
1264 ::flatbuffers::FlatBufferBuilder &_fbb,
1265 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelConfig>>> kernels = 0) {
1268 return builder_.
Finish();
1277 ::flatbuffers::FlatBufferBuilder &_fbb,
1278 const std::vector<::flatbuffers::Offset<tt::target::metal::KernelConfig>> *kernels =
nullptr) {
1279 auto kernels__ = kernels ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::KernelConfig>>(*kernels) : 0;
1291 auto ptr =
reinterpret_cast<const tt::target::metal::NocConfig *
>(obj);
1292 return verifier.VerifyTable(ptr);
1295 auto ptr =
reinterpret_cast<const tt::target::metal::ComputeConfig *
>(obj);
1296 return verifier.VerifyTable(ptr);
1299 auto ptr =
reinterpret_cast<const tt::target::metal::EthernetConfig *
>(obj);
1300 return verifier.VerifyTable(ptr);
1302 default:
return true;
1306 inline bool VerifyKernelConfigTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelConfigType> *types) {
1307 if (!values || !types)
return !values && !types;
1308 if (values->size() != types->size())
return false;
1309 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
1324 auto ptr =
reinterpret_cast<const tt::target::metal::KernelSource *
>(obj);
1325 return verifier.VerifyTable(ptr);
1328 auto ptr =
reinterpret_cast<const tt::target::metal::KernelBinary *
>(obj);
1329 return verifier.VerifyTable(ptr);
1331 default:
return true;
1335 inline bool VerifyKernelVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<Kernel> *types) {
1336 if (!values || !types)
return !values && !types;
1337 if (values->size() != types->size())
return false;
1338 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
1340 verifier, values->Get(i), types->GetEnum<
Kernel>(i))) {
1353 auto ptr =
reinterpret_cast<const tt::target::metal::KernelArgCBPort *
>(obj);
1354 return verifier.VerifyTable(ptr);
1357 auto ptr =
reinterpret_cast<const tt::target::metal::KernelArgBufferAddress *
>(obj);
1358 return verifier.VerifyTable(ptr);
1361 auto ptr =
reinterpret_cast<const tt::target::metal::KernelArgSemaphore *
>(obj);
1362 return verifier.VerifyTable(ptr);
1364 default:
return true;
1368 inline bool VerifyKernelArgTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelArgType> *types) {
1369 if (!values || !types)
return !values && !types;
1370 if (values->size() != types->size())
return false;
1371 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
1373 verifier, values->Get(i), types->GetEnum<
KernelArgType>(i))) {
VT_DEBUG_INFO
Definition: program_generated.h:433
MathFidelity
Definition: types_generated.h:352
Definition: debug_info_generated.h:18
Definition: debug_info_generated.h:36