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_TTNN_H_
5 #define FLATBUFFERS_GENERATED_PROGRAM_TT_TARGET_TTNN_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 
16 #include "debug_info_generated.h"
17 #include "types_generated.h"
18 
19 namespace tt {
20 namespace target {
21 namespace ttnn {
22 
23 struct GetDeviceOp;
24 struct GetDeviceOpBuilder;
25 
26 struct ToMemoryConfigOp;
27 struct ToMemoryConfigOpBuilder;
28 
29 struct ToLayoutOp;
30 struct ToLayoutOpBuilder;
31 
32 struct TypecastOp;
33 struct TypecastOpBuilder;
34 
35 struct ToDeviceOp;
36 struct ToDeviceOpBuilder;
37 
38 struct FromDeviceOp;
39 struct FromDeviceOpBuilder;
40 
41 struct EmptyOp;
42 struct EmptyOpBuilder;
43 
44 struct FullOp;
45 struct FullOpBuilder;
46 
47 struct ArangeOp;
48 struct ArangeOpBuilder;
49 
50 struct ClampOpParams;
51 struct ClampOpParamsBuilder;
52 
54 struct EltwiseOpWithFloatParamsBuilder;
55 
56 struct EltwiseOp;
57 struct EltwiseOpBuilder;
58 
59 struct ReductionOp;
60 struct ReductionOpBuilder;
61 
62 struct EmbeddingOp;
63 struct EmbeddingOpBuilder;
64 
65 struct SoftmaxOp;
66 struct SoftmaxOpBuilder;
67 
68 struct TransposeOp;
69 struct TransposeOpBuilder;
70 
71 struct ConcatOp;
72 struct ConcatOpBuilder;
73 
74 struct ReshapeOp;
75 struct ReshapeOpBuilder;
76 
77 struct SliceOp;
78 struct SliceOpBuilder;
79 
80 struct LinearOp;
81 struct LinearOpBuilder;
82 
83 struct MatmulOp;
84 struct MatmulOpBuilder;
85 
86 struct Conv2dOp;
87 struct Conv2dOpBuilder;
88 
89 struct MaxPool2dOp;
90 struct MaxPool2dOpBuilder;
91 
92 struct DeallocateOp;
93 struct DeallocateOpBuilder;
94 
95 struct AllGatherOp;
96 struct AllGatherOpBuilder;
97 
98 struct Operation;
99 struct OperationBuilder;
100 
101 struct Program;
102 struct ProgramBuilder;
103 
104 enum class EltwiseOpType : uint32_t {
105  Add = 0,
106  Multiply = 1,
107  Subtract = 2,
108  Relu = 3,
109  GreaterEqual = 4,
110  Sqrt = 5,
111  Div = 6,
112  Sigmoid = 7,
113  Reciprocal = 8,
114  Exp = 9,
115  Maximum = 10,
116  Abs = 11,
117  Neg = 12,
118  Rsqrt = 13,
119  Typecast = 14,
120  Equal = 15,
121  NotEqual = 16,
122  LessEqual = 17,
123  LessThan = 18,
124  GreaterThan = 19,
125  LogicalAnd = 20,
126  LogicalOr = 21,
127  LogicalNot = 22,
128  Cbrt = 23,
129  Minimum = 24,
130  Ceil = 25,
131  Sin = 26,
132  Cos = 27,
133  Log = 28,
134  Log1p = 29,
135  Expm1 = 30,
136  Sign = 31,
137  Remainder = 32,
138  IsFinite = 33,
139  Floor = 34,
140  Where = 35,
141  Gelu = 36,
142  LogicalXor = 37,
143  Clamp = 38,
144  LeakyRelu = 39,
145  MIN = Add,
146  MAX = LeakyRelu
147 };
148 
149 inline const EltwiseOpType (&EnumValuesEltwiseOpType())[40] {
150  static const EltwiseOpType values[] = {
191  };
192  return values;
193 }
194 
195 inline const char * const *EnumNamesEltwiseOpType() {
196  static const char * const names[41] = {
197  "Add",
198  "Multiply",
199  "Subtract",
200  "Relu",
201  "GreaterEqual",
202  "Sqrt",
203  "Div",
204  "Sigmoid",
205  "Reciprocal",
206  "Exp",
207  "Maximum",
208  "Abs",
209  "Neg",
210  "Rsqrt",
211  "Typecast",
212  "Equal",
213  "NotEqual",
214  "LessEqual",
215  "LessThan",
216  "GreaterThan",
217  "LogicalAnd",
218  "LogicalOr",
219  "LogicalNot",
220  "Cbrt",
221  "Minimum",
222  "Ceil",
223  "Sin",
224  "Cos",
225  "Log",
226  "Log1p",
227  "Expm1",
228  "Sign",
229  "Remainder",
230  "IsFinite",
231  "Floor",
232  "Where",
233  "Gelu",
234  "LogicalXor",
235  "Clamp",
236  "LeakyRelu",
237  nullptr
238  };
239  return names;
240 }
241 
242 inline const char *EnumNameEltwiseOpType(EltwiseOpType e) {
243  if (::flatbuffers::IsOutRange(e, EltwiseOpType::Add, EltwiseOpType::LeakyRelu)) return "";
244  const size_t index = static_cast<size_t>(e);
245  return EnumNamesEltwiseOpType()[index];
246 }
247 
248 enum class EltwiseOpParams : uint8_t {
249  NONE = 0,
250  ClampOpParams = 1,
252  MIN = NONE,
254 };
255 
257  static const EltwiseOpParams values[] = {
261  };
262  return values;
263 }
264 
265 inline const char * const *EnumNamesEltwiseOpParams() {
266  static const char * const names[4] = {
267  "NONE",
268  "ClampOpParams",
269  "EltwiseOpWithFloatParams",
270  nullptr
271  };
272  return names;
273 }
274 
276  if (::flatbuffers::IsOutRange(e, EltwiseOpParams::NONE, EltwiseOpParams::EltwiseOpWithFloatParams)) return "";
277  const size_t index = static_cast<size_t>(e);
278  return EnumNamesEltwiseOpParams()[index];
279 }
280 
281 template<typename T> struct EltwiseOpParamsTraits {
283 };
284 
285 template<> struct EltwiseOpParamsTraits<tt::target::ttnn::ClampOpParams> {
287 };
288 
289 template<> struct EltwiseOpParamsTraits<tt::target::ttnn::EltwiseOpWithFloatParams> {
291 };
292 
293 bool VerifyEltwiseOpParams(::flatbuffers::Verifier &verifier, const void *obj, EltwiseOpParams type);
294 bool VerifyEltwiseOpParamsVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<EltwiseOpParams> *types);
295 
296 enum class ReductionOpType : uint32_t {
297  Sum = 0,
298  Mean = 1,
299  Max = 2,
300  MIN = Sum,
301  MAX = Max
302 };
303 
305  static const ReductionOpType values[] = {
309  };
310  return values;
311 }
312 
313 inline const char * const *EnumNamesReductionOpType() {
314  static const char * const names[4] = {
315  "Sum",
316  "Mean",
317  "Max",
318  nullptr
319  };
320  return names;
321 }
322 
324  if (::flatbuffers::IsOutRange(e, ReductionOpType::Sum, ReductionOpType::Max)) return "";
325  const size_t index = static_cast<size_t>(e);
326  return EnumNamesReductionOpType()[index];
327 }
328 
329 enum class OpType : uint8_t {
330  NONE = 0,
331  GetDeviceOp = 1,
332  ToMemoryConfigOp = 2,
333  ToLayoutOp = 3,
334  TypecastOp = 4,
335  ToDeviceOp = 5,
336  FromDeviceOp = 6,
337  EmptyOp = 7,
338  FullOp = 8,
339  EltwiseOp = 9,
340  LinearOp = 10,
341  MatmulOp = 11,
342  ReductionOp = 12,
343  EmbeddingOp = 13,
344  SoftmaxOp = 14,
345  TransposeOp = 15,
346  Conv2dOp = 16,
347  ConcatOp = 17,
348  ReshapeOp = 18,
349  SliceOp = 19,
350  MaxPool2dOp = 20,
351  DeallocateOp = 21,
352  AllGatherOp = 22,
353  ArangeOp = 23,
354  MIN = NONE,
355  MAX = ArangeOp
356 };
357 
358 inline const OpType (&EnumValuesOpType())[24] {
359  static const OpType values[] = {
360  OpType::NONE,
384  };
385  return values;
386 }
387 
388 inline const char * const *EnumNamesOpType() {
389  static const char * const names[25] = {
390  "NONE",
391  "GetDeviceOp",
392  "ToMemoryConfigOp",
393  "ToLayoutOp",
394  "TypecastOp",
395  "ToDeviceOp",
396  "FromDeviceOp",
397  "EmptyOp",
398  "FullOp",
399  "EltwiseOp",
400  "LinearOp",
401  "MatmulOp",
402  "ReductionOp",
403  "EmbeddingOp",
404  "SoftmaxOp",
405  "TransposeOp",
406  "Conv2dOp",
407  "ConcatOp",
408  "ReshapeOp",
409  "SliceOp",
410  "MaxPool2dOp",
411  "DeallocateOp",
412  "AllGatherOp",
413  "ArangeOp",
414  nullptr
415  };
416  return names;
417 }
418 
419 inline const char *EnumNameOpType(OpType e) {
420  if (::flatbuffers::IsOutRange(e, OpType::NONE, OpType::ArangeOp)) return "";
421  const size_t index = static_cast<size_t>(e);
422  return EnumNamesOpType()[index];
423 }
424 
425 template<typename T> struct OpTypeTraits {
427 };
428 
429 template<> struct OpTypeTraits<tt::target::ttnn::GetDeviceOp> {
431 };
432 
433 template<> struct OpTypeTraits<tt::target::ttnn::ToMemoryConfigOp> {
435 };
436 
437 template<> struct OpTypeTraits<tt::target::ttnn::ToLayoutOp> {
439 };
440 
441 template<> struct OpTypeTraits<tt::target::ttnn::TypecastOp> {
443 };
444 
445 template<> struct OpTypeTraits<tt::target::ttnn::ToDeviceOp> {
447 };
448 
449 template<> struct OpTypeTraits<tt::target::ttnn::FromDeviceOp> {
451 };
452 
453 template<> struct OpTypeTraits<tt::target::ttnn::EmptyOp> {
455 };
456 
457 template<> struct OpTypeTraits<tt::target::ttnn::FullOp> {
459 };
460 
461 template<> struct OpTypeTraits<tt::target::ttnn::EltwiseOp> {
463 };
464 
465 template<> struct OpTypeTraits<tt::target::ttnn::LinearOp> {
467 };
468 
469 template<> struct OpTypeTraits<tt::target::ttnn::MatmulOp> {
471 };
472 
473 template<> struct OpTypeTraits<tt::target::ttnn::ReductionOp> {
475 };
476 
477 template<> struct OpTypeTraits<tt::target::ttnn::EmbeddingOp> {
479 };
480 
481 template<> struct OpTypeTraits<tt::target::ttnn::SoftmaxOp> {
483 };
484 
485 template<> struct OpTypeTraits<tt::target::ttnn::TransposeOp> {
487 };
488 
489 template<> struct OpTypeTraits<tt::target::ttnn::Conv2dOp> {
491 };
492 
493 template<> struct OpTypeTraits<tt::target::ttnn::ConcatOp> {
495 };
496 
497 template<> struct OpTypeTraits<tt::target::ttnn::ReshapeOp> {
499 };
500 
501 template<> struct OpTypeTraits<tt::target::ttnn::SliceOp> {
503 };
504 
505 template<> struct OpTypeTraits<tt::target::ttnn::MaxPool2dOp> {
507 };
508 
509 template<> struct OpTypeTraits<tt::target::ttnn::DeallocateOp> {
511 };
512 
513 template<> struct OpTypeTraits<tt::target::ttnn::AllGatherOp> {
515 };
516 
517 template<> struct OpTypeTraits<tt::target::ttnn::ArangeOp> {
519 };
520 
521 bool VerifyOpType(::flatbuffers::Verifier &verifier, const void *obj, OpType type);
522 bool VerifyOpTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<OpType> *types);
523 
524 struct GetDeviceOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
526  struct Traits;
527  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
528  VT_MESH = 4,
530  VT_OUT = 8
531  };
532  const tt::target::Dim2d *mesh() const {
533  return GetStruct<const tt::target::Dim2d *>(VT_MESH);
534  }
535  const ::flatbuffers::Vector<uint32_t> *chip_ids() const {
536  return GetPointer<const ::flatbuffers::Vector<uint32_t> *>(VT_CHIP_IDS);
537  }
538  const tt::target::DeviceRef *out() const {
539  return GetPointer<const tt::target::DeviceRef *>(VT_OUT);
540  }
541  bool Verify(::flatbuffers::Verifier &verifier) const {
542  return VerifyTableStart(verifier) &&
543  VerifyField<tt::target::Dim2d>(verifier, VT_MESH, 4) &&
544  VerifyOffset(verifier, VT_CHIP_IDS) &&
545  verifier.VerifyVector(chip_ids()) &&
546  VerifyOffset(verifier, VT_OUT) &&
547  verifier.VerifyTable(out()) &&
548  verifier.EndTable();
549  }
550 };
551 
554  ::flatbuffers::FlatBufferBuilder &fbb_;
555  ::flatbuffers::uoffset_t start_;
556  void add_mesh(const tt::target::Dim2d *mesh) {
557  fbb_.AddStruct(GetDeviceOp::VT_MESH, mesh);
558  }
559  void add_chip_ids(::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>> chip_ids) {
560  fbb_.AddOffset(GetDeviceOp::VT_CHIP_IDS, chip_ids);
561  }
562  void add_out(::flatbuffers::Offset<tt::target::DeviceRef> out) {
563  fbb_.AddOffset(GetDeviceOp::VT_OUT, out);
564  }
565  explicit GetDeviceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
566  : fbb_(_fbb) {
567  start_ = fbb_.StartTable();
568  }
569  ::flatbuffers::Offset<GetDeviceOp> Finish() {
570  const auto end = fbb_.EndTable(start_);
571  auto o = ::flatbuffers::Offset<GetDeviceOp>(end);
572  return o;
573  }
574 };
575 
576 inline ::flatbuffers::Offset<GetDeviceOp> CreateGetDeviceOp(
577  ::flatbuffers::FlatBufferBuilder &_fbb,
578  const tt::target::Dim2d *mesh = nullptr,
579  ::flatbuffers::Offset<::flatbuffers::Vector<uint32_t>> chip_ids = 0,
580  ::flatbuffers::Offset<tt::target::DeviceRef> out = 0) {
581  GetDeviceOpBuilder builder_(_fbb);
582  builder_.add_out(out);
583  builder_.add_chip_ids(chip_ids);
584  builder_.add_mesh(mesh);
585  return builder_.Finish();
586 }
587 
589  using type = GetDeviceOp;
590  static auto constexpr Create = CreateGetDeviceOp;
591 };
592 
593 inline ::flatbuffers::Offset<GetDeviceOp> CreateGetDeviceOpDirect(
594  ::flatbuffers::FlatBufferBuilder &_fbb,
595  const tt::target::Dim2d *mesh = nullptr,
596  const std::vector<uint32_t> *chip_ids = nullptr,
597  ::flatbuffers::Offset<tt::target::DeviceRef> out = 0) {
598  auto chip_ids__ = chip_ids ? _fbb.CreateVector<uint32_t>(*chip_ids) : 0;
600  _fbb,
601  mesh,
602  chip_ids__,
603  out);
604 }
605 
606 struct ToMemoryConfigOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
608  struct Traits;
609  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
610  VT_IN0 = 4,
612  VT_OUT = 8
613  };
614  const tt::target::TensorRef *in0() const {
615  return GetPointer<const tt::target::TensorRef *>(VT_IN0);
616  }
617  const tt::target::MemoryConfigDesc *memcfg() const {
618  return GetPointer<const tt::target::MemoryConfigDesc *>(VT_MEMCFG);
619  }
620  const tt::target::TensorRef *out() const {
621  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
622  }
623  bool Verify(::flatbuffers::Verifier &verifier) const {
624  return VerifyTableStart(verifier) &&
625  VerifyOffset(verifier, VT_IN0) &&
626  verifier.VerifyTable(in0()) &&
627  VerifyOffset(verifier, VT_MEMCFG) &&
628  verifier.VerifyTable(memcfg()) &&
629  VerifyOffset(verifier, VT_OUT) &&
630  verifier.VerifyTable(out()) &&
631  verifier.EndTable();
632  }
633 };
634 
637  ::flatbuffers::FlatBufferBuilder &fbb_;
638  ::flatbuffers::uoffset_t start_;
639  void add_in0(::flatbuffers::Offset<tt::target::TensorRef> in0) {
640  fbb_.AddOffset(ToMemoryConfigOp::VT_IN0, in0);
641  }
642  void add_memcfg(::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg) {
643  fbb_.AddOffset(ToMemoryConfigOp::VT_MEMCFG, memcfg);
644  }
645  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
646  fbb_.AddOffset(ToMemoryConfigOp::VT_OUT, out);
647  }
648  explicit ToMemoryConfigOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
649  : fbb_(_fbb) {
650  start_ = fbb_.StartTable();
651  }
652  ::flatbuffers::Offset<ToMemoryConfigOp> Finish() {
653  const auto end = fbb_.EndTable(start_);
654  auto o = ::flatbuffers::Offset<ToMemoryConfigOp>(end);
655  return o;
656  }
657 };
658 
659 inline ::flatbuffers::Offset<ToMemoryConfigOp> CreateToMemoryConfigOp(
660  ::flatbuffers::FlatBufferBuilder &_fbb,
661  ::flatbuffers::Offset<tt::target::TensorRef> in0 = 0,
662  ::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg = 0,
663  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
664  ToMemoryConfigOpBuilder builder_(_fbb);
665  builder_.add_out(out);
666  builder_.add_memcfg(memcfg);
667  builder_.add_in0(in0);
668  return builder_.Finish();
669 }
670 
673  static auto constexpr Create = CreateToMemoryConfigOp;
674 };
675 
676 struct ToLayoutOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
678  struct Traits;
679  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
680  VT_IN = 4,
682  VT_DTYPE = 8,
683  VT_MEMCFG = 10,
684  VT_DEVICE = 12,
685  VT_OUT = 14
686  };
687  const tt::target::TensorRef *in() const {
688  return GetPointer<const tt::target::TensorRef *>(VT_IN);
689  }
691  return static_cast<tt::target::TensorLayout>(GetField<uint16_t>(VT_LAYOUT, 0));
692  }
693  ::flatbuffers::Optional<tt::target::DataType> dtype() const {
694  return GetOptional<uint16_t, tt::target::DataType>(VT_DTYPE);
695  }
696  const tt::target::MemoryConfigDesc *memcfg() const {
697  return GetPointer<const tt::target::MemoryConfigDesc *>(VT_MEMCFG);
698  }
699  const tt::target::DeviceRef *device() const {
700  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
701  }
702  const tt::target::TensorRef *out() const {
703  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
704  }
705  bool Verify(::flatbuffers::Verifier &verifier) const {
706  return VerifyTableStart(verifier) &&
707  VerifyOffset(verifier, VT_IN) &&
708  verifier.VerifyTable(in()) &&
709  VerifyField<uint16_t>(verifier, VT_LAYOUT, 2) &&
710  VerifyField<uint16_t>(verifier, VT_DTYPE, 2) &&
711  VerifyOffset(verifier, VT_MEMCFG) &&
712  verifier.VerifyTable(memcfg()) &&
713  VerifyOffset(verifier, VT_DEVICE) &&
714  verifier.VerifyTable(device()) &&
715  VerifyOffset(verifier, VT_OUT) &&
716  verifier.VerifyTable(out()) &&
717  verifier.EndTable();
718  }
719 };
720 
722  typedef ToLayoutOp Table;
723  ::flatbuffers::FlatBufferBuilder &fbb_;
724  ::flatbuffers::uoffset_t start_;
725  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
726  fbb_.AddOffset(ToLayoutOp::VT_IN, in);
727  }
729  fbb_.AddElement<uint16_t>(ToLayoutOp::VT_LAYOUT, static_cast<uint16_t>(layout), 0);
730  }
732  fbb_.AddElement<uint16_t>(ToLayoutOp::VT_DTYPE, static_cast<uint16_t>(dtype));
733  }
734  void add_memcfg(::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg) {
735  fbb_.AddOffset(ToLayoutOp::VT_MEMCFG, memcfg);
736  }
737  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
738  fbb_.AddOffset(ToLayoutOp::VT_DEVICE, device);
739  }
740  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
741  fbb_.AddOffset(ToLayoutOp::VT_OUT, out);
742  }
743  explicit ToLayoutOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
744  : fbb_(_fbb) {
745  start_ = fbb_.StartTable();
746  }
747  ::flatbuffers::Offset<ToLayoutOp> Finish() {
748  const auto end = fbb_.EndTable(start_);
749  auto o = ::flatbuffers::Offset<ToLayoutOp>(end);
750  return o;
751  }
752 };
753 
754 inline ::flatbuffers::Offset<ToLayoutOp> CreateToLayoutOp(
755  ::flatbuffers::FlatBufferBuilder &_fbb,
756  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
758  ::flatbuffers::Optional<tt::target::DataType> dtype = ::flatbuffers::nullopt,
759  ::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg = 0,
760  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
761  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
762  ToLayoutOpBuilder builder_(_fbb);
763  builder_.add_out(out);
764  builder_.add_device(device);
765  builder_.add_memcfg(memcfg);
766  builder_.add_in(in);
767  if(dtype) { builder_.add_dtype(*dtype); }
768  builder_.add_layout(layout);
769  return builder_.Finish();
770 }
771 
773  using type = ToLayoutOp;
774  static auto constexpr Create = CreateToLayoutOp;
775 };
776 
777 struct TypecastOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
779  struct Traits;
780  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
781  VT_IN = 4,
782  VT_DTYPE = 6,
783  VT_OUT = 8
784  };
785  const tt::target::TensorRef *in() const {
786  return GetPointer<const tt::target::TensorRef *>(VT_IN);
787  }
789  return static_cast<tt::target::DataType>(GetField<uint16_t>(VT_DTYPE, 0));
790  }
791  const tt::target::TensorRef *out() const {
792  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
793  }
794  bool Verify(::flatbuffers::Verifier &verifier) const {
795  return VerifyTableStart(verifier) &&
796  VerifyOffset(verifier, VT_IN) &&
797  verifier.VerifyTable(in()) &&
798  VerifyField<uint16_t>(verifier, VT_DTYPE, 2) &&
799  VerifyOffset(verifier, VT_OUT) &&
800  verifier.VerifyTable(out()) &&
801  verifier.EndTable();
802  }
803 };
804 
806  typedef TypecastOp Table;
807  ::flatbuffers::FlatBufferBuilder &fbb_;
808  ::flatbuffers::uoffset_t start_;
809  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
810  fbb_.AddOffset(TypecastOp::VT_IN, in);
811  }
813  fbb_.AddElement<uint16_t>(TypecastOp::VT_DTYPE, static_cast<uint16_t>(dtype), 0);
814  }
815  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
816  fbb_.AddOffset(TypecastOp::VT_OUT, out);
817  }
818  explicit TypecastOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
819  : fbb_(_fbb) {
820  start_ = fbb_.StartTable();
821  }
822  ::flatbuffers::Offset<TypecastOp> Finish() {
823  const auto end = fbb_.EndTable(start_);
824  auto o = ::flatbuffers::Offset<TypecastOp>(end);
825  return o;
826  }
827 };
828 
829 inline ::flatbuffers::Offset<TypecastOp> CreateTypecastOp(
830  ::flatbuffers::FlatBufferBuilder &_fbb,
831  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
833  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
834  TypecastOpBuilder builder_(_fbb);
835  builder_.add_out(out);
836  builder_.add_in(in);
837  builder_.add_dtype(dtype);
838  return builder_.Finish();
839 }
840 
842  using type = TypecastOp;
843  static auto constexpr Create = CreateTypecastOp;
844 };
845 
846 struct ToDeviceOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
848  struct Traits;
849  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
850  VT_IN = 4,
851  VT_DEVICE = 6,
852  VT_MEMCFG = 8,
853  VT_OUT = 10
854  };
855  const tt::target::TensorRef *in() const {
856  return GetPointer<const tt::target::TensorRef *>(VT_IN);
857  }
858  const tt::target::DeviceRef *device() const {
859  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
860  }
861  const tt::target::MemoryConfigDesc *memcfg() const {
862  return GetPointer<const tt::target::MemoryConfigDesc *>(VT_MEMCFG);
863  }
864  const tt::target::TensorRef *out() const {
865  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
866  }
867  bool Verify(::flatbuffers::Verifier &verifier) const {
868  return VerifyTableStart(verifier) &&
869  VerifyOffset(verifier, VT_IN) &&
870  verifier.VerifyTable(in()) &&
871  VerifyOffset(verifier, VT_DEVICE) &&
872  verifier.VerifyTable(device()) &&
873  VerifyOffset(verifier, VT_MEMCFG) &&
874  verifier.VerifyTable(memcfg()) &&
875  VerifyOffset(verifier, VT_OUT) &&
876  verifier.VerifyTable(out()) &&
877  verifier.EndTable();
878  }
879 };
880 
882  typedef ToDeviceOp Table;
883  ::flatbuffers::FlatBufferBuilder &fbb_;
884  ::flatbuffers::uoffset_t start_;
885  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
886  fbb_.AddOffset(ToDeviceOp::VT_IN, in);
887  }
888  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
889  fbb_.AddOffset(ToDeviceOp::VT_DEVICE, device);
890  }
891  void add_memcfg(::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg) {
892  fbb_.AddOffset(ToDeviceOp::VT_MEMCFG, memcfg);
893  }
894  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
895  fbb_.AddOffset(ToDeviceOp::VT_OUT, out);
896  }
897  explicit ToDeviceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
898  : fbb_(_fbb) {
899  start_ = fbb_.StartTable();
900  }
901  ::flatbuffers::Offset<ToDeviceOp> Finish() {
902  const auto end = fbb_.EndTable(start_);
903  auto o = ::flatbuffers::Offset<ToDeviceOp>(end);
904  return o;
905  }
906 };
907 
908 inline ::flatbuffers::Offset<ToDeviceOp> CreateToDeviceOp(
909  ::flatbuffers::FlatBufferBuilder &_fbb,
910  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
911  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
912  ::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg = 0,
913  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
914  ToDeviceOpBuilder builder_(_fbb);
915  builder_.add_out(out);
916  builder_.add_memcfg(memcfg);
917  builder_.add_device(device);
918  builder_.add_in(in);
919  return builder_.Finish();
920 }
921 
923  using type = ToDeviceOp;
924  static auto constexpr Create = CreateToDeviceOp;
925 };
926 
927 struct FromDeviceOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
929  struct Traits;
930  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
931  VT_IN = 4,
932  VT_OUT = 6
933  };
934  const tt::target::TensorRef *in() const {
935  return GetPointer<const tt::target::TensorRef *>(VT_IN);
936  }
937  const tt::target::TensorRef *out() const {
938  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
939  }
940  bool Verify(::flatbuffers::Verifier &verifier) const {
941  return VerifyTableStart(verifier) &&
942  VerifyOffset(verifier, VT_IN) &&
943  verifier.VerifyTable(in()) &&
944  VerifyOffset(verifier, VT_OUT) &&
945  verifier.VerifyTable(out()) &&
946  verifier.EndTable();
947  }
948 };
949 
952  ::flatbuffers::FlatBufferBuilder &fbb_;
953  ::flatbuffers::uoffset_t start_;
954  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
955  fbb_.AddOffset(FromDeviceOp::VT_IN, in);
956  }
957  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
958  fbb_.AddOffset(FromDeviceOp::VT_OUT, out);
959  }
960  explicit FromDeviceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
961  : fbb_(_fbb) {
962  start_ = fbb_.StartTable();
963  }
964  ::flatbuffers::Offset<FromDeviceOp> Finish() {
965  const auto end = fbb_.EndTable(start_);
966  auto o = ::flatbuffers::Offset<FromDeviceOp>(end);
967  return o;
968  }
969 };
970 
971 inline ::flatbuffers::Offset<FromDeviceOp> CreateFromDeviceOp(
972  ::flatbuffers::FlatBufferBuilder &_fbb,
973  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
974  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
975  FromDeviceOpBuilder builder_(_fbb);
976  builder_.add_out(out);
977  builder_.add_in(in);
978  return builder_.Finish();
979 }
980 
983  static auto constexpr Create = CreateFromDeviceOp;
984 };
985 
986 struct EmptyOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
988  struct Traits;
989  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
990  VT_SHAPE = 4,
991  VT_DTYPE = 6,
992  VT_LAYOUT = 8,
994  VT_DEVICE = 12,
995  VT_MEMCFG = 14,
997  VT_OUT = 18
998  };
999  const ::flatbuffers::Vector<int64_t> *shape() const {
1000  return GetPointer<const ::flatbuffers::Vector<int64_t> *>(VT_SHAPE);
1001  }
1003  return static_cast<tt::target::DataType>(GetField<uint16_t>(VT_DTYPE, 0));
1004  }
1006  return static_cast<tt::target::TensorLayout>(GetField<uint16_t>(VT_LAYOUT, 0));
1007  }
1008  uint32_t num_shards() const {
1009  return GetField<uint32_t>(VT_NUM_SHARDS, 0);
1010  }
1011  const tt::target::DeviceRef *device() const {
1012  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
1013  }
1014  const tt::target::MemoryConfigDesc *memcfg() const {
1015  return GetPointer<const tt::target::MemoryConfigDesc *>(VT_MEMCFG);
1016  }
1017  const tt::target::DistributionStrategy *strategy() const {
1018  return GetPointer<const tt::target::DistributionStrategy *>(VT_STRATEGY);
1019  }
1020  const tt::target::TensorRef *out() const {
1021  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1022  }
1023  bool Verify(::flatbuffers::Verifier &verifier) const {
1024  return VerifyTableStart(verifier) &&
1025  VerifyOffset(verifier, VT_SHAPE) &&
1026  verifier.VerifyVector(shape()) &&
1027  VerifyField<uint16_t>(verifier, VT_DTYPE, 2) &&
1028  VerifyField<uint16_t>(verifier, VT_LAYOUT, 2) &&
1029  VerifyField<uint32_t>(verifier, VT_NUM_SHARDS, 4) &&
1030  VerifyOffset(verifier, VT_DEVICE) &&
1031  verifier.VerifyTable(device()) &&
1032  VerifyOffset(verifier, VT_MEMCFG) &&
1033  verifier.VerifyTable(memcfg()) &&
1034  VerifyOffset(verifier, VT_STRATEGY) &&
1035  verifier.VerifyTable(strategy()) &&
1036  VerifyOffset(verifier, VT_OUT) &&
1037  verifier.VerifyTable(out()) &&
1038  verifier.EndTable();
1039  }
1040 };
1041 
1043  typedef EmptyOp Table;
1044  ::flatbuffers::FlatBufferBuilder &fbb_;
1045  ::flatbuffers::uoffset_t start_;
1046  void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> shape) {
1047  fbb_.AddOffset(EmptyOp::VT_SHAPE, shape);
1048  }
1050  fbb_.AddElement<uint16_t>(EmptyOp::VT_DTYPE, static_cast<uint16_t>(dtype), 0);
1051  }
1053  fbb_.AddElement<uint16_t>(EmptyOp::VT_LAYOUT, static_cast<uint16_t>(layout), 0);
1054  }
1055  void add_num_shards(uint32_t num_shards) {
1056  fbb_.AddElement<uint32_t>(EmptyOp::VT_NUM_SHARDS, num_shards, 0);
1057  }
1058  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
1059  fbb_.AddOffset(EmptyOp::VT_DEVICE, device);
1060  }
1061  void add_memcfg(::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg) {
1062  fbb_.AddOffset(EmptyOp::VT_MEMCFG, memcfg);
1063  }
1064  void add_strategy(::flatbuffers::Offset<tt::target::DistributionStrategy> strategy) {
1065  fbb_.AddOffset(EmptyOp::VT_STRATEGY, strategy);
1066  }
1067  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1068  fbb_.AddOffset(EmptyOp::VT_OUT, out);
1069  }
1070  explicit EmptyOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1071  : fbb_(_fbb) {
1072  start_ = fbb_.StartTable();
1073  }
1074  ::flatbuffers::Offset<EmptyOp> Finish() {
1075  const auto end = fbb_.EndTable(start_);
1076  auto o = ::flatbuffers::Offset<EmptyOp>(end);
1077  return o;
1078  }
1079 };
1080 
1081 inline ::flatbuffers::Offset<EmptyOp> CreateEmptyOp(
1082  ::flatbuffers::FlatBufferBuilder &_fbb,
1083  ::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> shape = 0,
1086  uint32_t num_shards = 0,
1087  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
1088  ::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg = 0,
1089  ::flatbuffers::Offset<tt::target::DistributionStrategy> strategy = 0,
1090  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
1091  EmptyOpBuilder builder_(_fbb);
1092  builder_.add_out(out);
1093  builder_.add_strategy(strategy);
1094  builder_.add_memcfg(memcfg);
1095  builder_.add_device(device);
1096  builder_.add_num_shards(num_shards);
1097  builder_.add_shape(shape);
1098  builder_.add_layout(layout);
1099  builder_.add_dtype(dtype);
1100  return builder_.Finish();
1101 }
1102 
1104  using type = EmptyOp;
1105  static auto constexpr Create = CreateEmptyOp;
1106 };
1107 
1108 inline ::flatbuffers::Offset<EmptyOp> CreateEmptyOpDirect(
1109  ::flatbuffers::FlatBufferBuilder &_fbb,
1110  const std::vector<int64_t> *shape = nullptr,
1113  uint32_t num_shards = 0,
1114  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
1115  ::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg = 0,
1116  ::flatbuffers::Offset<tt::target::DistributionStrategy> strategy = 0,
1117  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
1118  auto shape__ = shape ? _fbb.CreateVector<int64_t>(*shape) : 0;
1120  _fbb,
1121  shape__,
1122  dtype,
1123  layout,
1124  num_shards,
1125  device,
1126  memcfg,
1127  strategy,
1128  out);
1129 }
1130 
1131 struct FullOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1133  struct Traits;
1134  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1135  VT_DEVICE = 4,
1137  VT_NUM_SHARDS = 8,
1138  VT_STRATEGY = 10,
1139  VT_OUT = 12
1140  };
1141  const tt::target::DeviceRef *device() const {
1142  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
1143  }
1144  float fill_value() const {
1145  return GetField<float>(VT_FILL_VALUE, 0.0f);
1146  }
1147  uint32_t num_shards() const {
1148  return GetField<uint32_t>(VT_NUM_SHARDS, 0);
1149  }
1150  const tt::target::DistributionStrategy *strategy() const {
1151  return GetPointer<const tt::target::DistributionStrategy *>(VT_STRATEGY);
1152  }
1153  const tt::target::TensorRef *out() const {
1154  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1155  }
1156  bool Verify(::flatbuffers::Verifier &verifier) const {
1157  return VerifyTableStart(verifier) &&
1158  VerifyOffset(verifier, VT_DEVICE) &&
1159  verifier.VerifyTable(device()) &&
1160  VerifyField<float>(verifier, VT_FILL_VALUE, 4) &&
1161  VerifyField<uint32_t>(verifier, VT_NUM_SHARDS, 4) &&
1162  VerifyOffset(verifier, VT_STRATEGY) &&
1163  verifier.VerifyTable(strategy()) &&
1164  VerifyOffset(verifier, VT_OUT) &&
1165  verifier.VerifyTable(out()) &&
1166  verifier.EndTable();
1167  }
1168 };
1169 
1171  typedef FullOp Table;
1172  ::flatbuffers::FlatBufferBuilder &fbb_;
1173  ::flatbuffers::uoffset_t start_;
1174  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
1175  fbb_.AddOffset(FullOp::VT_DEVICE, device);
1176  }
1177  void add_fill_value(float fill_value) {
1178  fbb_.AddElement<float>(FullOp::VT_FILL_VALUE, fill_value, 0.0f);
1179  }
1180  void add_num_shards(uint32_t num_shards) {
1181  fbb_.AddElement<uint32_t>(FullOp::VT_NUM_SHARDS, num_shards, 0);
1182  }
1183  void add_strategy(::flatbuffers::Offset<tt::target::DistributionStrategy> strategy) {
1184  fbb_.AddOffset(FullOp::VT_STRATEGY, strategy);
1185  }
1186  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1187  fbb_.AddOffset(FullOp::VT_OUT, out);
1188  }
1189  explicit FullOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1190  : fbb_(_fbb) {
1191  start_ = fbb_.StartTable();
1192  }
1193  ::flatbuffers::Offset<FullOp> Finish() {
1194  const auto end = fbb_.EndTable(start_);
1195  auto o = ::flatbuffers::Offset<FullOp>(end);
1196  return o;
1197  }
1198 };
1199 
1200 inline ::flatbuffers::Offset<FullOp> CreateFullOp(
1201  ::flatbuffers::FlatBufferBuilder &_fbb,
1202  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
1203  float fill_value = 0.0f,
1204  uint32_t num_shards = 0,
1205  ::flatbuffers::Offset<tt::target::DistributionStrategy> strategy = 0,
1206  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
1207  FullOpBuilder builder_(_fbb);
1208  builder_.add_out(out);
1209  builder_.add_strategy(strategy);
1210  builder_.add_num_shards(num_shards);
1211  builder_.add_fill_value(fill_value);
1212  builder_.add_device(device);
1213  return builder_.Finish();
1214 }
1215 
1217  using type = FullOp;
1218  static auto constexpr Create = CreateFullOp;
1219 };
1220 
1221 struct ArangeOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1223  struct Traits;
1224  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1226  VT_END = 6,
1227  VT_STEP = 8,
1228  VT_DTYPE = 10,
1229  VT_DEVICE = 12,
1230  VT_MEMCFG = 14,
1231  VT_OUT = 16
1232  };
1233  float start() const {
1234  return GetField<float>(VT_START, 0.0f);
1235  }
1236  float end() const {
1237  return GetField<float>(VT_END, 0.0f);
1238  }
1239  float step() const {
1240  return GetField<float>(VT_STEP, 0.0f);
1241  }
1242  ::flatbuffers::Optional<tt::target::DataType> dtype() const {
1243  return GetOptional<uint16_t, tt::target::DataType>(VT_DTYPE);
1244  }
1245  const tt::target::DeviceRef *device() const {
1246  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
1247  }
1248  const tt::target::MemoryConfigDesc *memcfg() const {
1249  return GetPointer<const tt::target::MemoryConfigDesc *>(VT_MEMCFG);
1250  }
1251  const tt::target::TensorRef *out() const {
1252  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1253  }
1254  bool Verify(::flatbuffers::Verifier &verifier) const {
1255  return VerifyTableStart(verifier) &&
1256  VerifyField<float>(verifier, VT_START, 4) &&
1257  VerifyField<float>(verifier, VT_END, 4) &&
1258  VerifyField<float>(verifier, VT_STEP, 4) &&
1259  VerifyField<uint16_t>(verifier, VT_DTYPE, 2) &&
1260  VerifyOffset(verifier, VT_DEVICE) &&
1261  verifier.VerifyTable(device()) &&
1262  VerifyOffset(verifier, VT_MEMCFG) &&
1263  verifier.VerifyTable(memcfg()) &&
1264  VerifyOffset(verifier, VT_OUT) &&
1265  verifier.VerifyTable(out()) &&
1266  verifier.EndTable();
1267  }
1268 };
1269 
1271  typedef ArangeOp Table;
1272  ::flatbuffers::FlatBufferBuilder &fbb_;
1273  ::flatbuffers::uoffset_t start_;
1274  void add_start(float start) {
1275  fbb_.AddElement<float>(ArangeOp::VT_START, start, 0.0f);
1276  }
1277  void add_end(float end) {
1278  fbb_.AddElement<float>(ArangeOp::VT_END, end, 0.0f);
1279  }
1280  void add_step(float step) {
1281  fbb_.AddElement<float>(ArangeOp::VT_STEP, step, 0.0f);
1282  }
1284  fbb_.AddElement<uint16_t>(ArangeOp::VT_DTYPE, static_cast<uint16_t>(dtype));
1285  }
1286  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
1287  fbb_.AddOffset(ArangeOp::VT_DEVICE, device);
1288  }
1289  void add_memcfg(::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg) {
1290  fbb_.AddOffset(ArangeOp::VT_MEMCFG, memcfg);
1291  }
1292  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1293  fbb_.AddOffset(ArangeOp::VT_OUT, out);
1294  }
1295  explicit ArangeOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1296  : fbb_(_fbb) {
1297  start_ = fbb_.StartTable();
1298  }
1299  ::flatbuffers::Offset<ArangeOp> Finish() {
1300  const auto end = fbb_.EndTable(start_);
1301  auto o = ::flatbuffers::Offset<ArangeOp>(end);
1302  return o;
1303  }
1304 };
1305 
1306 inline ::flatbuffers::Offset<ArangeOp> CreateArangeOp(
1307  ::flatbuffers::FlatBufferBuilder &_fbb,
1308  float start = 0.0f,
1309  float end = 0.0f,
1310  float step = 0.0f,
1311  ::flatbuffers::Optional<tt::target::DataType> dtype = ::flatbuffers::nullopt,
1312  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
1313  ::flatbuffers::Offset<tt::target::MemoryConfigDesc> memcfg = 0,
1314  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
1315  ArangeOpBuilder builder_(_fbb);
1316  builder_.add_out(out);
1317  builder_.add_memcfg(memcfg);
1318  builder_.add_device(device);
1319  builder_.add_step(step);
1320  builder_.add_end(end);
1321  builder_.add_start(start);
1322  if(dtype) { builder_.add_dtype(*dtype); }
1323  return builder_.Finish();
1324 }
1325 
1327  using type = ArangeOp;
1328  static auto constexpr Create = CreateArangeOp;
1329 };
1330 
1331 struct ClampOpParams FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1333  struct Traits;
1334  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1335  VT_MIN = 4,
1336  VT_MAX = 6
1337  };
1338  float min() const {
1339  return GetField<float>(VT_MIN, 0.0f);
1340  }
1341  float max() const {
1342  return GetField<float>(VT_MAX, 0.0f);
1343  }
1344  bool Verify(::flatbuffers::Verifier &verifier) const {
1345  return VerifyTableStart(verifier) &&
1346  VerifyField<float>(verifier, VT_MIN, 4) &&
1347  VerifyField<float>(verifier, VT_MAX, 4) &&
1348  verifier.EndTable();
1349  }
1350 };
1351 
1354  ::flatbuffers::FlatBufferBuilder &fbb_;
1355  ::flatbuffers::uoffset_t start_;
1356  void add_min(float min) {
1357  fbb_.AddElement<float>(ClampOpParams::VT_MIN, min, 0.0f);
1358  }
1359  void add_max(float max) {
1360  fbb_.AddElement<float>(ClampOpParams::VT_MAX, max, 0.0f);
1361  }
1362  explicit ClampOpParamsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1363  : fbb_(_fbb) {
1364  start_ = fbb_.StartTable();
1365  }
1366  ::flatbuffers::Offset<ClampOpParams> Finish() {
1367  const auto end = fbb_.EndTable(start_);
1368  auto o = ::flatbuffers::Offset<ClampOpParams>(end);
1369  return o;
1370  }
1371 };
1372 
1373 inline ::flatbuffers::Offset<ClampOpParams> CreateClampOpParams(
1374  ::flatbuffers::FlatBufferBuilder &_fbb,
1375  float min = 0.0f,
1376  float max = 0.0f) {
1377  ClampOpParamsBuilder builder_(_fbb);
1378  builder_.add_max(max);
1379  builder_.add_min(min);
1380  return builder_.Finish();
1381 }
1382 
1385  static auto constexpr Create = CreateClampOpParams;
1386 };
1387 
1388 struct EltwiseOpWithFloatParams FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1390  struct Traits;
1391  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1392  VT_PARAMETER = 4
1393  };
1394  float parameter() const {
1395  return GetField<float>(VT_PARAMETER, 0.0f);
1396  }
1397  bool Verify(::flatbuffers::Verifier &verifier) const {
1398  return VerifyTableStart(verifier) &&
1399  VerifyField<float>(verifier, VT_PARAMETER, 4) &&
1400  verifier.EndTable();
1401  }
1402 };
1403 
1406  ::flatbuffers::FlatBufferBuilder &fbb_;
1407  ::flatbuffers::uoffset_t start_;
1408  void add_parameter(float parameter) {
1409  fbb_.AddElement<float>(EltwiseOpWithFloatParams::VT_PARAMETER, parameter, 0.0f);
1410  }
1411  explicit EltwiseOpWithFloatParamsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1412  : fbb_(_fbb) {
1413  start_ = fbb_.StartTable();
1414  }
1415  ::flatbuffers::Offset<EltwiseOpWithFloatParams> Finish() {
1416  const auto end = fbb_.EndTable(start_);
1417  auto o = ::flatbuffers::Offset<EltwiseOpWithFloatParams>(end);
1418  return o;
1419  }
1420 };
1421 
1422 inline ::flatbuffers::Offset<EltwiseOpWithFloatParams> CreateEltwiseOpWithFloatParams(
1423  ::flatbuffers::FlatBufferBuilder &_fbb,
1424  float parameter = 0.0f) {
1425  EltwiseOpWithFloatParamsBuilder builder_(_fbb);
1426  builder_.add_parameter(parameter);
1427  return builder_.Finish();
1428 }
1429 
1432  static auto constexpr Create = CreateEltwiseOpWithFloatParams;
1433 };
1434 
1435 struct EltwiseOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1437  struct Traits;
1438  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1439  VT_TYPE = 4,
1440  VT_INS = 6,
1441  VT_OUT = 8,
1443  VT_PARAMS = 12
1444  };
1446  return static_cast<tt::target::ttnn::EltwiseOpType>(GetField<uint32_t>(VT_TYPE, 0));
1447  }
1448  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *ins() const {
1449  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *>(VT_INS);
1450  }
1451  const tt::target::TensorRef *out() const {
1452  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1453  }
1455  return static_cast<tt::target::ttnn::EltwiseOpParams>(GetField<uint8_t>(VT_PARAMS_TYPE, 0));
1456  }
1457  const void *params() const {
1458  return GetPointer<const void *>(VT_PARAMS);
1459  }
1460  template<typename T> const T *params_as() const;
1461  const tt::target::ttnn::ClampOpParams *params_as_ClampOpParams() const {
1462  return params_type() == tt::target::ttnn::EltwiseOpParams::ClampOpParams ? static_cast<const tt::target::ttnn::ClampOpParams *>(params()) : nullptr;
1463  }
1464  const tt::target::ttnn::EltwiseOpWithFloatParams *params_as_EltwiseOpWithFloatParams() const {
1465  return params_type() == tt::target::ttnn::EltwiseOpParams::EltwiseOpWithFloatParams ? static_cast<const tt::target::ttnn::EltwiseOpWithFloatParams *>(params()) : nullptr;
1466  }
1467  bool Verify(::flatbuffers::Verifier &verifier) const {
1468  return VerifyTableStart(verifier) &&
1469  VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
1470  VerifyOffset(verifier, VT_INS) &&
1471  verifier.VerifyVector(ins()) &&
1472  verifier.VerifyVectorOfTables(ins()) &&
1473  VerifyOffset(verifier, VT_OUT) &&
1474  verifier.VerifyTable(out()) &&
1475  VerifyField<uint8_t>(verifier, VT_PARAMS_TYPE, 1) &&
1476  VerifyOffset(verifier, VT_PARAMS) &&
1477  VerifyEltwiseOpParams(verifier, params(), params_type()) &&
1478  verifier.EndTable();
1479  }
1480 };
1481 
1482 template<> inline const tt::target::ttnn::ClampOpParams *EltwiseOp::params_as<tt::target::ttnn::ClampOpParams>() const {
1483  return params_as_ClampOpParams();
1484 }
1485 
1486 template<> inline const tt::target::ttnn::EltwiseOpWithFloatParams *EltwiseOp::params_as<tt::target::ttnn::EltwiseOpWithFloatParams>() const {
1487  return params_as_EltwiseOpWithFloatParams();
1488 }
1489 
1491  typedef EltwiseOp Table;
1492  ::flatbuffers::FlatBufferBuilder &fbb_;
1493  ::flatbuffers::uoffset_t start_;
1495  fbb_.AddElement<uint32_t>(EltwiseOp::VT_TYPE, static_cast<uint32_t>(type), 0);
1496  }
1497  void add_ins(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> ins) {
1498  fbb_.AddOffset(EltwiseOp::VT_INS, ins);
1499  }
1500  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1501  fbb_.AddOffset(EltwiseOp::VT_OUT, out);
1502  }
1504  fbb_.AddElement<uint8_t>(EltwiseOp::VT_PARAMS_TYPE, static_cast<uint8_t>(params_type), 0);
1505  }
1506  void add_params(::flatbuffers::Offset<void> params) {
1507  fbb_.AddOffset(EltwiseOp::VT_PARAMS, params);
1508  }
1509  explicit EltwiseOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1510  : fbb_(_fbb) {
1511  start_ = fbb_.StartTable();
1512  }
1513  ::flatbuffers::Offset<EltwiseOp> Finish() {
1514  const auto end = fbb_.EndTable(start_);
1515  auto o = ::flatbuffers::Offset<EltwiseOp>(end);
1516  return o;
1517  }
1518 };
1519 
1520 inline ::flatbuffers::Offset<EltwiseOp> CreateEltwiseOp(
1521  ::flatbuffers::FlatBufferBuilder &_fbb,
1523  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> ins = 0,
1524  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1526  ::flatbuffers::Offset<void> params = 0) {
1527  EltwiseOpBuilder builder_(_fbb);
1528  builder_.add_params(params);
1529  builder_.add_out(out);
1530  builder_.add_ins(ins);
1531  builder_.add_type(type);
1532  builder_.add_params_type(params_type);
1533  return builder_.Finish();
1534 }
1535 
1537  using type = EltwiseOp;
1538  static auto constexpr Create = CreateEltwiseOp;
1539 };
1540 
1541 inline ::flatbuffers::Offset<EltwiseOp> CreateEltwiseOpDirect(
1542  ::flatbuffers::FlatBufferBuilder &_fbb,
1544  const std::vector<::flatbuffers::Offset<tt::target::TensorRef>> *ins = nullptr,
1545  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1547  ::flatbuffers::Offset<void> params = 0) {
1548  auto ins__ = ins ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::TensorRef>>(*ins) : 0;
1550  _fbb,
1551  type,
1552  ins__,
1553  out,
1554  params_type,
1555  params);
1556 }
1557 
1558 struct ReductionOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1560  struct Traits;
1561  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1562  VT_TYPE = 4,
1563  VT_IN = 6,
1564  VT_OUT = 8,
1566  VT_KEEP_DIM = 12
1567  };
1569  return static_cast<tt::target::ttnn::ReductionOpType>(GetField<uint32_t>(VT_TYPE, 0));
1570  }
1571  const tt::target::TensorRef *in() const {
1572  return GetPointer<const tt::target::TensorRef *>(VT_IN);
1573  }
1574  const tt::target::TensorRef *out() const {
1575  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1576  }
1577  const ::flatbuffers::Vector<int32_t> *dim_arg() const {
1578  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DIM_ARG);
1579  }
1580  bool keep_dim() const {
1581  return GetField<uint8_t>(VT_KEEP_DIM, 0) != 0;
1582  }
1583  bool Verify(::flatbuffers::Verifier &verifier) const {
1584  return VerifyTableStart(verifier) &&
1585  VerifyField<uint32_t>(verifier, VT_TYPE, 4) &&
1586  VerifyOffset(verifier, VT_IN) &&
1587  verifier.VerifyTable(in()) &&
1588  VerifyOffset(verifier, VT_OUT) &&
1589  verifier.VerifyTable(out()) &&
1590  VerifyOffset(verifier, VT_DIM_ARG) &&
1591  verifier.VerifyVector(dim_arg()) &&
1592  VerifyField<uint8_t>(verifier, VT_KEEP_DIM, 1) &&
1593  verifier.EndTable();
1594  }
1595 };
1596 
1599  ::flatbuffers::FlatBufferBuilder &fbb_;
1600  ::flatbuffers::uoffset_t start_;
1602  fbb_.AddElement<uint32_t>(ReductionOp::VT_TYPE, static_cast<uint32_t>(type), 0);
1603  }
1604  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
1605  fbb_.AddOffset(ReductionOp::VT_IN, in);
1606  }
1607  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1608  fbb_.AddOffset(ReductionOp::VT_OUT, out);
1609  }
1610  void add_dim_arg(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dim_arg) {
1611  fbb_.AddOffset(ReductionOp::VT_DIM_ARG, dim_arg);
1612  }
1613  void add_keep_dim(bool keep_dim) {
1614  fbb_.AddElement<uint8_t>(ReductionOp::VT_KEEP_DIM, static_cast<uint8_t>(keep_dim), 0);
1615  }
1616  explicit ReductionOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1617  : fbb_(_fbb) {
1618  start_ = fbb_.StartTable();
1619  }
1620  ::flatbuffers::Offset<ReductionOp> Finish() {
1621  const auto end = fbb_.EndTable(start_);
1622  auto o = ::flatbuffers::Offset<ReductionOp>(end);
1623  return o;
1624  }
1625 };
1626 
1627 inline ::flatbuffers::Offset<ReductionOp> CreateReductionOp(
1628  ::flatbuffers::FlatBufferBuilder &_fbb,
1630  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
1631  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1632  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dim_arg = 0,
1633  bool keep_dim = false) {
1634  ReductionOpBuilder builder_(_fbb);
1635  builder_.add_dim_arg(dim_arg);
1636  builder_.add_out(out);
1637  builder_.add_in(in);
1638  builder_.add_type(type);
1639  builder_.add_keep_dim(keep_dim);
1640  return builder_.Finish();
1641 }
1642 
1645  static auto constexpr Create = CreateReductionOp;
1646 };
1647 
1648 inline ::flatbuffers::Offset<ReductionOp> CreateReductionOpDirect(
1649  ::flatbuffers::FlatBufferBuilder &_fbb,
1651  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
1652  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1653  const std::vector<int32_t> *dim_arg = nullptr,
1654  bool keep_dim = false) {
1655  auto dim_arg__ = dim_arg ? _fbb.CreateVector<int32_t>(*dim_arg) : 0;
1657  _fbb,
1658  type,
1659  in,
1660  out,
1661  dim_arg__,
1662  keep_dim);
1663 }
1664 
1665 struct EmbeddingOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1667  struct Traits;
1668  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1671  VT_OUT = 8
1672  };
1673  const tt::target::TensorRef *input() const {
1674  return GetPointer<const tt::target::TensorRef *>(VT_INPUT);
1675  }
1676  const tt::target::TensorRef *weight() const {
1677  return GetPointer<const tt::target::TensorRef *>(VT_WEIGHT);
1678  }
1679  const tt::target::TensorRef *out() const {
1680  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1681  }
1682  bool Verify(::flatbuffers::Verifier &verifier) const {
1683  return VerifyTableStart(verifier) &&
1684  VerifyOffset(verifier, VT_INPUT) &&
1685  verifier.VerifyTable(input()) &&
1686  VerifyOffset(verifier, VT_WEIGHT) &&
1687  verifier.VerifyTable(weight()) &&
1688  VerifyOffset(verifier, VT_OUT) &&
1689  verifier.VerifyTable(out()) &&
1690  verifier.EndTable();
1691  }
1692 };
1693 
1696  ::flatbuffers::FlatBufferBuilder &fbb_;
1697  ::flatbuffers::uoffset_t start_;
1698  void add_input(::flatbuffers::Offset<tt::target::TensorRef> input) {
1699  fbb_.AddOffset(EmbeddingOp::VT_INPUT, input);
1700  }
1701  void add_weight(::flatbuffers::Offset<tt::target::TensorRef> weight) {
1702  fbb_.AddOffset(EmbeddingOp::VT_WEIGHT, weight);
1703  }
1704  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1705  fbb_.AddOffset(EmbeddingOp::VT_OUT, out);
1706  }
1707  explicit EmbeddingOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1708  : fbb_(_fbb) {
1709  start_ = fbb_.StartTable();
1710  }
1711  ::flatbuffers::Offset<EmbeddingOp> Finish() {
1712  const auto end = fbb_.EndTable(start_);
1713  auto o = ::flatbuffers::Offset<EmbeddingOp>(end);
1714  return o;
1715  }
1716 };
1717 
1718 inline ::flatbuffers::Offset<EmbeddingOp> CreateEmbeddingOp(
1719  ::flatbuffers::FlatBufferBuilder &_fbb,
1720  ::flatbuffers::Offset<tt::target::TensorRef> input = 0,
1721  ::flatbuffers::Offset<tt::target::TensorRef> weight = 0,
1722  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
1723  EmbeddingOpBuilder builder_(_fbb);
1724  builder_.add_out(out);
1725  builder_.add_weight(weight);
1726  builder_.add_input(input);
1727  return builder_.Finish();
1728 }
1729 
1732  static auto constexpr Create = CreateEmbeddingOp;
1733 };
1734 
1735 struct SoftmaxOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1737  struct Traits;
1738  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1739  VT_IN = 4,
1740  VT_OUT = 6,
1741  VT_DIMENSION = 8
1742  };
1743  const tt::target::TensorRef *in() const {
1744  return GetPointer<const tt::target::TensorRef *>(VT_IN);
1745  }
1746  const tt::target::TensorRef *out() const {
1747  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1748  }
1749  int32_t dimension() const {
1750  return GetField<int32_t>(VT_DIMENSION, 0);
1751  }
1752  bool Verify(::flatbuffers::Verifier &verifier) const {
1753  return VerifyTableStart(verifier) &&
1754  VerifyOffset(verifier, VT_IN) &&
1755  verifier.VerifyTable(in()) &&
1756  VerifyOffset(verifier, VT_OUT) &&
1757  verifier.VerifyTable(out()) &&
1758  VerifyField<int32_t>(verifier, VT_DIMENSION, 4) &&
1759  verifier.EndTable();
1760  }
1761 };
1762 
1764  typedef SoftmaxOp Table;
1765  ::flatbuffers::FlatBufferBuilder &fbb_;
1766  ::flatbuffers::uoffset_t start_;
1767  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
1768  fbb_.AddOffset(SoftmaxOp::VT_IN, in);
1769  }
1770  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1771  fbb_.AddOffset(SoftmaxOp::VT_OUT, out);
1772  }
1773  void add_dimension(int32_t dimension) {
1774  fbb_.AddElement<int32_t>(SoftmaxOp::VT_DIMENSION, dimension, 0);
1775  }
1776  explicit SoftmaxOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1777  : fbb_(_fbb) {
1778  start_ = fbb_.StartTable();
1779  }
1780  ::flatbuffers::Offset<SoftmaxOp> Finish() {
1781  const auto end = fbb_.EndTable(start_);
1782  auto o = ::flatbuffers::Offset<SoftmaxOp>(end);
1783  return o;
1784  }
1785 };
1786 
1787 inline ::flatbuffers::Offset<SoftmaxOp> CreateSoftmaxOp(
1788  ::flatbuffers::FlatBufferBuilder &_fbb,
1789  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
1790  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1791  int32_t dimension = 0) {
1792  SoftmaxOpBuilder builder_(_fbb);
1793  builder_.add_dimension(dimension);
1794  builder_.add_out(out);
1795  builder_.add_in(in);
1796  return builder_.Finish();
1797 }
1798 
1800  using type = SoftmaxOp;
1801  static auto constexpr Create = CreateSoftmaxOp;
1802 };
1803 
1804 struct TransposeOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1806  struct Traits;
1807  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1808  VT_IN = 4,
1809  VT_OUT = 6,
1810  VT_DIM0 = 8,
1811  VT_DIM1 = 10
1812  };
1813  const tt::target::TensorRef *in() const {
1814  return GetPointer<const tt::target::TensorRef *>(VT_IN);
1815  }
1816  const tt::target::TensorRef *out() const {
1817  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1818  }
1819  int32_t dim0() const {
1820  return GetField<int32_t>(VT_DIM0, 0);
1821  }
1822  int32_t dim1() const {
1823  return GetField<int32_t>(VT_DIM1, 0);
1824  }
1825  bool Verify(::flatbuffers::Verifier &verifier) const {
1826  return VerifyTableStart(verifier) &&
1827  VerifyOffset(verifier, VT_IN) &&
1828  verifier.VerifyTable(in()) &&
1829  VerifyOffset(verifier, VT_OUT) &&
1830  verifier.VerifyTable(out()) &&
1831  VerifyField<int32_t>(verifier, VT_DIM0, 4) &&
1832  VerifyField<int32_t>(verifier, VT_DIM1, 4) &&
1833  verifier.EndTable();
1834  }
1835 };
1836 
1839  ::flatbuffers::FlatBufferBuilder &fbb_;
1840  ::flatbuffers::uoffset_t start_;
1841  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
1842  fbb_.AddOffset(TransposeOp::VT_IN, in);
1843  }
1844  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1845  fbb_.AddOffset(TransposeOp::VT_OUT, out);
1846  }
1847  void add_dim0(int32_t dim0) {
1848  fbb_.AddElement<int32_t>(TransposeOp::VT_DIM0, dim0, 0);
1849  }
1850  void add_dim1(int32_t dim1) {
1851  fbb_.AddElement<int32_t>(TransposeOp::VT_DIM1, dim1, 0);
1852  }
1853  explicit TransposeOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1854  : fbb_(_fbb) {
1855  start_ = fbb_.StartTable();
1856  }
1857  ::flatbuffers::Offset<TransposeOp> Finish() {
1858  const auto end = fbb_.EndTable(start_);
1859  auto o = ::flatbuffers::Offset<TransposeOp>(end);
1860  return o;
1861  }
1862 };
1863 
1864 inline ::flatbuffers::Offset<TransposeOp> CreateTransposeOp(
1865  ::flatbuffers::FlatBufferBuilder &_fbb,
1866  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
1867  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1868  int32_t dim0 = 0,
1869  int32_t dim1 = 0) {
1870  TransposeOpBuilder builder_(_fbb);
1871  builder_.add_dim1(dim1);
1872  builder_.add_dim0(dim0);
1873  builder_.add_out(out);
1874  builder_.add_in(in);
1875  return builder_.Finish();
1876 }
1877 
1880  static auto constexpr Create = CreateTransposeOp;
1881 };
1882 
1883 struct ConcatOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1885  struct Traits;
1886  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1888  VT_OUT = 6,
1889  VT_DIM = 8
1890  };
1891  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *inputs() const {
1892  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *>(VT_INPUTS);
1893  }
1894  const tt::target::TensorRef *out() const {
1895  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1896  }
1897  int32_t dim() const {
1898  return GetField<int32_t>(VT_DIM, 0);
1899  }
1900  bool Verify(::flatbuffers::Verifier &verifier) const {
1901  return VerifyTableStart(verifier) &&
1902  VerifyOffset(verifier, VT_INPUTS) &&
1903  verifier.VerifyVector(inputs()) &&
1904  verifier.VerifyVectorOfTables(inputs()) &&
1905  VerifyOffset(verifier, VT_OUT) &&
1906  verifier.VerifyTable(out()) &&
1907  VerifyField<int32_t>(verifier, VT_DIM, 4) &&
1908  verifier.EndTable();
1909  }
1910 };
1911 
1913  typedef ConcatOp Table;
1914  ::flatbuffers::FlatBufferBuilder &fbb_;
1915  ::flatbuffers::uoffset_t start_;
1916  void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> inputs) {
1917  fbb_.AddOffset(ConcatOp::VT_INPUTS, inputs);
1918  }
1919  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
1920  fbb_.AddOffset(ConcatOp::VT_OUT, out);
1921  }
1922  void add_dim(int32_t dim) {
1923  fbb_.AddElement<int32_t>(ConcatOp::VT_DIM, dim, 0);
1924  }
1925  explicit ConcatOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1926  : fbb_(_fbb) {
1927  start_ = fbb_.StartTable();
1928  }
1929  ::flatbuffers::Offset<ConcatOp> Finish() {
1930  const auto end = fbb_.EndTable(start_);
1931  auto o = ::flatbuffers::Offset<ConcatOp>(end);
1932  return o;
1933  }
1934 };
1935 
1936 inline ::flatbuffers::Offset<ConcatOp> CreateConcatOp(
1937  ::flatbuffers::FlatBufferBuilder &_fbb,
1938  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> inputs = 0,
1939  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1940  int32_t dim = 0) {
1941  ConcatOpBuilder builder_(_fbb);
1942  builder_.add_dim(dim);
1943  builder_.add_out(out);
1944  builder_.add_inputs(inputs);
1945  return builder_.Finish();
1946 }
1947 
1949  using type = ConcatOp;
1950  static auto constexpr Create = CreateConcatOp;
1951 };
1952 
1953 inline ::flatbuffers::Offset<ConcatOp> CreateConcatOpDirect(
1954  ::flatbuffers::FlatBufferBuilder &_fbb,
1955  const std::vector<::flatbuffers::Offset<tt::target::TensorRef>> *inputs = nullptr,
1956  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
1957  int32_t dim = 0) {
1958  auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::TensorRef>>(*inputs) : 0;
1960  _fbb,
1961  inputs__,
1962  out,
1963  dim);
1964 }
1965 
1966 struct ReshapeOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
1968  struct Traits;
1969  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1970  VT_IN = 4,
1971  VT_OUT = 6,
1972  VT_SHAPE = 8
1973  };
1974  const tt::target::TensorRef *in() const {
1975  return GetPointer<const tt::target::TensorRef *>(VT_IN);
1976  }
1977  const tt::target::TensorRef *out() const {
1978  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
1979  }
1980  const ::flatbuffers::Vector<int32_t> *shape() const {
1981  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
1982  }
1983  bool Verify(::flatbuffers::Verifier &verifier) const {
1984  return VerifyTableStart(verifier) &&
1985  VerifyOffset(verifier, VT_IN) &&
1986  verifier.VerifyTable(in()) &&
1987  VerifyOffset(verifier, VT_OUT) &&
1988  verifier.VerifyTable(out()) &&
1989  VerifyOffset(verifier, VT_SHAPE) &&
1990  verifier.VerifyVector(shape()) &&
1991  verifier.EndTable();
1992  }
1993 };
1994 
1996  typedef ReshapeOp Table;
1997  ::flatbuffers::FlatBufferBuilder &fbb_;
1998  ::flatbuffers::uoffset_t start_;
1999  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
2000  fbb_.AddOffset(ReshapeOp::VT_IN, in);
2001  }
2002  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
2003  fbb_.AddOffset(ReshapeOp::VT_OUT, out);
2004  }
2005  void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
2006  fbb_.AddOffset(ReshapeOp::VT_SHAPE, shape);
2007  }
2008  explicit ReshapeOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2009  : fbb_(_fbb) {
2010  start_ = fbb_.StartTable();
2011  }
2012  ::flatbuffers::Offset<ReshapeOp> Finish() {
2013  const auto end = fbb_.EndTable(start_);
2014  auto o = ::flatbuffers::Offset<ReshapeOp>(end);
2015  return o;
2016  }
2017 };
2018 
2019 inline ::flatbuffers::Offset<ReshapeOp> CreateReshapeOp(
2020  ::flatbuffers::FlatBufferBuilder &_fbb,
2021  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
2022  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
2023  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0) {
2024  ReshapeOpBuilder builder_(_fbb);
2025  builder_.add_shape(shape);
2026  builder_.add_out(out);
2027  builder_.add_in(in);
2028  return builder_.Finish();
2029 }
2030 
2032  using type = ReshapeOp;
2033  static auto constexpr Create = CreateReshapeOp;
2034 };
2035 
2036 inline ::flatbuffers::Offset<ReshapeOp> CreateReshapeOpDirect(
2037  ::flatbuffers::FlatBufferBuilder &_fbb,
2038  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
2039  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
2040  const std::vector<int32_t> *shape = nullptr) {
2041  auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
2043  _fbb,
2044  in,
2045  out,
2046  shape__);
2047 }
2048 
2049 struct SliceOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2051  struct Traits;
2052  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2053  VT_IN = 4,
2054  VT_OUT = 6,
2056  VT_ENDS = 10,
2057  VT_STEP = 12
2058  };
2059  const tt::target::TensorRef *in() const {
2060  return GetPointer<const tt::target::TensorRef *>(VT_IN);
2061  }
2062  const tt::target::TensorRef *out() const {
2063  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
2064  }
2065  const ::flatbuffers::Vector<int64_t> *begins() const {
2066  return GetPointer<const ::flatbuffers::Vector<int64_t> *>(VT_BEGINS);
2067  }
2068  const ::flatbuffers::Vector<int64_t> *ends() const {
2069  return GetPointer<const ::flatbuffers::Vector<int64_t> *>(VT_ENDS);
2070  }
2071  const ::flatbuffers::Vector<int64_t> *step() const {
2072  return GetPointer<const ::flatbuffers::Vector<int64_t> *>(VT_STEP);
2073  }
2074  bool Verify(::flatbuffers::Verifier &verifier) const {
2075  return VerifyTableStart(verifier) &&
2076  VerifyOffset(verifier, VT_IN) &&
2077  verifier.VerifyTable(in()) &&
2078  VerifyOffset(verifier, VT_OUT) &&
2079  verifier.VerifyTable(out()) &&
2080  VerifyOffset(verifier, VT_BEGINS) &&
2081  verifier.VerifyVector(begins()) &&
2082  VerifyOffset(verifier, VT_ENDS) &&
2083  verifier.VerifyVector(ends()) &&
2084  VerifyOffset(verifier, VT_STEP) &&
2085  verifier.VerifyVector(step()) &&
2086  verifier.EndTable();
2087  }
2088 };
2089 
2091  typedef SliceOp Table;
2092  ::flatbuffers::FlatBufferBuilder &fbb_;
2093  ::flatbuffers::uoffset_t start_;
2094  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
2095  fbb_.AddOffset(SliceOp::VT_IN, in);
2096  }
2097  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
2098  fbb_.AddOffset(SliceOp::VT_OUT, out);
2099  }
2100  void add_begins(::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> begins) {
2101  fbb_.AddOffset(SliceOp::VT_BEGINS, begins);
2102  }
2103  void add_ends(::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> ends) {
2104  fbb_.AddOffset(SliceOp::VT_ENDS, ends);
2105  }
2106  void add_step(::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> step) {
2107  fbb_.AddOffset(SliceOp::VT_STEP, step);
2108  }
2109  explicit SliceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2110  : fbb_(_fbb) {
2111  start_ = fbb_.StartTable();
2112  }
2113  ::flatbuffers::Offset<SliceOp> Finish() {
2114  const auto end = fbb_.EndTable(start_);
2115  auto o = ::flatbuffers::Offset<SliceOp>(end);
2116  return o;
2117  }
2118 };
2119 
2120 inline ::flatbuffers::Offset<SliceOp> CreateSliceOp(
2121  ::flatbuffers::FlatBufferBuilder &_fbb,
2122  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
2123  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
2124  ::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> begins = 0,
2125  ::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> ends = 0,
2126  ::flatbuffers::Offset<::flatbuffers::Vector<int64_t>> step = 0) {
2127  SliceOpBuilder builder_(_fbb);
2128  builder_.add_step(step);
2129  builder_.add_ends(ends);
2130  builder_.add_begins(begins);
2131  builder_.add_out(out);
2132  builder_.add_in(in);
2133  return builder_.Finish();
2134 }
2135 
2137  using type = SliceOp;
2138  static auto constexpr Create = CreateSliceOp;
2139 };
2140 
2141 inline ::flatbuffers::Offset<SliceOp> CreateSliceOpDirect(
2142  ::flatbuffers::FlatBufferBuilder &_fbb,
2143  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
2144  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
2145  const std::vector<int64_t> *begins = nullptr,
2146  const std::vector<int64_t> *ends = nullptr,
2147  const std::vector<int64_t> *step = nullptr) {
2148  auto begins__ = begins ? _fbb.CreateVector<int64_t>(*begins) : 0;
2149  auto ends__ = ends ? _fbb.CreateVector<int64_t>(*ends) : 0;
2150  auto step__ = step ? _fbb.CreateVector<int64_t>(*step) : 0;
2152  _fbb,
2153  in,
2154  out,
2155  begins__,
2156  ends__,
2157  step__);
2158 }
2159 
2160 struct LinearOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2162  struct Traits;
2163  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2164  VT_IN0 = 4,
2165  VT_IN1 = 6,
2166  VT_BIAS = 8,
2167  VT_OUT = 10
2168  };
2169  const tt::target::TensorRef *in0() const {
2170  return GetPointer<const tt::target::TensorRef *>(VT_IN0);
2171  }
2172  const tt::target::TensorRef *in1() const {
2173  return GetPointer<const tt::target::TensorRef *>(VT_IN1);
2174  }
2175  const tt::target::TensorRef *bias() const {
2176  return GetPointer<const tt::target::TensorRef *>(VT_BIAS);
2177  }
2178  const tt::target::TensorRef *out() const {
2179  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
2180  }
2181  bool Verify(::flatbuffers::Verifier &verifier) const {
2182  return VerifyTableStart(verifier) &&
2183  VerifyOffset(verifier, VT_IN0) &&
2184  verifier.VerifyTable(in0()) &&
2185  VerifyOffset(verifier, VT_IN1) &&
2186  verifier.VerifyTable(in1()) &&
2187  VerifyOffset(verifier, VT_BIAS) &&
2188  verifier.VerifyTable(bias()) &&
2189  VerifyOffset(verifier, VT_OUT) &&
2190  verifier.VerifyTable(out()) &&
2191  verifier.EndTable();
2192  }
2193 };
2194 
2196  typedef LinearOp Table;
2197  ::flatbuffers::FlatBufferBuilder &fbb_;
2198  ::flatbuffers::uoffset_t start_;
2199  void add_in0(::flatbuffers::Offset<tt::target::TensorRef> in0) {
2200  fbb_.AddOffset(LinearOp::VT_IN0, in0);
2201  }
2202  void add_in1(::flatbuffers::Offset<tt::target::TensorRef> in1) {
2203  fbb_.AddOffset(LinearOp::VT_IN1, in1);
2204  }
2205  void add_bias(::flatbuffers::Offset<tt::target::TensorRef> bias) {
2206  fbb_.AddOffset(LinearOp::VT_BIAS, bias);
2207  }
2208  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
2209  fbb_.AddOffset(LinearOp::VT_OUT, out);
2210  }
2211  explicit LinearOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2212  : fbb_(_fbb) {
2213  start_ = fbb_.StartTable();
2214  }
2215  ::flatbuffers::Offset<LinearOp> Finish() {
2216  const auto end = fbb_.EndTable(start_);
2217  auto o = ::flatbuffers::Offset<LinearOp>(end);
2218  return o;
2219  }
2220 };
2221 
2222 inline ::flatbuffers::Offset<LinearOp> CreateLinearOp(
2223  ::flatbuffers::FlatBufferBuilder &_fbb,
2224  ::flatbuffers::Offset<tt::target::TensorRef> in0 = 0,
2225  ::flatbuffers::Offset<tt::target::TensorRef> in1 = 0,
2226  ::flatbuffers::Offset<tt::target::TensorRef> bias = 0,
2227  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
2228  LinearOpBuilder builder_(_fbb);
2229  builder_.add_out(out);
2230  builder_.add_bias(bias);
2231  builder_.add_in1(in1);
2232  builder_.add_in0(in0);
2233  return builder_.Finish();
2234 }
2235 
2237  using type = LinearOp;
2238  static auto constexpr Create = CreateLinearOp;
2239 };
2240 
2241 struct MatmulOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2243  struct Traits;
2244  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2245  VT_IN0 = 4,
2246  VT_IN1 = 6,
2247  VT_OUT = 8
2248  };
2249  const tt::target::TensorRef *in0() const {
2250  return GetPointer<const tt::target::TensorRef *>(VT_IN0);
2251  }
2252  const tt::target::TensorRef *in1() const {
2253  return GetPointer<const tt::target::TensorRef *>(VT_IN1);
2254  }
2255  const tt::target::TensorRef *out() const {
2256  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
2257  }
2258  bool Verify(::flatbuffers::Verifier &verifier) const {
2259  return VerifyTableStart(verifier) &&
2260  VerifyOffset(verifier, VT_IN0) &&
2261  verifier.VerifyTable(in0()) &&
2262  VerifyOffset(verifier, VT_IN1) &&
2263  verifier.VerifyTable(in1()) &&
2264  VerifyOffset(verifier, VT_OUT) &&
2265  verifier.VerifyTable(out()) &&
2266  verifier.EndTable();
2267  }
2268 };
2269 
2271  typedef MatmulOp Table;
2272  ::flatbuffers::FlatBufferBuilder &fbb_;
2273  ::flatbuffers::uoffset_t start_;
2274  void add_in0(::flatbuffers::Offset<tt::target::TensorRef> in0) {
2275  fbb_.AddOffset(MatmulOp::VT_IN0, in0);
2276  }
2277  void add_in1(::flatbuffers::Offset<tt::target::TensorRef> in1) {
2278  fbb_.AddOffset(MatmulOp::VT_IN1, in1);
2279  }
2280  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
2281  fbb_.AddOffset(MatmulOp::VT_OUT, out);
2282  }
2283  explicit MatmulOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2284  : fbb_(_fbb) {
2285  start_ = fbb_.StartTable();
2286  }
2287  ::flatbuffers::Offset<MatmulOp> Finish() {
2288  const auto end = fbb_.EndTable(start_);
2289  auto o = ::flatbuffers::Offset<MatmulOp>(end);
2290  return o;
2291  }
2292 };
2293 
2294 inline ::flatbuffers::Offset<MatmulOp> CreateMatmulOp(
2295  ::flatbuffers::FlatBufferBuilder &_fbb,
2296  ::flatbuffers::Offset<tt::target::TensorRef> in0 = 0,
2297  ::flatbuffers::Offset<tt::target::TensorRef> in1 = 0,
2298  ::flatbuffers::Offset<tt::target::TensorRef> out = 0) {
2299  MatmulOpBuilder builder_(_fbb);
2300  builder_.add_out(out);
2301  builder_.add_in1(in1);
2302  builder_.add_in0(in0);
2303  return builder_.Finish();
2304 }
2305 
2307  using type = MatmulOp;
2308  static auto constexpr Create = CreateMatmulOp;
2309 };
2310 
2311 struct Conv2dOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2313  struct Traits;
2314  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2315  VT_INPUT = 4,
2316  VT_WEIGHT = 6,
2317  VT_BIAS = 8,
2318  VT_OUT = 10,
2319  VT_DEVICE = 12,
2333  VT_GROUPS = 40
2334  };
2335  const tt::target::TensorRef *input() const {
2336  return GetPointer<const tt::target::TensorRef *>(VT_INPUT);
2337  }
2338  const tt::target::TensorRef *weight() const {
2339  return GetPointer<const tt::target::TensorRef *>(VT_WEIGHT);
2340  }
2341  const tt::target::TensorRef *bias() const {
2342  return GetPointer<const tt::target::TensorRef *>(VT_BIAS);
2343  }
2344  const tt::target::TensorRef *out() const {
2345  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
2346  }
2347  const tt::target::DeviceRef *device() const {
2348  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
2349  }
2350  uint32_t in_channels() const {
2351  return GetField<uint32_t>(VT_IN_CHANNELS, 0);
2352  }
2353  uint32_t out_channels() const {
2354  return GetField<uint32_t>(VT_OUT_CHANNELS, 0);
2355  }
2356  uint32_t batch_size() const {
2357  return GetField<uint32_t>(VT_BATCH_SIZE, 0);
2358  }
2359  uint32_t input_height() const {
2360  return GetField<uint32_t>(VT_INPUT_HEIGHT, 0);
2361  }
2362  uint32_t input_width() const {
2363  return GetField<uint32_t>(VT_INPUT_WIDTH, 0);
2364  }
2365  uint32_t kernel_height() const {
2366  return GetField<uint32_t>(VT_KERNEL_HEIGHT, 0);
2367  }
2368  uint32_t kernel_width() const {
2369  return GetField<uint32_t>(VT_KERNEL_WIDTH, 0);
2370  }
2371  uint32_t stride_height() const {
2372  return GetField<uint32_t>(VT_STRIDE_HEIGHT, 0);
2373  }
2374  uint32_t stride_width() const {
2375  return GetField<uint32_t>(VT_STRIDE_WIDTH, 0);
2376  }
2377  uint32_t padding_height() const {
2378  return GetField<uint32_t>(VT_PADDING_HEIGHT, 0);
2379  }
2380  uint32_t padding_width() const {
2381  return GetField<uint32_t>(VT_PADDING_WIDTH, 0);
2382  }
2383  uint32_t dilation_height() const {
2384  return GetField<uint32_t>(VT_DILATION_HEIGHT, 0);
2385  }
2386  uint32_t dilation_width() const {
2387  return GetField<uint32_t>(VT_DILATION_WIDTH, 0);
2388  }
2389  uint32_t groups() const {
2390  return GetField<uint32_t>(VT_GROUPS, 0);
2391  }
2392  bool Verify(::flatbuffers::Verifier &verifier) const {
2393  return VerifyTableStart(verifier) &&
2394  VerifyOffset(verifier, VT_INPUT) &&
2395  verifier.VerifyTable(input()) &&
2396  VerifyOffset(verifier, VT_WEIGHT) &&
2397  verifier.VerifyTable(weight()) &&
2398  VerifyOffset(verifier, VT_BIAS) &&
2399  verifier.VerifyTable(bias()) &&
2400  VerifyOffset(verifier, VT_OUT) &&
2401  verifier.VerifyTable(out()) &&
2402  VerifyOffset(verifier, VT_DEVICE) &&
2403  verifier.VerifyTable(device()) &&
2404  VerifyField<uint32_t>(verifier, VT_IN_CHANNELS, 4) &&
2405  VerifyField<uint32_t>(verifier, VT_OUT_CHANNELS, 4) &&
2406  VerifyField<uint32_t>(verifier, VT_BATCH_SIZE, 4) &&
2407  VerifyField<uint32_t>(verifier, VT_INPUT_HEIGHT, 4) &&
2408  VerifyField<uint32_t>(verifier, VT_INPUT_WIDTH, 4) &&
2409  VerifyField<uint32_t>(verifier, VT_KERNEL_HEIGHT, 4) &&
2410  VerifyField<uint32_t>(verifier, VT_KERNEL_WIDTH, 4) &&
2411  VerifyField<uint32_t>(verifier, VT_STRIDE_HEIGHT, 4) &&
2412  VerifyField<uint32_t>(verifier, VT_STRIDE_WIDTH, 4) &&
2413  VerifyField<uint32_t>(verifier, VT_PADDING_HEIGHT, 4) &&
2414  VerifyField<uint32_t>(verifier, VT_PADDING_WIDTH, 4) &&
2415  VerifyField<uint32_t>(verifier, VT_DILATION_HEIGHT, 4) &&
2416  VerifyField<uint32_t>(verifier, VT_DILATION_WIDTH, 4) &&
2417  VerifyField<uint32_t>(verifier, VT_GROUPS, 4) &&
2418  verifier.EndTable();
2419  }
2420 };
2421 
2423  typedef Conv2dOp Table;
2424  ::flatbuffers::FlatBufferBuilder &fbb_;
2425  ::flatbuffers::uoffset_t start_;
2426  void add_input(::flatbuffers::Offset<tt::target::TensorRef> input) {
2427  fbb_.AddOffset(Conv2dOp::VT_INPUT, input);
2428  }
2429  void add_weight(::flatbuffers::Offset<tt::target::TensorRef> weight) {
2430  fbb_.AddOffset(Conv2dOp::VT_WEIGHT, weight);
2431  }
2432  void add_bias(::flatbuffers::Offset<tt::target::TensorRef> bias) {
2433  fbb_.AddOffset(Conv2dOp::VT_BIAS, bias);
2434  }
2435  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
2436  fbb_.AddOffset(Conv2dOp::VT_OUT, out);
2437  }
2438  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
2439  fbb_.AddOffset(Conv2dOp::VT_DEVICE, device);
2440  }
2441  void add_in_channels(uint32_t in_channels) {
2442  fbb_.AddElement<uint32_t>(Conv2dOp::VT_IN_CHANNELS, in_channels, 0);
2443  }
2444  void add_out_channels(uint32_t out_channels) {
2445  fbb_.AddElement<uint32_t>(Conv2dOp::VT_OUT_CHANNELS, out_channels, 0);
2446  }
2447  void add_batch_size(uint32_t batch_size) {
2448  fbb_.AddElement<uint32_t>(Conv2dOp::VT_BATCH_SIZE, batch_size, 0);
2449  }
2450  void add_input_height(uint32_t input_height) {
2451  fbb_.AddElement<uint32_t>(Conv2dOp::VT_INPUT_HEIGHT, input_height, 0);
2452  }
2453  void add_input_width(uint32_t input_width) {
2454  fbb_.AddElement<uint32_t>(Conv2dOp::VT_INPUT_WIDTH, input_width, 0);
2455  }
2456  void add_kernel_height(uint32_t kernel_height) {
2457  fbb_.AddElement<uint32_t>(Conv2dOp::VT_KERNEL_HEIGHT, kernel_height, 0);
2458  }
2459  void add_kernel_width(uint32_t kernel_width) {
2460  fbb_.AddElement<uint32_t>(Conv2dOp::VT_KERNEL_WIDTH, kernel_width, 0);
2461  }
2462  void add_stride_height(uint32_t stride_height) {
2463  fbb_.AddElement<uint32_t>(Conv2dOp::VT_STRIDE_HEIGHT, stride_height, 0);
2464  }
2465  void add_stride_width(uint32_t stride_width) {
2466  fbb_.AddElement<uint32_t>(Conv2dOp::VT_STRIDE_WIDTH, stride_width, 0);
2467  }
2468  void add_padding_height(uint32_t padding_height) {
2469  fbb_.AddElement<uint32_t>(Conv2dOp::VT_PADDING_HEIGHT, padding_height, 0);
2470  }
2471  void add_padding_width(uint32_t padding_width) {
2472  fbb_.AddElement<uint32_t>(Conv2dOp::VT_PADDING_WIDTH, padding_width, 0);
2473  }
2474  void add_dilation_height(uint32_t dilation_height) {
2475  fbb_.AddElement<uint32_t>(Conv2dOp::VT_DILATION_HEIGHT, dilation_height, 0);
2476  }
2477  void add_dilation_width(uint32_t dilation_width) {
2478  fbb_.AddElement<uint32_t>(Conv2dOp::VT_DILATION_WIDTH, dilation_width, 0);
2479  }
2480  void add_groups(uint32_t groups) {
2481  fbb_.AddElement<uint32_t>(Conv2dOp::VT_GROUPS, groups, 0);
2482  }
2483  explicit Conv2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2484  : fbb_(_fbb) {
2485  start_ = fbb_.StartTable();
2486  }
2487  ::flatbuffers::Offset<Conv2dOp> Finish() {
2488  const auto end = fbb_.EndTable(start_);
2489  auto o = ::flatbuffers::Offset<Conv2dOp>(end);
2490  return o;
2491  }
2492 };
2493 
2494 inline ::flatbuffers::Offset<Conv2dOp> CreateConv2dOp(
2495  ::flatbuffers::FlatBufferBuilder &_fbb,
2496  ::flatbuffers::Offset<tt::target::TensorRef> input = 0,
2497  ::flatbuffers::Offset<tt::target::TensorRef> weight = 0,
2498  ::flatbuffers::Offset<tt::target::TensorRef> bias = 0,
2499  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
2500  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
2501  uint32_t in_channels = 0,
2502  uint32_t out_channels = 0,
2503  uint32_t batch_size = 0,
2504  uint32_t input_height = 0,
2505  uint32_t input_width = 0,
2506  uint32_t kernel_height = 0,
2507  uint32_t kernel_width = 0,
2508  uint32_t stride_height = 0,
2509  uint32_t stride_width = 0,
2510  uint32_t padding_height = 0,
2511  uint32_t padding_width = 0,
2512  uint32_t dilation_height = 0,
2513  uint32_t dilation_width = 0,
2514  uint32_t groups = 0) {
2515  Conv2dOpBuilder builder_(_fbb);
2516  builder_.add_groups(groups);
2517  builder_.add_dilation_width(dilation_width);
2518  builder_.add_dilation_height(dilation_height);
2519  builder_.add_padding_width(padding_width);
2520  builder_.add_padding_height(padding_height);
2521  builder_.add_stride_width(stride_width);
2522  builder_.add_stride_height(stride_height);
2523  builder_.add_kernel_width(kernel_width);
2524  builder_.add_kernel_height(kernel_height);
2525  builder_.add_input_width(input_width);
2526  builder_.add_input_height(input_height);
2527  builder_.add_batch_size(batch_size);
2528  builder_.add_out_channels(out_channels);
2529  builder_.add_in_channels(in_channels);
2530  builder_.add_device(device);
2531  builder_.add_out(out);
2532  builder_.add_bias(bias);
2533  builder_.add_weight(weight);
2534  builder_.add_input(input);
2535  return builder_.Finish();
2536 }
2537 
2539  using type = Conv2dOp;
2540  static auto constexpr Create = CreateConv2dOp;
2541 };
2542 
2543 struct MaxPool2dOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2545  struct Traits;
2546  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2547  VT_IN = 4,
2548  VT_OUT = 6,
2549  VT_DEVICE = 8,
2550  VT_BATCH_SIZE = 10,
2551  VT_INPUT_HEIGHT = 12,
2552  VT_INPUT_WIDTH = 14,
2554  VT_KERNEL_HEIGHT = 18,
2555  VT_KERNEL_WIDTH = 20,
2556  VT_STRIDE_HEIGHT = 22,
2557  VT_STRIDE_WIDTH = 24,
2558  VT_DILATION_HEIGHT = 26,
2559  VT_DILATION_WIDTH = 28,
2561  VT_PADDING_HEIGHT = 32,
2562  VT_PADDING_WIDTH = 34
2563  };
2564  const tt::target::TensorRef *in() const {
2565  return GetPointer<const tt::target::TensorRef *>(VT_IN);
2566  }
2567  const tt::target::TensorRef *out() const {
2568  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
2569  }
2570  const tt::target::DeviceRef *device() const {
2571  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
2572  }
2573  uint32_t batch_size() const {
2574  return GetField<uint32_t>(VT_BATCH_SIZE, 0);
2575  }
2576  uint32_t input_height() const {
2577  return GetField<uint32_t>(VT_INPUT_HEIGHT, 0);
2578  }
2579  uint32_t input_width() const {
2580  return GetField<uint32_t>(VT_INPUT_WIDTH, 0);
2581  }
2582  uint32_t channels() const {
2583  return GetField<uint32_t>(VT_CHANNELS, 0);
2584  }
2585  uint32_t kernel_height() const {
2586  return GetField<uint32_t>(VT_KERNEL_HEIGHT, 0);
2587  }
2588  uint32_t kernel_width() const {
2589  return GetField<uint32_t>(VT_KERNEL_WIDTH, 0);
2590  }
2591  uint32_t stride_height() const {
2592  return GetField<uint32_t>(VT_STRIDE_HEIGHT, 0);
2593  }
2594  uint32_t stride_width() const {
2595  return GetField<uint32_t>(VT_STRIDE_WIDTH, 0);
2596  }
2597  uint32_t dilation_height() const {
2598  return GetField<uint32_t>(VT_DILATION_HEIGHT, 0);
2599  }
2600  uint32_t dilation_width() const {
2601  return GetField<uint32_t>(VT_DILATION_WIDTH, 0);
2602  }
2603  bool ceil_mode() const {
2604  return GetField<uint8_t>(VT_CEIL_MODE, 0) != 0;
2605  }
2606  uint32_t padding_height() const {
2607  return GetField<uint32_t>(VT_PADDING_HEIGHT, 0);
2608  }
2609  uint32_t padding_width() const {
2610  return GetField<uint32_t>(VT_PADDING_WIDTH, 0);
2611  }
2612  bool Verify(::flatbuffers::Verifier &verifier) const {
2613  return VerifyTableStart(verifier) &&
2614  VerifyOffset(verifier, VT_IN) &&
2615  verifier.VerifyTable(in()) &&
2616  VerifyOffset(verifier, VT_OUT) &&
2617  verifier.VerifyTable(out()) &&
2618  VerifyOffset(verifier, VT_DEVICE) &&
2619  verifier.VerifyTable(device()) &&
2620  VerifyField<uint32_t>(verifier, VT_BATCH_SIZE, 4) &&
2621  VerifyField<uint32_t>(verifier, VT_INPUT_HEIGHT, 4) &&
2622  VerifyField<uint32_t>(verifier, VT_INPUT_WIDTH, 4) &&
2623  VerifyField<uint32_t>(verifier, VT_CHANNELS, 4) &&
2624  VerifyField<uint32_t>(verifier, VT_KERNEL_HEIGHT, 4) &&
2625  VerifyField<uint32_t>(verifier, VT_KERNEL_WIDTH, 4) &&
2626  VerifyField<uint32_t>(verifier, VT_STRIDE_HEIGHT, 4) &&
2627  VerifyField<uint32_t>(verifier, VT_STRIDE_WIDTH, 4) &&
2628  VerifyField<uint32_t>(verifier, VT_DILATION_HEIGHT, 4) &&
2629  VerifyField<uint32_t>(verifier, VT_DILATION_WIDTH, 4) &&
2630  VerifyField<uint8_t>(verifier, VT_CEIL_MODE, 1) &&
2631  VerifyField<uint32_t>(verifier, VT_PADDING_HEIGHT, 4) &&
2632  VerifyField<uint32_t>(verifier, VT_PADDING_WIDTH, 4) &&
2633  verifier.EndTable();
2634  }
2635 };
2636 
2639  ::flatbuffers::FlatBufferBuilder &fbb_;
2640  ::flatbuffers::uoffset_t start_;
2641  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
2642  fbb_.AddOffset(MaxPool2dOp::VT_IN, in);
2643  }
2644  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
2645  fbb_.AddOffset(MaxPool2dOp::VT_OUT, out);
2646  }
2647  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
2648  fbb_.AddOffset(MaxPool2dOp::VT_DEVICE, device);
2649  }
2650  void add_batch_size(uint32_t batch_size) {
2651  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_BATCH_SIZE, batch_size, 0);
2652  }
2653  void add_input_height(uint32_t input_height) {
2654  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_INPUT_HEIGHT, input_height, 0);
2655  }
2656  void add_input_width(uint32_t input_width) {
2657  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_INPUT_WIDTH, input_width, 0);
2658  }
2659  void add_channels(uint32_t channels) {
2660  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_CHANNELS, channels, 0);
2661  }
2662  void add_kernel_height(uint32_t kernel_height) {
2663  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_KERNEL_HEIGHT, kernel_height, 0);
2664  }
2665  void add_kernel_width(uint32_t kernel_width) {
2666  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_KERNEL_WIDTH, kernel_width, 0);
2667  }
2668  void add_stride_height(uint32_t stride_height) {
2669  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_STRIDE_HEIGHT, stride_height, 0);
2670  }
2671  void add_stride_width(uint32_t stride_width) {
2672  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_STRIDE_WIDTH, stride_width, 0);
2673  }
2674  void add_dilation_height(uint32_t dilation_height) {
2675  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_DILATION_HEIGHT, dilation_height, 0);
2676  }
2677  void add_dilation_width(uint32_t dilation_width) {
2678  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_DILATION_WIDTH, dilation_width, 0);
2679  }
2680  void add_ceil_mode(bool ceil_mode) {
2681  fbb_.AddElement<uint8_t>(MaxPool2dOp::VT_CEIL_MODE, static_cast<uint8_t>(ceil_mode), 0);
2682  }
2683  void add_padding_height(uint32_t padding_height) {
2684  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_PADDING_HEIGHT, padding_height, 0);
2685  }
2686  void add_padding_width(uint32_t padding_width) {
2687  fbb_.AddElement<uint32_t>(MaxPool2dOp::VT_PADDING_WIDTH, padding_width, 0);
2688  }
2689  explicit MaxPool2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2690  : fbb_(_fbb) {
2691  start_ = fbb_.StartTable();
2692  }
2693  ::flatbuffers::Offset<MaxPool2dOp> Finish() {
2694  const auto end = fbb_.EndTable(start_);
2695  auto o = ::flatbuffers::Offset<MaxPool2dOp>(end);
2696  return o;
2697  }
2698 };
2699 
2700 inline ::flatbuffers::Offset<MaxPool2dOp> CreateMaxPool2dOp(
2701  ::flatbuffers::FlatBufferBuilder &_fbb,
2702  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
2703  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
2704  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
2705  uint32_t batch_size = 0,
2706  uint32_t input_height = 0,
2707  uint32_t input_width = 0,
2708  uint32_t channels = 0,
2709  uint32_t kernel_height = 0,
2710  uint32_t kernel_width = 0,
2711  uint32_t stride_height = 0,
2712  uint32_t stride_width = 0,
2713  uint32_t dilation_height = 0,
2714  uint32_t dilation_width = 0,
2715  bool ceil_mode = false,
2716  uint32_t padding_height = 0,
2717  uint32_t padding_width = 0) {
2718  MaxPool2dOpBuilder builder_(_fbb);
2719  builder_.add_padding_width(padding_width);
2720  builder_.add_padding_height(padding_height);
2721  builder_.add_dilation_width(dilation_width);
2722  builder_.add_dilation_height(dilation_height);
2723  builder_.add_stride_width(stride_width);
2724  builder_.add_stride_height(stride_height);
2725  builder_.add_kernel_width(kernel_width);
2726  builder_.add_kernel_height(kernel_height);
2727  builder_.add_channels(channels);
2728  builder_.add_input_width(input_width);
2729  builder_.add_input_height(input_height);
2730  builder_.add_batch_size(batch_size);
2731  builder_.add_device(device);
2732  builder_.add_out(out);
2733  builder_.add_in(in);
2734  builder_.add_ceil_mode(ceil_mode);
2735  return builder_.Finish();
2736 }
2737 
2740  static auto constexpr Create = CreateMaxPool2dOp;
2741 };
2742 
2743 struct DeallocateOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2745  struct Traits;
2746  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2747  VT_IN = 4,
2748  VT_FORCE = 6
2749  };
2750  const tt::target::TensorRef *in() const {
2751  return GetPointer<const tt::target::TensorRef *>(VT_IN);
2752  }
2753  bool force() const {
2754  return GetField<uint8_t>(VT_FORCE, 0) != 0;
2755  }
2756  bool Verify(::flatbuffers::Verifier &verifier) const {
2757  return VerifyTableStart(verifier) &&
2758  VerifyOffset(verifier, VT_IN) &&
2759  verifier.VerifyTable(in()) &&
2760  VerifyField<uint8_t>(verifier, VT_FORCE, 1) &&
2761  verifier.EndTable();
2762  }
2763 };
2764 
2767  ::flatbuffers::FlatBufferBuilder &fbb_;
2768  ::flatbuffers::uoffset_t start_;
2769  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
2770  fbb_.AddOffset(DeallocateOp::VT_IN, in);
2771  }
2772  void add_force(bool force) {
2773  fbb_.AddElement<uint8_t>(DeallocateOp::VT_FORCE, static_cast<uint8_t>(force), 0);
2774  }
2775  explicit DeallocateOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2776  : fbb_(_fbb) {
2777  start_ = fbb_.StartTable();
2778  }
2779  ::flatbuffers::Offset<DeallocateOp> Finish() {
2780  const auto end = fbb_.EndTable(start_);
2781  auto o = ::flatbuffers::Offset<DeallocateOp>(end);
2782  return o;
2783  }
2784 };
2785 
2786 inline ::flatbuffers::Offset<DeallocateOp> CreateDeallocateOp(
2787  ::flatbuffers::FlatBufferBuilder &_fbb,
2788  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
2789  bool force = false) {
2790  DeallocateOpBuilder builder_(_fbb);
2791  builder_.add_in(in);
2792  builder_.add_force(force);
2793  return builder_.Finish();
2794 }
2795 
2798  static auto constexpr Create = CreateDeallocateOp;
2799 };
2800 
2801 struct AllGatherOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2803  struct Traits;
2804  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2805  VT_IN = 4,
2806  VT_OUT = 6,
2807  VT_DIM = 8,
2808  VT_NUM_LINKS = 10
2809  };
2810  const tt::target::TensorRef *in() const {
2811  return GetPointer<const tt::target::TensorRef *>(VT_IN);
2812  }
2813  const tt::target::TensorRef *out() const {
2814  return GetPointer<const tt::target::TensorRef *>(VT_OUT);
2815  }
2816  uint32_t dim() const {
2817  return GetField<uint32_t>(VT_DIM, 0);
2818  }
2819  uint32_t num_links() const {
2820  return GetField<uint32_t>(VT_NUM_LINKS, 0);
2821  }
2822  bool Verify(::flatbuffers::Verifier &verifier) const {
2823  return VerifyTableStart(verifier) &&
2824  VerifyOffset(verifier, VT_IN) &&
2825  verifier.VerifyTable(in()) &&
2826  VerifyOffset(verifier, VT_OUT) &&
2827  verifier.VerifyTable(out()) &&
2828  VerifyField<uint32_t>(verifier, VT_DIM, 4) &&
2829  VerifyField<uint32_t>(verifier, VT_NUM_LINKS, 4) &&
2830  verifier.EndTable();
2831  }
2832 };
2833 
2836  ::flatbuffers::FlatBufferBuilder &fbb_;
2837  ::flatbuffers::uoffset_t start_;
2838  void add_in(::flatbuffers::Offset<tt::target::TensorRef> in) {
2839  fbb_.AddOffset(AllGatherOp::VT_IN, in);
2840  }
2841  void add_out(::flatbuffers::Offset<tt::target::TensorRef> out) {
2842  fbb_.AddOffset(AllGatherOp::VT_OUT, out);
2843  }
2844  void add_dim(uint32_t dim) {
2845  fbb_.AddElement<uint32_t>(AllGatherOp::VT_DIM, dim, 0);
2846  }
2847  void add_num_links(uint32_t num_links) {
2848  fbb_.AddElement<uint32_t>(AllGatherOp::VT_NUM_LINKS, num_links, 0);
2849  }
2850  explicit AllGatherOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
2851  : fbb_(_fbb) {
2852  start_ = fbb_.StartTable();
2853  }
2854  ::flatbuffers::Offset<AllGatherOp> Finish() {
2855  const auto end = fbb_.EndTable(start_);
2856  auto o = ::flatbuffers::Offset<AllGatherOp>(end);
2857  return o;
2858  }
2859 };
2860 
2861 inline ::flatbuffers::Offset<AllGatherOp> CreateAllGatherOp(
2862  ::flatbuffers::FlatBufferBuilder &_fbb,
2863  ::flatbuffers::Offset<tt::target::TensorRef> in = 0,
2864  ::flatbuffers::Offset<tt::target::TensorRef> out = 0,
2865  uint32_t dim = 0,
2866  uint32_t num_links = 0) {
2867  AllGatherOpBuilder builder_(_fbb);
2868  builder_.add_num_links(num_links);
2869  builder_.add_dim(dim);
2870  builder_.add_out(out);
2871  builder_.add_in(in);
2872  return builder_.Finish();
2873 }
2874 
2877  static auto constexpr Create = CreateAllGatherOp;
2878 };
2879 
2880 struct Operation FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
2882  struct Traits;
2883  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2885  VT_TYPE = 6,
2886  VT_DEBUG_INFO = 8
2887  };
2889  return static_cast<tt::target::ttnn::OpType>(GetField<uint8_t>(VT_TYPE_TYPE, 0));
2890  }
2891  const void *type() const {
2892  return GetPointer<const void *>(VT_TYPE);
2893  }
2894  template<typename T> const T *type_as() const;
2895  const tt::target::ttnn::GetDeviceOp *type_as_GetDeviceOp() const {
2896  return type_type() == tt::target::ttnn::OpType::GetDeviceOp ? static_cast<const tt::target::ttnn::GetDeviceOp *>(type()) : nullptr;
2897  }
2898  const tt::target::ttnn::ToMemoryConfigOp *type_as_ToMemoryConfigOp() const {
2899  return type_type() == tt::target::ttnn::OpType::ToMemoryConfigOp ? static_cast<const tt::target::ttnn::ToMemoryConfigOp *>(type()) : nullptr;
2900  }
2901  const tt::target::ttnn::ToLayoutOp *type_as_ToLayoutOp() const {
2902  return type_type() == tt::target::ttnn::OpType::ToLayoutOp ? static_cast<const tt::target::ttnn::ToLayoutOp *>(type()) : nullptr;
2903  }
2904  const tt::target::ttnn::TypecastOp *type_as_TypecastOp() const {
2905  return type_type() == tt::target::ttnn::OpType::TypecastOp ? static_cast<const tt::target::ttnn::TypecastOp *>(type()) : nullptr;
2906  }
2907  const tt::target::ttnn::ToDeviceOp *type_as_ToDeviceOp() const {
2908  return type_type() == tt::target::ttnn::OpType::ToDeviceOp ? static_cast<const tt::target::ttnn::ToDeviceOp *>(type()) : nullptr;
2909  }
2910  const tt::target::ttnn::FromDeviceOp *type_as_FromDeviceOp() const {
2911  return type_type() == tt::target::ttnn::OpType::FromDeviceOp ? static_cast<const tt::target::ttnn::FromDeviceOp *>(type()) : nullptr;
2912  }
2913  const tt::target::ttnn::EmptyOp *type_as_EmptyOp() const {
2914  return type_type() == tt::target::ttnn::OpType::EmptyOp ? static_cast<const tt::target::ttnn::EmptyOp *>(type()) : nullptr;
2915  }
2916  const tt::target::ttnn::FullOp *type_as_FullOp() const {
2917  return type_type() == tt::target::ttnn::OpType::FullOp ? static_cast<const tt::target::ttnn::FullOp *>(type()) : nullptr;
2918  }
2919  const tt::target::ttnn::EltwiseOp *type_as_EltwiseOp() const {
2920  return type_type() == tt::target::ttnn::OpType::EltwiseOp ? static_cast<const tt::target::ttnn::EltwiseOp *>(type()) : nullptr;
2921  }
2922  const tt::target::ttnn::LinearOp *type_as_LinearOp() const {
2923  return type_type() == tt::target::ttnn::OpType::LinearOp ? static_cast<const tt::target::ttnn::LinearOp *>(type()) : nullptr;
2924  }
2925  const tt::target::ttnn::MatmulOp *type_as_MatmulOp() const {
2926  return type_type() == tt::target::ttnn::OpType::MatmulOp ? static_cast<const tt::target::ttnn::MatmulOp *>(type()) : nullptr;
2927  }
2928  const tt::target::ttnn::ReductionOp *type_as_ReductionOp() const {
2929  return type_type() == tt::target::ttnn::OpType::ReductionOp ? static_cast<const tt::target::ttnn::ReductionOp *>(type()) : nullptr;
2930  }
2931  const tt::target::ttnn::EmbeddingOp *type_as_EmbeddingOp() const {
2932  return type_type() == tt::target::ttnn::OpType::EmbeddingOp ? static_cast<const tt::target::ttnn::EmbeddingOp *>(type()) : nullptr;
2933  }
2934  const tt::target::ttnn::SoftmaxOp *type_as_SoftmaxOp() const {
2935  return type_type() == tt::target::ttnn::OpType::SoftmaxOp ? static_cast<const tt::target::ttnn::SoftmaxOp *>(type()) : nullptr;
2936  }
2937  const tt::target::ttnn::TransposeOp *type_as_TransposeOp() const {
2938  return type_type() == tt::target::ttnn::OpType::TransposeOp ? static_cast<const tt::target::ttnn::TransposeOp *>(type()) : nullptr;
2939  }
2940  const tt::target::ttnn::Conv2dOp *type_as_Conv2dOp() const {
2941  return type_type() == tt::target::ttnn::OpType::Conv2dOp ? static_cast<const tt::target::ttnn::Conv2dOp *>(type()) : nullptr;
2942  }
2943  const tt::target::ttnn::ConcatOp *type_as_ConcatOp() const {
2944  return type_type() == tt::target::ttnn::OpType::ConcatOp ? static_cast<const tt::target::ttnn::ConcatOp *>(type()) : nullptr;
2945  }
2946  const tt::target::ttnn::ReshapeOp *type_as_ReshapeOp() const {
2947  return type_type() == tt::target::ttnn::OpType::ReshapeOp ? static_cast<const tt::target::ttnn::ReshapeOp *>(type()) : nullptr;
2948  }
2949  const tt::target::ttnn::SliceOp *type_as_SliceOp() const {
2950  return type_type() == tt::target::ttnn::OpType::SliceOp ? static_cast<const tt::target::ttnn::SliceOp *>(type()) : nullptr;
2951  }
2952  const tt::target::ttnn::MaxPool2dOp *type_as_MaxPool2dOp() const {
2953  return type_type() == tt::target::ttnn::OpType::MaxPool2dOp ? static_cast<const tt::target::ttnn::MaxPool2dOp *>(type()) : nullptr;
2954  }
2955  const tt::target::ttnn::DeallocateOp *type_as_DeallocateOp() const {
2956  return type_type() == tt::target::ttnn::OpType::DeallocateOp ? static_cast<const tt::target::ttnn::DeallocateOp *>(type()) : nullptr;
2957  }
2958  const tt::target::ttnn::AllGatherOp *type_as_AllGatherOp() const {
2959  return type_type() == tt::target::ttnn::OpType::AllGatherOp ? static_cast<const tt::target::ttnn::AllGatherOp *>(type()) : nullptr;
2960  }
2961  const tt::target::ttnn::ArangeOp *type_as_ArangeOp() const {
2962  return type_type() == tt::target::ttnn::OpType::ArangeOp ? static_cast<const tt::target::ttnn::ArangeOp *>(type()) : nullptr;
2963  }
2964  const ::flatbuffers::String *debug_info() const {
2965  return GetPointer<const ::flatbuffers::String *>(VT_DEBUG_INFO);
2966  }
2967  bool Verify(::flatbuffers::Verifier &verifier) const {
2968  return VerifyTableStart(verifier) &&
2969  VerifyField<uint8_t>(verifier, VT_TYPE_TYPE, 1) &&
2970  VerifyOffset(verifier, VT_TYPE) &&
2971  VerifyOpType(verifier, type(), type_type()) &&
2972  VerifyOffset(verifier, VT_DEBUG_INFO) &&
2973  verifier.VerifyString(debug_info()) &&
2974  verifier.EndTable();
2975  }
2976 };
2977 
2978 template<> inline const tt::target::ttnn::GetDeviceOp *Operation::type_as<tt::target::ttnn::GetDeviceOp>() const {
2979  return type_as_GetDeviceOp();
2980 }
2981 
2982 template<> inline const tt::target::ttnn::ToMemoryConfigOp *Operation::type_as<tt::target::ttnn::ToMemoryConfigOp>() const {
2983  return type_as_ToMemoryConfigOp();
2984 }
2985 
2986 template<> inline const tt::target::ttnn::ToLayoutOp *Operation::type_as<tt::target::ttnn::ToLayoutOp>() const {
2987  return type_as_ToLayoutOp();
2988 }
2989 
2990 template<> inline const tt::target::ttnn::TypecastOp *Operation::type_as<tt::target::ttnn::TypecastOp>() const {
2991  return type_as_TypecastOp();
2992 }
2993 
2994 template<> inline const tt::target::ttnn::ToDeviceOp *Operation::type_as<tt::target::ttnn::ToDeviceOp>() const {
2995  return type_as_ToDeviceOp();
2996 }
2997 
2998 template<> inline const tt::target::ttnn::FromDeviceOp *Operation::type_as<tt::target::ttnn::FromDeviceOp>() const {
2999  return type_as_FromDeviceOp();
3000 }
3001 
3002 template<> inline const tt::target::ttnn::EmptyOp *Operation::type_as<tt::target::ttnn::EmptyOp>() const {
3003  return type_as_EmptyOp();
3004 }
3005 
3006 template<> inline const tt::target::ttnn::FullOp *Operation::type_as<tt::target::ttnn::FullOp>() const {
3007  return type_as_FullOp();
3008 }
3009 
3010 template<> inline const tt::target::ttnn::EltwiseOp *Operation::type_as<tt::target::ttnn::EltwiseOp>() const {
3011  return type_as_EltwiseOp();
3012 }
3013 
3014 template<> inline const tt::target::ttnn::LinearOp *Operation::type_as<tt::target::ttnn::LinearOp>() const {
3015  return type_as_LinearOp();
3016 }
3017 
3018 template<> inline const tt::target::ttnn::MatmulOp *Operation::type_as<tt::target::ttnn::MatmulOp>() const {
3019  return type_as_MatmulOp();
3020 }
3021 
3022 template<> inline const tt::target::ttnn::ReductionOp *Operation::type_as<tt::target::ttnn::ReductionOp>() const {
3023  return type_as_ReductionOp();
3024 }
3025 
3026 template<> inline const tt::target::ttnn::EmbeddingOp *Operation::type_as<tt::target::ttnn::EmbeddingOp>() const {
3027  return type_as_EmbeddingOp();
3028 }
3029 
3030 template<> inline const tt::target::ttnn::SoftmaxOp *Operation::type_as<tt::target::ttnn::SoftmaxOp>() const {
3031  return type_as_SoftmaxOp();
3032 }
3033 
3034 template<> inline const tt::target::ttnn::TransposeOp *Operation::type_as<tt::target::ttnn::TransposeOp>() const {
3035  return type_as_TransposeOp();
3036 }
3037 
3038 template<> inline const tt::target::ttnn::Conv2dOp *Operation::type_as<tt::target::ttnn::Conv2dOp>() const {
3039  return type_as_Conv2dOp();
3040 }
3041 
3042 template<> inline const tt::target::ttnn::ConcatOp *Operation::type_as<tt::target::ttnn::ConcatOp>() const {
3043  return type_as_ConcatOp();
3044 }
3045 
3046 template<> inline const tt::target::ttnn::ReshapeOp *Operation::type_as<tt::target::ttnn::ReshapeOp>() const {
3047  return type_as_ReshapeOp();
3048 }
3049 
3050 template<> inline const tt::target::ttnn::SliceOp *Operation::type_as<tt::target::ttnn::SliceOp>() const {
3051  return type_as_SliceOp();
3052 }
3053 
3054 template<> inline const tt::target::ttnn::MaxPool2dOp *Operation::type_as<tt::target::ttnn::MaxPool2dOp>() const {
3055  return type_as_MaxPool2dOp();
3056 }
3057 
3058 template<> inline const tt::target::ttnn::DeallocateOp *Operation::type_as<tt::target::ttnn::DeallocateOp>() const {
3059  return type_as_DeallocateOp();
3060 }
3061 
3062 template<> inline const tt::target::ttnn::AllGatherOp *Operation::type_as<tt::target::ttnn::AllGatherOp>() const {
3063  return type_as_AllGatherOp();
3064 }
3065 
3066 template<> inline const tt::target::ttnn::ArangeOp *Operation::type_as<tt::target::ttnn::ArangeOp>() const {
3067  return type_as_ArangeOp();
3068 }
3069 
3071  typedef Operation Table;
3072  ::flatbuffers::FlatBufferBuilder &fbb_;
3073  ::flatbuffers::uoffset_t start_;
3075  fbb_.AddElement<uint8_t>(Operation::VT_TYPE_TYPE, static_cast<uint8_t>(type_type), 0);
3076  }
3077  void add_type(::flatbuffers::Offset<void> type) {
3078  fbb_.AddOffset(Operation::VT_TYPE, type);
3079  }
3080  void add_debug_info(::flatbuffers::Offset<::flatbuffers::String> debug_info) {
3081  fbb_.AddOffset(Operation::VT_DEBUG_INFO, debug_info);
3082  }
3083  explicit OperationBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
3084  : fbb_(_fbb) {
3085  start_ = fbb_.StartTable();
3086  }
3087  ::flatbuffers::Offset<Operation> Finish() {
3088  const auto end = fbb_.EndTable(start_);
3089  auto o = ::flatbuffers::Offset<Operation>(end);
3090  return o;
3091  }
3092 };
3093 
3094 inline ::flatbuffers::Offset<Operation> CreateOperation(
3095  ::flatbuffers::FlatBufferBuilder &_fbb,
3097  ::flatbuffers::Offset<void> type = 0,
3098  ::flatbuffers::Offset<::flatbuffers::String> debug_info = 0) {
3099  OperationBuilder builder_(_fbb);
3100  builder_.add_debug_info(debug_info);
3101  builder_.add_type(type);
3102  builder_.add_type_type(type_type);
3103  return builder_.Finish();
3104 }
3105 
3107  using type = Operation;
3108  static auto constexpr Create = CreateOperation;
3109 };
3110 
3111 inline ::flatbuffers::Offset<Operation> CreateOperationDirect(
3112  ::flatbuffers::FlatBufferBuilder &_fbb,
3114  ::flatbuffers::Offset<void> type = 0,
3115  const char *debug_info = nullptr) {
3116  auto debug_info__ = debug_info ? _fbb.CreateString(debug_info) : 0;
3118  _fbb,
3119  type_type,
3120  type,
3121  debug_info__);
3122 }
3123 
3124 struct Program FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
3126  struct Traits;
3127  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3128  VT_NAME = 4,
3129  VT_INPUTS = 6,
3132  VT_DEBUG_INFO = 12
3133  };
3134  const ::flatbuffers::String *name() const {
3135  return GetPointer<const ::flatbuffers::String *>(VT_NAME);
3136  }
3137  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *inputs() const {
3138  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *>(VT_INPUTS);
3139  }
3140  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *outputs() const {
3141  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>> *>(VT_OUTPUTS);
3142  }
3143  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::ttnn::Operation>> *operations() const {
3144  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::ttnn::Operation>> *>(VT_OPERATIONS);
3145  }
3146  const tt::target::DebugInfo *debug_info() const {
3147  return GetPointer<const tt::target::DebugInfo *>(VT_DEBUG_INFO);
3148  }
3149  bool Verify(::flatbuffers::Verifier &verifier) const {
3150  return VerifyTableStart(verifier) &&
3151  VerifyOffset(verifier, VT_NAME) &&
3152  verifier.VerifyString(name()) &&
3153  VerifyOffset(verifier, VT_INPUTS) &&
3154  verifier.VerifyVector(inputs()) &&
3155  verifier.VerifyVectorOfTables(inputs()) &&
3156  VerifyOffset(verifier, VT_OUTPUTS) &&
3157  verifier.VerifyVector(outputs()) &&
3158  verifier.VerifyVectorOfTables(outputs()) &&
3159  VerifyOffset(verifier, VT_OPERATIONS) &&
3160  verifier.VerifyVector(operations()) &&
3161  verifier.VerifyVectorOfTables(operations()) &&
3162  VerifyOffset(verifier, VT_DEBUG_INFO) &&
3163  verifier.VerifyTable(debug_info()) &&
3164  verifier.EndTable();
3165  }
3166 };
3167 
3169  typedef Program Table;
3170  ::flatbuffers::FlatBufferBuilder &fbb_;
3171  ::flatbuffers::uoffset_t start_;
3172  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
3173  fbb_.AddOffset(Program::VT_NAME, name);
3174  }
3175  void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> inputs) {
3176  fbb_.AddOffset(Program::VT_INPUTS, inputs);
3177  }
3178  void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> outputs) {
3179  fbb_.AddOffset(Program::VT_OUTPUTS, outputs);
3180  }
3181  void add_operations(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::ttnn::Operation>>> operations) {
3182  fbb_.AddOffset(Program::VT_OPERATIONS, operations);
3183  }
3184  void add_debug_info(::flatbuffers::Offset<tt::target::DebugInfo> debug_info) {
3185  fbb_.AddOffset(Program::VT_DEBUG_INFO, debug_info);
3186  }
3187  explicit ProgramBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
3188  : fbb_(_fbb) {
3189  start_ = fbb_.StartTable();
3190  }
3191  ::flatbuffers::Offset<Program> Finish() {
3192  const auto end = fbb_.EndTable(start_);
3193  auto o = ::flatbuffers::Offset<Program>(end);
3194  return o;
3195  }
3196 };
3197 
3198 inline ::flatbuffers::Offset<Program> CreateProgram(
3199  ::flatbuffers::FlatBufferBuilder &_fbb,
3200  ::flatbuffers::Offset<::flatbuffers::String> name = 0,
3201  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> inputs = 0,
3202  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::TensorRef>>> outputs = 0,
3203  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::ttnn::Operation>>> operations = 0,
3204  ::flatbuffers::Offset<tt::target::DebugInfo> debug_info = 0) {
3205  ProgramBuilder builder_(_fbb);
3206  builder_.add_debug_info(debug_info);
3207  builder_.add_operations(operations);
3208  builder_.add_outputs(outputs);
3209  builder_.add_inputs(inputs);
3210  builder_.add_name(name);
3211  return builder_.Finish();
3212 }
3213 
3215  using type = Program;
3216  static auto constexpr Create = CreateProgram;
3217 };
3218 
3219 inline ::flatbuffers::Offset<Program> CreateProgramDirect(
3220  ::flatbuffers::FlatBufferBuilder &_fbb,
3221  const char *name = nullptr,
3222  const std::vector<::flatbuffers::Offset<tt::target::TensorRef>> *inputs = nullptr,
3223  const std::vector<::flatbuffers::Offset<tt::target::TensorRef>> *outputs = nullptr,
3224  const std::vector<::flatbuffers::Offset<tt::target::ttnn::Operation>> *operations = nullptr,
3225  ::flatbuffers::Offset<tt::target::DebugInfo> debug_info = 0) {
3226  auto name__ = name ? _fbb.CreateString(name) : 0;
3227  auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::TensorRef>>(*inputs) : 0;
3228  auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::TensorRef>>(*outputs) : 0;
3229  auto operations__ = operations ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::ttnn::Operation>>(*operations) : 0;
3231  _fbb,
3232  name__,
3233  inputs__,
3234  outputs__,
3235  operations__,
3236  debug_info);
3237 }
3238 
3239 inline bool VerifyEltwiseOpParams(::flatbuffers::Verifier &verifier, const void *obj, EltwiseOpParams type) {
3240  switch (type) {
3241  case EltwiseOpParams::NONE: {
3242  return true;
3243  }
3245  auto ptr = reinterpret_cast<const tt::target::ttnn::ClampOpParams *>(obj);
3246  return verifier.VerifyTable(ptr);
3247  }
3249  auto ptr = reinterpret_cast<const tt::target::ttnn::EltwiseOpWithFloatParams *>(obj);
3250  return verifier.VerifyTable(ptr);
3251  }
3252  default: return true;
3253  }
3254 }
3255 
3256 inline bool VerifyEltwiseOpParamsVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<EltwiseOpParams> *types) {
3257  if (!values || !types) return !values && !types;
3258  if (values->size() != types->size()) return false;
3259  for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
3260  if (!VerifyEltwiseOpParams(
3261  verifier, values->Get(i), types->GetEnum<EltwiseOpParams>(i))) {
3262  return false;
3263  }
3264  }
3265  return true;
3266 }
3267 
3268 inline bool VerifyOpType(::flatbuffers::Verifier &verifier, const void *obj, OpType type) {
3269  switch (type) {
3270  case OpType::NONE: {
3271  return true;
3272  }
3273  case OpType::GetDeviceOp: {
3274  auto ptr = reinterpret_cast<const tt::target::ttnn::GetDeviceOp *>(obj);
3275  return verifier.VerifyTable(ptr);
3276  }
3277  case OpType::ToMemoryConfigOp: {
3278  auto ptr = reinterpret_cast<const tt::target::ttnn::ToMemoryConfigOp *>(obj);
3279  return verifier.VerifyTable(ptr);
3280  }
3281  case OpType::ToLayoutOp: {
3282  auto ptr = reinterpret_cast<const tt::target::ttnn::ToLayoutOp *>(obj);
3283  return verifier.VerifyTable(ptr);
3284  }
3285  case OpType::TypecastOp: {
3286  auto ptr = reinterpret_cast<const tt::target::ttnn::TypecastOp *>(obj);
3287  return verifier.VerifyTable(ptr);
3288  }
3289  case OpType::ToDeviceOp: {
3290  auto ptr = reinterpret_cast<const tt::target::ttnn::ToDeviceOp *>(obj);
3291  return verifier.VerifyTable(ptr);
3292  }
3293  case OpType::FromDeviceOp: {
3294  auto ptr = reinterpret_cast<const tt::target::ttnn::FromDeviceOp *>(obj);
3295  return verifier.VerifyTable(ptr);
3296  }
3297  case OpType::EmptyOp: {
3298  auto ptr = reinterpret_cast<const tt::target::ttnn::EmptyOp *>(obj);
3299  return verifier.VerifyTable(ptr);
3300  }
3301  case OpType::FullOp: {
3302  auto ptr = reinterpret_cast<const tt::target::ttnn::FullOp *>(obj);
3303  return verifier.VerifyTable(ptr);
3304  }
3305  case OpType::EltwiseOp: {
3306  auto ptr = reinterpret_cast<const tt::target::ttnn::EltwiseOp *>(obj);
3307  return verifier.VerifyTable(ptr);
3308  }
3309  case OpType::LinearOp: {
3310  auto ptr = reinterpret_cast<const tt::target::ttnn::LinearOp *>(obj);
3311  return verifier.VerifyTable(ptr);
3312  }
3313  case OpType::MatmulOp: {
3314  auto ptr = reinterpret_cast<const tt::target::ttnn::MatmulOp *>(obj);
3315  return verifier.VerifyTable(ptr);
3316  }
3317  case OpType::ReductionOp: {
3318  auto ptr = reinterpret_cast<const tt::target::ttnn::ReductionOp *>(obj);
3319  return verifier.VerifyTable(ptr);
3320  }
3321  case OpType::EmbeddingOp: {
3322  auto ptr = reinterpret_cast<const tt::target::ttnn::EmbeddingOp *>(obj);
3323  return verifier.VerifyTable(ptr);
3324  }
3325  case OpType::SoftmaxOp: {
3326  auto ptr = reinterpret_cast<const tt::target::ttnn::SoftmaxOp *>(obj);
3327  return verifier.VerifyTable(ptr);
3328  }
3329  case OpType::TransposeOp: {
3330  auto ptr = reinterpret_cast<const tt::target::ttnn::TransposeOp *>(obj);
3331  return verifier.VerifyTable(ptr);
3332  }
3333  case OpType::Conv2dOp: {
3334  auto ptr = reinterpret_cast<const tt::target::ttnn::Conv2dOp *>(obj);
3335  return verifier.VerifyTable(ptr);
3336  }
3337  case OpType::ConcatOp: {
3338  auto ptr = reinterpret_cast<const tt::target::ttnn::ConcatOp *>(obj);
3339  return verifier.VerifyTable(ptr);
3340  }
3341  case OpType::ReshapeOp: {
3342  auto ptr = reinterpret_cast<const tt::target::ttnn::ReshapeOp *>(obj);
3343  return verifier.VerifyTable(ptr);
3344  }
3345  case OpType::SliceOp: {
3346  auto ptr = reinterpret_cast<const tt::target::ttnn::SliceOp *>(obj);
3347  return verifier.VerifyTable(ptr);
3348  }
3349  case OpType::MaxPool2dOp: {
3350  auto ptr = reinterpret_cast<const tt::target::ttnn::MaxPool2dOp *>(obj);
3351  return verifier.VerifyTable(ptr);
3352  }
3353  case OpType::DeallocateOp: {
3354  auto ptr = reinterpret_cast<const tt::target::ttnn::DeallocateOp *>(obj);
3355  return verifier.VerifyTable(ptr);
3356  }
3357  case OpType::AllGatherOp: {
3358  auto ptr = reinterpret_cast<const tt::target::ttnn::AllGatherOp *>(obj);
3359  return verifier.VerifyTable(ptr);
3360  }
3361  case OpType::ArangeOp: {
3362  auto ptr = reinterpret_cast<const tt::target::ttnn::ArangeOp *>(obj);
3363  return verifier.VerifyTable(ptr);
3364  }
3365  default: return true;
3366  }
3367 }
3368 
3369 inline bool VerifyOpTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<OpType> *types) {
3370  if (!values || !types) return !values && !types;
3371  if (values->size() != types->size()) return false;
3372  for (::flatbuffers::uoffset_t i = 0; i < values->size(); ++i) {
3373  if (!VerifyOpType(
3374  verifier, values->Get(i), types->GetEnum<OpType>(i))) {
3375  return false;
3376  }
3377  }
3378  return true;
3379 }
3380 
3381 } // namespace ttnn
3382 } // namespace target
3383 } // namespace tt
3384 
3385 #endif // FLATBUFFERS_GENERATED_PROGRAM_TT_TARGET_TTNN_H_
VT_LAYOUT
Definition: program_generated.h:681
VT_IN0
Definition: program_generated.h:610
VT_KERNEL_WIDTH
Definition: program_generated.h:2326
VT_INPUT
Definition: program_generated.h:1669
VT_DTYPE
Definition: program_generated.h:682
VT_NUM_SHARDS
Definition: program_generated.h:993
VT_STRATEGY
Definition: program_generated.h:996
VT_SHAPE
Definition: program_generated.h:990
VT_BEGINS
Definition: program_generated.h:2055
VT_PARAMS_TYPE
Definition: program_generated.h:1442
VT_START
Definition: program_generated.h:1225
VT_IN1
Definition: program_generated.h:2165
VT_STRIDE_HEIGHT
Definition: program_generated.h:2327
VT_WEIGHT
Definition: program_generated.h:1670
VT_DIM0
Definition: program_generated.h:1810
VT_CHANNELS
Definition: program_generated.h:2553
VT_KERNEL_HEIGHT
Definition: program_generated.h:2325
VT_BATCH_SIZE
Definition: program_generated.h:2322
VT_DIM
Definition: program_generated.h:2807
VT_MESH
Definition: program_generated.h:528
VT_DIM_ARG
Definition: program_generated.h:1565
VT_TYPE_TYPE
Definition: program_generated.h:2884
VT_MIN
Definition: program_generated.h:1335
VT_PADDING_WIDTH
Definition: program_generated.h:2330
VT_STRIDE_WIDTH
Definition: program_generated.h:2328
VT_INPUTS
Definition: program_generated.h:1887
VT_CHIP_IDS
Definition: program_generated.h:529
VT_TYPE
Definition: program_generated.h:1439
VT_INPUT_HEIGHT
Definition: program_generated.h:2323
VT_IN_CHANNELS
Definition: program_generated.h:2320
VT_OUTPUTS
Definition: program_generated.h:3130
VT_IN
Definition: program_generated.h:680
VT_DEVICE
Definition: program_generated.h:684
VT_DILATION_WIDTH
Definition: program_generated.h:2332
VT_END
Definition: program_generated.h:1226
VT_FILL_VALUE
Definition: program_generated.h:1136
VT_INPUT_WIDTH
Definition: program_generated.h:2324
VT_ENDS
Definition: program_generated.h:2056
VT_DILATION_HEIGHT
Definition: program_generated.h:2331
VT_NAME
Definition: program_generated.h:3128
VT_BIAS
Definition: program_generated.h:2166
VT_OUT
Definition: program_generated.h:1441
VT_PADDING_HEIGHT
Definition: program_generated.h:2329
VT_OPERATIONS
Definition: program_generated.h:3131
VT_OUT_CHANNELS
Definition: program_generated.h:2321
VT_INS
Definition: program_generated.h:1440
VT_MEMCFG
Definition: program_generated.h:611
VT_STEP
Definition: program_generated.h:1227
VT_CEIL_MODE
Definition: program_generated.h:2560
inline ::flatbuffers::Offset< Operation > CreateOperation(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::ttnn::OpType type_type=tt::target::ttnn::OpType::NONE, ::flatbuffers::Offset< void > type=0, ::flatbuffers::Offset<::flatbuffers::String > debug_info=0)
Definition: program_generated.h:3094
EltwiseOpType
Definition: program_generated.h:104
inline ::flatbuffers::Offset< SliceOp > CreateSliceOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, ::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> begins=0, ::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> ends=0, ::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> step=0)
Definition: program_generated.h:2120
bool VerifyOpTypeVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset< void >> *values, const ::flatbuffers::Vector< OpType > *types)
Definition: program_generated.h:3369
inline ::flatbuffers::Offset< Program > CreateProgram(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::String > name=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> inputs=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> outputs=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::ttnn::Operation >>> operations=0, ::flatbuffers::Offset< tt::target::DebugInfo > debug_info=0)
Definition: program_generated.h:3198
inline ::flatbuffers::Offset< SliceOp > CreateSliceOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, const std::vector< int64_t > *begins=nullptr, const std::vector< int64_t > *ends=nullptr, const std::vector< int64_t > *step=nullptr)
Definition: program_generated.h:2141
inline ::flatbuffers::Offset< Program > CreateProgramDirect(::flatbuffers::FlatBufferBuilder &_fbb, const char *name=nullptr, const std::vector<::flatbuffers::Offset< tt::target::TensorRef >> *inputs=nullptr, const std::vector<::flatbuffers::Offset< tt::target::TensorRef >> *outputs=nullptr, const std::vector<::flatbuffers::Offset< tt::target::ttnn::Operation >> *operations=nullptr, ::flatbuffers::Offset< tt::target::DebugInfo > debug_info=0)
Definition: program_generated.h:3219
inline ::flatbuffers::Offset< EltwiseOp > CreateEltwiseOp(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::ttnn::EltwiseOpType type=tt::target::ttnn::EltwiseOpType::Add, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> ins=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, tt::target::ttnn::EltwiseOpParams params_type=tt::target::ttnn::EltwiseOpParams::NONE, ::flatbuffers::Offset< void > params=0)
Definition: program_generated.h:1520
EltwiseOpParams
Definition: program_generated.h:248
inline ::flatbuffers::Offset< ReductionOp > CreateReductionOp(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::ttnn::ReductionOpType type=tt::target::ttnn::ReductionOpType::Sum, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dim_arg=0, bool keep_dim=false)
Definition: program_generated.h:1627
inline ::flatbuffers::Offset< TransposeOp > CreateTransposeOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, int32_t dim0=0, int32_t dim1=0)
Definition: program_generated.h:1864
const char * EnumNameEltwiseOpType(EltwiseOpType e)
Definition: program_generated.h:242
inline ::flatbuffers::Offset< MatmulOp > CreateMatmulOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in0=0, ::flatbuffers::Offset< tt::target::TensorRef > in1=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:2294
ReductionOpType
Definition: program_generated.h:296
OpType
Definition: program_generated.h:329
inline ::flatbuffers::Offset< GetDeviceOp > CreateGetDeviceOp(::flatbuffers::FlatBufferBuilder &_fbb, const tt::target::Dim2d *mesh=nullptr, ::flatbuffers::Offset<::flatbuffers::Vector< uint32_t >> chip_ids=0, ::flatbuffers::Offset< tt::target::DeviceRef > out=0)
Definition: program_generated.h:576
const char *const * EnumNamesEltwiseOpParams()
Definition: program_generated.h:265
const char *const * EnumNamesReductionOpType()
Definition: program_generated.h:313
const char * EnumNameReductionOpType(ReductionOpType e)
Definition: program_generated.h:323
const char *const * EnumNamesEltwiseOpType()
Definition: program_generated.h:195
inline ::flatbuffers::Offset< ToLayoutOp > CreateToLayoutOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, tt::target::TensorLayout layout=tt::target::TensorLayout::RowMajor, ::flatbuffers::Optional< tt::target::DataType > dtype=::flatbuffers::nullopt, ::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:754
inline ::flatbuffers::Offset< GetDeviceOp > CreateGetDeviceOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, const tt::target::Dim2d *mesh=nullptr, const std::vector< uint32_t > *chip_ids=nullptr, ::flatbuffers::Offset< tt::target::DeviceRef > out=0)
Definition: program_generated.h:593
const ReductionOpType(& EnumValuesReductionOpType())[3]
Definition: program_generated.h:304
inline ::flatbuffers::Offset< ClampOpParams > CreateClampOpParams(::flatbuffers::FlatBufferBuilder &_fbb, float min=0.0f, float max=0.0f)
Definition: program_generated.h:1373
const EltwiseOpType(& EnumValuesEltwiseOpType())[40]
Definition: program_generated.h:149
inline ::flatbuffers::Offset< FromDeviceOp > CreateFromDeviceOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:971
inline ::flatbuffers::Offset< EmptyOp > CreateEmptyOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> shape=0, tt::target::DataType dtype=tt::target::DataType::Float32, tt::target::TensorLayout layout=tt::target::TensorLayout::RowMajor, uint32_t num_shards=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, ::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg=0, ::flatbuffers::Offset< tt::target::DistributionStrategy > strategy=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:1081
inline ::flatbuffers::Offset< LinearOp > CreateLinearOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in0=0, ::flatbuffers::Offset< tt::target::TensorRef > in1=0, ::flatbuffers::Offset< tt::target::TensorRef > bias=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:2222
inline ::flatbuffers::Offset< Conv2dOp > CreateConv2dOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > input=0, ::flatbuffers::Offset< tt::target::TensorRef > weight=0, ::flatbuffers::Offset< tt::target::TensorRef > bias=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, uint32_t in_channels=0, uint32_t out_channels=0, uint32_t batch_size=0, uint32_t input_height=0, uint32_t input_width=0, uint32_t kernel_height=0, uint32_t kernel_width=0, uint32_t stride_height=0, uint32_t stride_width=0, uint32_t padding_height=0, uint32_t padding_width=0, uint32_t dilation_height=0, uint32_t dilation_width=0, uint32_t groups=0)
Definition: program_generated.h:2494
const EltwiseOpParams(& EnumValuesEltwiseOpParams())[3]
Definition: program_generated.h:256
const char *const * EnumNamesOpType()
Definition: program_generated.h:388
inline ::flatbuffers::Offset< ToMemoryConfigOp > CreateToMemoryConfigOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in0=0, ::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:659
const char * EnumNameEltwiseOpParams(EltwiseOpParams e)
Definition: program_generated.h:275
inline ::flatbuffers::Offset< FullOp > CreateFullOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, float fill_value=0.0f, uint32_t num_shards=0, ::flatbuffers::Offset< tt::target::DistributionStrategy > strategy=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:1200
const OpType(& EnumValuesOpType())[24]
Definition: program_generated.h:358
const char * EnumNameOpType(OpType e)
Definition: program_generated.h:419
bool VerifyOpType(::flatbuffers::Verifier &verifier, const void *obj, OpType type)
Definition: program_generated.h:3268
inline ::flatbuffers::Offset< ConcatOp > CreateConcatOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector<::flatbuffers::Offset< tt::target::TensorRef >> *inputs=nullptr, ::flatbuffers::Offset< tt::target::TensorRef > out=0, int32_t dim=0)
Definition: program_generated.h:1953
inline ::flatbuffers::Offset< ReshapeOp > CreateReshapeOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> shape=0)
Definition: program_generated.h:2019
inline ::flatbuffers::Offset< ReshapeOp > CreateReshapeOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, const std::vector< int32_t > *shape=nullptr)
Definition: program_generated.h:2036
inline ::flatbuffers::Offset< ConcatOp > CreateConcatOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> inputs=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, int32_t dim=0)
Definition: program_generated.h:1936
inline ::flatbuffers::Offset< TypecastOp > CreateTypecastOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, tt::target::DataType dtype=tt::target::DataType::Float32, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:829
inline ::flatbuffers::Offset< AllGatherOp > CreateAllGatherOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, uint32_t dim=0, uint32_t num_links=0)
Definition: program_generated.h:2861
bool VerifyEltwiseOpParams(::flatbuffers::Verifier &verifier, const void *obj, EltwiseOpParams type)
Definition: program_generated.h:3239
inline ::flatbuffers::Offset< ReductionOp > CreateReductionOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::ttnn::ReductionOpType type=tt::target::ttnn::ReductionOpType::Sum, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, const std::vector< int32_t > *dim_arg=nullptr, bool keep_dim=false)
Definition: program_generated.h:1648
inline ::flatbuffers::Offset< MaxPool2dOp > CreateMaxPool2dOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, uint32_t batch_size=0, uint32_t input_height=0, uint32_t input_width=0, uint32_t channels=0, uint32_t kernel_height=0, uint32_t kernel_width=0, uint32_t stride_height=0, uint32_t stride_width=0, uint32_t dilation_height=0, uint32_t dilation_width=0, bool ceil_mode=false, uint32_t padding_height=0, uint32_t padding_width=0)
Definition: program_generated.h:2700
inline ::flatbuffers::Offset< EltwiseOpWithFloatParams > CreateEltwiseOpWithFloatParams(::flatbuffers::FlatBufferBuilder &_fbb, float parameter=0.0f)
Definition: program_generated.h:1422
inline ::flatbuffers::Offset< EmbeddingOp > CreateEmbeddingOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > input=0, ::flatbuffers::Offset< tt::target::TensorRef > weight=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:1718
bool VerifyEltwiseOpParamsVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset< void >> *values, const ::flatbuffers::Vector< EltwiseOpParams > *types)
Definition: program_generated.h:3256
inline ::flatbuffers::Offset< Operation > CreateOperationDirect(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::ttnn::OpType type_type=tt::target::ttnn::OpType::NONE, ::flatbuffers::Offset< void > type=0, const char *debug_info=nullptr)
Definition: program_generated.h:3111
inline ::flatbuffers::Offset< ToDeviceOp > CreateToDeviceOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, ::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:908
inline ::flatbuffers::Offset< ArangeOp > CreateArangeOp(::flatbuffers::FlatBufferBuilder &_fbb, float start=0.0f, float end=0.0f, float step=0.0f, ::flatbuffers::Optional< tt::target::DataType > dtype=::flatbuffers::nullopt, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, ::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:1306
inline ::flatbuffers::Offset< EmptyOp > CreateEmptyOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int64_t > *shape=nullptr, tt::target::DataType dtype=tt::target::DataType::Float32, tt::target::TensorLayout layout=tt::target::TensorLayout::RowMajor, uint32_t num_shards=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, ::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg=0, ::flatbuffers::Offset< tt::target::DistributionStrategy > strategy=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0)
Definition: program_generated.h:1108
inline ::flatbuffers::Offset< DeallocateOp > CreateDeallocateOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, bool force=false)
Definition: program_generated.h:2786
inline ::flatbuffers::Offset< SoftmaxOp > CreateSoftmaxOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::TensorRef > in=0, ::flatbuffers::Offset< tt::target::TensorRef > out=0, int32_t dimension=0)
Definition: program_generated.h:1787
inline ::flatbuffers::Offset< EltwiseOp > CreateEltwiseOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::ttnn::EltwiseOpType type=tt::target::ttnn::EltwiseOpType::Add, const std::vector<::flatbuffers::Offset< tt::target::TensorRef >> *ins=nullptr, ::flatbuffers::Offset< tt::target::TensorRef > out=0, tt::target::ttnn::EltwiseOpParams params_type=tt::target::ttnn::EltwiseOpParams::NONE, ::flatbuffers::Offset< void > params=0)
Definition: program_generated.h:1541
TensorLayout
Definition: types_generated.h:325
DataType
Definition: types_generated.h:117
Definition: debug_info_generated.h:18
Definition: debug_info_generated.h:36
Definition: program_generated.h:2834
::flatbuffers::Offset< AllGatherOp > Finish()
Definition: program_generated.h:2854
void add_num_links(uint32_t num_links)
Definition: program_generated.h:2847
AllGatherOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2850
void add_dim(uint32_t dim)
Definition: program_generated.h:2844
AllGatherOp Table
Definition: program_generated.h:2835
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:2841
::flatbuffers::uoffset_t start_
Definition: program_generated.h:2837
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:2836
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:2838
Definition: program_generated.h:2875
static constexpr auto Create
Definition: program_generated.h:2877
AllGatherOp type
Definition: program_generated.h:2876
Definition: program_generated.h:1270
ArangeOp Table
Definition: program_generated.h:1271
void add_start(float start)
Definition: program_generated.h:1274
void add_dtype(tt::target::DataType dtype)
Definition: program_generated.h:1283
void add_step(float step)
Definition: program_generated.h:1280
::flatbuffers::Offset< ArangeOp > Finish()
Definition: program_generated.h:1299
ArangeOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1295
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1272
void add_memcfg(::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg)
Definition: program_generated.h:1289
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1273
void add_end(float end)
Definition: program_generated.h:1277
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: program_generated.h:1286
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1292
Definition: program_generated.h:1326
ArangeOp type
Definition: program_generated.h:1327
static constexpr auto Create
Definition: program_generated.h:1328
Definition: program_generated.h:1352
void add_max(float max)
Definition: program_generated.h:1359
ClampOpParams Table
Definition: program_generated.h:1353
void add_min(float min)
Definition: program_generated.h:1356
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1355
::flatbuffers::Offset< ClampOpParams > Finish()
Definition: program_generated.h:1366
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1354
ClampOpParamsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1362
Definition: program_generated.h:1383
ClampOpParams type
Definition: program_generated.h:1384
static constexpr auto Create
Definition: program_generated.h:1385
Definition: program_generated.h:1912
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1914
void add_dim(int32_t dim)
Definition: program_generated.h:1922
::flatbuffers::Offset< ConcatOp > Finish()
Definition: program_generated.h:1929
ConcatOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1925
void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> inputs)
Definition: program_generated.h:1916
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1915
ConcatOp Table
Definition: program_generated.h:1913
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1919
Definition: program_generated.h:1948
ConcatOp type
Definition: program_generated.h:1949
static constexpr auto Create
Definition: program_generated.h:1950
Definition: program_generated.h:2422
void add_in_channels(uint32_t in_channels)
Definition: program_generated.h:2441
void add_input_width(uint32_t input_width)
Definition: program_generated.h:2453
void add_input(::flatbuffers::Offset< tt::target::TensorRef > input)
Definition: program_generated.h:2426
Conv2dOp Table
Definition: program_generated.h:2423
void add_out_channels(uint32_t out_channels)
Definition: program_generated.h:2444
::flatbuffers::Offset< Conv2dOp > Finish()
Definition: program_generated.h:2487
void add_stride_width(uint32_t stride_width)
Definition: program_generated.h:2465
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: program_generated.h:2438
Conv2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2483
void add_groups(uint32_t groups)
Definition: program_generated.h:2480
void add_padding_width(uint32_t padding_width)
Definition: program_generated.h:2471
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:2435
void add_dilation_width(uint32_t dilation_width)
Definition: program_generated.h:2477
void add_kernel_width(uint32_t kernel_width)
Definition: program_generated.h:2459
void add_kernel_height(uint32_t kernel_height)
Definition: program_generated.h:2456
::flatbuffers::uoffset_t start_
Definition: program_generated.h:2425
void add_padding_height(uint32_t padding_height)
Definition: program_generated.h:2468
void add_batch_size(uint32_t batch_size)
Definition: program_generated.h:2447
void add_bias(::flatbuffers::Offset< tt::target::TensorRef > bias)
Definition: program_generated.h:2432
void add_input_height(uint32_t input_height)
Definition: program_generated.h:2450
void add_stride_height(uint32_t stride_height)
Definition: program_generated.h:2462
void add_dilation_height(uint32_t dilation_height)
Definition: program_generated.h:2474
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:2424
void add_weight(::flatbuffers::Offset< tt::target::TensorRef > weight)
Definition: program_generated.h:2429
Definition: program_generated.h:2538
static constexpr auto Create
Definition: program_generated.h:2540
Conv2dOp type
Definition: program_generated.h:2539
Definition: program_generated.h:2765
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:2769
DeallocateOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2775
::flatbuffers::uoffset_t start_
Definition: program_generated.h:2768
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:2767
DeallocateOp Table
Definition: program_generated.h:2766
::flatbuffers::Offset< DeallocateOp > Finish()
Definition: program_generated.h:2779
void add_force(bool force)
Definition: program_generated.h:2772
Definition: program_generated.h:2796
DeallocateOp type
Definition: program_generated.h:2797
static constexpr auto Create
Definition: program_generated.h:2798
Definition: program_generated.h:1490
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1500
::flatbuffers::Offset< EltwiseOp > Finish()
Definition: program_generated.h:1513
void add_params(::flatbuffers::Offset< void > params)
Definition: program_generated.h:1506
void add_params_type(tt::target::ttnn::EltwiseOpParams params_type)
Definition: program_generated.h:1503
EltwiseOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1509
void add_ins(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> ins)
Definition: program_generated.h:1497
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1493
void add_type(tt::target::ttnn::EltwiseOpType type)
Definition: program_generated.h:1494
EltwiseOp Table
Definition: program_generated.h:1491
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1492
Definition: program_generated.h:281
static const EltwiseOpParams enum_value
Definition: program_generated.h:282
Definition: program_generated.h:1404
::flatbuffers::Offset< EltwiseOpWithFloatParams > Finish()
Definition: program_generated.h:1415
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1407
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1406
EltwiseOpWithFloatParams Table
Definition: program_generated.h:1405
EltwiseOpWithFloatParamsBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1411
void add_parameter(float parameter)
Definition: program_generated.h:1408
Definition: program_generated.h:1430
static constexpr auto Create
Definition: program_generated.h:1432
EltwiseOpWithFloatParams type
Definition: program_generated.h:1431
Definition: program_generated.h:1536
static constexpr auto Create
Definition: program_generated.h:1538
EltwiseOp type
Definition: program_generated.h:1537
Definition: program_generated.h:1694
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1697
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1704
EmbeddingOp Table
Definition: program_generated.h:1695
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1696
::flatbuffers::Offset< EmbeddingOp > Finish()
Definition: program_generated.h:1711
EmbeddingOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1707
void add_input(::flatbuffers::Offset< tt::target::TensorRef > input)
Definition: program_generated.h:1698
void add_weight(::flatbuffers::Offset< tt::target::TensorRef > weight)
Definition: program_generated.h:1701
Definition: program_generated.h:1730
EmbeddingOp type
Definition: program_generated.h:1731
static constexpr auto Create
Definition: program_generated.h:1732
Definition: program_generated.h:1042
EmptyOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1070
void add_layout(tt::target::TensorLayout layout)
Definition: program_generated.h:1052
void add_shape(::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> shape)
Definition: program_generated.h:1046
::flatbuffers::Offset< EmptyOp > Finish()
Definition: program_generated.h:1074
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: program_generated.h:1058
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1044
void add_memcfg(::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg)
Definition: program_generated.h:1061
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1067
void add_strategy(::flatbuffers::Offset< tt::target::DistributionStrategy > strategy)
Definition: program_generated.h:1064
void add_dtype(tt::target::DataType dtype)
Definition: program_generated.h:1049
EmptyOp Table
Definition: program_generated.h:1043
void add_num_shards(uint32_t num_shards)
Definition: program_generated.h:1055
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1045
Definition: program_generated.h:1103
static constexpr auto Create
Definition: program_generated.h:1105
EmptyOp type
Definition: program_generated.h:1104
Definition: binary_generated.h:30
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef > > * outputs() const
Definition: program_generated.h:3140
tt::target::DataType dtype() const
Definition: program_generated.h:788
uint32_t padding_width() const
Definition: program_generated.h:2380
uint32_t in_channels() const
Definition: program_generated.h:2350
const tt::target::ttnn::ReshapeOp * type_as_ReshapeOp() const
Definition: program_generated.h:2946
const ::flatbuffers::Vector< int64_t > * begins() const
Definition: program_generated.h:2065
const ::flatbuffers::Vector< uint32_t > * chip_ids() const
Definition: program_generated.h:535
const ::flatbuffers::String * name() const
Definition: program_generated.h:3134
uint32_t batch_size() const
Definition: program_generated.h:2356
DeallocateOpBuilder Builder
Definition: program_generated.h:2744
const tt::target::ttnn::SoftmaxOp * type_as_SoftmaxOp() const
Definition: program_generated.h:2934
ReshapeOpBuilder Builder
Definition: program_generated.h:1967
const tt::target::TensorRef * in() const
Definition: program_generated.h:687
uint32_t input_width() const
Definition: program_generated.h:2362
const tt::target::ttnn::MaxPool2dOp * type_as_MaxPool2dOp() const
Definition: program_generated.h:2952
const ::flatbuffers::Vector< int64_t > * ends() const
Definition: program_generated.h:2068
int32_t dim() const
Definition: program_generated.h:1897
const tt::target::ttnn::ReductionOp * type_as_ReductionOp() const
Definition: program_generated.h:2928
const tt::target::TensorRef * in1() const
Definition: program_generated.h:2172
uint32_t num_links() const
Definition: program_generated.h:2819
ClampOpParamsBuilder Builder
Definition: program_generated.h:1332
const tt::target::ttnn::EmbeddingOp * type_as_EmbeddingOp() const
Definition: program_generated.h:2931
const tt::target::ttnn::ConcatOp * type_as_ConcatOp() const
Definition: program_generated.h:2943
const tt::target::TensorRef * weight() const
Definition: program_generated.h:1676
const tt::target::TensorRef * in0() const
Definition: program_generated.h:614
const void * type() const
Definition: program_generated.h:2891
ProgramBuilder Builder
Definition: program_generated.h:3125
uint32_t dim() const
Definition: program_generated.h:2816
const tt::target::TensorRef * bias() const
Definition: program_generated.h:2175
bool ceil_mode() const
Definition: program_generated.h:2603
EltwiseOpBuilder Builder
Definition: program_generated.h:1436
uint32_t dilation_height() const
Definition: program_generated.h:2383
float start() const
Definition: program_generated.h:1233
const ::flatbuffers::Vector< int64_t > * step() const
Definition: program_generated.h:2071
const tt::target::ttnn::EmptyOp * type_as_EmptyOp() const
Definition: program_generated.h:2913
uint32_t channels() const
Definition: program_generated.h:2582
const ::flatbuffers::String * debug_info() const
Definition: program_generated.h:2964
int32_t dim1() const
Definition: program_generated.h:1822
const ::flatbuffers::Vector< int32_t > * shape() const
Definition: program_generated.h:1980
uint32_t kernel_height() const
Definition: program_generated.h:2365
const tt::target::ttnn::ClampOpParams * params_as_ClampOpParams() const
Definition: program_generated.h:1461
const tt::target::ttnn::SliceOp * type_as_SliceOp() const
Definition: program_generated.h:2949
const tt::target::ttnn::DeallocateOp * type_as_DeallocateOp() const
Definition: program_generated.h:2955
uint32_t kernel_width() const
Definition: program_generated.h:2368
uint32_t stride_width() const
Definition: program_generated.h:2374
int32_t dim0() const
Definition: program_generated.h:1819
uint32_t num_shards() const
Definition: program_generated.h:1008
const tt::target::Dim2d * mesh() const
Definition: program_generated.h:532
uint32_t padding_height() const
Definition: program_generated.h:2377
const tt::target::ttnn::ToMemoryConfigOp * type_as_ToMemoryConfigOp() const
Definition: program_generated.h:2898
uint32_t dilation_width() const
Definition: program_generated.h:2386
const tt::target::ttnn::ToLayoutOp * type_as_ToLayoutOp() const
Definition: program_generated.h:2901
EmbeddingOpBuilder Builder
Definition: program_generated.h:1666
const tt::target::ttnn::ArangeOp * type_as_ArangeOp() const
Definition: program_generated.h:2961
const tt::target::ttnn::FromDeviceOp * type_as_FromDeviceOp() const
Definition: program_generated.h:2910
const ::flatbuffers::Vector< int64_t > * shape() const
Definition: program_generated.h:999
SliceOpBuilder Builder
Definition: program_generated.h:2050
GetDeviceOpBuilder Builder
Definition: program_generated.h:525
tt::target::TensorLayout layout() const
Definition: program_generated.h:690
const tt::target::ttnn::EltwiseOp * type_as_EltwiseOp() const
Definition: program_generated.h:2919
EmptyOpBuilder Builder
Definition: program_generated.h:987
const tt::target::ttnn::EltwiseOpWithFloatParams * params_as_EltwiseOpWithFloatParams() const
Definition: program_generated.h:1464
ToDeviceOpBuilder Builder
Definition: program_generated.h:847
const tt::target::ttnn::TransposeOp * type_as_TransposeOp() const
Definition: program_generated.h:2937
AllGatherOpBuilder Builder
Definition: program_generated.h:2802
bool keep_dim() const
Definition: program_generated.h:1580
uint32_t input_height() const
Definition: program_generated.h:2359
float fill_value() const
Definition: program_generated.h:1144
const tt::target::ttnn::FullOp * type_as_FullOp() const
Definition: program_generated.h:2916
::flatbuffers::Optional< tt::target::DataType > dtype() const
Definition: program_generated.h:693
ArangeOpBuilder Builder
Definition: program_generated.h:1222
ConcatOpBuilder Builder
Definition: program_generated.h:1884
uint32_t stride_height() const
Definition: program_generated.h:2371
FullOpBuilder Builder
Definition: program_generated.h:1132
const tt::target::ttnn::LinearOp * type_as_LinearOp() const
Definition: program_generated.h:2922
const tt::target::ttnn::TypecastOp * type_as_TypecastOp() const
Definition: program_generated.h:2904
int32_t dimension() const
Definition: program_generated.h:1749
const tt::target::MemoryConfigDesc * memcfg() const
Definition: program_generated.h:617
ToMemoryConfigOpBuilder Builder
Definition: program_generated.h:607
const tt::target::TensorRef * input() const
Definition: program_generated.h:1673
tt::target::ttnn::OpType type_type() const
Definition: program_generated.h:2888
Conv2dOpBuilder Builder
Definition: program_generated.h:2312
float parameter() const
Definition: program_generated.h:1394
const tt::target::ttnn::MatmulOp * type_as_MatmulOp() const
Definition: program_generated.h:2925
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::ttnn::Operation > > * operations() const
Definition: program_generated.h:3143
bool Verify(::flatbuffers::Verifier &verifier) const
Definition: program_generated.h:541
const tt::target::ttnn::AllGatherOp * type_as_AllGatherOp() const
Definition: program_generated.h:2958
const tt::target::TensorRef * out() const
Definition: program_generated.h:620
const tt::target::ttnn::Conv2dOp * type_as_Conv2dOp() const
Definition: program_generated.h:2940
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef > > * inputs() const
Definition: program_generated.h:1891
tt::target::ttnn::EltwiseOpType type() const
Definition: program_generated.h:1445
SoftmaxOpBuilder Builder
Definition: program_generated.h:1736
float max() const
Definition: program_generated.h:1341
MaxPool2dOpBuilder Builder
Definition: program_generated.h:2544
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef > > * ins() const
Definition: program_generated.h:1448
ReductionOpBuilder Builder
Definition: program_generated.h:1559
uint32_t groups() const
Definition: program_generated.h:2389
OperationBuilder Builder
Definition: program_generated.h:2881
TransposeOpBuilder Builder
Definition: program_generated.h:1805
tt::target::ttnn::EltwiseOpParams params_type() const
Definition: program_generated.h:1454
tt::target::ttnn::ReductionOpType type() const
Definition: program_generated.h:1568
uint32_t out_channels() const
Definition: program_generated.h:2353
ToLayoutOpBuilder Builder
Definition: program_generated.h:677
float end() const
Definition: program_generated.h:1236
const tt::target::DeviceRef * out() const
Definition: program_generated.h:538
bool force() const
Definition: program_generated.h:2753
const void * params() const
Definition: program_generated.h:1457
const tt::target::DebugInfo * debug_info() const
Definition: program_generated.h:3146
const ::flatbuffers::Vector< int32_t > * dim_arg() const
Definition: program_generated.h:1577
EltwiseOpWithFloatParamsBuilder Builder
Definition: program_generated.h:1389
float step() const
Definition: program_generated.h:1239
const tt::target::DistributionStrategy * strategy() const
Definition: program_generated.h:1017
const tt::target::DeviceRef * device() const
Definition: program_generated.h:699
LinearOpBuilder Builder
Definition: program_generated.h:2161
FromDeviceOpBuilder Builder
Definition: program_generated.h:928
float min() const
Definition: program_generated.h:1338
MatmulOpBuilder Builder
Definition: program_generated.h:2242
const tt::target::ttnn::ToDeviceOp * type_as_ToDeviceOp() const
Definition: program_generated.h:2907
const tt::target::ttnn::GetDeviceOp * type_as_GetDeviceOp() const
Definition: program_generated.h:2895
TypecastOpBuilder Builder
Definition: program_generated.h:778
Definition: program_generated.h:950
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:952
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:954
::flatbuffers::uoffset_t start_
Definition: program_generated.h:953
FromDeviceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:960
FromDeviceOp Table
Definition: program_generated.h:951
::flatbuffers::Offset< FromDeviceOp > Finish()
Definition: program_generated.h:964
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:957
Definition: program_generated.h:981
static constexpr auto Create
Definition: program_generated.h:983
FromDeviceOp type
Definition: program_generated.h:982
Definition: program_generated.h:1170
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: program_generated.h:1174
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1172
void add_num_shards(uint32_t num_shards)
Definition: program_generated.h:1180
::flatbuffers::Offset< FullOp > Finish()
Definition: program_generated.h:1193
void add_strategy(::flatbuffers::Offset< tt::target::DistributionStrategy > strategy)
Definition: program_generated.h:1183
void add_fill_value(float fill_value)
Definition: program_generated.h:1177
FullOp Table
Definition: program_generated.h:1171
FullOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1189
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1173
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1186
Definition: program_generated.h:1216
FullOp type
Definition: program_generated.h:1217
static constexpr auto Create
Definition: program_generated.h:1218
Definition: program_generated.h:552
GetDeviceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:565
::flatbuffers::uoffset_t start_
Definition: program_generated.h:555
::flatbuffers::Offset< GetDeviceOp > Finish()
Definition: program_generated.h:569
void add_chip_ids(::flatbuffers::Offset<::flatbuffers::Vector< uint32_t >> chip_ids)
Definition: program_generated.h:559
void add_mesh(const tt::target::Dim2d *mesh)
Definition: program_generated.h:556
GetDeviceOp Table
Definition: program_generated.h:553
void add_out(::flatbuffers::Offset< tt::target::DeviceRef > out)
Definition: program_generated.h:562
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:554
Definition: program_generated.h:588
GetDeviceOp type
Definition: program_generated.h:589
static constexpr auto Create
Definition: program_generated.h:590
Definition: program_generated.h:2195
LinearOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2211
void add_in0(::flatbuffers::Offset< tt::target::TensorRef > in0)
Definition: program_generated.h:2199
::flatbuffers::Offset< LinearOp > Finish()
Definition: program_generated.h:2215
::flatbuffers::uoffset_t start_
Definition: program_generated.h:2198
void add_in1(::flatbuffers::Offset< tt::target::TensorRef > in1)
Definition: program_generated.h:2202
void add_bias(::flatbuffers::Offset< tt::target::TensorRef > bias)
Definition: program_generated.h:2205
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:2208
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:2197
LinearOp Table
Definition: program_generated.h:2196
Definition: program_generated.h:2236
static constexpr auto Create
Definition: program_generated.h:2238
LinearOp type
Definition: program_generated.h:2237
Definition: program_generated.h:2270
::flatbuffers::uoffset_t start_
Definition: program_generated.h:2273
::flatbuffers::Offset< MatmulOp > Finish()
Definition: program_generated.h:2287
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:2280
MatmulOp Table
Definition: program_generated.h:2271
void add_in1(::flatbuffers::Offset< tt::target::TensorRef > in1)
Definition: program_generated.h:2277
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:2272
void add_in0(::flatbuffers::Offset< tt::target::TensorRef > in0)
Definition: program_generated.h:2274
MatmulOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2283
Definition: program_generated.h:2306
static constexpr auto Create
Definition: program_generated.h:2308
MatmulOp type
Definition: program_generated.h:2307
Definition: program_generated.h:2637
void add_input_width(uint32_t input_width)
Definition: program_generated.h:2656
::flatbuffers::uoffset_t start_
Definition: program_generated.h:2640
void add_input_height(uint32_t input_height)
Definition: program_generated.h:2653
MaxPool2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2689
void add_stride_height(uint32_t stride_height)
Definition: program_generated.h:2668
void add_ceil_mode(bool ceil_mode)
Definition: program_generated.h:2680
void add_dilation_width(uint32_t dilation_width)
Definition: program_generated.h:2677
void add_padding_height(uint32_t padding_height)
Definition: program_generated.h:2683
void add_kernel_height(uint32_t kernel_height)
Definition: program_generated.h:2662
MaxPool2dOp Table
Definition: program_generated.h:2638
void add_dilation_height(uint32_t dilation_height)
Definition: program_generated.h:2674
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:2641
void add_channels(uint32_t channels)
Definition: program_generated.h:2659
void add_padding_width(uint32_t padding_width)
Definition: program_generated.h:2686
::flatbuffers::Offset< MaxPool2dOp > Finish()
Definition: program_generated.h:2693
void add_kernel_width(uint32_t kernel_width)
Definition: program_generated.h:2665
void add_stride_width(uint32_t stride_width)
Definition: program_generated.h:2671
void add_batch_size(uint32_t batch_size)
Definition: program_generated.h:2650
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:2644
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:2639
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: program_generated.h:2647
Definition: program_generated.h:2738
MaxPool2dOp type
Definition: program_generated.h:2739
static constexpr auto Create
Definition: program_generated.h:2740
Definition: program_generated.h:425
static const OpType enum_value
Definition: program_generated.h:426
Definition: program_generated.h:3070
void add_type(::flatbuffers::Offset< void > type)
Definition: program_generated.h:3077
OperationBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:3083
::flatbuffers::Offset< Operation > Finish()
Definition: program_generated.h:3087
Operation Table
Definition: program_generated.h:3071
void add_debug_info(::flatbuffers::Offset<::flatbuffers::String > debug_info)
Definition: program_generated.h:3080
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:3072
::flatbuffers::uoffset_t start_
Definition: program_generated.h:3073
void add_type_type(tt::target::ttnn::OpType type_type)
Definition: program_generated.h:3074
Definition: program_generated.h:3106
static constexpr auto Create
Definition: program_generated.h:3108
Operation type
Definition: program_generated.h:3107
Definition: program_generated.h:3168
Program Table
Definition: program_generated.h:3169
::flatbuffers::uoffset_t start_
Definition: program_generated.h:3171
void add_name(::flatbuffers::Offset<::flatbuffers::String > name)
Definition: program_generated.h:3172
void add_debug_info(::flatbuffers::Offset< tt::target::DebugInfo > debug_info)
Definition: program_generated.h:3184
void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> inputs)
Definition: program_generated.h:3175
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:3170
void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::TensorRef >>> outputs)
Definition: program_generated.h:3178
::flatbuffers::Offset< Program > Finish()
Definition: program_generated.h:3191
ProgramBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:3187
void add_operations(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::ttnn::Operation >>> operations)
Definition: program_generated.h:3181
Definition: program_generated.h:3214
static constexpr auto Create
Definition: program_generated.h:3216
Program type
Definition: program_generated.h:3215
Definition: program_generated.h:1597
ReductionOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1616
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:1604
void add_dim_arg(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dim_arg)
Definition: program_generated.h:1610
::flatbuffers::Offset< ReductionOp > Finish()
Definition: program_generated.h:1620
void add_type(tt::target::ttnn::ReductionOpType type)
Definition: program_generated.h:1601
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1599
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1600
ReductionOp Table
Definition: program_generated.h:1598
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1607
void add_keep_dim(bool keep_dim)
Definition: program_generated.h:1613
Definition: program_generated.h:1643
ReductionOp type
Definition: program_generated.h:1644
static constexpr auto Create
Definition: program_generated.h:1645
Definition: program_generated.h:1995
void add_shape(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> shape)
Definition: program_generated.h:2005
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1998
ReshapeOp Table
Definition: program_generated.h:1996
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1997
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:1999
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:2002
::flatbuffers::Offset< ReshapeOp > Finish()
Definition: program_generated.h:2012
ReshapeOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2008
Definition: program_generated.h:2031
static constexpr auto Create
Definition: program_generated.h:2033
ReshapeOp type
Definition: program_generated.h:2032
Definition: program_generated.h:2090
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:2092
SliceOp Table
Definition: program_generated.h:2091
void add_step(::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> step)
Definition: program_generated.h:2106
void add_begins(::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> begins)
Definition: program_generated.h:2100
::flatbuffers::Offset< SliceOp > Finish()
Definition: program_generated.h:2113
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:2094
::flatbuffers::uoffset_t start_
Definition: program_generated.h:2093
void add_ends(::flatbuffers::Offset<::flatbuffers::Vector< int64_t >> ends)
Definition: program_generated.h:2103
SliceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:2109
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:2097
Definition: program_generated.h:2136
SliceOp type
Definition: program_generated.h:2137
static constexpr auto Create
Definition: program_generated.h:2138
Definition: program_generated.h:1763
void add_dimension(int32_t dimension)
Definition: program_generated.h:1773
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1766
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:1767
SoftmaxOp Table
Definition: program_generated.h:1764
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1765
::flatbuffers::Offset< SoftmaxOp > Finish()
Definition: program_generated.h:1780
SoftmaxOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1776
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1770
Definition: program_generated.h:1799
static constexpr auto Create
Definition: program_generated.h:1801
SoftmaxOp type
Definition: program_generated.h:1800
Definition: program_generated.h:881
ToDeviceOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:897
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:894
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:885
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: program_generated.h:888
::flatbuffers::Offset< ToDeviceOp > Finish()
Definition: program_generated.h:901
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:883
ToDeviceOp Table
Definition: program_generated.h:882
::flatbuffers::uoffset_t start_
Definition: program_generated.h:884
void add_memcfg(::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg)
Definition: program_generated.h:891
Definition: program_generated.h:922
ToDeviceOp type
Definition: program_generated.h:923
static constexpr auto Create
Definition: program_generated.h:924
Definition: program_generated.h:721
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:723
ToLayoutOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:743
ToLayoutOp Table
Definition: program_generated.h:722
::flatbuffers::Offset< ToLayoutOp > Finish()
Definition: program_generated.h:747
void add_layout(tt::target::TensorLayout layout)
Definition: program_generated.h:728
void add_dtype(tt::target::DataType dtype)
Definition: program_generated.h:731
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:725
void add_memcfg(::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg)
Definition: program_generated.h:734
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: program_generated.h:737
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:740
::flatbuffers::uoffset_t start_
Definition: program_generated.h:724
Definition: program_generated.h:772
static constexpr auto Create
Definition: program_generated.h:774
ToLayoutOp type
Definition: program_generated.h:773
Definition: program_generated.h:635
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:645
void add_memcfg(::flatbuffers::Offset< tt::target::MemoryConfigDesc > memcfg)
Definition: program_generated.h:642
::flatbuffers::uoffset_t start_
Definition: program_generated.h:638
ToMemoryConfigOp Table
Definition: program_generated.h:636
void add_in0(::flatbuffers::Offset< tt::target::TensorRef > in0)
Definition: program_generated.h:639
ToMemoryConfigOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:648
::flatbuffers::Offset< ToMemoryConfigOp > Finish()
Definition: program_generated.h:652
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:637
Definition: program_generated.h:671
ToMemoryConfigOp type
Definition: program_generated.h:672
static constexpr auto Create
Definition: program_generated.h:673
Definition: program_generated.h:1837
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:1839
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:1844
void add_dim0(int32_t dim0)
Definition: program_generated.h:1847
::flatbuffers::Offset< TransposeOp > Finish()
Definition: program_generated.h:1857
TransposeOp Table
Definition: program_generated.h:1838
TransposeOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:1853
::flatbuffers::uoffset_t start_
Definition: program_generated.h:1840
void add_dim1(int32_t dim1)
Definition: program_generated.h:1850
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:1841
Definition: program_generated.h:1878
TransposeOp type
Definition: program_generated.h:1879
static constexpr auto Create
Definition: program_generated.h:1880
Definition: program_generated.h:805
::flatbuffers::Offset< TypecastOp > Finish()
Definition: program_generated.h:822
::flatbuffers::uoffset_t start_
Definition: program_generated.h:808
void add_dtype(tt::target::DataType dtype)
Definition: program_generated.h:812
TypecastOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: program_generated.h:818
TypecastOp Table
Definition: program_generated.h:806
::flatbuffers::FlatBufferBuilder & fbb_
Definition: program_generated.h:807
void add_out(::flatbuffers::Offset< tt::target::TensorRef > out)
Definition: program_generated.h:815
void add_in(::flatbuffers::Offset< tt::target::TensorRef > in)
Definition: program_generated.h:809
Definition: program_generated.h:841
TypecastOp type
Definition: program_generated.h:842
static constexpr auto Create
Definition: program_generated.h:843