TT-MLIR
types_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_TYPES_TT_TARGET_METAL_H_
5 #define FLATBUFFERS_GENERATED_TYPES_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 
17 
18 namespace tt {
19 namespace target {
20 namespace metal {
21 
22 struct ShardSpec;
23 struct ShardSpecBuilder;
24 
25 struct ShardSpecBuffer;
26 struct ShardSpecBufferBuilder;
27 
28 struct ShardedBufferConfig;
29 struct ShardedBufferConfigBuilder;
30 
31 struct CircularBufferConfig;
32 struct CircularBufferConfigBuilder;
33 
34 struct BufferDesc;
35 struct BufferDescBuilder;
36 
37 struct BufferRef;
38 struct BufferRefBuilder;
39 
40 struct CBRef;
41 struct CBRefBuilder;
42 
43 struct ShardSpec FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
45  struct Traits;
46  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
47  return "tt.target.metal.ShardSpec";
48  }
49  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
51  VT_SHARD_SHAPE = 6
52  };
53  const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *core_range_set() const {
54  return GetPointer<const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *>(VT_CORE_RANGE_SET);
55  }
56  const tt::target::Dim2d *shard_shape() const {
57  return GetStruct<const tt::target::Dim2d *>(VT_SHARD_SHAPE);
58  }
59  bool Verify(::flatbuffers::Verifier &verifier) const {
60  return VerifyTableStart(verifier) &&
61  VerifyOffset(verifier, VT_CORE_RANGE_SET) &&
62  verifier.VerifyVector(core_range_set()) &&
63  VerifyField<tt::target::Dim2d>(verifier, VT_SHARD_SHAPE, 4) &&
64  verifier.EndTable();
65  }
66 };
67 
69  typedef ShardSpec Table;
70  ::flatbuffers::FlatBufferBuilder &fbb_;
71  ::flatbuffers::uoffset_t start_;
72  void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set) {
73  fbb_.AddOffset(ShardSpec::VT_CORE_RANGE_SET, core_range_set);
74  }
75  void add_shard_shape(const tt::target::Dim2d *shard_shape) {
76  fbb_.AddStruct(ShardSpec::VT_SHARD_SHAPE, shard_shape);
77  }
78  explicit ShardSpecBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
79  : fbb_(_fbb) {
80  start_ = fbb_.StartTable();
81  }
82  ::flatbuffers::Offset<ShardSpec> Finish() {
83  const auto end = fbb_.EndTable(start_);
84  auto o = ::flatbuffers::Offset<ShardSpec>(end);
85  return o;
86  }
87 };
88 
89 inline ::flatbuffers::Offset<ShardSpec> CreateShardSpec(
90  ::flatbuffers::FlatBufferBuilder &_fbb,
91  ::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set = 0,
92  const tt::target::Dim2d *shard_shape = nullptr) {
93  ShardSpecBuilder builder_(_fbb);
94  builder_.add_shard_shape(shard_shape);
95  builder_.add_core_range_set(core_range_set);
96  return builder_.Finish();
97 }
98 
100  using type = ShardSpec;
101  static auto constexpr Create = CreateShardSpec;
102 };
103 
104 inline ::flatbuffers::Offset<ShardSpec> CreateShardSpecDirect(
105  ::flatbuffers::FlatBufferBuilder &_fbb,
106  const std::vector<tt::target::Dim2dRange> *core_range_set = nullptr,
107  const tt::target::Dim2d *shard_shape = nullptr) {
108  auto core_range_set__ = core_range_set ? _fbb.CreateVectorOfStructs<tt::target::Dim2dRange>(*core_range_set) : 0;
110  _fbb,
111  core_range_set__,
112  shard_shape);
113 }
114 
115 struct ShardSpecBuffer FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
117  struct Traits;
118  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
119  return "tt.target.metal.ShardSpecBuffer";
120  }
121  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
124  VT_TENSOR_SHAPE_IN_PAGES = 8
125  };
126  const tt::target::metal::ShardSpec *shard_spec() const {
127  return GetPointer<const tt::target::metal::ShardSpec *>(VT_SHARD_SPEC);
128  }
129  const tt::target::Dim2d *page_shape() const {
130  return GetStruct<const tt::target::Dim2d *>(VT_PAGE_SHAPE);
131  }
132  const tt::target::Dim2d *tensor_shape_in_pages() const {
133  return GetStruct<const tt::target::Dim2d *>(VT_TENSOR_SHAPE_IN_PAGES);
134  }
135  bool Verify(::flatbuffers::Verifier &verifier) const {
136  return VerifyTableStart(verifier) &&
137  VerifyOffset(verifier, VT_SHARD_SPEC) &&
138  verifier.VerifyTable(shard_spec()) &&
139  VerifyField<tt::target::Dim2d>(verifier, VT_PAGE_SHAPE, 4) &&
140  VerifyField<tt::target::Dim2d>(verifier, VT_TENSOR_SHAPE_IN_PAGES, 4) &&
141  verifier.EndTable();
142  }
143 };
144 
146  typedef ShardSpecBuffer Table;
147  ::flatbuffers::FlatBufferBuilder &fbb_;
148  ::flatbuffers::uoffset_t start_;
149  void add_shard_spec(::flatbuffers::Offset<tt::target::metal::ShardSpec> shard_spec) {
150  fbb_.AddOffset(ShardSpecBuffer::VT_SHARD_SPEC, shard_spec);
151  }
152  void add_page_shape(const tt::target::Dim2d *page_shape) {
153  fbb_.AddStruct(ShardSpecBuffer::VT_PAGE_SHAPE, page_shape);
154  }
155  void add_tensor_shape_in_pages(const tt::target::Dim2d *tensor_shape_in_pages) {
156  fbb_.AddStruct(ShardSpecBuffer::VT_TENSOR_SHAPE_IN_PAGES, tensor_shape_in_pages);
157  }
158  explicit ShardSpecBufferBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
159  : fbb_(_fbb) {
160  start_ = fbb_.StartTable();
161  }
162  ::flatbuffers::Offset<ShardSpecBuffer> Finish() {
163  const auto end = fbb_.EndTable(start_);
164  auto o = ::flatbuffers::Offset<ShardSpecBuffer>(end);
165  return o;
166  }
167 };
168 
169 inline ::flatbuffers::Offset<ShardSpecBuffer> CreateShardSpecBuffer(
170  ::flatbuffers::FlatBufferBuilder &_fbb,
171  ::flatbuffers::Offset<tt::target::metal::ShardSpec> shard_spec = 0,
172  const tt::target::Dim2d *page_shape = nullptr,
173  const tt::target::Dim2d *tensor_shape_in_pages = nullptr) {
174  ShardSpecBufferBuilder builder_(_fbb);
175  builder_.add_tensor_shape_in_pages(tensor_shape_in_pages);
176  builder_.add_page_shape(page_shape);
177  builder_.add_shard_spec(shard_spec);
178  return builder_.Finish();
179 }
180 
182  using type = ShardSpecBuffer;
183  static auto constexpr Create = CreateShardSpecBuffer;
184 };
185 
186 struct ShardedBufferConfig FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
188  struct Traits;
189  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
190  return "tt.target.metal.ShardedBufferConfig";
191  }
192  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
193  VT_SIZE = 4,
195  VT_SHARD_SPEC_BUFFER = 8
196  };
197  uint64_t size() const {
198  return GetField<uint64_t>(VT_SIZE, 0);
199  }
200  uint64_t page_size() const {
201  return GetField<uint64_t>(VT_PAGE_SIZE, 0);
202  }
203  const tt::target::metal::ShardSpecBuffer *shard_spec_buffer() const {
204  return GetPointer<const tt::target::metal::ShardSpecBuffer *>(VT_SHARD_SPEC_BUFFER);
205  }
206  bool Verify(::flatbuffers::Verifier &verifier) const {
207  return VerifyTableStart(verifier) &&
208  VerifyField<uint64_t>(verifier, VT_SIZE, 8) &&
209  VerifyField<uint64_t>(verifier, VT_PAGE_SIZE, 8) &&
210  VerifyOffset(verifier, VT_SHARD_SPEC_BUFFER) &&
211  verifier.VerifyTable(shard_spec_buffer()) &&
212  verifier.EndTable();
213  }
214 };
215 
217  typedef ShardedBufferConfig Table;
218  ::flatbuffers::FlatBufferBuilder &fbb_;
219  ::flatbuffers::uoffset_t start_;
220  void add_size(uint64_t size) {
221  fbb_.AddElement<uint64_t>(ShardedBufferConfig::VT_SIZE, size, 0);
222  }
223  void add_page_size(uint64_t page_size) {
224  fbb_.AddElement<uint64_t>(ShardedBufferConfig::VT_PAGE_SIZE, page_size, 0);
225  }
226  void add_shard_spec_buffer(::flatbuffers::Offset<tt::target::metal::ShardSpecBuffer> shard_spec_buffer) {
227  fbb_.AddOffset(ShardedBufferConfig::VT_SHARD_SPEC_BUFFER, shard_spec_buffer);
228  }
229  explicit ShardedBufferConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
230  : fbb_(_fbb) {
231  start_ = fbb_.StartTable();
232  }
233  ::flatbuffers::Offset<ShardedBufferConfig> Finish() {
234  const auto end = fbb_.EndTable(start_);
235  auto o = ::flatbuffers::Offset<ShardedBufferConfig>(end);
236  return o;
237  }
238 };
239 
240 inline ::flatbuffers::Offset<ShardedBufferConfig> CreateShardedBufferConfig(
241  ::flatbuffers::FlatBufferBuilder &_fbb,
242  uint64_t size = 0,
243  uint64_t page_size = 0,
244  ::flatbuffers::Offset<tt::target::metal::ShardSpecBuffer> shard_spec_buffer = 0) {
245  ShardedBufferConfigBuilder builder_(_fbb);
246  builder_.add_page_size(page_size);
247  builder_.add_size(size);
248  builder_.add_shard_spec_buffer(shard_spec_buffer);
249  return builder_.Finish();
250 }
251 
253  using type = ShardedBufferConfig;
254  static auto constexpr Create = CreateShardedBufferConfig;
255 };
256 
257 struct CircularBufferConfig FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
259  struct Traits;
260  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
261  return "tt.target.metal.CircularBufferConfig";
262  }
263  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
264  VT_CORE_RANGE_SET = 4,
266  VT_PAGE_SIZE = 8,
267  VT_NUM_BUFFERS = 10
268  };
269  const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *core_range_set() const {
270  return GetPointer<const ::flatbuffers::Vector<const tt::target::Dim2dRange *> *>(VT_CORE_RANGE_SET);
271  }
272  uint64_t total_size() const {
273  return GetField<uint64_t>(VT_TOTAL_SIZE, 0);
274  }
275  uint64_t page_size() const {
276  return GetField<uint64_t>(VT_PAGE_SIZE, 0);
277  }
278  uint64_t num_buffers() const {
279  return GetField<uint64_t>(VT_NUM_BUFFERS, 0);
280  }
281  bool Verify(::flatbuffers::Verifier &verifier) const {
282  return VerifyTableStart(verifier) &&
283  VerifyOffset(verifier, VT_CORE_RANGE_SET) &&
284  verifier.VerifyVector(core_range_set()) &&
285  VerifyField<uint64_t>(verifier, VT_TOTAL_SIZE, 8) &&
286  VerifyField<uint64_t>(verifier, VT_PAGE_SIZE, 8) &&
287  VerifyField<uint64_t>(verifier, VT_NUM_BUFFERS, 8) &&
288  verifier.EndTable();
289  }
290 };
291 
293  typedef CircularBufferConfig Table;
294  ::flatbuffers::FlatBufferBuilder &fbb_;
295  ::flatbuffers::uoffset_t start_;
296  void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set) {
297  fbb_.AddOffset(CircularBufferConfig::VT_CORE_RANGE_SET, core_range_set);
298  }
299  void add_total_size(uint64_t total_size) {
300  fbb_.AddElement<uint64_t>(CircularBufferConfig::VT_TOTAL_SIZE, total_size, 0);
301  }
302  void add_page_size(uint64_t page_size) {
303  fbb_.AddElement<uint64_t>(CircularBufferConfig::VT_PAGE_SIZE, page_size, 0);
304  }
305  void add_num_buffers(uint64_t num_buffers) {
306  fbb_.AddElement<uint64_t>(CircularBufferConfig::VT_NUM_BUFFERS, num_buffers, 0);
307  }
308  explicit CircularBufferConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
309  : fbb_(_fbb) {
310  start_ = fbb_.StartTable();
311  }
312  ::flatbuffers::Offset<CircularBufferConfig> Finish() {
313  const auto end = fbb_.EndTable(start_);
314  auto o = ::flatbuffers::Offset<CircularBufferConfig>(end);
315  return o;
316  }
317 };
318 
319 inline ::flatbuffers::Offset<CircularBufferConfig> CreateCircularBufferConfig(
320  ::flatbuffers::FlatBufferBuilder &_fbb,
321  ::flatbuffers::Offset<::flatbuffers::Vector<const tt::target::Dim2dRange *>> core_range_set = 0,
322  uint64_t total_size = 0,
323  uint64_t page_size = 0,
324  uint64_t num_buffers = 0) {
325  CircularBufferConfigBuilder builder_(_fbb);
326  builder_.add_num_buffers(num_buffers);
327  builder_.add_page_size(page_size);
328  builder_.add_total_size(total_size);
329  builder_.add_core_range_set(core_range_set);
330  return builder_.Finish();
331 }
332 
334  using type = CircularBufferConfig;
335  static auto constexpr Create = CreateCircularBufferConfig;
336 };
337 
338 inline ::flatbuffers::Offset<CircularBufferConfig> CreateCircularBufferConfigDirect(
339  ::flatbuffers::FlatBufferBuilder &_fbb,
340  const std::vector<tt::target::Dim2dRange> *core_range_set = nullptr,
341  uint64_t total_size = 0,
342  uint64_t page_size = 0,
343  uint64_t num_buffers = 0) {
344  auto core_range_set__ = core_range_set ? _fbb.CreateVectorOfStructs<tt::target::Dim2dRange>(*core_range_set) : 0;
346  _fbb,
347  core_range_set__,
348  total_size,
349  page_size,
350  num_buffers);
351 }
352 
353 struct BufferDesc FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
355  struct Traits;
356  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
357  return "tt.target.metal.BufferDesc";
358  }
359  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
360  VT_SHAPE = 4,
365  VT_CIRCULAR_BUFFER_CONFIG = 14
366  };
367  const ::flatbuffers::Vector<int32_t> *shape() const {
368  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_SHAPE);
369  }
370  const tt::target::Dim2d *tile_shape() const {
371  return GetStruct<const tt::target::Dim2d *>(VT_TILE_SHAPE);
372  }
374  return static_cast<tt::target::DataType>(GetField<uint16_t>(VT_DATA_TYPE, 0));
375  }
377  return static_cast<tt::target::MemorySpace>(GetField<uint16_t>(VT_MEMORY_SPACE, 0));
378  }
379  const tt::target::metal::ShardedBufferConfig *sharded_buffer_config() const {
380  return GetPointer<const tt::target::metal::ShardedBufferConfig *>(VT_SHARDED_BUFFER_CONFIG);
381  }
382  const tt::target::metal::CircularBufferConfig *circular_buffer_config() const {
383  return GetPointer<const tt::target::metal::CircularBufferConfig *>(VT_CIRCULAR_BUFFER_CONFIG);
384  }
385  bool Verify(::flatbuffers::Verifier &verifier) const {
386  return VerifyTableStart(verifier) &&
387  VerifyOffset(verifier, VT_SHAPE) &&
388  verifier.VerifyVector(shape()) &&
389  VerifyField<tt::target::Dim2d>(verifier, VT_TILE_SHAPE, 4) &&
390  VerifyField<uint16_t>(verifier, VT_DATA_TYPE, 2) &&
391  VerifyField<uint16_t>(verifier, VT_MEMORY_SPACE, 2) &&
392  VerifyOffset(verifier, VT_SHARDED_BUFFER_CONFIG) &&
393  verifier.VerifyTable(sharded_buffer_config()) &&
394  VerifyOffset(verifier, VT_CIRCULAR_BUFFER_CONFIG) &&
395  verifier.VerifyTable(circular_buffer_config()) &&
396  verifier.EndTable();
397  }
398 };
399 
401  typedef BufferDesc Table;
402  ::flatbuffers::FlatBufferBuilder &fbb_;
403  ::flatbuffers::uoffset_t start_;
404  void add_shape(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape) {
405  fbb_.AddOffset(BufferDesc::VT_SHAPE, shape);
406  }
407  void add_tile_shape(const tt::target::Dim2d *tile_shape) {
408  fbb_.AddStruct(BufferDesc::VT_TILE_SHAPE, tile_shape);
409  }
411  fbb_.AddElement<uint16_t>(BufferDesc::VT_DATA_TYPE, static_cast<uint16_t>(data_type), 0);
412  }
414  fbb_.AddElement<uint16_t>(BufferDesc::VT_MEMORY_SPACE, static_cast<uint16_t>(memory_space), 0);
415  }
416  void add_sharded_buffer_config(::flatbuffers::Offset<tt::target::metal::ShardedBufferConfig> sharded_buffer_config) {
417  fbb_.AddOffset(BufferDesc::VT_SHARDED_BUFFER_CONFIG, sharded_buffer_config);
418  }
419  void add_circular_buffer_config(::flatbuffers::Offset<tt::target::metal::CircularBufferConfig> circular_buffer_config) {
420  fbb_.AddOffset(BufferDesc::VT_CIRCULAR_BUFFER_CONFIG, circular_buffer_config);
421  }
422  explicit BufferDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
423  : fbb_(_fbb) {
424  start_ = fbb_.StartTable();
425  }
426  ::flatbuffers::Offset<BufferDesc> Finish() {
427  const auto end = fbb_.EndTable(start_);
428  auto o = ::flatbuffers::Offset<BufferDesc>(end);
429  return o;
430  }
431 };
432 
433 inline ::flatbuffers::Offset<BufferDesc> CreateBufferDesc(
434  ::flatbuffers::FlatBufferBuilder &_fbb,
435  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> shape = 0,
436  const tt::target::Dim2d *tile_shape = nullptr,
439  ::flatbuffers::Offset<tt::target::metal::ShardedBufferConfig> sharded_buffer_config = 0,
440  ::flatbuffers::Offset<tt::target::metal::CircularBufferConfig> circular_buffer_config = 0) {
441  BufferDescBuilder builder_(_fbb);
442  builder_.add_circular_buffer_config(circular_buffer_config);
443  builder_.add_sharded_buffer_config(sharded_buffer_config);
444  builder_.add_tile_shape(tile_shape);
445  builder_.add_shape(shape);
446  builder_.add_memory_space(memory_space);
447  builder_.add_data_type(data_type);
448  return builder_.Finish();
449 }
450 
452  using type = BufferDesc;
453  static auto constexpr Create = CreateBufferDesc;
454 };
455 
456 inline ::flatbuffers::Offset<BufferDesc> CreateBufferDescDirect(
457  ::flatbuffers::FlatBufferBuilder &_fbb,
458  const std::vector<int32_t> *shape = nullptr,
459  const tt::target::Dim2d *tile_shape = nullptr,
462  ::flatbuffers::Offset<tt::target::metal::ShardedBufferConfig> sharded_buffer_config = 0,
463  ::flatbuffers::Offset<tt::target::metal::CircularBufferConfig> circular_buffer_config = 0) {
464  auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0;
466  _fbb,
467  shape__,
468  tile_shape,
469  data_type,
470  memory_space,
471  sharded_buffer_config,
472  circular_buffer_config);
473 }
474 
475 struct BufferRef FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
477  struct Traits;
478  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
479  return "tt.target.metal.BufferRef";
480  }
481  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
484  VT_DESC = 8
485  };
486  uint32_t global_id() const {
487  return GetField<uint32_t>(VT_GLOBAL_ID, 0);
488  }
489  uint64_t address() const {
490  return GetField<uint64_t>(VT_ADDRESS, 0);
491  }
492  const tt::target::metal::BufferDesc *desc() const {
493  return GetPointer<const tt::target::metal::BufferDesc *>(VT_DESC);
494  }
495  bool Verify(::flatbuffers::Verifier &verifier) const {
496  return VerifyTableStart(verifier) &&
497  VerifyField<uint32_t>(verifier, VT_GLOBAL_ID, 4) &&
498  VerifyField<uint64_t>(verifier, VT_ADDRESS, 8) &&
499  VerifyOffset(verifier, VT_DESC) &&
500  verifier.VerifyTable(desc()) &&
501  verifier.EndTable();
502  }
503 };
504 
506  typedef BufferRef Table;
507  ::flatbuffers::FlatBufferBuilder &fbb_;
508  ::flatbuffers::uoffset_t start_;
509  void add_global_id(uint32_t global_id) {
510  fbb_.AddElement<uint32_t>(BufferRef::VT_GLOBAL_ID, global_id, 0);
511  }
512  void add_address(uint64_t address) {
513  fbb_.AddElement<uint64_t>(BufferRef::VT_ADDRESS, address, 0);
514  }
515  void add_desc(::flatbuffers::Offset<tt::target::metal::BufferDesc> desc) {
516  fbb_.AddOffset(BufferRef::VT_DESC, desc);
517  }
518  explicit BufferRefBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
519  : fbb_(_fbb) {
520  start_ = fbb_.StartTable();
521  }
522  ::flatbuffers::Offset<BufferRef> Finish() {
523  const auto end = fbb_.EndTable(start_);
524  auto o = ::flatbuffers::Offset<BufferRef>(end);
525  return o;
526  }
527 };
528 
529 inline ::flatbuffers::Offset<BufferRef> CreateBufferRef(
530  ::flatbuffers::FlatBufferBuilder &_fbb,
531  uint32_t global_id = 0,
532  uint64_t address = 0,
533  ::flatbuffers::Offset<tt::target::metal::BufferDesc> desc = 0) {
534  BufferRefBuilder builder_(_fbb);
535  builder_.add_address(address);
536  builder_.add_desc(desc);
537  builder_.add_global_id(global_id);
538  return builder_.Finish();
539 }
540 
542  using type = BufferRef;
543  static auto constexpr Create = CreateBufferRef;
544 };
545 
546 struct CBRef FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
548  struct Traits;
549  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
550  return "tt.target.metal.CBRef";
551  }
552  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
553  VT_PORT = 4,
554  VT_BUFFER_REF = 6
555  };
556  uint32_t port() const {
557  return GetField<uint32_t>(VT_PORT, 0);
558  }
559  const tt::target::metal::BufferRef *buffer_ref() const {
560  return GetPointer<const tt::target::metal::BufferRef *>(VT_BUFFER_REF);
561  }
562  bool Verify(::flatbuffers::Verifier &verifier) const {
563  return VerifyTableStart(verifier) &&
564  VerifyField<uint32_t>(verifier, VT_PORT, 4) &&
565  VerifyOffset(verifier, VT_BUFFER_REF) &&
566  verifier.VerifyTable(buffer_ref()) &&
567  verifier.EndTable();
568  }
569 };
570 
571 struct CBRefBuilder {
572  typedef CBRef Table;
573  ::flatbuffers::FlatBufferBuilder &fbb_;
574  ::flatbuffers::uoffset_t start_;
575  void add_port(uint32_t port) {
576  fbb_.AddElement<uint32_t>(CBRef::VT_PORT, port, 0);
577  }
578  void add_buffer_ref(::flatbuffers::Offset<tt::target::metal::BufferRef> buffer_ref) {
579  fbb_.AddOffset(CBRef::VT_BUFFER_REF, buffer_ref);
580  }
581  explicit CBRefBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
582  : fbb_(_fbb) {
583  start_ = fbb_.StartTable();
584  }
585  ::flatbuffers::Offset<CBRef> Finish() {
586  const auto end = fbb_.EndTable(start_);
587  auto o = ::flatbuffers::Offset<CBRef>(end);
588  return o;
589  }
590 };
591 
592 inline ::flatbuffers::Offset<CBRef> CreateCBRef(
593  ::flatbuffers::FlatBufferBuilder &_fbb,
594  uint32_t port = 0,
595  ::flatbuffers::Offset<tt::target::metal::BufferRef> buffer_ref = 0) {
596  CBRefBuilder builder_(_fbb);
597  builder_.add_buffer_ref(buffer_ref);
598  builder_.add_port(port);
599  return builder_.Finish();
600 }
601 
603  using type = CBRef;
604  static auto constexpr Create = CreateCBRef;
605 };
606 
607 } // namespace metal
608 } // namespace target
609 } // namespace tt
610 
611 #endif // FLATBUFFERS_GENERATED_TYPES_TT_TARGET_METAL_H_
VT_SHARD_SPEC
Definition: types_generated.h:122
VT_TILE_SHAPE
Definition: types_generated.h:361
VT_SHAPE
Definition: types_generated.h:360
VT_PORT
Definition: types_generated.h:553
VT_DATA_TYPE
Definition: types_generated.h:362
VT_PAGE_SHAPE
Definition: types_generated.h:123
VT_CORE_RANGE_SET
Definition: types_generated.h:50
VT_PAGE_SIZE
Definition: types_generated.h:194
VT_GLOBAL_ID
Definition: types_generated.h:482
VT_SHARDED_BUFFER_CONFIG
Definition: types_generated.h:364
VT_TOTAL_SIZE
Definition: types_generated.h:265
VT_MEMORY_SPACE
Definition: types_generated.h:363
VT_ADDRESS
Definition: types_generated.h:483
VT_SIZE
Definition: types_generated.h:193
VT_SHARD_SHAPE
Definition: ccl_generated.h:249
inline ::flatbuffers::Offset< ShardSpecBuffer > CreateShardSpecBuffer(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::metal::ShardSpec > shard_spec=0, const tt::target::Dim2d *page_shape=nullptr, const tt::target::Dim2d *tensor_shape_in_pages=nullptr)
Definition: types_generated.h:169
inline ::flatbuffers::Offset< CBRef > CreateCBRef(::flatbuffers::FlatBufferBuilder &_fbb, uint32_t port=0, ::flatbuffers::Offset< tt::target::metal::BufferRef > buffer_ref=0)
Definition: types_generated.h:592
inline ::flatbuffers::Offset< CircularBufferConfig > CreateCircularBufferConfig(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector< const tt::target::Dim2dRange * >> core_range_set=0, uint64_t total_size=0, uint64_t page_size=0, uint64_t num_buffers=0)
Definition: types_generated.h:319
inline ::flatbuffers::Offset< ShardSpec > CreateShardSpecDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector< tt::target::Dim2dRange > *core_range_set=nullptr, const tt::target::Dim2d *shard_shape=nullptr)
Definition: types_generated.h:104
inline ::flatbuffers::Offset< BufferDesc > CreateBufferDescDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector< int32_t > *shape=nullptr, const tt::target::Dim2d *tile_shape=nullptr, tt::target::DataType data_type=tt::target::DataType::Float32, tt::target::MemorySpace memory_space=tt::target::MemorySpace::System, ::flatbuffers::Offset< tt::target::metal::ShardedBufferConfig > sharded_buffer_config=0, ::flatbuffers::Offset< tt::target::metal::CircularBufferConfig > circular_buffer_config=0)
Definition: types_generated.h:456
inline ::flatbuffers::Offset< CircularBufferConfig > CreateCircularBufferConfigDirect(::flatbuffers::FlatBufferBuilder &_fbb, const std::vector< tt::target::Dim2dRange > *core_range_set=nullptr, uint64_t total_size=0, uint64_t page_size=0, uint64_t num_buffers=0)
Definition: types_generated.h:338
inline ::flatbuffers::Offset< BufferRef > CreateBufferRef(::flatbuffers::FlatBufferBuilder &_fbb, uint32_t global_id=0, uint64_t address=0, ::flatbuffers::Offset< tt::target::metal::BufferDesc > desc=0)
Definition: types_generated.h:529
inline ::flatbuffers::Offset< BufferDesc > CreateBufferDesc(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> shape=0, const tt::target::Dim2d *tile_shape=nullptr, tt::target::DataType data_type=tt::target::DataType::Float32, tt::target::MemorySpace memory_space=tt::target::MemorySpace::System, ::flatbuffers::Offset< tt::target::metal::ShardedBufferConfig > sharded_buffer_config=0, ::flatbuffers::Offset< tt::target::metal::CircularBufferConfig > circular_buffer_config=0)
Definition: types_generated.h:433
inline ::flatbuffers::Offset< ShardedBufferConfig > CreateShardedBufferConfig(::flatbuffers::FlatBufferBuilder &_fbb, uint64_t size=0, uint64_t page_size=0, ::flatbuffers::Offset< tt::target::metal::ShardSpecBuffer > shard_spec_buffer=0)
Definition: types_generated.h:240
inline ::flatbuffers::Offset< ShardSpec > CreateShardSpec(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset<::flatbuffers::Vector< const tt::target::Dim2dRange * >> core_range_set=0, const tt::target::Dim2d *shard_shape=nullptr)
Definition: types_generated.h:89
MemorySpace
Definition: types_generated.h:183
DataType
Definition: types_generated.h:81
Definition: debug_info_generated.h:18
Definition: debug_info_generated.h:36
Definition: types_generated.h:400
void add_sharded_buffer_config(::flatbuffers::Offset< tt::target::metal::ShardedBufferConfig > sharded_buffer_config)
Definition: types_generated.h:416
void add_data_type(tt::target::DataType data_type)
Definition: types_generated.h:410
::flatbuffers::Offset< BufferDesc > Finish()
Definition: types_generated.h:426
void add_circular_buffer_config(::flatbuffers::Offset< tt::target::metal::CircularBufferConfig > circular_buffer_config)
Definition: types_generated.h:419
void add_memory_space(tt::target::MemorySpace memory_space)
Definition: types_generated.h:413
::flatbuffers::FlatBufferBuilder & fbb_
Definition: types_generated.h:402
void add_shape(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> shape)
Definition: types_generated.h:404
::flatbuffers::uoffset_t start_
Definition: types_generated.h:403
BufferDesc Table
Definition: types_generated.h:401
BufferDescBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: types_generated.h:422
void add_tile_shape(const tt::target::Dim2d *tile_shape)
Definition: types_generated.h:407
Definition: types_generated.h:451
BufferDesc type
Definition: types_generated.h:452
static constexpr auto Create
Definition: types_generated.h:453
Definition: types_generated.h:505
BufferRefBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: types_generated.h:518
::flatbuffers::uoffset_t start_
Definition: types_generated.h:508
::flatbuffers::FlatBufferBuilder & fbb_
Definition: types_generated.h:507
void add_address(uint64_t address)
Definition: types_generated.h:512
void add_global_id(uint32_t global_id)
Definition: types_generated.h:509
void add_desc(::flatbuffers::Offset< tt::target::metal::BufferDesc > desc)
Definition: types_generated.h:515
BufferRef Table
Definition: types_generated.h:506
::flatbuffers::Offset< BufferRef > Finish()
Definition: types_generated.h:522
Definition: types_generated.h:541
static constexpr auto Create
Definition: types_generated.h:543
BufferRef type
Definition: types_generated.h:542
Definition: types_generated.h:571
CBRefBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: types_generated.h:581
void add_port(uint32_t port)
Definition: types_generated.h:575
::flatbuffers::FlatBufferBuilder & fbb_
Definition: types_generated.h:573
::flatbuffers::uoffset_t start_
Definition: types_generated.h:574
::flatbuffers::Offset< CBRef > Finish()
Definition: types_generated.h:585
CBRef Table
Definition: types_generated.h:572
void add_buffer_ref(::flatbuffers::Offset< tt::target::metal::BufferRef > buffer_ref)
Definition: types_generated.h:578
Definition: types_generated.h:602
static constexpr auto Create
Definition: types_generated.h:604
CBRef type
Definition: types_generated.h:603
Definition: types_generated.h:292
void add_total_size(uint64_t total_size)
Definition: types_generated.h:299
CircularBufferConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: types_generated.h:308
void add_num_buffers(uint64_t num_buffers)
Definition: types_generated.h:305
::flatbuffers::FlatBufferBuilder & fbb_
Definition: types_generated.h:294
::flatbuffers::Offset< CircularBufferConfig > Finish()
Definition: types_generated.h:312
void add_page_size(uint64_t page_size)
Definition: types_generated.h:302
CircularBufferConfig Table
Definition: types_generated.h:293
::flatbuffers::uoffset_t start_
Definition: types_generated.h:295
void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector< const tt::target::Dim2dRange * >> core_range_set)
Definition: types_generated.h:296
Definition: types_generated.h:333
CircularBufferConfig type
Definition: types_generated.h:334
static constexpr auto Create
Definition: types_generated.h:335
Definition: binary_generated.h:51
bool Verify(::flatbuffers::Verifier &verifier) const
Definition: types_generated.h:59
CircularBufferConfigBuilder Builder
Definition: types_generated.h:258
uint32_t port() const
Definition: types_generated.h:556
ShardSpecBuilder Builder
Definition: types_generated.h:44
BufferDescBuilder Builder
Definition: types_generated.h:354
const tt::target::metal::BufferRef * buffer_ref() const
Definition: types_generated.h:559
ShardedBufferConfigBuilder Builder
Definition: types_generated.h:187
uint32_t global_id() const
Definition: types_generated.h:486
const ::flatbuffers::Vector< int32_t > * shape() const
Definition: types_generated.h:367
const tt::target::metal::ShardSpecBuffer * shard_spec_buffer() const
Definition: types_generated.h:203
static FLATBUFFERS_CONSTEXPR_CPP11 const char * GetFullyQualifiedName()
Definition: types_generated.h:46
const tt::target::Dim2d * tile_shape() const
Definition: types_generated.h:370
BufferRefBuilder Builder
Definition: types_generated.h:476
uint64_t num_buffers() const
Definition: types_generated.h:278
const tt::target::Dim2d * page_shape() const
Definition: types_generated.h:129
uint64_t address() const
Definition: types_generated.h:489
const ::flatbuffers::Vector< const tt::target::Dim2dRange * > * core_range_set() const
Definition: types_generated.h:53
uint64_t total_size() const
Definition: types_generated.h:272
const tt::target::metal::ShardSpec * shard_spec() const
Definition: types_generated.h:126
const tt::target::metal::CircularBufferConfig * circular_buffer_config() const
Definition: types_generated.h:382
const tt::target::metal::BufferDesc * desc() const
Definition: types_generated.h:492
uint64_t size() const
Definition: types_generated.h:197
const tt::target::Dim2d * tensor_shape_in_pages() const
Definition: types_generated.h:132
CBRefBuilder Builder
Definition: types_generated.h:547
tt::target::MemorySpace memory_space() const
Definition: types_generated.h:376
ShardSpecBufferBuilder Builder
Definition: types_generated.h:116
const tt::target::metal::ShardedBufferConfig * sharded_buffer_config() const
Definition: types_generated.h:379
tt::target::DataType data_type() const
Definition: types_generated.h:373
uint64_t page_size() const
Definition: types_generated.h:200
const tt::target::Dim2d * shard_shape() const
Definition: types_generated.h:56
Definition: types_generated.h:145
ShardSpecBuffer Table
Definition: types_generated.h:146
void add_shard_spec(::flatbuffers::Offset< tt::target::metal::ShardSpec > shard_spec)
Definition: types_generated.h:149
::flatbuffers::uoffset_t start_
Definition: types_generated.h:148
::flatbuffers::FlatBufferBuilder & fbb_
Definition: types_generated.h:147
void add_page_shape(const tt::target::Dim2d *page_shape)
Definition: types_generated.h:152
::flatbuffers::Offset< ShardSpecBuffer > Finish()
Definition: types_generated.h:162
ShardSpecBufferBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: types_generated.h:158
void add_tensor_shape_in_pages(const tt::target::Dim2d *tensor_shape_in_pages)
Definition: types_generated.h:155
Definition: types_generated.h:181
ShardSpecBuffer type
Definition: types_generated.h:182
static constexpr auto Create
Definition: types_generated.h:183
Definition: types_generated.h:68
void add_core_range_set(::flatbuffers::Offset<::flatbuffers::Vector< const tt::target::Dim2dRange * >> core_range_set)
Definition: types_generated.h:72
ShardSpecBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: types_generated.h:78
::flatbuffers::uoffset_t start_
Definition: types_generated.h:71
ShardSpec Table
Definition: types_generated.h:69
::flatbuffers::Offset< ShardSpec > Finish()
Definition: types_generated.h:82
void add_shard_shape(const tt::target::Dim2d *shard_shape)
Definition: types_generated.h:75
::flatbuffers::FlatBufferBuilder & fbb_
Definition: types_generated.h:70
Definition: types_generated.h:99
ShardSpec type
Definition: types_generated.h:100
static constexpr auto Create
Definition: types_generated.h:101
Definition: types_generated.h:216
ShardedBufferConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: types_generated.h:229
::flatbuffers::Offset< ShardedBufferConfig > Finish()
Definition: types_generated.h:233
void add_size(uint64_t size)
Definition: types_generated.h:220
::flatbuffers::FlatBufferBuilder & fbb_
Definition: types_generated.h:218
ShardedBufferConfig Table
Definition: types_generated.h:217
void add_shard_spec_buffer(::flatbuffers::Offset< tt::target::metal::ShardSpecBuffer > shard_spec_buffer)
Definition: types_generated.h:226
void add_page_size(uint64_t page_size)
Definition: types_generated.h:223
::flatbuffers::uoffset_t start_
Definition: types_generated.h:219
Definition: types_generated.h:252
static constexpr auto Create
Definition: types_generated.h:254
ShardedBufferConfig type
Definition: types_generated.h:253