TT-MLIR
binary_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_BINARY_TT_TARGET_METAL_H_
5 #define FLATBUFFERS_GENERATED_BINARY_TT_TARGET_METAL_H_
6 
7 #include "flatbuffers/flatbuffers.h"
8 
9 // Ensure the included flatbuffers.h is the same version as when this file was
10 // generated, otherwise it may not be compatible.
11 static_assert(FLATBUFFERS_VERSION_MAJOR == 24 &&
12  FLATBUFFERS_VERSION_MINOR == 3 &&
13  FLATBUFFERS_VERSION_REVISION == 25,
14  "Non-compatible flatbuffers version included");
15 
21 
22 // For access to the binary schema that produced this file.
23 #include "binary_bfbs_generated.h"
24 
25 namespace tt {
26 namespace target {
27 namespace metal {
28 
29 struct MemoryDesc;
30 struct MemoryDescBuilder;
31 
32 struct LayoutDesc;
33 struct LayoutDescBuilder;
34 
35 struct TensorDesc;
36 struct TensorDescBuilder;
37 
38 struct TensorRef;
39 struct TensorRefBuilder;
40 
41 struct DeviceProgram;
42 struct DeviceProgramBuilder;
43 
44 struct Program;
45 struct ProgramBuilder;
46 
47 struct TTMetalBinary;
48 struct TTMetalBinaryBuilder;
49 
51 struct MemoryDesc FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
54  struct Traits;
55  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
56  return "tt.target.metal.MemoryDesc";
57  }
58  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
59  VT_DATA_TYPE = 4
60  };
62  return static_cast<tt::target::DataType>(GetField<uint16_t>(VT_DATA_TYPE, 0));
63  }
64  bool Verify(::flatbuffers::Verifier &verifier) const {
65  return VerifyTableStart(verifier) &&
66  VerifyField<uint16_t>(verifier, VT_DATA_TYPE, 2) &&
67  verifier.EndTable();
68  }
69 };
70 
72  typedef MemoryDesc Table;
73  ::flatbuffers::FlatBufferBuilder &fbb_;
74  ::flatbuffers::uoffset_t start_;
76  fbb_.AddElement<uint16_t>(MemoryDesc::VT_DATA_TYPE, static_cast<uint16_t>(data_type), 0);
77  }
78  explicit MemoryDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
79  : fbb_(_fbb) {
80  start_ = fbb_.StartTable();
81  }
82  ::flatbuffers::Offset<MemoryDesc> Finish() {
83  const auto end = fbb_.EndTable(start_);
84  auto o = ::flatbuffers::Offset<MemoryDesc>(end);
85  return o;
86  }
87 };
88 
89 inline ::flatbuffers::Offset<MemoryDesc> CreateMemoryDesc(
90  ::flatbuffers::FlatBufferBuilder &_fbb,
92  MemoryDescBuilder builder_(_fbb);
93  builder_.add_data_type(data_type);
94  return builder_.Finish();
95 }
96 
98  using type = MemoryDesc;
99  static auto constexpr Create = CreateMemoryDesc;
100 };
101 
102 struct LayoutDesc FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
105  struct Traits;
106  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
107  return "tt.target.metal.LayoutDesc";
108  }
109  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
110  VT_MEMORY_DESC = 4
111  };
112  const tt::target::metal::MemoryDesc *memory_desc() const {
113  return GetPointer<const tt::target::metal::MemoryDesc *>(VT_MEMORY_DESC);
114  }
115  bool Verify(::flatbuffers::Verifier &verifier) const {
116  return VerifyTableStart(verifier) &&
117  VerifyOffset(verifier, VT_MEMORY_DESC) &&
118  verifier.VerifyTable(memory_desc()) &&
119  verifier.EndTable();
120  }
121 };
122 
124  typedef LayoutDesc Table;
125  ::flatbuffers::FlatBufferBuilder &fbb_;
126  ::flatbuffers::uoffset_t start_;
127  void add_memory_desc(::flatbuffers::Offset<tt::target::metal::MemoryDesc> memory_desc) {
128  fbb_.AddOffset(LayoutDesc::VT_MEMORY_DESC, memory_desc);
129  }
130  explicit LayoutDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
131  : fbb_(_fbb) {
132  start_ = fbb_.StartTable();
133  }
134  ::flatbuffers::Offset<LayoutDesc> Finish() {
135  const auto end = fbb_.EndTable(start_);
136  auto o = ::flatbuffers::Offset<LayoutDesc>(end);
137  return o;
138  }
139 };
140 
141 inline ::flatbuffers::Offset<LayoutDesc> CreateLayoutDesc(
142  ::flatbuffers::FlatBufferBuilder &_fbb,
143  ::flatbuffers::Offset<tt::target::metal::MemoryDesc> memory_desc = 0) {
144  LayoutDescBuilder builder_(_fbb);
145  builder_.add_memory_desc(memory_desc);
146  return builder_.Finish();
147 }
148 
150  using type = LayoutDesc;
151  static auto constexpr Create = CreateLayoutDesc;
152 };
153 
154 struct TensorDesc FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
157  struct Traits;
158  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
159  return "tt.target.metal.TensorDesc";
160  }
161  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
162  VT_SHAPE = 4,
164  VT_LAYOUT = 8
165  };
166  const ::flatbuffers::Vector<int32_t> *shape() const {
167  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
168  }
169  const ::flatbuffers::Vector<int32_t> *mesh_shape() const {
170  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_MESH_SHAPE);
171  }
172  const tt::target::metal::LayoutDesc *layout() const {
173  return GetPointer<const tt::target::metal::LayoutDesc *>(VT_LAYOUT);
174  }
175  bool Verify(::flatbuffers::Verifier &verifier) const {
176  return VerifyTableStart(verifier) &&
177  VerifyOffset(verifier, VT_SHAPE) &&
178  verifier.VerifyVector(shape()) &&
179  VerifyOffset(verifier, VT_MESH_SHAPE) &&
180  verifier.VerifyVector(mesh_shape()) &&
181  VerifyOffset(verifier, VT_LAYOUT) &&
182  verifier.VerifyTable(layout()) &&
183  verifier.EndTable();
184  }
185 };
186 
188  typedef TensorDesc Table;
189  ::flatbuffers::FlatBufferBuilder &fbb_;
190  ::flatbuffers::uoffset_t start_;
191  void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
192  fbb_.AddOffset(TensorDesc::VT_SHAPE, shape);
193  }
194  void add_mesh_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> mesh_shape) {
195  fbb_.AddOffset(TensorDesc::VT_MESH_SHAPE, mesh_shape);
196  }
197  void add_layout(::flatbuffers::Offset<tt::target::metal::LayoutDesc> layout) {
198  fbb_.AddOffset(TensorDesc::VT_LAYOUT, layout);
199  }
200  explicit TensorDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
201  : fbb_(_fbb) {
202  start_ = fbb_.StartTable();
203  }
204  ::flatbuffers::Offset<TensorDesc> Finish() {
205  const auto end = fbb_.EndTable(start_);
206  auto o = ::flatbuffers::Offset<TensorDesc>(end);
207  return o;
208  }
209 };
210 
211 inline ::flatbuffers::Offset<TensorDesc> CreateTensorDesc(
212  ::flatbuffers::FlatBufferBuilder &_fbb,
213  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
214  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> mesh_shape = 0,
215  ::flatbuffers::Offset<tt::target::metal::LayoutDesc> layout = 0) {
216  TensorDescBuilder builder_(_fbb);
217  builder_.add_layout(layout);
218  builder_.add_mesh_shape(mesh_shape);
219  builder_.add_shape(shape);
220  return builder_.Finish();
221 }
222 
224  using type = TensorDesc;
225  static auto constexpr Create = CreateTensorDesc;
226 };
227 
228 inline ::flatbuffers::Offset<TensorDesc> CreateTensorDescDirect(
229  ::flatbuffers::FlatBufferBuilder &_fbb,
230  const std::vector<int32_t> *shape = nullptr,
231  const std::vector<int32_t> *mesh_shape = nullptr,
232  ::flatbuffers::Offset<tt::target::metal::LayoutDesc> layout = 0) {
233  auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
234  auto mesh_shape__ = mesh_shape ? _fbb.CreateVector<int32_t>(*mesh_shape) : 0;
236  _fbb,
237  shape__,
238  mesh_shape__,
239  layout);
240 }
241 
242 struct TensorRef FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
245  struct Traits;
246  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
247  return "tt.target.metal.TensorRef";
248  }
249  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
250  VT_SIZE = 4,
251  VT_DESC = 6
252  };
253  uint64_t size() const {
254  return GetField<uint64_t>(VT_SIZE, 0);
255  }
256  const tt::target::metal::TensorDesc *desc() const {
257  return GetPointer<const tt::target::metal::TensorDesc *>(VT_DESC);
258  }
259  bool Verify(::flatbuffers::Verifier &verifier) const {
260  return VerifyTableStart(verifier) &&
261  VerifyField<uint64_t>(verifier, VT_SIZE, 8) &&
262  VerifyOffset(verifier, VT_DESC) &&
263  verifier.VerifyTable(desc()) &&
264  verifier.EndTable();
265  }
266 };
267 
269  typedef TensorRef Table;
270  ::flatbuffers::FlatBufferBuilder &fbb_;
271  ::flatbuffers::uoffset_t start_;
272  void add_size(uint64_t size) {
273  fbb_.AddElement<uint64_t>(TensorRef::VT_SIZE, size, 0);
274  }
275  void add_desc(::flatbuffers::Offset<tt::target::metal::TensorDesc> desc) {
276  fbb_.AddOffset(TensorRef::VT_DESC, desc);
277  }
278  explicit TensorRefBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
279  : fbb_(_fbb) {
280  start_ = fbb_.StartTable();
281  }
282  ::flatbuffers::Offset<TensorRef> Finish() {
283  const auto end = fbb_.EndTable(start_);
284  auto o = ::flatbuffers::Offset<TensorRef>(end);
285  return o;
286  }
287 };
288 
289 inline ::flatbuffers::Offset<TensorRef> CreateTensorRef(
290  ::flatbuffers::FlatBufferBuilder &_fbb,
291  uint64_t size = 0,
292  ::flatbuffers::Offset<tt::target::metal::TensorDesc> desc = 0) {
293  TensorRefBuilder builder_(_fbb);
294  builder_.add_size(size);
295  builder_.add_desc(desc);
296  return builder_.Finish();
297 }
298 
300  using type = TensorRef;
301  static auto constexpr Create = CreateTensorRef;
302 };
303 
305 struct DeviceProgram FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
308  struct Traits;
309  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
310  return "tt.target.metal.DeviceProgram";
311  }
312  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
315  VT_COMMAND_QUEUES = 8
316  };
317  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>> *inputs() const {
318  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>> *>(VT_INPUTS);
319  }
320  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>> *outputs() const {
321  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>> *>(VT_OUTPUTS);
322  }
323  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::CommandQueue>> *command_queues() const {
324  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::CommandQueue>> *>(VT_COMMAND_QUEUES);
325  }
326  bool Verify(::flatbuffers::Verifier &verifier) const {
327  return VerifyTableStart(verifier) &&
328  VerifyOffset(verifier, VT_INPUTS) &&
329  verifier.VerifyVector(inputs()) &&
330  verifier.VerifyVectorOfTables(inputs()) &&
331  VerifyOffset(verifier, VT_OUTPUTS) &&
332  verifier.VerifyVector(outputs()) &&
333  verifier.VerifyVectorOfTables(outputs()) &&
334  VerifyOffset(verifier, VT_COMMAND_QUEUES) &&
335  verifier.VerifyVector(command_queues()) &&
336  verifier.VerifyVectorOfTables(command_queues()) &&
337  verifier.EndTable();
338  }
339 };
340 
342  typedef DeviceProgram Table;
343  ::flatbuffers::FlatBufferBuilder &fbb_;
344  ::flatbuffers::uoffset_t start_;
345  void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>>> inputs) {
346  fbb_.AddOffset(DeviceProgram::VT_INPUTS, inputs);
347  }
348  void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>>> outputs) {
349  fbb_.AddOffset(DeviceProgram::VT_OUTPUTS, outputs);
350  }
351  void add_command_queues(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::CommandQueue>>> command_queues) {
352  fbb_.AddOffset(DeviceProgram::VT_COMMAND_QUEUES, command_queues);
353  }
354  explicit DeviceProgramBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
355  : fbb_(_fbb) {
356  start_ = fbb_.StartTable();
357  }
358  ::flatbuffers::Offset<DeviceProgram> Finish() {
359  const auto end = fbb_.EndTable(start_);
360  auto o = ::flatbuffers::Offset<DeviceProgram>(end);
361  return o;
362  }
363 };
364 
365 inline ::flatbuffers::Offset<DeviceProgram> CreateDeviceProgram(
366  ::flatbuffers::FlatBufferBuilder &_fbb,
367  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>>> inputs = 0,
368  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::BufferRef>>> outputs = 0,
369  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::CommandQueue>>> command_queues = 0) {
370  DeviceProgramBuilder builder_(_fbb);
371  builder_.add_command_queues(command_queues);
372  builder_.add_outputs(outputs);
373  builder_.add_inputs(inputs);
374  return builder_.Finish();
375 }
376 
378  using type = DeviceProgram;
379  static auto constexpr Create = CreateDeviceProgram;
380 };
381 
382 inline ::flatbuffers::Offset<DeviceProgram> CreateDeviceProgramDirect(
383  ::flatbuffers::FlatBufferBuilder &_fbb,
384  const std::vector<::flatbuffers::Offset<tt::target::metal::BufferRef>> *inputs = nullptr,
385  const std::vector<::flatbuffers::Offset<tt::target::metal::BufferRef>> *outputs = nullptr,
386  const std::vector<::flatbuffers::Offset<tt::target::metal::CommandQueue>> *command_queues = nullptr) {
387  auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::BufferRef>>(*inputs) : 0;
388  auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::BufferRef>>(*outputs) : 0;
389  auto command_queues__ = command_queues ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::CommandQueue>>(*command_queues) : 0;
391  _fbb,
392  inputs__,
393  outputs__,
394  command_queues__);
395 }
396 
397 struct Program FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
400  struct Traits;
401  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
402  return "tt.target.metal.Program";
403  }
404  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
405  VT_NAME = 4,
406  VT_INPUTS = 6,
407  VT_OUTPUTS = 8,
409  VT_DEBUG_INFO = 12
410  };
411  const ::flatbuffers::String *name() const {
412  return GetPointer<const ::flatbuffers::String *>(VT_NAME);
413  }
414  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>> *inputs() const {
415  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>> *>(VT_INPUTS);
416  }
417  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>> *outputs() const {
418  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>> *>(VT_OUTPUTS);
419  }
420  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::DeviceProgram>> *device_programs() const {
421  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::DeviceProgram>> *>(VT_DEVICE_PROGRAMS);
422  }
423  const tt::target::DebugInfo *debug_info() const {
424  return GetPointer<const tt::target::DebugInfo *>(VT_DEBUG_INFO);
425  }
426  bool Verify(::flatbuffers::Verifier &verifier) const {
427  return VerifyTableStart(verifier) &&
428  VerifyOffset(verifier, VT_NAME) &&
429  verifier.VerifyString(name()) &&
430  VerifyOffset(verifier, VT_INPUTS) &&
431  verifier.VerifyVector(inputs()) &&
432  verifier.VerifyVectorOfTables(inputs()) &&
433  VerifyOffset(verifier, VT_OUTPUTS) &&
434  verifier.VerifyVector(outputs()) &&
435  verifier.VerifyVectorOfTables(outputs()) &&
436  VerifyOffset(verifier, VT_DEVICE_PROGRAMS) &&
437  verifier.VerifyVector(device_programs()) &&
438  verifier.VerifyVectorOfTables(device_programs()) &&
439  VerifyOffset(verifier, VT_DEBUG_INFO) &&
440  verifier.VerifyTable(debug_info()) &&
441  verifier.EndTable();
442  }
443 };
444 
446  typedef Program Table;
447  ::flatbuffers::FlatBufferBuilder &fbb_;
448  ::flatbuffers::uoffset_t start_;
449  void add_name(::flatbuffers::Offset<::flatbuffers::String> name) {
450  fbb_.AddOffset(Program::VT_NAME, name);
451  }
452  void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>>> inputs) {
453  fbb_.AddOffset(Program::VT_INPUTS, inputs);
454  }
455  void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>>> outputs) {
456  fbb_.AddOffset(Program::VT_OUTPUTS, outputs);
457  }
458  void add_device_programs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::DeviceProgram>>> device_programs) {
459  fbb_.AddOffset(Program::VT_DEVICE_PROGRAMS, device_programs);
460  }
461  void add_debug_info(::flatbuffers::Offset<tt::target::DebugInfo> debug_info) {
462  fbb_.AddOffset(Program::VT_DEBUG_INFO, debug_info);
463  }
464  explicit ProgramBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
465  : fbb_(_fbb) {
466  start_ = fbb_.StartTable();
467  }
468  ::flatbuffers::Offset<Program> Finish() {
469  const auto end = fbb_.EndTable(start_);
470  auto o = ::flatbuffers::Offset<Program>(end);
471  return o;
472  }
473 };
474 
475 inline ::flatbuffers::Offset<Program> CreateProgram(
476  ::flatbuffers::FlatBufferBuilder &_fbb,
477  ::flatbuffers::Offset<::flatbuffers::String> name = 0,
478  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>>> inputs = 0,
479  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::TensorRef>>> outputs = 0,
480  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::DeviceProgram>>> device_programs = 0,
481  ::flatbuffers::Offset<tt::target::DebugInfo> debug_info = 0) {
482  ProgramBuilder builder_(_fbb);
483  builder_.add_debug_info(debug_info);
484  builder_.add_device_programs(device_programs);
485  builder_.add_outputs(outputs);
486  builder_.add_inputs(inputs);
487  builder_.add_name(name);
488  return builder_.Finish();
489 }
490 
492  using type = Program;
493  static auto constexpr Create = CreateProgram;
494 };
495 
496 inline ::flatbuffers::Offset<Program> CreateProgramDirect(
497  ::flatbuffers::FlatBufferBuilder &_fbb,
498  const char *name = nullptr,
499  const std::vector<::flatbuffers::Offset<tt::target::metal::TensorRef>> *inputs = nullptr,
500  const std::vector<::flatbuffers::Offset<tt::target::metal::TensorRef>> *outputs = nullptr,
501  const std::vector<::flatbuffers::Offset<tt::target::metal::DeviceProgram>> *device_programs = nullptr,
502  ::flatbuffers::Offset<tt::target::DebugInfo> debug_info = 0) {
503  auto name__ = name ? _fbb.CreateString(name) : 0;
504  auto inputs__ = inputs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::TensorRef>>(*inputs) : 0;
505  auto outputs__ = outputs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::TensorRef>>(*outputs) : 0;
506  auto device_programs__ = device_programs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::DeviceProgram>>(*device_programs) : 0;
508  _fbb,
509  name__,
510  inputs__,
511  outputs__,
512  device_programs__,
513  debug_info);
514 }
515 
516 struct TTMetalBinary FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
519  struct Traits;
520  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
521  return "tt.target.metal.TTMetalBinary";
522  }
523  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
527  VT_PROGRAMS = 10
528  };
529  const tt::target::Version *version() const {
530  return GetStruct<const tt::target::Version *>(VT_VERSION);
531  }
532  const ::flatbuffers::String *ttmlir_git_hash() const {
533  return GetPointer<const ::flatbuffers::String *>(VT_TTMLIR_GIT_HASH);
534  }
535  const tt::target::SystemDesc *system_desc() const {
536  return GetPointer<const tt::target::SystemDesc *>(VT_SYSTEM_DESC);
537  }
538  const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::Program>> *programs() const {
539  return GetPointer<const ::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::Program>> *>(VT_PROGRAMS);
540  }
541  bool Verify(::flatbuffers::Verifier &verifier) const {
542  return VerifyTableStart(verifier) &&
543  VerifyField<tt::target::Version>(verifier, VT_VERSION, 4) &&
544  VerifyOffset(verifier, VT_TTMLIR_GIT_HASH) &&
545  verifier.VerifyString(ttmlir_git_hash()) &&
546  VerifyOffset(verifier, VT_SYSTEM_DESC) &&
547  verifier.VerifyTable(system_desc()) &&
548  VerifyOffset(verifier, VT_PROGRAMS) &&
549  verifier.VerifyVector(programs()) &&
550  verifier.VerifyVectorOfTables(programs()) &&
551  verifier.EndTable();
552  }
553 };
554 
556  typedef TTMetalBinary Table;
557  ::flatbuffers::FlatBufferBuilder &fbb_;
558  ::flatbuffers::uoffset_t start_;
559  void add_version(const tt::target::Version *version) {
560  fbb_.AddStruct(TTMetalBinary::VT_VERSION, version);
561  }
562  void add_ttmlir_git_hash(::flatbuffers::Offset<::flatbuffers::String> ttmlir_git_hash) {
563  fbb_.AddOffset(TTMetalBinary::VT_TTMLIR_GIT_HASH, ttmlir_git_hash);
564  }
565  void add_system_desc(::flatbuffers::Offset<tt::target::SystemDesc> system_desc) {
566  fbb_.AddOffset(TTMetalBinary::VT_SYSTEM_DESC, system_desc);
567  }
568  void add_programs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::Program>>> programs) {
569  fbb_.AddOffset(TTMetalBinary::VT_PROGRAMS, programs);
570  }
571  explicit TTMetalBinaryBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
572  : fbb_(_fbb) {
573  start_ = fbb_.StartTable();
574  }
575  ::flatbuffers::Offset<TTMetalBinary> Finish() {
576  const auto end = fbb_.EndTable(start_);
577  auto o = ::flatbuffers::Offset<TTMetalBinary>(end);
578  return o;
579  }
580 };
581 
582 inline ::flatbuffers::Offset<TTMetalBinary> CreateTTMetalBinary(
583  ::flatbuffers::FlatBufferBuilder &_fbb,
584  const tt::target::Version *version = nullptr,
585  ::flatbuffers::Offset<::flatbuffers::String> ttmlir_git_hash = 0,
586  ::flatbuffers::Offset<tt::target::SystemDesc> system_desc = 0,
587  ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<tt::target::metal::Program>>> programs = 0) {
588  TTMetalBinaryBuilder builder_(_fbb);
589  builder_.add_programs(programs);
590  builder_.add_system_desc(system_desc);
591  builder_.add_ttmlir_git_hash(ttmlir_git_hash);
592  builder_.add_version(version);
593  return builder_.Finish();
594 }
595 
597  using type = TTMetalBinary;
598  static auto constexpr Create = CreateTTMetalBinary;
599 };
600 
601 inline ::flatbuffers::Offset<TTMetalBinary> CreateTTMetalBinaryDirect(
602  ::flatbuffers::FlatBufferBuilder &_fbb,
603  const tt::target::Version *version = nullptr,
604  const char *ttmlir_git_hash = nullptr,
605  ::flatbuffers::Offset<tt::target::SystemDesc> system_desc = 0,
606  const std::vector<::flatbuffers::Offset<tt::target::metal::Program>> *programs = nullptr) {
607  auto ttmlir_git_hash__ = ttmlir_git_hash ? _fbb.CreateString(ttmlir_git_hash) : 0;
608  auto programs__ = programs ? _fbb.CreateVector<::flatbuffers::Offset<tt::target::metal::Program>>(*programs) : 0;
610  _fbb,
611  version,
612  ttmlir_git_hash__,
613  system_desc,
614  programs__);
615 }
616 
617 inline const tt::target::metal::TTMetalBinary *GetTTMetalBinary(const void *buf) {
618  return ::flatbuffers::GetRoot<tt::target::metal::TTMetalBinary>(buf);
619 }
620 
621 inline const tt::target::metal::TTMetalBinary *GetSizePrefixedTTMetalBinary(const void *buf) {
622  return ::flatbuffers::GetSizePrefixedRoot<tt::target::metal::TTMetalBinary>(buf);
623 }
624 
625 inline const char *TTMetalBinaryIdentifier() {
626  return "TTM0";
627 }
628 
629 inline bool TTMetalBinaryBufferHasIdentifier(const void *buf) {
630  return ::flatbuffers::BufferHasIdentifier(
631  buf, TTMetalBinaryIdentifier());
632 }
633 
634 inline bool SizePrefixedTTMetalBinaryBufferHasIdentifier(const void *buf) {
635  return ::flatbuffers::BufferHasIdentifier(
636  buf, TTMetalBinaryIdentifier(), true);
637 }
638 
640  ::flatbuffers::Verifier &verifier) {
641  return verifier.VerifyBuffer<tt::target::metal::TTMetalBinary>(TTMetalBinaryIdentifier());
642 }
643 
645  ::flatbuffers::Verifier &verifier) {
646  return verifier.VerifySizePrefixedBuffer<tt::target::metal::TTMetalBinary>(TTMetalBinaryIdentifier());
647 }
648 
649 inline const char *TTMetalBinaryExtension() {
650  return "ttm";
651 }
652 
654  ::flatbuffers::FlatBufferBuilder &fbb,
655  ::flatbuffers::Offset<tt::target::metal::TTMetalBinary> root) {
656  fbb.Finish(root, TTMetalBinaryIdentifier());
657 }
658 
660  ::flatbuffers::FlatBufferBuilder &fbb,
661  ::flatbuffers::Offset<tt::target::metal::TTMetalBinary> root) {
662  fbb.FinishSizePrefixed(root, TTMetalBinaryIdentifier());
663 }
664 
665 } // namespace metal
666 } // namespace target
667 } // namespace tt
668 
669 #endif // FLATBUFFERS_GENERATED_BINARY_TT_TARGET_METAL_H_
VT_SYSTEM_DESC
Definition: binary_generated.h:526
VT_SHAPE
Definition: binary_generated.h:162
VT_MESH_SHAPE
Definition: binary_generated.h:163
VT_VERSION
Definition: binary_generated.h:524
VT_INPUTS
Definition: binary_generated.h:313
VT_OUTPUTS
Definition: binary_generated.h:314
VT_NAME
Definition: binary_generated.h:405
VT_SIZE
Definition: binary_generated.h:250
VT_DEVICE_PROGRAMS
Definition: binary_generated.h:408
VT_TTMLIR_GIT_HASH
Definition: binary_generated.h:525
VT_DATA_TYPE
Definition: types_generated.h:362
VT_DEBUG_INFO
Definition: program_generated.h:433
VT_MEMORY_DESC
Definition: types_generated.h:906
VT_LAYOUT
Definition: creation_generated.h:263
void FinishSizePrefixedTTMetalBinaryBuffer(::flatbuffers::FlatBufferBuilder &fbb, ::flatbuffers::Offset< tt::target::metal::TTMetalBinary > root)
Definition: binary_generated.h:659
inline ::flatbuffers::Offset< Program > CreateProgramDirect(::flatbuffers::FlatBufferBuilder &_fbb, const char *name=nullptr, const std::vector<::flatbuffers::Offset< tt::target::metal::TensorRef >> *inputs=nullptr, const std::vector<::flatbuffers::Offset< tt::target::metal::TensorRef >> *outputs=nullptr, const std::vector<::flatbuffers::Offset< tt::target::metal::DeviceProgram >> *device_programs=nullptr, ::flatbuffers::Offset< tt::target::DebugInfo > debug_info=0)
Definition: binary_generated.h:496
inline ::flatbuffers::Offset< Program > CreateProgram(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::String > name=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::TensorRef >>> inputs=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::TensorRef >>> outputs=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::DeviceProgram >>> device_programs=0, ::flatbuffers::Offset< tt::target::DebugInfo > debug_info=0)
Definition: binary_generated.h:475
const char * TTMetalBinaryExtension()
Definition: binary_generated.h:649
void FinishTTMetalBinaryBuffer(::flatbuffers::FlatBufferBuilder &fbb, ::flatbuffers::Offset< tt::target::metal::TTMetalBinary > root)
Definition: binary_generated.h:653
inline ::flatbuffers::Offset< TensorDesc > CreateTensorDesc(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> shape=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> mesh_shape=0, ::flatbuffers::Offset< tt::target::metal::LayoutDesc > layout=0)
Definition: binary_generated.h:211
inline ::flatbuffers::Offset< LayoutDesc > CreateLayoutDesc(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::metal::MemoryDesc > memory_desc=0)
Definition: binary_generated.h:141
inline ::flatbuffers::Offset< TensorRef > CreateTensorRef(::flatbuffers::FlatBufferBuilder &_fbb, uint64_t size=0, ::flatbuffers::Offset< tt::target::metal::TensorDesc > desc=0)
Definition: binary_generated.h:289
const tt::target::metal::TTMetalBinary * GetSizePrefixedTTMetalBinary(const void *buf)
Definition: binary_generated.h:621
bool TTMetalBinaryBufferHasIdentifier(const void *buf)
Definition: binary_generated.h:629
bool VerifySizePrefixedTTMetalBinaryBuffer(::flatbuffers::Verifier &verifier)
Definition: binary_generated.h:644
const tt::target::metal::TTMetalBinary * GetTTMetalBinary(const void *buf)
Definition: binary_generated.h:617
inline ::flatbuffers::Offset< TensorDesc > CreateTensorDescDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int32_t > *shape=nullptr, const std::vector< int32_t > *mesh_shape=nullptr, ::flatbuffers::Offset< tt::target::metal::LayoutDesc > layout=0)
Definition: binary_generated.h:228
inline ::flatbuffers::Offset< TTMetalBinary > CreateTTMetalBinary(::flatbuffers::FlatBufferBuilder &_fbb, const tt::target::Version *version=nullptr, ::flatbuffers::Offset<::flatbuffers::String > ttmlir_git_hash=0, ::flatbuffers::Offset< tt::target::SystemDesc > system_desc=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::Program >>> programs=0)
Definition: binary_generated.h:582
inline ::flatbuffers::Offset< TTMetalBinary > CreateTTMetalBinaryDirect(::flatbuffers::FlatBufferBuilder &_fbb, const tt::target::Version *version=nullptr, const char *ttmlir_git_hash=nullptr, ::flatbuffers::Offset< tt::target::SystemDesc > system_desc=0, const std::vector<::flatbuffers::Offset< tt::target::metal::Program >> *programs=nullptr)
Definition: binary_generated.h:601
const char * TTMetalBinaryIdentifier()
Definition: binary_generated.h:625
inline ::flatbuffers::Offset< DeviceProgram > CreateDeviceProgramDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector<::flatbuffers::Offset< tt::target::metal::BufferRef >> *inputs=nullptr, const std::vector<::flatbuffers::Offset< tt::target::metal::BufferRef >> *outputs=nullptr, const std::vector<::flatbuffers::Offset< tt::target::metal::CommandQueue >> *command_queues=nullptr)
Definition: binary_generated.h:382
inline ::flatbuffers::Offset< DeviceProgram > CreateDeviceProgram(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::BufferRef >>> inputs=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::BufferRef >>> outputs=0, ::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::CommandQueue >>> command_queues=0)
Definition: binary_generated.h:365
bool VerifyTTMetalBinaryBuffer(::flatbuffers::Verifier &verifier)
Definition: binary_generated.h:639
bool SizePrefixedTTMetalBinaryBufferHasIdentifier(const void *buf)
Definition: binary_generated.h:634
inline ::flatbuffers::Offset< MemoryDesc > CreateMemoryDesc(::flatbuffers::FlatBufferBuilder &_fbb, tt::target::DataType data_type=tt::target::DataType::Float32)
Definition: binary_generated.h:89
DataType
Definition: types_generated.h:81
Definition: debug_info_generated.h:18
Definition: debug_info_generated.h:36
Definition: binary_generated.h:341
DeviceProgramBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: binary_generated.h:354
::flatbuffers::Offset< DeviceProgram > Finish()
Definition: binary_generated.h:358
void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::BufferRef >>> outputs)
Definition: binary_generated.h:348
::flatbuffers::FlatBufferBuilder & fbb_
Definition: binary_generated.h:343
void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::BufferRef >>> inputs)
Definition: binary_generated.h:345
DeviceProgram Table
Definition: binary_generated.h:342
void add_command_queues(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::CommandQueue >>> command_queues)
Definition: binary_generated.h:351
::flatbuffers::uoffset_t start_
Definition: binary_generated.h:344
Definition: binary_generated.h:377
DeviceProgram type
Definition: binary_generated.h:378
static constexpr auto Create
Definition: binary_generated.h:379
Definition: binary_generated.h:51
bool Verify(::flatbuffers::Verifier &verifier) const
Definition: binary_generated.h:64
const tt::target::metal::MemoryDesc * memory_desc() const
Definition: binary_generated.h:112
DeviceProgramBuilder Builder
Definition: binary_generated.h:306
const ::flatbuffers::String * ttmlir_git_hash() const
Definition: binary_generated.h:532
const tt::target::metal::TensorDesc * desc() const
Definition: binary_generated.h:256
TensorRefBuilder Builder
Definition: binary_generated.h:243
tt::target::metal::TTMetalBinaryBinarySchema BinarySchema
Definition: binary_generated.h:53
const ::flatbuffers::Vector< int32_t > * shape() const
Definition: binary_generated.h:166
static FLATBUFFERS_CONSTEXPR_CPP11 const char * GetFullyQualifiedName()
Definition: binary_generated.h:55
TensorDescBuilder Builder
Definition: binary_generated.h:155
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::Program > > * programs() const
Definition: binary_generated.h:538
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::TensorRef > > * inputs() const
Definition: binary_generated.h:414
const tt::target::metal::LayoutDesc * layout() const
Definition: binary_generated.h:172
MemoryDescBuilder Builder
Definition: binary_generated.h:52
const tt::target::SystemDesc * system_desc() const
Definition: binary_generated.h:535
TTMetalBinaryBuilder Builder
Definition: binary_generated.h:517
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::BufferRef > > * outputs() const
Definition: binary_generated.h:320
const tt::target::Version * version() const
Definition: binary_generated.h:529
const tt::target::DebugInfo * debug_info() const
Definition: binary_generated.h:423
uint64_t size() const
Definition: binary_generated.h:253
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::CommandQueue > > * command_queues() const
Definition: binary_generated.h:323
ProgramBuilder Builder
Definition: binary_generated.h:398
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::BufferRef > > * inputs() const
Definition: binary_generated.h:317
const ::flatbuffers::String * name() const
Definition: binary_generated.h:411
tt::target::DataType data_type() const
Definition: binary_generated.h:61
LayoutDescBuilder Builder
Definition: binary_generated.h:103
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::DeviceProgram > > * device_programs() const
Definition: binary_generated.h:420
const ::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::TensorRef > > * outputs() const
Definition: binary_generated.h:417
const ::flatbuffers::Vector< int32_t > * mesh_shape() const
Definition: binary_generated.h:169
Definition: binary_generated.h:123
LayoutDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: binary_generated.h:130
::flatbuffers::uoffset_t start_
Definition: binary_generated.h:126
::flatbuffers::Offset< LayoutDesc > Finish()
Definition: binary_generated.h:134
void add_memory_desc(::flatbuffers::Offset< tt::target::metal::MemoryDesc > memory_desc)
Definition: binary_generated.h:127
LayoutDesc Table
Definition: binary_generated.h:124
::flatbuffers::FlatBufferBuilder & fbb_
Definition: binary_generated.h:125
Definition: binary_generated.h:149
static constexpr auto Create
Definition: binary_generated.h:151
LayoutDesc type
Definition: binary_generated.h:150
Definition: binary_generated.h:71
MemoryDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: binary_generated.h:78
void add_data_type(tt::target::DataType data_type)
Definition: binary_generated.h:75
MemoryDesc Table
Definition: binary_generated.h:72
::flatbuffers::uoffset_t start_
Definition: binary_generated.h:74
::flatbuffers::Offset< MemoryDesc > Finish()
Definition: binary_generated.h:82
::flatbuffers::FlatBufferBuilder & fbb_
Definition: binary_generated.h:73
Definition: binary_generated.h:97
static constexpr auto Create
Definition: binary_generated.h:99
MemoryDesc type
Definition: binary_generated.h:98
Definition: binary_generated.h:445
void add_inputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::TensorRef >>> inputs)
Definition: binary_generated.h:452
void add_name(::flatbuffers::Offset<::flatbuffers::String > name)
Definition: binary_generated.h:449
void add_debug_info(::flatbuffers::Offset< tt::target::DebugInfo > debug_info)
Definition: binary_generated.h:461
::flatbuffers::Offset< Program > Finish()
Definition: binary_generated.h:468
void add_device_programs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::DeviceProgram >>> device_programs)
Definition: binary_generated.h:458
::flatbuffers::uoffset_t start_
Definition: binary_generated.h:448
void add_outputs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::TensorRef >>> outputs)
Definition: binary_generated.h:455
Program Table
Definition: binary_generated.h:446
ProgramBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: binary_generated.h:464
::flatbuffers::FlatBufferBuilder & fbb_
Definition: binary_generated.h:447
Definition: binary_generated.h:491
static constexpr auto Create
Definition: binary_generated.h:493
Program type
Definition: binary_generated.h:492
Definition: binary_bfbs_generated.h:13
Definition: binary_generated.h:555
::flatbuffers::Offset< TTMetalBinary > Finish()
Definition: binary_generated.h:575
TTMetalBinary Table
Definition: binary_generated.h:556
void add_system_desc(::flatbuffers::Offset< tt::target::SystemDesc > system_desc)
Definition: binary_generated.h:565
void add_ttmlir_git_hash(::flatbuffers::Offset<::flatbuffers::String > ttmlir_git_hash)
Definition: binary_generated.h:562
TTMetalBinaryBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: binary_generated.h:571
void add_programs(::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset< tt::target::metal::Program >>> programs)
Definition: binary_generated.h:568
::flatbuffers::FlatBufferBuilder & fbb_
Definition: binary_generated.h:557
void add_version(const tt::target::Version *version)
Definition: binary_generated.h:559
::flatbuffers::uoffset_t start_
Definition: binary_generated.h:558
Definition: binary_generated.h:596
TTMetalBinary type
Definition: binary_generated.h:597
static constexpr auto Create
Definition: binary_generated.h:598
Definition: binary_generated.h:187
TensorDesc Table
Definition: binary_generated.h:188
void add_layout(::flatbuffers::Offset< tt::target::metal::LayoutDesc > layout)
Definition: binary_generated.h:197
void add_shape(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> shape)
Definition: binary_generated.h:191
::flatbuffers::FlatBufferBuilder & fbb_
Definition: binary_generated.h:189
TensorDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: binary_generated.h:200
::flatbuffers::Offset< TensorDesc > Finish()
Definition: binary_generated.h:204
void add_mesh_shape(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> mesh_shape)
Definition: binary_generated.h:194
::flatbuffers::uoffset_t start_
Definition: binary_generated.h:190
Definition: binary_generated.h:223
TensorDesc type
Definition: binary_generated.h:224
static constexpr auto Create
Definition: binary_generated.h:225
Definition: binary_generated.h:268
TensorRef Table
Definition: binary_generated.h:269
::flatbuffers::Offset< TensorRef > Finish()
Definition: binary_generated.h:282
void add_desc(::flatbuffers::Offset< tt::target::metal::TensorDesc > desc)
Definition: binary_generated.h:275
TensorRefBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: binary_generated.h:278
::flatbuffers::uoffset_t start_
Definition: binary_generated.h:271
void add_size(uint64_t size)
Definition: binary_generated.h:272
::flatbuffers::FlatBufferBuilder & fbb_
Definition: binary_generated.h:270
Definition: binary_generated.h:299
TensorRef type
Definition: binary_generated.h:300
static constexpr auto Create
Definition: binary_generated.h:301