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");
23 struct NocConfigBuilder;
26 struct TensixConfigBuilder;
29 struct EthernetConfigBuilder;
32 struct KernelSourceBuilder;
35 struct KernelBinaryBuilder;
38 struct RuntimeArgTensorAddressBuilder;
41 struct RuntimeArgSemaphoreAddressBuilder;
44 struct KernelDescBuilder;
47 struct ProgramDescBuilder;
65 static const char *
const names[3] = {
75 const size_t index =
static_cast<size_t>(e);
87 static const EthType values[] = {
95 static const char *
const names[3] = {
105 const size_t index =
static_cast<size_t>(e);
129 static const char *
const names[5] = {
141 const size_t index =
static_cast<size_t>(e);
162 bool VerifyKernelConfigVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelConfig> *types);
188 static const char *
const names[7] = {
202 const size_t index =
static_cast<size_t>(e);
222 static const char *
const names[3] = {
232 const size_t index =
static_cast<size_t>(e);
245 static const Kernel values[] = {
254 static const char *
const names[4] = {
265 const size_t index =
static_cast<size_t>(e);
282 bool VerifyKernelVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<Kernel> *types);
302 static const char *
const names[4] = {
304 "RuntimeArgTensorAddress",
305 "RuntimeArgSemaphoreAddress",
313 const size_t index =
static_cast<size_t>(e);
330 bool VerifyRuntimeArgVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<RuntimeArg> *types);
335 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
341 bool Verify(::flatbuffers::Verifier &verifier)
const {
342 return VerifyTableStart(verifier) &&
343 VerifyField<uint16_t>(verifier, VT_NOC_INDEX, 2) &&
350 ::flatbuffers::FlatBufferBuilder &
fbb_;
353 fbb_.AddElement<uint16_t>(NocConfig::VT_NOC_INDEX,
static_cast<uint16_t
>(noc_index), 0);
359 ::flatbuffers::Offset<NocConfig>
Finish() {
361 auto o = ::flatbuffers::Offset<NocConfig>(end);
367 ::flatbuffers::FlatBufferBuilder &_fbb,
382 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
386 VT_MATH_APPROX_MODE = 10
398 return GetField<uint8_t>(VT_MATH_APPROX_MODE, 0) != 0;
400 bool Verify(::flatbuffers::Verifier &verifier)
const {
401 return VerifyTableStart(verifier) &&
405 VerifyField<uint8_t>(verifier, VT_MATH_APPROX_MODE, 1) &&
412 ::flatbuffers::FlatBufferBuilder &
fbb_;
424 fbb_.AddElement<uint8_t>(TensixConfig::VT_MATH_APPROX_MODE,
static_cast<uint8_t
>(math_approx_mode), 0);
430 ::flatbuffers::Offset<TensixConfig>
Finish() {
432 auto o = ::flatbuffers::Offset<TensixConfig>(end);
438 ::flatbuffers::FlatBufferBuilder &_fbb,
440 bool fp32_dest_acc_en =
false,
441 bool preserve_fp32_precision =
false,
442 bool math_approx_mode =
false) {
459 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
469 bool Verify(::flatbuffers::Verifier &verifier)
const {
470 return VerifyTableStart(verifier) &&
472 VerifyField<uint16_t>(verifier, VT_NOC_INDEX, 2) &&
479 ::flatbuffers::FlatBufferBuilder &
fbb_;
485 fbb_.AddElement<uint16_t>(EthernetConfig::VT_NOC_INDEX,
static_cast<uint16_t
>(noc_index), 0);
491 ::flatbuffers::Offset<EthernetConfig>
Finish() {
493 auto o = ::flatbuffers::Offset<EthernetConfig>(end);
499 ::flatbuffers::FlatBufferBuilder &_fbb,
516 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
521 const ::flatbuffers::String *
source()
const {
522 return GetPointer<const ::flatbuffers::String *>(
VT_SOURCE);
528 return GetPointer<const void *>(VT_CONFIG);
540 bool Verify(::flatbuffers::Verifier &verifier)
const {
541 return VerifyTableStart(verifier) &&
543 verifier.VerifyString(source()) &&
545 VerifyOffset(verifier, VT_CONFIG) &&
551 template<>
inline const tt::target::metal::NocConfig *KernelSource::config_as<tt::target::metal::NocConfig>()
const {
552 return config_as_NocConfig();
555 template<>
inline const tt::target::metal::TensixConfig *KernelSource::config_as<tt::target::metal::TensixConfig>()
const {
556 return config_as_TensixConfig();
559 template<>
inline const tt::target::metal::EthernetConfig *KernelSource::config_as<tt::target::metal::EthernetConfig>()
const {
560 return config_as_EthernetConfig();
565 ::flatbuffers::FlatBufferBuilder &
fbb_;
567 void add_source(::flatbuffers::Offset<::flatbuffers::String> source) {
574 fbb_.AddOffset(KernelSource::VT_CONFIG, config);
580 ::flatbuffers::Offset<KernelSource>
Finish() {
582 auto o = ::flatbuffers::Offset<KernelSource>(end);
588 ::flatbuffers::FlatBufferBuilder &_fbb,
589 ::flatbuffers::Offset<::flatbuffers::String> source = 0,
591 ::flatbuffers::Offset<void> config = 0) {
605 ::flatbuffers::FlatBufferBuilder &_fbb,
606 const char *source =
nullptr,
608 ::flatbuffers::Offset<void> config = 0) {
609 auto source__ = source ? _fbb.CreateString(source) : 0;
620 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
628 const ::flatbuffers::Vector<uint8_t> *
data()
const {
629 return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(
VT_DATA);
632 return GetPointer<const ::flatbuffers::String *>(VT_DEBUG_SOURCE);
634 bool Verify(::flatbuffers::Verifier &verifier)
const {
635 return VerifyTableStart(verifier) &&
637 VerifyOffset(verifier,
VT_DATA) &&
638 verifier.VerifyVector(data()) &&
639 VerifyOffset(verifier, VT_DEBUG_SOURCE) &&
640 verifier.VerifyString(debug_source()) &&
647 ::flatbuffers::FlatBufferBuilder &
fbb_;
652 void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
656 fbb_.AddOffset(KernelBinary::VT_DEBUG_SOURCE, debug_source);
662 ::flatbuffers::Offset<KernelBinary>
Finish() {
664 auto o = ::flatbuffers::Offset<KernelBinary>(end);
670 ::flatbuffers::FlatBufferBuilder &_fbb,
672 ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
673 ::flatbuffers::Offset<::flatbuffers::String> debug_source = 0) {
687 ::flatbuffers::FlatBufferBuilder &_fbb,
689 const std::vector<uint8_t> *data =
nullptr,
690 const char *debug_source =
nullptr) {
691 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
692 auto debug_source__ = debug_source ? _fbb.CreateString(debug_source) : 0;
703 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
707 return GetField<uint32_t>(VT_OPERAND_IDX, 0);
709 bool Verify(::flatbuffers::Verifier &verifier)
const {
710 return VerifyTableStart(verifier) &&
711 VerifyField<uint32_t>(verifier, VT_OPERAND_IDX, 4) &&
718 ::flatbuffers::FlatBufferBuilder &
fbb_;
721 fbb_.AddElement<uint32_t>(RuntimeArgTensorAddress::VT_OPERAND_IDX, operand_idx, 0);
727 ::flatbuffers::Offset<RuntimeArgTensorAddress>
Finish() {
729 auto o = ::flatbuffers::Offset<RuntimeArgTensorAddress>(end);
735 ::flatbuffers::FlatBufferBuilder &_fbb,
736 uint32_t operand_idx = 0) {
750 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
760 bool Verify(::flatbuffers::Verifier &verifier)
const {
761 return VerifyTableStart(verifier) &&
770 ::flatbuffers::FlatBufferBuilder &
fbb_;
782 ::flatbuffers::Offset<RuntimeArgSemaphoreAddress>
Finish() {
784 auto o = ::flatbuffers::Offset<RuntimeArgSemaphoreAddress>(end);
790 ::flatbuffers::FlatBufferBuilder &_fbb,
791 uint32_t initial_value = 0,
807 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
820 return GetPointer<const void *>(
VT_KERNEL);
829 const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *
core_range_set()
const {
830 return GetPointer<const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *>(
VT_CORE_RANGE_SET);
832 const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::CBRef>> *
cbs()
const {
833 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::CBRef>> *>(
VT_CBS);
836 return GetPointer<const ::flatbuffers::Vector<tt::target::metal::RuntimeArg> *>(
VT_RUNTIME_ARGS_TYPE);
838 const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *
runtime_args()
const {
839 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *>(
VT_RUNTIME_ARGS);
842 return GetPointer<const ::flatbuffers::String *>(VT_DEBUG_INFO);
844 bool Verify(::flatbuffers::Verifier &verifier)
const {
845 return VerifyTableStart(verifier) &&
850 verifier.VerifyVector(core_range_set()) &&
851 VerifyOffset(verifier,
VT_CBS) &&
852 verifier.VerifyVector(cbs()) &&
853 verifier.VerifyVectorOfTables(cbs()) &&
855 verifier.VerifyVector(runtime_args_type()) &&
857 verifier.VerifyVector(runtime_args()) &&
859 VerifyOffset(verifier, VT_DEBUG_INFO) &&
860 verifier.VerifyString(debug_info()) &&
865 template<>
inline const tt::target::metal::KernelSource *KernelDesc::kernel_as<tt::target::metal::KernelSource>()
const {
866 return kernel_as_KernelSource();
869 template<>
inline const tt::target::metal::KernelBinary *KernelDesc::kernel_as<tt::target::metal::KernelBinary>()
const {
870 return kernel_as_KernelBinary();
875 ::flatbuffers::FlatBufferBuilder &
fbb_;
883 void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set) {
886 void add_cbs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::CBRef>>> cbs) {
889 void add_runtime_args_type(::flatbuffers::Offset<::flatbuffers::Vector<tt::target::metal::RuntimeArg>> runtime_args_type) {
892 void add_runtime_args(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<void>>> runtime_args) {
896 fbb_.AddOffset(KernelDesc::VT_DEBUG_INFO, debug_info);
902 ::flatbuffers::Offset<KernelDesc>
Finish() {
904 auto o = ::flatbuffers::Offset<KernelDesc>(end);
910 ::flatbuffers::FlatBufferBuilder &_fbb,
912 ::flatbuffers::Offset<void> kernel = 0,
913 ::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set = 0,
914 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::CBRef>>> cbs = 0,
915 ::flatbuffers::Offset<::flatbuffers::Vector<tt::target::metal::RuntimeArg>> runtime_args_type = 0,
916 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<void>>> runtime_args = 0,
917 ::flatbuffers::Offset<::flatbuffers::String> debug_info = 0) {
935 ::flatbuffers::FlatBufferBuilder &_fbb,
937 ::flatbuffers::Offset<void> kernel = 0,
938 const std::vector<tt::target::Dim2dRange> *core_range_set =
nullptr,
939 const std::vector<::flatbuffers::Offset<tt::target::CBRef>> *cbs =
nullptr,
940 const std::vector<tt::target::metal::RuntimeArg> *runtime_args_type =
nullptr,
941 const std::vector<::flatbuffers::Offset<void>> *runtime_args =
nullptr,
942 const char *debug_info =
nullptr) {
943 auto core_range_set__ = core_range_set ? _fbb.CreateVectorOfStructs<tt::target::Dim2dRange>(*core_range_set) : 0;
944 auto cbs__ = cbs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::CBRef>>(*cbs) : 0;
946 auto runtime_args__ = runtime_args ? _fbb.CreateVector<::flatbuffers::Offset<void>>(*runtime_args) : 0;
947 auto debug_info__ = debug_info ? _fbb.CreateString(debug_info) : 0;
962 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
965 const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelDesc>> *
kernels()
const {
966 return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelDesc>> *>(VT_KERNELS);
968 bool Verify(::flatbuffers::Verifier &verifier)
const {
969 return VerifyTableStart(verifier) &&
970 VerifyOffset(verifier, VT_KERNELS) &&
971 verifier.VerifyVector(kernels()) &&
972 verifier.VerifyVectorOfTables(kernels()) &&
979 ::flatbuffers::FlatBufferBuilder &
fbb_;
981 void add_kernels(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelDesc>>> kernels) {
982 fbb_.AddOffset(ProgramDesc::VT_KERNELS, kernels);
988 ::flatbuffers::Offset<ProgramDesc>
Finish() {
990 auto o = ::flatbuffers::Offset<ProgramDesc>(end);
996 ::flatbuffers::FlatBufferBuilder &_fbb,
997 ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelDesc>>> kernels = 0) {
1000 return builder_.
Finish();
1009 ::flatbuffers::FlatBufferBuilder &_fbb,
1010 const std::vector<::flatbuffers::Offset<tt::target::metal::KernelDesc>> *kernels =
nullptr) {
1011 auto kernels__ = kernels ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::KernelDesc>>(*kernels) : 0;
1023 auto ptr =
reinterpret_cast<const tt::target::metal::NocConfig *
>(obj);
1024 return verifier.VerifyTable(ptr);
1027 auto ptr =
reinterpret_cast<const tt::target::metal::TensixConfig *
>(obj);
1028 return verifier.VerifyTable(ptr);
1031 auto ptr =
reinterpret_cast<const tt::target::metal::EthernetConfig *
>(obj);
1032 return verifier.VerifyTable(ptr);
1034 default:
return true;
1038 inline bool VerifyKernelConfigVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelConfig> *types) {
1039 if (!values || !types)
return !values && !types;
1040 if (values->size() != types->size())
return false;
1041 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
1043 verifier, values->Get(i), types->GetEnum<
KernelConfig>(i))) {
1056 auto ptr =
reinterpret_cast<const tt::target::metal::KernelSource *
>(obj);
1057 return verifier.VerifyTable(ptr);
1060 auto ptr =
reinterpret_cast<const tt::target::metal::KernelBinary *
>(obj);
1061 return verifier.VerifyTable(ptr);
1063 default:
return true;
1067 inline bool VerifyKernelVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<Kernel> *types) {
1068 if (!values || !types)
return !values && !types;
1069 if (values->size() != types->size())
return false;
1070 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
1072 verifier, values->Get(i), types->GetEnum<
Kernel>(i))) {
1085 auto ptr =
reinterpret_cast<const tt::target::metal::RuntimeArgTensorAddress *
>(obj);
1086 return verifier.VerifyTable(ptr);
1089 auto ptr =
reinterpret_cast<const tt::target::metal::RuntimeArgSemaphoreAddress *
>(obj);
1090 return verifier.VerifyTable(ptr);
1092 default:
return true;
1096 inline bool VerifyRuntimeArgVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<RuntimeArg> *types) {
1097 if (!values || !types)
return !values && !types;
1098 if (values->size() != types->size())
return false;
1099 for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
1101 verifier, values->Get(i), types->GetEnum<
RuntimeArg>(i))) {
MathFidelity
Definition: types_generated.h:376
Definition: debug_info_generated.h:16
Definition: debug_info_generated.h:25