TT-MLIR
program_generated.h
Go to the documentation of this file.
1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_PROGRAM_TT_TARGET_METAL_H_
5 #define FLATBUFFERS_GENERATED_PROGRAM_TT_TARGET_METAL_H_
6 
7 #include "flatbuffers/flatbuffers.h"
8 
9 // Ensure the included flatbuffers.h is the same version as when this file was
10 // generated, otherwise it may not be compatible.
11 static_assert(FLATBUFFERS_VERSION_MAJOR == 24 &&
12  FLATBUFFERS_VERSION_MINOR == 3 &&
13  FLATBUFFERS_VERSION_REVISION == 25,
14  "Non-compatible flatbuffers version included");
15 
18 
19 namespace tt {
20 namespace target {
21 namespace metal {
22 
23 struct NocConfig;
24 struct NocConfigBuilder;
25 
26 struct ComputeConfig;
27 struct ComputeConfigBuilder;
28 
29 struct EthernetConfig;
30 struct EthernetConfigBuilder;
31 
32 struct KernelSource;
33 struct KernelSourceBuilder;
34 
35 struct KernelBinary;
36 struct KernelBinaryBuilder;
37 
38 struct KernelArgCBPort;
39 struct KernelArgCBPortBuilder;
40 
42 struct KernelArgBufferAddressBuilder;
43 
44 struct KernelArgSemaphore;
45 struct KernelArgSemaphoreBuilder;
46 
47 struct KernelArg;
48 struct KernelArgBuilder;
49 
50 struct KernelArgs;
51 struct KernelArgsBuilder;
52 
53 struct KernelConfig;
54 struct KernelConfigBuilder;
55 
56 struct ProgramDesc;
57 struct ProgramDescBuilder;
58 
59 enum class NocIndex : uint16_t {
60  Noc0 = 0,
61  Noc1 = 1,
62  MIN = Noc0,
63  MAX = Noc1
64 };
65 
66 inline const NocIndex (&EnumValuesNocIndex())[2] {
67  static const NocIndex values[] = {
70  };
71  return values;
72 }
73 
74 inline const char * const *EnumNamesNocIndex() {
75  static const char * const names[3] = {
76  "Noc0",
77  "Noc1",
78  nullptr
79  };
80  return names;
81 }
82 
83 inline const char *EnumNameNocIndex(NocIndex e) {
84  if (::flatbuffers::IsOutRange(e, NocIndex::Noc0, NocIndex::Noc1)) return "";
85  const size_t index = static_cast<size_t>(e);
86  return EnumNamesNocIndex()[index];
87 }
88 
89 enum class EthType : uint16_t {
90  Sender = 0,
91  Receiver = 1,
92  MIN = Sender,
93  MAX = Receiver
94 };
95 
96 inline const EthType (&EnumValuesEthType())[2] {
97  static const EthType values[] = {
100  };
101  return values;
102 }
103 
104 inline const char * const *EnumNamesEthType() {
105  static const char * const names[3] = {
106  "Sender",
107  "Receiver",
108  nullptr
109  };
110  return names;
111 }
112 
113 inline const char *EnumNameEthType(EthType e) {
114  if (::flatbuffers::IsOutRange(e, EthType::Sender, EthType::Receiver)) return "";
115  const size_t index = static_cast<size_t>(e);
116  return EnumNamesEthType()[index];
117 }
118 
119 enum class UnpackToDestMode : uint8_t {
120  Fp32 = 0,
121  Default = 1,
122  MIN = Fp32,
123  MAX = Default
124 };
125 
127  static const UnpackToDestMode values[] = {
130  };
131  return values;
132 }
133 
134 inline const char * const *EnumNamesUnpackToDestMode() {
135  static const char * const names[3] = {
136  "Fp32",
137  "Default",
138  nullptr
139  };
140  return names;
141 }
142 
144  if (::flatbuffers::IsOutRange(e, UnpackToDestMode::Fp32, UnpackToDestMode::Default)) return "";
145  const size_t index = static_cast<size_t>(e);
146  return EnumNamesUnpackToDestMode()[index];
147 }
148 
149 enum class KernelConfigType : uint8_t {
150  NONE = 0,
151  NocConfig = 1,
152  ComputeConfig = 2,
153  EthernetConfig = 3,
154  MIN = NONE,
156 };
157 
159  static const KernelConfigType values[] = {
164  };
165  return values;
166 }
167 
168 inline const char * const *EnumNamesKernelConfigType() {
169  static const char * const names[5] = {
170  "NONE",
171  "NocConfig",
172  "ComputeConfig",
173  "EthernetConfig",
174  nullptr
175  };
176  return names;
177 }
178 
180  if (::flatbuffers::IsOutRange(e, KernelConfigType::NONE, KernelConfigType::EthernetConfig)) return "";
181  const size_t index = static_cast<size_t>(e);
182  return EnumNamesKernelConfigType()[index];
183 }
184 
185 template<typename T> struct KernelConfigTypeTraits {
187 };
188 
189 template<> struct KernelConfigTypeTraits<tt::target::metal::NocConfig> {
191 };
192 
193 template<> struct KernelConfigTypeTraits<tt::target::metal::ComputeConfig> {
195 };
196 
197 template<> struct KernelConfigTypeTraits<tt::target::metal::EthernetConfig> {
199 };
200 
201 bool VerifyKernelConfigType(::flatbuffers::Verifier &verifier, const void *obj, KernelConfigType type);
202 bool VerifyKernelConfigTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelConfigType> *types);
203 
204 enum class BinaryType : uint16_t {
205  BRISC = 0,
206  NCRISC = 1,
207  TRISC0 = 2,
208  TRISC1 = 3,
209  TRISC2 = 4,
210  ERISC = 5,
211  MIN = BRISC,
212  MAX = ERISC
213 };
214 
215 inline const BinaryType (&EnumValuesBinaryType())[6] {
216  static const BinaryType values[] = {
223  };
224  return values;
225 }
226 
227 inline const char * const *EnumNamesBinaryType() {
228  static const char * const names[7] = {
229  "BRISC",
230  "NCRISC",
231  "TRISC0",
232  "TRISC1",
233  "TRISC2",
234  "ERISC",
235  nullptr
236  };
237  return names;
238 }
239 
240 inline const char *EnumNameBinaryType(BinaryType e) {
241  if (::flatbuffers::IsOutRange(e, BinaryType::BRISC, BinaryType::ERISC)) return "";
242  const size_t index = static_cast<size_t>(e);
243  return EnumNamesBinaryType()[index];
244 }
245 
246 enum class CoreType : uint16_t {
247  WORKER = 0,
248  ETH = 1,
249  MIN = WORKER,
250  MAX = ETH
251 };
252 
253 inline const CoreType (&EnumValuesCoreType())[2] {
254  static const CoreType values[] = {
257  };
258  return values;
259 }
260 
261 inline const char * const *EnumNamesCoreType() {
262  static const char * const names[3] = {
263  "WORKER",
264  "ETH",
265  nullptr
266  };
267  return names;
268 }
269 
270 inline const char *EnumNameCoreType(CoreType e) {
271  if (::flatbuffers::IsOutRange(e, CoreType::WORKER, CoreType::ETH)) return "";
272  const size_t index = static_cast<size_t>(e);
273  return EnumNamesCoreType()[index];
274 }
275 
276 enum class Kernel : uint8_t {
277  NONE = 0,
278  KernelSource = 1,
279  KernelBinary = 2,
280  MIN = NONE,
281  MAX = KernelBinary
282 };
283 
284 inline const Kernel (&EnumValuesKernel())[3] {
285  static const Kernel values[] = {
286  Kernel::NONE,
289  };
290  return values;
291 }
292 
293 inline const char * const *EnumNamesKernel() {
294  static const char * const names[4] = {
295  "NONE",
296  "KernelSource",
297  "KernelBinary",
298  nullptr
299  };
300  return names;
301 }
302 
303 inline const char *EnumNameKernel(Kernel e) {
304  if (::flatbuffers::IsOutRange(e, Kernel::NONE, Kernel::KernelBinary)) return "";
305  const size_t index = static_cast<size_t>(e);
306  return EnumNamesKernel()[index];
307 }
308 
309 template<typename T> struct KernelTraits {
311 };
312 
313 template<> struct KernelTraits<tt::target::metal::KernelSource> {
315 };
316 
317 template<> struct KernelTraits<tt::target::metal::KernelBinary> {
319 };
320 
321 bool VerifyKernel(::flatbuffers::Verifier &verifier, const void *obj, Kernel type);
322 bool VerifyKernelVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<Kernel> *types);
323 
324 enum class KernelArgType : uint8_t {
325  NONE = 0,
326  KernelArgCBPort = 1,
328  KernelArgSemaphore = 3,
329  MIN = NONE,
331 };
332 
334  static const KernelArgType values[] = {
339  };
340  return values;
341 }
342 
343 inline const char * const *EnumNamesKernelArgType() {
344  static const char * const names[5] = {
345  "NONE",
346  "KernelArgCBPort",
347  "KernelArgBufferAddress",
348  "KernelArgSemaphore",
349  nullptr
350  };
351  return names;
352 }
353 
354 inline const char *EnumNameKernelArgType(KernelArgType e) {
355  if (::flatbuffers::IsOutRange(e, KernelArgType::NONE, KernelArgType::KernelArgSemaphore)) return "";
356  const size_t index = static_cast<size_t>(e);
357  return EnumNamesKernelArgType()[index];
358 }
359 
360 template<typename T> struct KernelArgTypeTraits {
362 };
363 
364 template<> struct KernelArgTypeTraits<tt::target::metal::KernelArgCBPort> {
366 };
367 
368 template<> struct KernelArgTypeTraits<tt::target::metal::KernelArgBufferAddress> {
370 };
371 
372 template<> struct KernelArgTypeTraits<tt::target::metal::KernelArgSemaphore> {
374 };
375 
376 bool VerifyKernelArgType(::flatbuffers::Verifier &verifier, const void *obj, KernelArgType type);
377 bool VerifyKernelArgTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<KernelArgType> *types);
378 
379 struct NocConfig FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
381  struct Traits;
382  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
383  return "tt.target.metal.NocConfig";
384  }
385  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
386  VT_NOC_INDEX = 4
387  };
389  return static_cast<tt::target::metal::NocIndex>(GetField<uint16_t>(VT_NOC_INDEX, 0));
390  }
391  bool Verify(::flatbuffers::Verifier &verifier) const {
392  return VerifyTableStart(verifier) &&
393  VerifyField<uint16_t>(verifier, VT_NOC_INDEX, 2) &&
394  verifier.EndTable();
395  }
396 };
397 
399  typedef NocConfig Table;
400  ::flatbuffers::FlatBufferBuilder &fbb_;
401  ::flatbuffers::uoffset_t start_;
403  fbb_.AddElement<uint16_t>(NocConfig::VT_NOC_INDEX, static_cast<uint16_t>(noc_index), 0);
404  }
405  explicit NocConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
406  : fbb_(_fbb) {
407  start_ = fbb_.StartTable();
408  }
409  ::flatbuffers::Offset<NocConfig> Finish() {
410  const auto end = fbb_.EndTable(start_);
411  auto o = ::flatbuffers::Offset<NocConfig>(end);
412  return o;
413  }
414 };
415 
416 inline ::flatbuffers::Offset<NocConfig> CreateNocConfig(
417  ::flatbuffers::FlatBufferBuilder &_fbb,
419  NocConfigBuilder builder_(_fbb);
420  builder_.add_noc_index(noc_index);
421  return builder_.Finish();
422 }
423 
425  using type = NocConfig;
426  static auto constexpr Create = CreateNocConfig;
427 };
428 
429 struct ComputeConfig FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
431  struct Traits;
432  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
433  return "tt.target.metal.ComputeConfig";
434  }
435  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
439  VT_UNPACK_TO_DEST_MODE = 10
440  };
442  return static_cast<tt::target::MathFidelity>(GetField<uint8_t>(VT_MATH_FIDELITY, 0));
443  }
444  bool fp32_dest_acc_en() const {
445  return GetField<uint8_t>(VT_FP32_DEST_ACC_EN, 0) != 0;
446  }
447  bool math_approx_mode() const {
448  return GetField<uint8_t>(VT_MATH_APPROX_MODE, 0) != 0;
449  }
450  const ::flatbuffers::Vector<tt::target::metal::UnpackToDestMode> *unpack_to_dest_mode() const {
451  return GetPointer<const ::flatbuffers::Vector<tt::target::metal::UnpackToDestMode> *>(VT_UNPACK_TO_DEST_MODE);
452  }
453  bool Verify(::flatbuffers::Verifier &verifier) const {
454  return VerifyTableStart(verifier) &&
455  VerifyField<uint8_t>(verifier, VT_MATH_FIDELITY, 1) &&
456  VerifyField<uint8_t>(verifier, VT_FP32_DEST_ACC_EN, 1) &&
457  VerifyField<uint8_t>(verifier, VT_MATH_APPROX_MODE, 1) &&
458  VerifyOffset(verifier, VT_UNPACK_TO_DEST_MODE) &&
459  verifier.VerifyVector(unpack_to_dest_mode()) &&
460  verifier.EndTable();
461  }
462 };
463 
466  ::flatbuffers::FlatBufferBuilder &fbb_;
467  ::flatbuffers::uoffset_t start_;
469  fbb_.AddElement<uint8_t>(ComputeConfig::VT_MATH_FIDELITY, static_cast<uint8_t>(math_fidelity), 0);
470  }
471  void add_fp32_dest_acc_en(bool fp32_dest_acc_en) {
472  fbb_.AddElement<uint8_t>(ComputeConfig::VT_FP32_DEST_ACC_EN, static_cast<uint8_t>(fp32_dest_acc_en), 0);
473  }
474  void add_math_approx_mode(bool math_approx_mode) {
475  fbb_.AddElement<uint8_t>(ComputeConfig::VT_MATH_APPROX_MODE, static_cast<uint8_t>(math_approx_mode), 0);
476  }
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);
479  }
480  explicit ComputeConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
481  : fbb_(_fbb) {
482  start_ = fbb_.StartTable();
483  }
484  ::flatbuffers::Offset<ComputeConfig> Finish() {
485  const auto end = fbb_.EndTable(start_);
486  auto o = ::flatbuffers::Offset<ComputeConfig>(end);
487  return o;
488  }
489 };
490 
491 inline ::flatbuffers::Offset<ComputeConfig> CreateComputeConfig(
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) {
497  ComputeConfigBuilder builder_(_fbb);
498  builder_.add_unpack_to_dest_mode(unpack_to_dest_mode);
499  builder_.add_math_approx_mode(math_approx_mode);
500  builder_.add_fp32_dest_acc_en(fp32_dest_acc_en);
501  builder_.add_math_fidelity(math_fidelity);
502  return builder_.Finish();
503 }
504 
507  static auto constexpr Create = CreateComputeConfig;
508 };
509 
510 inline ::flatbuffers::Offset<ComputeConfig> CreateComputeConfigDirect(
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) {
516  auto unpack_to_dest_mode__ = unpack_to_dest_mode ? _fbb.CreateVector<tt::target::metal::UnpackToDestMode>(*unpack_to_dest_mode) : 0;
518  _fbb,
519  math_fidelity,
520  fp32_dest_acc_en,
521  math_approx_mode,
522  unpack_to_dest_mode__);
523 }
524 
525 struct EthernetConfig FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
527  struct Traits;
528  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
529  return "tt.target.metal.EthernetConfig";
530  }
531  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
533  VT_NOC_INDEX = 6
534  };
536  return static_cast<tt::target::metal::EthType>(GetField<uint16_t>(VT_ETH_TYPE, 0));
537  }
539  return static_cast<tt::target::metal::NocIndex>(GetField<uint16_t>(VT_NOC_INDEX, 0));
540  }
541  bool Verify(::flatbuffers::Verifier &verifier) const {
542  return VerifyTableStart(verifier) &&
543  VerifyField<uint16_t>(verifier, VT_ETH_TYPE, 2) &&
544  VerifyField<uint16_t>(verifier, VT_NOC_INDEX, 2) &&
545  verifier.EndTable();
546  }
547 };
548 
551  ::flatbuffers::FlatBufferBuilder &fbb_;
552  ::flatbuffers::uoffset_t start_;
554  fbb_.AddElement<uint16_t>(EthernetConfig::VT_ETH_TYPE, static_cast<uint16_t>(eth_type), 0);
555  }
557  fbb_.AddElement<uint16_t>(EthernetConfig::VT_NOC_INDEX, static_cast<uint16_t>(noc_index), 0);
558  }
559  explicit EthernetConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
560  : fbb_(_fbb) {
561  start_ = fbb_.StartTable();
562  }
563  ::flatbuffers::Offset<EthernetConfig> Finish() {
564  const auto end = fbb_.EndTable(start_);
565  auto o = ::flatbuffers::Offset<EthernetConfig>(end);
566  return o;
567  }
568 };
569 
570 inline ::flatbuffers::Offset<EthernetConfig> CreateEthernetConfig(
571  ::flatbuffers::FlatBufferBuilder &_fbb,
574  EthernetConfigBuilder builder_(_fbb);
575  builder_.add_noc_index(noc_index);
576  builder_.add_eth_type(eth_type);
577  return builder_.Finish();
578 }
579 
582  static auto constexpr Create = CreateEthernetConfig;
583 };
584 
585 struct KernelSource FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
587  struct Traits;
588  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
589  return "tt.target.metal.KernelSource";
590  }
591  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
592  VT_SOURCE = 4
593  };
594  const ::flatbuffers::String *source() const {
595  return GetPointer<const ::flatbuffers::String *>(VT_SOURCE);
596  }
597  bool Verify(::flatbuffers::Verifier &verifier) const {
598  return VerifyTableStart(verifier) &&
599  VerifyOffset(verifier, VT_SOURCE) &&
600  verifier.VerifyString(source()) &&
601  verifier.EndTable();
602  }
603 };
604 
607  ::flatbuffers::FlatBufferBuilder &fbb_;
608  ::flatbuffers::uoffset_t start_;
609  void add_source(::flatbuffers::Offset<::flatbuffers::String> source) {
610  fbb_.AddOffset(KernelSource::VT_SOURCE, source);
611  }
612  explicit KernelSourceBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
613  : fbb_(_fbb) {
614  start_ = fbb_.StartTable();
615  }
616  ::flatbuffers::Offset<KernelSource> Finish() {
617  const auto end = fbb_.EndTable(start_);
618  auto o = ::flatbuffers::Offset<KernelSource>(end);
619  return o;
620  }
621 };
622 
623 inline ::flatbuffers::Offset<KernelSource> CreateKernelSource(
624  ::flatbuffers::FlatBufferBuilder &_fbb,
625  ::flatbuffers::Offset<::flatbuffers::String> source = 0) {
626  KernelSourceBuilder builder_(_fbb);
627  builder_.add_source(source);
628  return builder_.Finish();
629 }
630 
633  static auto constexpr Create = CreateKernelSource;
634 };
635 
636 inline ::flatbuffers::Offset<KernelSource> CreateKernelSourceDirect(
637  ::flatbuffers::FlatBufferBuilder &_fbb,
638  const char *source = nullptr) {
639  auto source__ = source ? _fbb.CreateString(source) : 0;
641  _fbb,
642  source__);
643 }
644 
645 struct KernelBinary FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
647  struct Traits;
648  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
649  return "tt.target.metal.KernelBinary";
650  }
651  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
653  VT_DATA = 6,
654  VT_DEBUG_SOURCE = 8
655  };
657  return static_cast<tt::target::metal::BinaryType>(GetField<uint16_t>(VT_CORE_TYPE, 0));
658  }
659  const ::flatbuffers::Vector<uint8_t> *data() const {
660  return GetPointer<const ::flatbuffers::Vector<uint8_t> *>(VT_DATA);
661  }
662  const ::flatbuffers::String *debug_source() const {
663  return GetPointer<const ::flatbuffers::String *>(VT_DEBUG_SOURCE);
664  }
665  bool Verify(::flatbuffers::Verifier &verifier) const {
666  return VerifyTableStart(verifier) &&
667  VerifyField<uint16_t>(verifier, VT_CORE_TYPE, 2) &&
668  VerifyOffset(verifier, VT_DATA) &&
669  verifier.VerifyVector(data()) &&
670  VerifyOffset(verifier, VT_DEBUG_SOURCE) &&
671  verifier.VerifyString(debug_source()) &&
672  verifier.EndTable();
673  }
674 };
675 
678  ::flatbuffers::FlatBufferBuilder &fbb_;
679  ::flatbuffers::uoffset_t start_;
681  fbb_.AddElement<uint16_t>(KernelBinary::VT_CORE_TYPE, static_cast<uint16_t>(core_type), 0);
682  }
683  void add_data(::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data) {
684  fbb_.AddOffset(KernelBinary::VT_DATA, data);
685  }
686  void add_debug_source(::flatbuffers::Offset<::flatbuffers::String> debug_source) {
687  fbb_.AddOffset(KernelBinary::VT_DEBUG_SOURCE, debug_source);
688  }
689  explicit KernelBinaryBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
690  : fbb_(_fbb) {
691  start_ = fbb_.StartTable();
692  }
693  ::flatbuffers::Offset<KernelBinary> Finish() {
694  const auto end = fbb_.EndTable(start_);
695  auto o = ::flatbuffers::Offset<KernelBinary>(end);
696  return o;
697  }
698 };
699 
700 inline ::flatbuffers::Offset<KernelBinary> CreateKernelBinary(
701  ::flatbuffers::FlatBufferBuilder &_fbb,
703  ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0,
704  ::flatbuffers::Offset<::flatbuffers::String> debug_source = 0) {
705  KernelBinaryBuilder builder_(_fbb);
706  builder_.add_debug_source(debug_source);
707  builder_.add_data(data);
708  builder_.add_core_type(core_type);
709  return builder_.Finish();
710 }
711 
714  static auto constexpr Create = CreateKernelBinary;
715 };
716 
717 inline ::flatbuffers::Offset<KernelBinary> CreateKernelBinaryDirect(
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;
725  _fbb,
726  core_type,
727  data__,
728  debug_source__);
729 }
730 
731 struct KernelArgCBPort FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
733  struct Traits;
734  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
735  return "tt.target.metal.KernelArgCBPort";
736  }
737  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
738  VT_OPERAND_IDX = 4
739  };
740  uint32_t operand_idx() const {
741  return GetField<uint32_t>(VT_OPERAND_IDX, 0);
742  }
743  bool Verify(::flatbuffers::Verifier &verifier) const {
744  return VerifyTableStart(verifier) &&
745  VerifyField<uint32_t>(verifier, VT_OPERAND_IDX, 4) &&
746  verifier.EndTable();
747  }
748 };
749 
752  ::flatbuffers::FlatBufferBuilder &fbb_;
753  ::flatbuffers::uoffset_t start_;
754  void add_operand_idx(uint32_t operand_idx) {
755  fbb_.AddElement<uint32_t>(KernelArgCBPort::VT_OPERAND_IDX, operand_idx, 0);
756  }
757  explicit KernelArgCBPortBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
758  : fbb_(_fbb) {
759  start_ = fbb_.StartTable();
760  }
761  ::flatbuffers::Offset<KernelArgCBPort> Finish() {
762  const auto end = fbb_.EndTable(start_);
763  auto o = ::flatbuffers::Offset<KernelArgCBPort>(end);
764  return o;
765  }
766 };
767 
768 inline ::flatbuffers::Offset<KernelArgCBPort> CreateKernelArgCBPort(
769  ::flatbuffers::FlatBufferBuilder &_fbb,
770  uint32_t operand_idx = 0) {
771  KernelArgCBPortBuilder builder_(_fbb);
772  builder_.add_operand_idx(operand_idx);
773  return builder_.Finish();
774 }
775 
778  static auto constexpr Create = CreateKernelArgCBPort;
779 };
780 
781 struct KernelArgBufferAddress FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
783  struct Traits;
784  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
785  return "tt.target.metal.KernelArgBufferAddress";
786  }
787  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
788  VT_OPERAND_IDX = 4
789  };
790  uint32_t operand_idx() const {
791  return GetField<uint32_t>(VT_OPERAND_IDX, 0);
792  }
793  bool Verify(::flatbuffers::Verifier &verifier) const {
794  return VerifyTableStart(verifier) &&
795  VerifyField<uint32_t>(verifier, VT_OPERAND_IDX, 4) &&
796  verifier.EndTable();
797  }
798 };
799 
802  ::flatbuffers::FlatBufferBuilder &fbb_;
803  ::flatbuffers::uoffset_t start_;
804  void add_operand_idx(uint32_t operand_idx) {
805  fbb_.AddElement<uint32_t>(KernelArgBufferAddress::VT_OPERAND_IDX, operand_idx, 0);
806  }
807  explicit KernelArgBufferAddressBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
808  : fbb_(_fbb) {
809  start_ = fbb_.StartTable();
810  }
811  ::flatbuffers::Offset<KernelArgBufferAddress> Finish() {
812  const auto end = fbb_.EndTable(start_);
813  auto o = ::flatbuffers::Offset<KernelArgBufferAddress>(end);
814  return o;
815  }
816 };
817 
818 inline ::flatbuffers::Offset<KernelArgBufferAddress> CreateKernelArgBufferAddress(
819  ::flatbuffers::FlatBufferBuilder &_fbb,
820  uint32_t operand_idx = 0) {
821  KernelArgBufferAddressBuilder builder_(_fbb);
822  builder_.add_operand_idx(operand_idx);
823  return builder_.Finish();
824 }
825 
828  static auto constexpr Create = CreateKernelArgBufferAddress;
829 };
830 
831 struct KernelArgSemaphore FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
833  struct Traits;
834  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
835  return "tt.target.metal.KernelArgSemaphore";
836  }
837  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
839  VT_CORE_TYPE = 6
840  };
841  uint32_t initial_value() const {
842  return GetField<uint32_t>(VT_INITIAL_VALUE, 0);
843  }
845  return static_cast<tt::target::metal::CoreType>(GetField<uint16_t>(VT_CORE_TYPE, 0));
846  }
847  bool Verify(::flatbuffers::Verifier &verifier) const {
848  return VerifyTableStart(verifier) &&
849  VerifyField<uint32_t>(verifier, VT_INITIAL_VALUE, 4) &&
850  VerifyField<uint16_t>(verifier, VT_CORE_TYPE, 2) &&
851  verifier.EndTable();
852  }
853 };
854 
857  ::flatbuffers::FlatBufferBuilder &fbb_;
858  ::flatbuffers::uoffset_t start_;
859  void add_initial_value(uint32_t initial_value) {
860  fbb_.AddElement<uint32_t>(KernelArgSemaphore::VT_INITIAL_VALUE, initial_value, 0);
861  }
863  fbb_.AddElement<uint16_t>(KernelArgSemaphore::VT_CORE_TYPE, static_cast<uint16_t>(core_type), 0);
864  }
865  explicit KernelArgSemaphoreBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
866  : fbb_(_fbb) {
867  start_ = fbb_.StartTable();
868  }
869  ::flatbuffers::Offset<KernelArgSemaphore> Finish() {
870  const auto end = fbb_.EndTable(start_);
871  auto o = ::flatbuffers::Offset<KernelArgSemaphore>(end);
872  return o;
873  }
874 };
875 
876 inline ::flatbuffers::Offset<KernelArgSemaphore> CreateKernelArgSemaphore(
877  ::flatbuffers::FlatBufferBuilder &_fbb,
878  uint32_t initial_value = 0,
880  KernelArgSemaphoreBuilder builder_(_fbb);
881  builder_.add_initial_value(initial_value);
882  builder_.add_core_type(core_type);
883  return builder_.Finish();
884 }
885 
888  static auto constexpr Create = CreateKernelArgSemaphore;
889 };
890 
891 struct KernelArg FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
893  struct Traits;
894  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
895  return "tt.target.metal.KernelArg";
896  }
897  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
899  VT_ARG = 6
900  };
902  return static_cast<tt::target::metal::KernelArgType>(GetField<uint8_t>(VT_ARG_TYPE, 0));
903  }
904  const void *arg() const {
905  return GetPointer<const void *>(VT_ARG);
906  }
907  template<typename T> const T *arg_as() const;
908  const tt::target::metal::KernelArgCBPort *arg_as_KernelArgCBPort() const {
909  return arg_type() == tt::target::metal::KernelArgType::KernelArgCBPort ? static_cast<const tt::target::metal::KernelArgCBPort *>(arg()) : nullptr;
910  }
911  const tt::target::metal::KernelArgBufferAddress *arg_as_KernelArgBufferAddress() const {
912  return arg_type() == tt::target::metal::KernelArgType::KernelArgBufferAddress ? static_cast<const tt::target::metal::KernelArgBufferAddress *>(arg()) : nullptr;
913  }
914  const tt::target::metal::KernelArgSemaphore *arg_as_KernelArgSemaphore() const {
915  return arg_type() == tt::target::metal::KernelArgType::KernelArgSemaphore ? static_cast<const tt::target::metal::KernelArgSemaphore *>(arg()) : nullptr;
916  }
917  bool Verify(::flatbuffers::Verifier &verifier) const {
918  return VerifyTableStart(verifier) &&
919  VerifyField<uint8_t>(verifier, VT_ARG_TYPE, 1) &&
920  VerifyOffset(verifier, VT_ARG) &&
921  VerifyKernelArgType(verifier, arg(), arg_type()) &&
922  verifier.EndTable();
923  }
924 };
925 
926 template<> inline const tt::target::metal::KernelArgCBPort *KernelArg::arg_as<tt::target::metal::KernelArgCBPort>() const {
927  return arg_as_KernelArgCBPort();
928 }
929 
930 template<> inline const tt::target::metal::KernelArgBufferAddress *KernelArg::arg_as<tt::target::metal::KernelArgBufferAddress>() const {
931  return arg_as_KernelArgBufferAddress();
932 }
933 
934 template<> inline const tt::target::metal::KernelArgSemaphore *KernelArg::arg_as<tt::target::metal::KernelArgSemaphore>() const {
935  return arg_as_KernelArgSemaphore();
936 }
937 
939  typedef KernelArg Table;
940  ::flatbuffers::FlatBufferBuilder &fbb_;
941  ::flatbuffers::uoffset_t start_;
943  fbb_.AddElement<uint8_t>(KernelArg::VT_ARG_TYPE, static_cast<uint8_t>(arg_type), 0);
944  }
945  void add_arg(::flatbuffers::Offset<void> arg) {
946  fbb_.AddOffset(KernelArg::VT_ARG, arg);
947  }
948  explicit KernelArgBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
949  : fbb_(_fbb) {
950  start_ = fbb_.StartTable();
951  }
952  ::flatbuffers::Offset<KernelArg> Finish() {
953  const auto end = fbb_.EndTable(start_);
954  auto o = ::flatbuffers::Offset<KernelArg>(end);
955  return o;
956  }
957 };
958 
959 inline ::flatbuffers::Offset<KernelArg> CreateKernelArg(
960  ::flatbuffers::FlatBufferBuilder &_fbb,
962  ::flatbuffers::Offset<void> arg = 0) {
963  KernelArgBuilder builder_(_fbb);
964  builder_.add_arg(arg);
965  builder_.add_arg_type(arg_type);
966  return builder_.Finish();
967 }
968 
970  using type = KernelArg;
971  static auto constexpr Create = CreateKernelArg;
972 };
973 
974 struct KernelArgs FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
976  struct Traits;
977  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
978  return "tt.target.metal.KernelArgs";
979  }
980  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
982  VT_CT_ARGS = 6
983  };
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);
986  }
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);
989  }
990  bool Verify(::flatbuffers::Verifier &verifier) const {
991  return VerifyTableStart(verifier) &&
992  VerifyOffset(verifier, VT_RT_ARGS) &&
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()) &&
998  verifier.EndTable();
999  }
1000 };
1001 
1003  typedef KernelArgs Table;
1004  ::flatbuffers::FlatBufferBuilder &fbb_;
1005  ::flatbuffers::uoffset_t start_;
1006  void add_rt_args(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelArg>>> rt_args) {
1007  fbb_.AddOffset(KernelArgs::VT_RT_ARGS, rt_args);
1008  }
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);
1011  }
1012  explicit KernelArgsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1013  : fbb_(_fbb) {
1014  start_ = fbb_.StartTable();
1015  }
1016  ::flatbuffers::Offset<KernelArgs> Finish() {
1017  const auto end = fbb_.EndTable(start_);
1018  auto o = ::flatbuffers::Offset<KernelArgs>(end);
1019  return o;
1020  }
1021 };
1022 
1023 inline ::flatbuffers::Offset<KernelArgs> CreateKernelArgs(
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) {
1027  KernelArgsBuilder builder_(_fbb);
1028  builder_.add_ct_args(ct_args);
1029  builder_.add_rt_args(rt_args);
1030  return builder_.Finish();
1031 }
1032 
1034  using type = KernelArgs;
1035  static auto constexpr Create = CreateKernelArgs;
1036 };
1037 
1038 inline ::flatbuffers::Offset<KernelArgs> CreateKernelArgsDirect(
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;
1045  _fbb,
1046  rt_args__,
1047  ct_args__);
1048 }
1049 
1050 struct KernelConfig FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1052  struct Traits;
1053  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
1054  return "tt.target.metal.KernelConfig";
1055  }
1056  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1060  VT_ARGS = 10,
1062  VT_TYPE = 14,
1063  VT_DEBUG_INFO = 16
1064  };
1066  return static_cast<tt::target::metal::Kernel>(GetField<uint8_t>(VT_KERNEL_TYPE, 0));
1067  }
1068  const void *kernel() const {
1069  return GetPointer<const void *>(VT_KERNEL);
1070  }
1071  template<typename T> const T *kernel_as() const;
1072  const tt::target::metal::KernelSource *kernel_as_KernelSource() const {
1073  return kernel_type() == tt::target::metal::Kernel::KernelSource ? static_cast<const tt::target::metal::KernelSource *>(kernel()) : nullptr;
1074  }
1075  const tt::target::metal::KernelBinary *kernel_as_KernelBinary() const {
1076  return kernel_type() == tt::target::metal::Kernel::KernelBinary ? static_cast<const tt::target::metal::KernelBinary *>(kernel()) : nullptr;
1077  }
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);
1080  }
1081  const tt::target::metal::KernelArgs *args() const {
1082  return GetPointer<const tt::target::metal::KernelArgs *>(VT_ARGS);
1083  }
1085  return static_cast<tt::target::metal::KernelConfigType>(GetField<uint8_t>(VT_TYPE_TYPE, 0));
1086  }
1087  const void *type() const {
1088  return GetPointer<const void *>(VT_TYPE);
1089  }
1090  template<typename T> const T *type_as() const;
1091  const tt::target::metal::NocConfig *type_as_NocConfig() const {
1092  return type_type() == tt::target::metal::KernelConfigType::NocConfig ? static_cast<const tt::target::metal::NocConfig *>(type()) : nullptr;
1093  }
1094  const tt::target::metal::ComputeConfig *type_as_ComputeConfig() const {
1095  return type_type() == tt::target::metal::KernelConfigType::ComputeConfig ? static_cast<const tt::target::metal::ComputeConfig *>(type()) : nullptr;
1096  }
1097  const tt::target::metal::EthernetConfig *type_as_EthernetConfig() const {
1098  return type_type() == tt::target::metal::KernelConfigType::EthernetConfig ? static_cast<const tt::target::metal::EthernetConfig *>(type()) : nullptr;
1099  }
1100  const ::flatbuffers::String *debug_info() const {
1101  return GetPointer<const ::flatbuffers::String *>(VT_DEBUG_INFO);
1102  }
1103  bool Verify(::flatbuffers::Verifier &verifier) const {
1104  return VerifyTableStart(verifier) &&
1105  VerifyField<uint8_t>(verifier, VT_KERNEL_TYPE, 1) &&
1106  VerifyOffset(verifier, VT_KERNEL) &&
1107  VerifyKernel(verifier, kernel(), kernel_type()) &&
1108  VerifyOffset(verifier, VT_CORE_RANGE_SET) &&
1109  verifier.VerifyVector(core_range_set()) &&
1110  VerifyOffset(verifier, VT_ARGS) &&
1111  verifier.VerifyTable(args()) &&
1112  VerifyField<uint8_t>(verifier, VT_TYPE_TYPE, 1) &&
1113  VerifyOffset(verifier, VT_TYPE) &&
1114  VerifyKernelConfigType(verifier, type(), type_type()) &&
1115  VerifyOffset(verifier, VT_DEBUG_INFO) &&
1116  verifier.VerifyString(debug_info()) &&
1117  verifier.EndTable();
1118  }
1119 };
1120 
1121 template<> inline const tt::target::metal::KernelSource *KernelConfig::kernel_as<tt::target::metal::KernelSource>() const {
1122  return kernel_as_KernelSource();
1123 }
1124 
1125 template<> inline const tt::target::metal::KernelBinary *KernelConfig::kernel_as<tt::target::metal::KernelBinary>() const {
1126  return kernel_as_KernelBinary();
1127 }
1128 
1129 template<> inline const tt::target::metal::NocConfig *KernelConfig::type_as<tt::target::metal::NocConfig>() const {
1130  return type_as_NocConfig();
1131 }
1132 
1133 template<> inline const tt::target::metal::ComputeConfig *KernelConfig::type_as<tt::target::metal::ComputeConfig>() const {
1134  return type_as_ComputeConfig();
1135 }
1136 
1137 template<> inline const tt::target::metal::EthernetConfig *KernelConfig::type_as<tt::target::metal::EthernetConfig>() const {
1138  return type_as_EthernetConfig();
1139 }
1140 
1142  typedef KernelConfig Table;
1143  ::flatbuffers::FlatBufferBuilder &fbb_;
1144  ::flatbuffers::uoffset_t start_;
1146  fbb_.AddElement<uint8_t>(KernelConfig::VT_KERNEL_TYPE, static_cast<uint8_t>(kernel_type), 0);
1147  }
1148  void add_kernel(::flatbuffers::Offset<void> kernel) {
1149  fbb_.AddOffset(KernelConfig::VT_KERNEL, kernel);
1150  }
1151  void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set) {
1152  fbb_.AddOffset(KernelConfig::VT_CORE_RANGE_SET, core_range_set);
1153  }
1154  void add_args(::flatbuffers::Offset<tt::target::metal::KernelArgs> args) {
1155  fbb_.AddOffset(KernelConfig::VT_ARGS, args);
1156  }
1158  fbb_.AddElement<uint8_t>(KernelConfig::VT_TYPE_TYPE, static_cast<uint8_t>(type_type), 0);
1159  }
1160  void add_type(::flatbuffers::Offset<void> type) {
1161  fbb_.AddOffset(KernelConfig::VT_TYPE, type);
1162  }
1163  void add_debug_info(::flatbuffers::Offset<::flatbuffers::String> debug_info) {
1164  fbb_.AddOffset(KernelConfig::VT_DEBUG_INFO, debug_info);
1165  }
1166  explicit KernelConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1167  : fbb_(_fbb) {
1168  start_ = fbb_.StartTable();
1169  }
1170  ::flatbuffers::Offset<KernelConfig> Finish() {
1171  const auto end = fbb_.EndTable(start_);
1172  auto o = ::flatbuffers::Offset<KernelConfig>(end);
1173  return o;
1174  }
1175 };
1176 
1177 inline ::flatbuffers::Offset<KernelConfig> CreateKernelConfig(
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) {
1186  KernelConfigBuilder builder_(_fbb);
1187  builder_.add_debug_info(debug_info);
1188  builder_.add_type(type);
1189  builder_.add_args(args);
1190  builder_.add_core_range_set(core_range_set);
1191  builder_.add_kernel(kernel);
1192  builder_.add_type_type(type_type);
1193  builder_.add_kernel_type(kernel_type);
1194  return builder_.Finish();
1195 }
1196 
1198  using type = KernelConfig;
1199  static auto constexpr Create = CreateKernelConfig;
1200 };
1201 
1202 inline ::flatbuffers::Offset<KernelConfig> CreateKernelConfigDirect(
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;
1214  _fbb,
1215  kernel_type,
1216  kernel,
1217  core_range_set__,
1218  args,
1219  type_type,
1220  type,
1221  debug_info__);
1222 }
1223 
1224 struct ProgramDesc FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1226  struct Traits;
1227  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
1228  return "tt.target.metal.ProgramDesc";
1229  }
1230  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1231  VT_KERNELS = 4
1232  };
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);
1235  }
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();
1242  }
1243 };
1244 
1246  typedef ProgramDesc Table;
1247  ::flatbuffers::FlatBufferBuilder &fbb_;
1248  ::flatbuffers::uoffset_t start_;
1249  void add_kernels(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelConfig>>> kernels) {
1250  fbb_.AddOffset(ProgramDesc::VT_KERNELS, kernels);
1251  }
1252  explicit ProgramDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1253  : fbb_(_fbb) {
1254  start_ = fbb_.StartTable();
1255  }
1256  ::flatbuffers::Offset<ProgramDesc> Finish() {
1257  const auto end = fbb_.EndTable(start_);
1258  auto o = ::flatbuffers::Offset<ProgramDesc>(end);
1259  return o;
1260  }
1261 };
1262 
1263 inline ::flatbuffers::Offset<ProgramDesc> CreateProgramDesc(
1264  ::flatbuffers::FlatBufferBuilder &_fbb,
1265  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::KernelConfig>>> kernels = 0) {
1266  ProgramDescBuilder builder_(_fbb);
1267  builder_.add_kernels(kernels);
1268  return builder_.Finish();
1269 }
1270 
1272  using type = ProgramDesc;
1273  static auto constexpr Create = CreateProgramDesc;
1274 };
1275 
1276 inline ::flatbuffers::Offset<ProgramDesc> CreateProgramDescDirect(
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;
1281  _fbb,
1282  kernels__);
1283 }
1284 
1285 inline bool VerifyKernelConfigType(::flatbuffers::Verifier &verifier, const void *obj, KernelConfigType type) {
1286  switch (type) {
1287  case KernelConfigType::NONE: {
1288  return true;
1289  }
1291  auto ptr = reinterpret_cast<const tt::target::metal::NocConfig *>(obj);
1292  return verifier.VerifyTable(ptr);
1293  }
1295  auto ptr = reinterpret_cast<const tt::target::metal::ComputeConfig *>(obj);
1296  return verifier.VerifyTable(ptr);
1297  }
1299  auto ptr = reinterpret_cast<const tt::target::metal::EthernetConfig *>(obj);
1300  return verifier.VerifyTable(ptr);
1301  }
1302  default: return true;
1303  }
1304 }
1305 
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) {
1311  verifier, values->Get(i), types->GetEnum<KernelConfigType>(i))) {
1312  return false;
1313  }
1314  }
1315  return true;
1316 }
1317 
1318 inline bool VerifyKernel(::flatbuffers::Verifier &verifier, const void *obj, Kernel type) {
1319  switch (type) {
1320  case Kernel::NONE: {
1321  return true;
1322  }
1323  case Kernel::KernelSource: {
1324  auto ptr = reinterpret_cast<const tt::target::metal::KernelSource *>(obj);
1325  return verifier.VerifyTable(ptr);
1326  }
1327  case Kernel::KernelBinary: {
1328  auto ptr = reinterpret_cast<const tt::target::metal::KernelBinary *>(obj);
1329  return verifier.VerifyTable(ptr);
1330  }
1331  default: return true;
1332  }
1333 }
1334 
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) {
1339  if (!VerifyKernel(
1340  verifier, values->Get(i), types->GetEnum<Kernel>(i))) {
1341  return false;
1342  }
1343  }
1344  return true;
1345 }
1346 
1347 inline bool VerifyKernelArgType(::flatbuffers::Verifier &verifier, const void *obj, KernelArgType type) {
1348  switch (type) {
1349  case KernelArgType::NONE: {
1350  return true;
1351  }
1353  auto ptr = reinterpret_cast<const tt::target::metal::KernelArgCBPort *>(obj);
1354  return verifier.VerifyTable(ptr);
1355  }
1357  auto ptr = reinterpret_cast<const tt::target::metal::KernelArgBufferAddress *>(obj);
1358  return verifier.VerifyTable(ptr);
1359  }
1361  auto ptr = reinterpret_cast<const tt::target::metal::KernelArgSemaphore *>(obj);
1362  return verifier.VerifyTable(ptr);
1363  }
1364  default: return true;
1365  }
1366 }
1367 
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) {
1372  if (!VerifyKernelArgType(
1373  verifier, values->Get(i), types->GetEnum<KernelArgType>(i))) {
1374  return false;
1375  }
1376  }
1377  return true;
1378 }
1379 
1380 } // namespace metal
1381 } // namespace target
1382 } // namespace tt
1383 
1384 #endif // FLATBUFFERS_GENERATED_PROGRAM_TT_TARGET_METAL_H_
VT_DATA
Definition: program_generated.h:653
VT_MATH_FIDELITY
Definition: program_generated.h:436
VT_CORE_TYPE
Definition: program_generated.h:652
VT_MATH_APPROX_MODE
Definition: program_generated.h:438
VT_ARGS
Definition: program_generated.h:1060
VT_ETH_TYPE
Definition: program_generated.h:532
VT_CORE_RANGE_SET
Definition: program_generated.h:1059
VT_TYPE_TYPE
Definition: program_generated.h:1061
VT_TYPE
Definition: program_generated.h:1062
VT_ARG_TYPE
Definition: program_generated.h:898
VT_KERNEL
Definition: program_generated.h:1058
VT_RT_ARGS
Definition: program_generated.h:981
VT_FP32_DEST_ACC_EN
Definition: program_generated.h:437
VT_KERNEL_TYPE
Definition: program_generated.h:1057
VT_INITIAL_VALUE
Definition: program_generated.h:838
VT_DEBUG_INFO
Definition: program_generated.h:433
inline ::flatbuffers::Offset< KernelArgBufferAddress > CreateKernelArgBufferAddress(::flatbuffers::FlatBufferBuilder &_fbb, uint32_t operand_idx=0)
Definition: program_generated.h:818
KernelConfigType
Definition: program_generated.h:149
Kernel
Definition: program_generated.h:276
const char *const * EnumNamesKernel()
Definition: program_generated.h:293
const KernelArgType(& EnumValuesKernelArgType())[4]
Definition: program_generated.h:333
const char * EnumNameNocIndex(NocIndex e)
Definition: program_generated.h:83
const char *const * EnumNamesKernelArgType()
Definition: program_generated.h:343
bool VerifyKernelArgTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset< void >> *values, const ::flatbuffers::Vector< KernelArgType > *types)
Definition: program_generated.h:1368
const UnpackToDestMode(& EnumValuesUnpackToDestMode())[2]
Definition: program_generated.h:126
inline ::flatbuffers::Offset< KernelBinary > CreateKernelBinary(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::metal::BinaryType core_type=tt::target::metal::BinaryType::BRISC, ::flatbuffers::Offset<::flatbuffers::Vector< uint8_t >> data=0, ::flatbuffers::Offset<::flatbuffers::String > debug_source=0)
Definition: program_generated.h:700
bool VerifyKernelConfigType(::flatbuffers::Verifier &verifier, const void *obj, KernelConfigType type)
Definition: program_generated.h:1285
inline ::flatbuffers::Offset< KernelConfig > CreateKernelConfigDirect(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::metal::Kernel kernel_type=tt::target::metal::Kernel::NONE, ::flatbuffers::Offset< void > kernel=0, const std::vector< tt::target::Dim2dRange > *core_range_set=nullptr, ::flatbuffers::Offset< tt::target::metal::KernelArgs > args=0, tt::target::metal::KernelConfigType type_type=tt::target::metal::KernelConfigType::NONE, ::flatbuffers::Offset< void > type=0, const char *debug_info=nullptr)
Definition: program_generated.h:1202
inline ::flatbuffers::Offset< KernelArgs > CreateKernelArgs(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelArg >>> rt_args=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelArg >>> ct_args=0)
Definition: program_generated.h:1023
BinaryType
Definition: program_generated.h:204
const NocIndex(& EnumValuesNocIndex())[2]
Definition: program_generated.h:66
const char *const * EnumNamesNocIndex()
Definition: program_generated.h:74
bool VerifyKernelVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset< void >> *values, const ::flatbuffers::Vector< Kernel > *types)
Definition: program_generated.h:1335
EthType
Definition: program_generated.h:89
const char * EnumNameEthType(EthType e)
Definition: program_generated.h:113
inline ::flatbuffers::Offset< KernelArgCBPort > CreateKernelArgCBPort(::flatbuffers::FlatBufferBuilder &_fbb, uint32_t operand_idx=0)
Definition: program_generated.h:768
const BinaryType(& EnumValuesBinaryType())[6]
Definition: program_generated.h:215
const char *const * EnumNamesKernelConfigType()
Definition: program_generated.h:168
inline ::flatbuffers::Offset< NocConfig > CreateNocConfig(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::metal::NocIndex noc_index=tt::target::metal::NocIndex::Noc0)
Definition: program_generated.h:416
bool VerifyKernelArgType(::flatbuffers::Verifier &verifier, const void *obj, KernelArgType type)
Definition: program_generated.h:1347
const char * EnumNameKernelConfigType(KernelConfigType e)
Definition: program_generated.h:179
bool VerifyKernelConfigTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset< void >> *values, const ::flatbuffers::Vector< KernelConfigType > *types)
Definition: program_generated.h:1306
inline ::flatbuffers::Offset< KernelSource > CreateKernelSource(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::String > source=0)
Definition: program_generated.h:623
const char *const * EnumNamesCoreType()
Definition: program_generated.h:261
bool VerifyKernel(::flatbuffers::Verifier &verifier, const void *obj, Kernel type)
Definition: program_generated.h:1318
inline ::flatbuffers::Offset< ComputeConfig > CreateComputeConfigDirect(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::MathFidelity math_fidelity=tt::target::MathFidelity::LoFi, bool fp32_dest_acc_en=false, bool math_approx_mode=false, const std::vector< tt::target::metal::UnpackToDestMode > *unpack_to_dest_mode=nullptr)
Definition: program_generated.h:510
CoreType
Definition: program_generated.h:246
const char * EnumNameKernelArgType(KernelArgType e)
Definition: program_generated.h:354
const char *const * EnumNamesUnpackToDestMode()
Definition: program_generated.h:134
inline ::flatbuffers::Offset< ProgramDesc > CreateProgramDescDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector<::flatbuffers::Offset< tt::target::metal::KernelConfig >> *kernels=nullptr)
Definition: program_generated.h:1276
const EthType(& EnumValuesEthType())[2]
Definition: program_generated.h:96
inline ::flatbuffers::Offset< KernelConfig > CreateKernelConfig(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::metal::Kernel kernel_type=tt::target::metal::Kernel::NONE, ::flatbuffers::Offset< void > kernel=0, ::flatbuffers::Offset<::flatbuffers::Vector< const tt::target::Dim2dRange * >> core_range_set=0, ::flatbuffers::Offset< tt::target::metal::KernelArgs > args=0, tt::target::metal::KernelConfigType type_type=tt::target::metal::KernelConfigType::NONE, ::flatbuffers::Offset< void > type=0, ::flatbuffers::Offset<::flatbuffers::String > debug_info=0)
Definition: program_generated.h:1177
const char * EnumNameCoreType(CoreType e)
Definition: program_generated.h:270
const char *const * EnumNamesBinaryType()
Definition: program_generated.h:227
const Kernel(& EnumValuesKernel())[3]
Definition: program_generated.h:284
inline ::flatbuffers::Offset< KernelArg > CreateKernelArg(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::metal::KernelArgType arg_type=tt::target::metal::KernelArgType::NONE, ::flatbuffers::Offset< void > arg=0)
Definition: program_generated.h:959
NocIndex
Definition: program_generated.h:59
inline ::flatbuffers::Offset< KernelBinary > CreateKernelBinaryDirect(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::metal::BinaryType core_type=tt::target::metal::BinaryType::BRISC, const std::vector< uint8_t > *data=nullptr, const char *debug_source=nullptr)
Definition: program_generated.h:717
inline ::flatbuffers::Offset< KernelArgs > CreateKernelArgsDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector<::flatbuffers::Offset< tt::target::metal::KernelArg >> *rt_args=nullptr, const std::vector<::flatbuffers::Offset< tt::target::metal::KernelArg >> *ct_args=nullptr)
Definition: program_generated.h:1038
const char * EnumNameUnpackToDestMode(UnpackToDestMode e)
Definition: program_generated.h:143
inline ::flatbuffers::Offset< ProgramDesc > CreateProgramDesc(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelConfig >>> kernels=0)
Definition: program_generated.h:1263
inline ::flatbuffers::Offset< EthernetConfig > CreateEthernetConfig(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::metal::EthType eth_type=tt::target::metal::EthType::Sender, tt::target::metal::NocIndex noc_index=tt::target::metal::NocIndex::Noc0)
Definition: program_generated.h:570
const char *const * EnumNamesEthType()
Definition: program_generated.h:104
const char * EnumNameKernel(Kernel e)
Definition: program_generated.h:303
inline ::flatbuffers::Offset< KernelArgSemaphore > CreateKernelArgSemaphore(::flatbuffers::FlatBufferBuilder &_fbb, uint32_t initial_value=0, tt::target::metal::CoreType core_type=tt::target::metal::CoreType::WORKER)
Definition: program_generated.h:876
KernelArgType
Definition: program_generated.h:324
inline ::flatbuffers::Offset< KernelSource > CreateKernelSourceDirect(::flatbuffers::FlatBufferBuilder &_fbb, const char *source=nullptr)
Definition: program_generated.h:636
const CoreType(& EnumValuesCoreType())[2]
Definition: program_generated.h:253
const KernelConfigType(& EnumValuesKernelConfigType())[4]
Definition: program_generated.h:158
const char * EnumNameBinaryType(BinaryType e)
Definition: program_generated.h:240
UnpackToDestMode
Definition: program_generated.h:119
inline ::flatbuffers::Offset< ComputeConfig > CreateComputeConfig(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::MathFidelity math_fidelity=tt::target::MathFidelity::LoFi, bool fp32_dest_acc_en=false, bool math_approx_mode=false, ::flatbuffers::Offset<::flatbuffers::Vector< tt::target::metal::UnpackToDestMode >> unpack_to_dest_mode=0)
Definition: program_generated.h:491
MathFidelity
Definition: types_generated.h:352
Definition: debug_info_generated.h:18
Definition: debug_info_generated.h:36
Definition: program_generated.h:464
ComputeConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:480
void add_math_fidelity(tt::target::MathFidelity math_fidelity)
Definition: program_generated.h:468
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:466
::flatbuffers::Offset< ComputeConfig > Finish()
Definition: program_generated.h:484
void add_unpack_to_dest_mode(::flatbuffers::Offset<::flatbuffers::Vector< tt::target::metal::UnpackToDestMode >> unpack_to_dest_mode)
Definition: program_generated.h:477
void add_fp32_dest_acc_en(bool fp32_dest_acc_en)
Definition: program_generated.h:471
::flatbuffers::uoffset_t start_
Definition: program_generated.h:467
void add_math_approx_mode(bool math_approx_mode)
Definition: program_generated.h:474
ComputeConfig Table
Definition: program_generated.h:465
Definition: program_generated.h:505
ComputeConfig type
Definition: program_generated.h:506
static constexpr auto Create
Definition: program_generated.h:507
Definition: program_generated.h:549
::flatbuffers::uoffset_t start_
Definition: program_generated.h:552
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:551
::flatbuffers::Offset< EthernetConfig > Finish()
Definition: program_generated.h:563
void add_eth_type(tt::target::metal::EthType eth_type)
Definition: program_generated.h:553
void add_noc_index(tt::target::metal::NocIndex noc_index)
Definition: program_generated.h:556
EthernetConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:559
EthernetConfig Table
Definition: program_generated.h:550
Definition: program_generated.h:580
static constexpr auto Create
Definition: program_generated.h:582
EthernetConfig type
Definition: program_generated.h:581
Definition: binary_generated.h:51
bool Verify(::flatbuffers::Verifier &verifier) const
Definition: program_generated.h:391
ProgramDescBuilder Builder
Definition: program_generated.h:1225
uint32_t operand_idx() const
Definition: program_generated.h:740
tt::target::metal::CoreType core_type() const
Definition: program_generated.h:844
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelArg > > * ct_args() const
Definition: program_generated.h:987
const tt::target::metal::KernelSource * kernel_as_KernelSource() const
Definition: program_generated.h:1072
KernelArgsBuilder Builder
Definition: program_generated.h:975
tt::target::MathFidelity math_fidelity() const
Definition: program_generated.h:441
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelConfig > > * kernels() const
Definition: program_generated.h:1233
EthernetConfigBuilder Builder
Definition: program_generated.h:526
KernelConfigBuilder Builder
Definition: program_generated.h:1051
tt::target::metal::KernelArgType arg_type() const
Definition: program_generated.h:901
const tt::target::metal::KernelArgSemaphore * arg_as_KernelArgSemaphore() const
Definition: program_generated.h:914
static FLATBUFFERS_CONSTEXPR_CPP11 const char * GetFullyQualifiedName()
Definition: program_generated.h:382
KernelArgSemaphoreBuilder Builder
Definition: program_generated.h:832
KernelArgCBPortBuilder Builder
Definition: program_generated.h:732
uint32_t initial_value() const
Definition: program_generated.h:841
KernelArgBufferAddressBuilder Builder
Definition: program_generated.h:782
const ::flatbuffers::String * debug_source() const
Definition: program_generated.h:662
const void * kernel() const
Definition: program_generated.h:1068
bool fp32_dest_acc_en() const
Definition: program_generated.h:444
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelArg > > * rt_args() const
Definition: program_generated.h:984
bool math_approx_mode() const
Definition: program_generated.h:447
const ::flatbuffers::Vector< const tt::target::Dim2dRange * > * core_range_set() const
Definition: program_generated.h:1078
const tt::target::metal::NocConfig * type_as_NocConfig() const
Definition: program_generated.h:1091
KernelBinaryBuilder Builder
Definition: program_generated.h:646
KernelSourceBuilder Builder
Definition: program_generated.h:586
ComputeConfigBuilder Builder
Definition: program_generated.h:430
const ::flatbuffers::String * debug_info() const
Definition: program_generated.h:1100
tt::target::metal::KernelConfigType type_type() const
Definition: program_generated.h:1084
const ::flatbuffers::String * source() const
Definition: program_generated.h:594
const void * arg() const
Definition: program_generated.h:904
const tt::target::metal::KernelArgs * args() const
Definition: program_generated.h:1081
const tt::target::metal::EthernetConfig * type_as_EthernetConfig() const
Definition: program_generated.h:1097
NocConfigBuilder Builder
Definition: program_generated.h:380
const tt::target::metal::KernelArgCBPort * arg_as_KernelArgCBPort() const
Definition: program_generated.h:908
const tt::target::metal::KernelBinary * kernel_as_KernelBinary() const
Definition: program_generated.h:1075
tt::target::metal::Kernel kernel_type() const
Definition: program_generated.h:1065
tt::target::metal::EthType eth_type() const
Definition: program_generated.h:535
KernelArgBuilder Builder
Definition: program_generated.h:892
const ::flatbuffers::Vector< tt::target::metal::UnpackToDestMode > * unpack_to_dest_mode() const
Definition: program_generated.h:450
const void * type() const
Definition: program_generated.h:1087
const tt::target::metal::KernelArgBufferAddress * arg_as_KernelArgBufferAddress() const
Definition: program_generated.h:911
const ::flatbuffers::Vector< uint8_t > * data() const
Definition: program_generated.h:659
tt::target::metal::NocIndex noc_index() const
Definition: program_generated.h:388
const tt::target::metal::ComputeConfig * type_as_ComputeConfig() const
Definition: program_generated.h:1094
tt::target::metal::BinaryType core_type() const
Definition: program_generated.h:656
Definition: program_generated.h:800
void add_operand_idx(uint32_t operand_idx)
Definition: program_generated.h:804
KernelArgBufferAddressBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:807
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:802
::flatbuffers::Offset< KernelArgBufferAddress > Finish()
Definition: program_generated.h:811
::flatbuffers::uoffset_t start_
Definition: program_generated.h:803
KernelArgBufferAddress Table
Definition: program_generated.h:801
Definition: program_generated.h:826
static constexpr auto Create
Definition: program_generated.h:828
KernelArgBufferAddress type
Definition: program_generated.h:827
Definition: program_generated.h:938
::flatbuffers::Offset< KernelArg > Finish()
Definition: program_generated.h:952
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:940
::flatbuffers::uoffset_t start_
Definition: program_generated.h:941
KernelArgBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:948
KernelArg Table
Definition: program_generated.h:939
void add_arg(::flatbuffers::Offset< void > arg)
Definition: program_generated.h:945
void add_arg_type(tt::target::metal::KernelArgType arg_type)
Definition: program_generated.h:942
Definition: program_generated.h:750
KernelArgCBPortBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:757
::flatbuffers::Offset< KernelArgCBPort > Finish()
Definition: program_generated.h:761
::flatbuffers::uoffset_t start_
Definition: program_generated.h:753
KernelArgCBPort Table
Definition: program_generated.h:751
void add_operand_idx(uint32_t operand_idx)
Definition: program_generated.h:754
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:752
Definition: program_generated.h:776
static constexpr auto Create
Definition: program_generated.h:778
KernelArgCBPort type
Definition: program_generated.h:777
Definition: program_generated.h:855
void add_core_type(tt::target::metal::CoreType core_type)
Definition: program_generated.h:862
KernelArgSemaphore Table
Definition: program_generated.h:856
KernelArgSemaphoreBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:865
::flatbuffers::Offset< KernelArgSemaphore > Finish()
Definition: program_generated.h:869
::flatbuffers::uoffset_t start_
Definition: program_generated.h:858
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:857
void add_initial_value(uint32_t initial_value)
Definition: program_generated.h:859
Definition: program_generated.h:886
KernelArgSemaphore type
Definition: program_generated.h:887
static constexpr auto Create
Definition: program_generated.h:888
Definition: program_generated.h:360
static const KernelArgType enum_value
Definition: program_generated.h:361
Definition: program_generated.h:969
KernelArg type
Definition: program_generated.h:970
static constexpr auto Create
Definition: program_generated.h:971
Definition: program_generated.h:1002
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1005
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1004
void add_rt_args(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelArg >>> rt_args)
Definition: program_generated.h:1006
KernelArgsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1012
void add_ct_args(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelArg >>> ct_args)
Definition: program_generated.h:1009
::flatbuffers::Offset< KernelArgs > Finish()
Definition: program_generated.h:1016
KernelArgs Table
Definition: program_generated.h:1003
Definition: program_generated.h:1033
static constexpr auto Create
Definition: program_generated.h:1035
KernelArgs type
Definition: program_generated.h:1034
Definition: program_generated.h:676
void add_debug_source(::flatbuffers::Offset<::flatbuffers::String > debug_source)
Definition: program_generated.h:686
KernelBinaryBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:689
::flatbuffers::uoffset_t start_
Definition: program_generated.h:679
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:678
void add_core_type(tt::target::metal::BinaryType core_type)
Definition: program_generated.h:680
::flatbuffers::Offset< KernelBinary > Finish()
Definition: program_generated.h:693
KernelBinary Table
Definition: program_generated.h:677
void add_data(::flatbuffers::Offset<::flatbuffers::Vector< uint8_t >> data)
Definition: program_generated.h:683
Definition: program_generated.h:712
static constexpr auto Create
Definition: program_generated.h:714
KernelBinary type
Definition: program_generated.h:713
Definition: program_generated.h:1141
void add_type(::flatbuffers::Offset< void > type)
Definition: program_generated.h:1160
KernelConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1166
void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector< const tt::target::Dim2dRange * >> core_range_set)
Definition: program_generated.h:1151
::flatbuffers::Offset< KernelConfig > Finish()
Definition: program_generated.h:1170
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1144
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1143
KernelConfig Table
Definition: program_generated.h:1142
void add_kernel_type(tt::target::metal::Kernel kernel_type)
Definition: program_generated.h:1145
void add_type_type(tt::target::metal::KernelConfigType type_type)
Definition: program_generated.h:1157
void add_kernel(::flatbuffers::Offset< void > kernel)
Definition: program_generated.h:1148
void add_debug_info(::flatbuffers::Offset<::flatbuffers::String > debug_info)
Definition: program_generated.h:1163
void add_args(::flatbuffers::Offset< tt::target::metal::KernelArgs > args)
Definition: program_generated.h:1154
Definition: program_generated.h:185
static const KernelConfigType enum_value
Definition: program_generated.h:186
Definition: program_generated.h:1197
static constexpr auto Create
Definition: program_generated.h:1199
KernelConfig type
Definition: program_generated.h:1198
Definition: program_generated.h:605
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:607
::flatbuffers::uoffset_t start_
Definition: program_generated.h:608
::flatbuffers::Offset< KernelSource > Finish()
Definition: program_generated.h:616
void add_source(::flatbuffers::Offset<::flatbuffers::String > source)
Definition: program_generated.h:609
KernelSourceBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:612
KernelSource Table
Definition: program_generated.h:606
Definition: program_generated.h:631
static constexpr auto Create
Definition: program_generated.h:633
KernelSource type
Definition: program_generated.h:632
Definition: program_generated.h:309
static const Kernel enum_value
Definition: program_generated.h:310
Definition: program_generated.h:398
NocConfig Table
Definition: program_generated.h:399
::flatbuffers::Offset< NocConfig > Finish()
Definition: program_generated.h:409
void add_noc_index(tt::target::metal::NocIndex noc_index)
Definition: program_generated.h:402
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:400
::flatbuffers::uoffset_t start_
Definition: program_generated.h:401
NocConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:405
Definition: program_generated.h:424
static constexpr auto Create
Definition: program_generated.h:426
NocConfig type
Definition: program_generated.h:425
Definition: program_generated.h:1245
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1247
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1248
void add_kernels(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::KernelConfig >>> kernels)
Definition: program_generated.h:1249
ProgramDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1252
::flatbuffers::Offset< ProgramDesc > Finish()
Definition: program_generated.h:1256
ProgramDesc Table
Definition: program_generated.h:1246
Definition: program_generated.h:1271
static constexpr auto Create
Definition: program_generated.h:1273
ProgramDesc type
Definition: program_generated.h:1272