TT-MLIR
conv_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_CONV_TT_TARGET_TTNN_H_
5 #define FLATBUFFERS_GENERATED_CONV_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 
19 
20 namespace tt {
21 namespace target {
22 namespace ttnn {
23 
24 struct Conv2dConfig;
25 struct Conv2dConfigBuilder;
26 
28 struct PrepareConv2dWeightsOpBuilder;
29 
30 struct Conv2dOp;
31 struct Conv2dOpBuilder;
32 
33 struct ConvTranspose2dOp;
34 struct ConvTranspose2dOpBuilder;
35 
36 struct Conv2dConfig FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
38  struct Traits;
39  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
40  return "tt.target.ttnn.Conv2dConfig";
41  }
42  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
43  VT_DTYPE = 4,
61  VT_ENABLE_SUBBLOCK_PADDING = 40
62  };
63  ::flatbuffers::Optional<tt::target::DataType> dtype() const {
64  return GetOptional<uint16_t, tt::target::DataType>(VT_DTYPE);
65  }
66  ::flatbuffers::Optional<tt::target::DataType> weights_dtype() const {
67  return GetOptional<uint16_t, tt::target::DataType>(VT_WEIGHTS_DTYPE);
68  }
69  const ::flatbuffers::String *activation() const {
70  return GetPointer<const ::flatbuffers::String *>(VT_ACTIVATION);
71  }
72  ::flatbuffers::Optional<bool> deallocate_activation() const {
73  return GetOptional<uint8_t, bool>(VT_DEALLOCATE_ACTIVATION);
74  }
75  ::flatbuffers::Optional<bool> reallocate_halo_output() const {
76  return GetOptional<uint8_t, bool>(VT_REALLOCATE_HALO_OUTPUT);
77  }
78  ::flatbuffers::Optional<uint32_t> act_block_h_override() const {
79  return GetOptional<uint32_t, uint32_t>(VT_ACT_BLOCK_H_OVERRIDE);
80  }
81  ::flatbuffers::Optional<uint32_t> act_block_w_div() const {
82  return GetOptional<uint32_t, uint32_t>(VT_ACT_BLOCK_W_DIV);
83  }
84  ::flatbuffers::Optional<bool> reshard_if_not_optimal() const {
85  return GetOptional<uint8_t, bool>(VT_RESHARD_IF_NOT_OPTIMAL);
86  }
87  ::flatbuffers::Optional<bool> override_sharding_config() const {
88  return GetOptional<uint8_t, bool>(VT_OVERRIDE_SHARDING_CONFIG);
89  }
90  ::flatbuffers::Optional<tt::target::ttnn::TensorMemoryLayout> shard_layout() const {
91  return GetOptional<uint16_t, tt::target::ttnn::TensorMemoryLayout>(VT_SHARD_LAYOUT);
92  }
93  const tt::target::ttnn::CoreRangeSet *core_grid() const {
94  return GetPointer<const tt::target::ttnn::CoreRangeSet *>(VT_CORE_GRID);
95  }
96  ::flatbuffers::Optional<bool> transpose_shards() const {
97  return GetOptional<uint8_t, bool>(VT_TRANSPOSE_SHARDS);
98  }
99  ::flatbuffers::Optional<tt::target::TensorLayout> output_layout() const {
100  return GetOptional<uint16_t, tt::target::TensorLayout>(VT_OUTPUT_LAYOUT);
101  }
102  ::flatbuffers::Optional<bool> preprocess_weights_on_device() const {
103  return GetOptional<uint8_t, bool>(VT_PREPROCESS_WEIGHTS_ON_DEVICE);
104  }
105  ::flatbuffers::Optional<bool> always_preprocess_weights() const {
106  return GetOptional<uint8_t, bool>(VT_ALWAYS_PREPROCESS_WEIGHTS);
107  }
108  ::flatbuffers::Optional<bool> enable_act_double_buffer() const {
109  return GetOptional<uint8_t, bool>(VT_ENABLE_ACT_DOUBLE_BUFFER);
110  }
111  ::flatbuffers::Optional<bool> enable_weights_double_buffer() const {
112  return GetOptional<uint8_t, bool>(VT_ENABLE_WEIGHTS_DOUBLE_BUFFER);
113  }
114  ::flatbuffers::Optional<bool> enable_split_reader() const {
115  return GetOptional<uint8_t, bool>(VT_ENABLE_SPLIT_READER);
116  }
117  ::flatbuffers::Optional<bool> enable_subblock_padding() const {
118  return GetOptional<uint8_t, bool>(VT_ENABLE_SUBBLOCK_PADDING);
119  }
120  bool Verify(::flatbuffers::Verifier &verifier) const {
121  return VerifyTableStart(verifier) &&
122  VerifyField<uint16_t>(verifier, VT_DTYPE, 2) &&
123  VerifyField<uint16_t>(verifier, VT_WEIGHTS_DTYPE, 2) &&
124  VerifyOffset(verifier, VT_ACTIVATION) &&
125  verifier.VerifyString(activation()) &&
126  VerifyField<uint8_t>(verifier, VT_DEALLOCATE_ACTIVATION, 1) &&
127  VerifyField<uint8_t>(verifier, VT_REALLOCATE_HALO_OUTPUT, 1) &&
128  VerifyField<uint32_t>(verifier, VT_ACT_BLOCK_H_OVERRIDE, 4) &&
129  VerifyField<uint32_t>(verifier, VT_ACT_BLOCK_W_DIV, 4) &&
130  VerifyField<uint8_t>(verifier, VT_RESHARD_IF_NOT_OPTIMAL, 1) &&
131  VerifyField<uint8_t>(verifier, VT_OVERRIDE_SHARDING_CONFIG, 1) &&
132  VerifyField<uint16_t>(verifier, VT_SHARD_LAYOUT, 2) &&
133  VerifyOffset(verifier, VT_CORE_GRID) &&
134  verifier.VerifyTable(core_grid()) &&
135  VerifyField<uint8_t>(verifier, VT_TRANSPOSE_SHARDS, 1) &&
136  VerifyField<uint16_t>(verifier, VT_OUTPUT_LAYOUT, 2) &&
137  VerifyField<uint8_t>(verifier, VT_PREPROCESS_WEIGHTS_ON_DEVICE, 1) &&
138  VerifyField<uint8_t>(verifier, VT_ALWAYS_PREPROCESS_WEIGHTS, 1) &&
139  VerifyField<uint8_t>(verifier, VT_ENABLE_ACT_DOUBLE_BUFFER, 1) &&
140  VerifyField<uint8_t>(verifier, VT_ENABLE_WEIGHTS_DOUBLE_BUFFER, 1) &&
141  VerifyField<uint8_t>(verifier, VT_ENABLE_SPLIT_READER, 1) &&
142  VerifyField<uint8_t>(verifier, VT_ENABLE_SUBBLOCK_PADDING, 1) &&
143  verifier.EndTable();
144  }
145 };
146 
148  typedef Conv2dConfig Table;
149  ::flatbuffers::FlatBufferBuilder &fbb_;
150  ::flatbuffers::uoffset_t start_;
152  fbb_.AddElement<uint16_t>(Conv2dConfig::VT_DTYPE, static_cast<uint16_t>(dtype));
153  }
155  fbb_.AddElement<uint16_t>(Conv2dConfig::VT_WEIGHTS_DTYPE, static_cast<uint16_t>(weights_dtype));
156  }
157  void add_activation(::flatbuffers::Offset<::flatbuffers::String> activation) {
158  fbb_.AddOffset(Conv2dConfig::VT_ACTIVATION, activation);
159  }
160  void add_deallocate_activation(bool deallocate_activation) {
161  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_DEALLOCATE_ACTIVATION, static_cast<uint8_t>(deallocate_activation));
162  }
163  void add_reallocate_halo_output(bool reallocate_halo_output) {
164  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_REALLOCATE_HALO_OUTPUT, static_cast<uint8_t>(reallocate_halo_output));
165  }
166  void add_act_block_h_override(uint32_t act_block_h_override) {
167  fbb_.AddElement<uint32_t>(Conv2dConfig::VT_ACT_BLOCK_H_OVERRIDE, act_block_h_override);
168  }
169  void add_act_block_w_div(uint32_t act_block_w_div) {
170  fbb_.AddElement<uint32_t>(Conv2dConfig::VT_ACT_BLOCK_W_DIV, act_block_w_div);
171  }
172  void add_reshard_if_not_optimal(bool reshard_if_not_optimal) {
173  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_RESHARD_IF_NOT_OPTIMAL, static_cast<uint8_t>(reshard_if_not_optimal));
174  }
175  void add_override_sharding_config(bool override_sharding_config) {
176  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_OVERRIDE_SHARDING_CONFIG, static_cast<uint8_t>(override_sharding_config));
177  }
179  fbb_.AddElement<uint16_t>(Conv2dConfig::VT_SHARD_LAYOUT, static_cast<uint16_t>(shard_layout));
180  }
181  void add_core_grid(::flatbuffers::Offset<tt::target::ttnn::CoreRangeSet> core_grid) {
182  fbb_.AddOffset(Conv2dConfig::VT_CORE_GRID, core_grid);
183  }
184  void add_transpose_shards(bool transpose_shards) {
185  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_TRANSPOSE_SHARDS, static_cast<uint8_t>(transpose_shards));
186  }
188  fbb_.AddElement<uint16_t>(Conv2dConfig::VT_OUTPUT_LAYOUT, static_cast<uint16_t>(output_layout));
189  }
190  void add_preprocess_weights_on_device(bool preprocess_weights_on_device) {
191  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_PREPROCESS_WEIGHTS_ON_DEVICE, static_cast<uint8_t>(preprocess_weights_on_device));
192  }
193  void add_always_preprocess_weights(bool always_preprocess_weights) {
194  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_ALWAYS_PREPROCESS_WEIGHTS, static_cast<uint8_t>(always_preprocess_weights));
195  }
196  void add_enable_act_double_buffer(bool enable_act_double_buffer) {
197  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_ENABLE_ACT_DOUBLE_BUFFER, static_cast<uint8_t>(enable_act_double_buffer));
198  }
199  void add_enable_weights_double_buffer(bool enable_weights_double_buffer) {
200  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_ENABLE_WEIGHTS_DOUBLE_BUFFER, static_cast<uint8_t>(enable_weights_double_buffer));
201  }
202  void add_enable_split_reader(bool enable_split_reader) {
203  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_ENABLE_SPLIT_READER, static_cast<uint8_t>(enable_split_reader));
204  }
205  void add_enable_subblock_padding(bool enable_subblock_padding) {
206  fbb_.AddElement<uint8_t>(Conv2dConfig::VT_ENABLE_SUBBLOCK_PADDING, static_cast<uint8_t>(enable_subblock_padding));
207  }
208  explicit Conv2dConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
209  : fbb_(_fbb) {
210  start_ = fbb_.StartTable();
211  }
212  ::flatbuffers::Offset<Conv2dConfig> Finish() {
213  const auto end = fbb_.EndTable(start_);
214  auto o = ::flatbuffers::Offset<Conv2dConfig>(end);
215  return o;
216  }
217 };
218 
219 inline ::flatbuffers::Offset<Conv2dConfig> CreateConv2dConfig(
220  ::flatbuffers::FlatBufferBuilder &_fbb,
221  ::flatbuffers::Optional<tt::target::DataType> dtype = ::flatbuffers::nullopt,
222  ::flatbuffers::Optional<tt::target::DataType> weights_dtype = ::flatbuffers::nullopt,
223  ::flatbuffers::Offset<::flatbuffers::String> activation = 0,
224  ::flatbuffers::Optional<bool> deallocate_activation = ::flatbuffers::nullopt,
225  ::flatbuffers::Optional<bool> reallocate_halo_output = ::flatbuffers::nullopt,
226  ::flatbuffers::Optional<uint32_t> act_block_h_override = ::flatbuffers::nullopt,
227  ::flatbuffers::Optional<uint32_t> act_block_w_div = ::flatbuffers::nullopt,
228  ::flatbuffers::Optional<bool> reshard_if_not_optimal = ::flatbuffers::nullopt,
229  ::flatbuffers::Optional<bool> override_sharding_config = ::flatbuffers::nullopt,
230  ::flatbuffers::Optional<tt::target::ttnn::TensorMemoryLayout> shard_layout = ::flatbuffers::nullopt,
231  ::flatbuffers::Offset<tt::target::ttnn::CoreRangeSet> core_grid = 0,
232  ::flatbuffers::Optional<bool> transpose_shards = ::flatbuffers::nullopt,
233  ::flatbuffers::Optional<tt::target::TensorLayout> output_layout = ::flatbuffers::nullopt,
234  ::flatbuffers::Optional<bool> preprocess_weights_on_device = ::flatbuffers::nullopt,
235  ::flatbuffers::Optional<bool> always_preprocess_weights = ::flatbuffers::nullopt,
236  ::flatbuffers::Optional<bool> enable_act_double_buffer = ::flatbuffers::nullopt,
237  ::flatbuffers::Optional<bool> enable_weights_double_buffer = ::flatbuffers::nullopt,
238  ::flatbuffers::Optional<bool> enable_split_reader = ::flatbuffers::nullopt,
239  ::flatbuffers::Optional<bool> enable_subblock_padding = ::flatbuffers::nullopt) {
240  Conv2dConfigBuilder builder_(_fbb);
241  builder_.add_core_grid(core_grid);
242  if(act_block_w_div) { builder_.add_act_block_w_div(*act_block_w_div); }
243  if(act_block_h_override) { builder_.add_act_block_h_override(*act_block_h_override); }
244  builder_.add_activation(activation);
245  if(output_layout) { builder_.add_output_layout(*output_layout); }
246  if(shard_layout) { builder_.add_shard_layout(*shard_layout); }
247  if(weights_dtype) { builder_.add_weights_dtype(*weights_dtype); }
248  if(dtype) { builder_.add_dtype(*dtype); }
249  if(enable_subblock_padding) { builder_.add_enable_subblock_padding(*enable_subblock_padding); }
250  if(enable_split_reader) { builder_.add_enable_split_reader(*enable_split_reader); }
251  if(enable_weights_double_buffer) { builder_.add_enable_weights_double_buffer(*enable_weights_double_buffer); }
252  if(enable_act_double_buffer) { builder_.add_enable_act_double_buffer(*enable_act_double_buffer); }
253  if(always_preprocess_weights) { builder_.add_always_preprocess_weights(*always_preprocess_weights); }
254  if(preprocess_weights_on_device) { builder_.add_preprocess_weights_on_device(*preprocess_weights_on_device); }
255  if(transpose_shards) { builder_.add_transpose_shards(*transpose_shards); }
256  if(override_sharding_config) { builder_.add_override_sharding_config(*override_sharding_config); }
257  if(reshard_if_not_optimal) { builder_.add_reshard_if_not_optimal(*reshard_if_not_optimal); }
258  if(reallocate_halo_output) { builder_.add_reallocate_halo_output(*reallocate_halo_output); }
259  if(deallocate_activation) { builder_.add_deallocate_activation(*deallocate_activation); }
260  return builder_.Finish();
261 }
262 
264  using type = Conv2dConfig;
265  static auto constexpr Create = CreateConv2dConfig;
266 };
267 
268 inline ::flatbuffers::Offset<Conv2dConfig> CreateConv2dConfigDirect(
269  ::flatbuffers::FlatBufferBuilder &_fbb,
270  ::flatbuffers::Optional<tt::target::DataType> dtype = ::flatbuffers::nullopt,
271  ::flatbuffers::Optional<tt::target::DataType> weights_dtype = ::flatbuffers::nullopt,
272  const char *activation = nullptr,
273  ::flatbuffers::Optional<bool> deallocate_activation = ::flatbuffers::nullopt,
274  ::flatbuffers::Optional<bool> reallocate_halo_output = ::flatbuffers::nullopt,
275  ::flatbuffers::Optional<uint32_t> act_block_h_override = ::flatbuffers::nullopt,
276  ::flatbuffers::Optional<uint32_t> act_block_w_div = ::flatbuffers::nullopt,
277  ::flatbuffers::Optional<bool> reshard_if_not_optimal = ::flatbuffers::nullopt,
278  ::flatbuffers::Optional<bool> override_sharding_config = ::flatbuffers::nullopt,
279  ::flatbuffers::Optional<tt::target::ttnn::TensorMemoryLayout> shard_layout = ::flatbuffers::nullopt,
280  ::flatbuffers::Offset<tt::target::ttnn::CoreRangeSet> core_grid = 0,
281  ::flatbuffers::Optional<bool> transpose_shards = ::flatbuffers::nullopt,
282  ::flatbuffers::Optional<tt::target::TensorLayout> output_layout = ::flatbuffers::nullopt,
283  ::flatbuffers::Optional<bool> preprocess_weights_on_device = ::flatbuffers::nullopt,
284  ::flatbuffers::Optional<bool> always_preprocess_weights = ::flatbuffers::nullopt,
285  ::flatbuffers::Optional<bool> enable_act_double_buffer = ::flatbuffers::nullopt,
286  ::flatbuffers::Optional<bool> enable_weights_double_buffer = ::flatbuffers::nullopt,
287  ::flatbuffers::Optional<bool> enable_split_reader = ::flatbuffers::nullopt,
288  ::flatbuffers::Optional<bool> enable_subblock_padding = ::flatbuffers::nullopt) {
289  auto activation__ = activation ? _fbb.CreateString(activation) : 0;
291  _fbb,
292  dtype,
293  weights_dtype,
294  activation__,
295  deallocate_activation,
296  reallocate_halo_output,
297  act_block_h_override,
298  act_block_w_div,
299  reshard_if_not_optimal,
300  override_sharding_config,
301  shard_layout,
302  core_grid,
303  transpose_shards,
304  output_layout,
305  preprocess_weights_on_device,
306  always_preprocess_weights,
307  enable_act_double_buffer,
308  enable_weights_double_buffer,
309  enable_split_reader,
310  enable_subblock_padding);
311 }
312 
313 struct PrepareConv2dWeightsOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
315  struct Traits;
316  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
317  return "tt.target.ttnn.PrepareConv2dWeightsOp";
318  }
319  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
321  VT_OUT = 6,
331  VT_STRIDE = 26,
335  VT_GROUPS = 34,
336  VT_DEVICE = 36,
337  VT_CONV2D_CONFIG = 38
338  };
339  const tt::target::ttnn::TensorRef *weight_tensor() const {
340  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_WEIGHT_TENSOR);
341  }
342  const tt::target::ttnn::TensorRef *out() const {
343  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_OUT);
344  }
345  const tt::target::ttnn::MemoryConfig *input_memory_config() const {
346  return GetPointer<const tt::target::ttnn::MemoryConfig *>(VT_INPUT_MEMORY_CONFIG);
347  }
349  return static_cast<tt::target::TensorLayout>(GetField<uint16_t>(VT_INPUT_TENSOR_LAYOUT, 0));
350  }
351  const ::flatbuffers::String *weights_format() const {
352  return GetPointer<const ::flatbuffers::String *>(VT_WEIGHTS_FORMAT);
353  }
354  uint32_t in_channels() const {
355  return GetField<uint32_t>(VT_IN_CHANNELS, 0);
356  }
357  uint32_t out_channels() const {
358  return GetField<uint32_t>(VT_OUT_CHANNELS, 0);
359  }
360  uint32_t batch_size() const {
361  return GetField<uint32_t>(VT_BATCH_SIZE, 0);
362  }
363  uint32_t input_height() const {
364  return GetField<uint32_t>(VT_INPUT_HEIGHT, 0);
365  }
366  uint32_t input_width() const {
367  return GetField<uint32_t>(VT_INPUT_WIDTH, 0);
368  }
369  const ::flatbuffers::Vector<int32_t> *kernel_size() const {
370  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL_SIZE);
371  }
372  const ::flatbuffers::Vector<int32_t> *stride() const {
373  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
374  }
375  const ::flatbuffers::Vector<int32_t> *padding() const {
376  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
377  }
378  const ::flatbuffers::Vector<int32_t> *dilation() const {
379  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
380  }
381  bool has_bias() const {
382  return GetField<uint8_t>(VT_HAS_BIAS, 0) != 0;
383  }
384  uint32_t groups() const {
385  return GetField<uint32_t>(VT_GROUPS, 0);
386  }
387  const tt::target::DeviceRef *device() const {
388  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
389  }
390  const tt::target::ttnn::Conv2dConfig *conv2d_config() const {
391  return GetPointer<const tt::target::ttnn::Conv2dConfig *>(VT_CONV2D_CONFIG);
392  }
393  bool Verify(::flatbuffers::Verifier &verifier) const {
394  return VerifyTableStart(verifier) &&
395  VerifyOffset(verifier, VT_WEIGHT_TENSOR) &&
396  verifier.VerifyTable(weight_tensor()) &&
397  VerifyOffset(verifier, VT_OUT) &&
398  verifier.VerifyTable(out()) &&
399  VerifyOffset(verifier, VT_INPUT_MEMORY_CONFIG) &&
400  verifier.VerifyTable(input_memory_config()) &&
401  VerifyField<uint16_t>(verifier, VT_INPUT_TENSOR_LAYOUT, 2) &&
402  VerifyOffset(verifier, VT_WEIGHTS_FORMAT) &&
403  verifier.VerifyString(weights_format()) &&
404  VerifyField<uint32_t>(verifier, VT_IN_CHANNELS, 4) &&
405  VerifyField<uint32_t>(verifier, VT_OUT_CHANNELS, 4) &&
406  VerifyField<uint32_t>(verifier, VT_BATCH_SIZE, 4) &&
407  VerifyField<uint32_t>(verifier, VT_INPUT_HEIGHT, 4) &&
408  VerifyField<uint32_t>(verifier, VT_INPUT_WIDTH, 4) &&
409  VerifyOffset(verifier, VT_KERNEL_SIZE) &&
410  verifier.VerifyVector(kernel_size()) &&
411  VerifyOffset(verifier, VT_STRIDE) &&
412  verifier.VerifyVector(stride()) &&
413  VerifyOffset(verifier, VT_PADDING) &&
414  verifier.VerifyVector(padding()) &&
415  VerifyOffset(verifier, VT_DILATION) &&
416  verifier.VerifyVector(dilation()) &&
417  VerifyField<uint8_t>(verifier, VT_HAS_BIAS, 1) &&
418  VerifyField<uint32_t>(verifier, VT_GROUPS, 4) &&
419  VerifyOffset(verifier, VT_DEVICE) &&
420  verifier.VerifyTable(device()) &&
421  VerifyOffset(verifier, VT_CONV2D_CONFIG) &&
422  verifier.VerifyTable(conv2d_config()) &&
423  verifier.EndTable();
424  }
425 };
426 
429  ::flatbuffers::FlatBufferBuilder &fbb_;
430  ::flatbuffers::uoffset_t start_;
431  void add_weight_tensor(::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight_tensor) {
432  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_WEIGHT_TENSOR, weight_tensor);
433  }
434  void add_out(::flatbuffers::Offset<tt::target::ttnn::TensorRef> out) {
435  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_OUT, out);
436  }
437  void add_input_memory_config(::flatbuffers::Offset<tt::target::ttnn::MemoryConfig> input_memory_config) {
438  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_INPUT_MEMORY_CONFIG, input_memory_config);
439  }
441  fbb_.AddElement<uint16_t>(PrepareConv2dWeightsOp::VT_INPUT_TENSOR_LAYOUT, static_cast<uint16_t>(input_tensor_layout), 0);
442  }
443  void add_weights_format(::flatbuffers::Offset<::flatbuffers::String> weights_format) {
444  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_WEIGHTS_FORMAT, weights_format);
445  }
446  void add_in_channels(uint32_t in_channels) {
447  fbb_.AddElement<uint32_t>(PrepareConv2dWeightsOp::VT_IN_CHANNELS, in_channels, 0);
448  }
449  void add_out_channels(uint32_t out_channels) {
450  fbb_.AddElement<uint32_t>(PrepareConv2dWeightsOp::VT_OUT_CHANNELS, out_channels, 0);
451  }
452  void add_batch_size(uint32_t batch_size) {
453  fbb_.AddElement<uint32_t>(PrepareConv2dWeightsOp::VT_BATCH_SIZE, batch_size, 0);
454  }
455  void add_input_height(uint32_t input_height) {
456  fbb_.AddElement<uint32_t>(PrepareConv2dWeightsOp::VT_INPUT_HEIGHT, input_height, 0);
457  }
458  void add_input_width(uint32_t input_width) {
459  fbb_.AddElement<uint32_t>(PrepareConv2dWeightsOp::VT_INPUT_WIDTH, input_width, 0);
460  }
461  void add_kernel_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel_size) {
462  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_KERNEL_SIZE, kernel_size);
463  }
464  void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
465  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_STRIDE, stride);
466  }
467  void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
468  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_PADDING, padding);
469  }
470  void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
471  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_DILATION, dilation);
472  }
473  void add_has_bias(bool has_bias) {
474  fbb_.AddElement<uint8_t>(PrepareConv2dWeightsOp::VT_HAS_BIAS, static_cast<uint8_t>(has_bias), 0);
475  }
476  void add_groups(uint32_t groups) {
477  fbb_.AddElement<uint32_t>(PrepareConv2dWeightsOp::VT_GROUPS, groups, 0);
478  }
479  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
480  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_DEVICE, device);
481  }
482  void add_conv2d_config(::flatbuffers::Offset<tt::target::ttnn::Conv2dConfig> conv2d_config) {
483  fbb_.AddOffset(PrepareConv2dWeightsOp::VT_CONV2D_CONFIG, conv2d_config);
484  }
485  explicit PrepareConv2dWeightsOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
486  : fbb_(_fbb) {
487  start_ = fbb_.StartTable();
488  }
489  ::flatbuffers::Offset<PrepareConv2dWeightsOp> Finish() {
490  const auto end = fbb_.EndTable(start_);
491  auto o = ::flatbuffers::Offset<PrepareConv2dWeightsOp>(end);
492  return o;
493  }
494 };
495 
496 inline ::flatbuffers::Offset<PrepareConv2dWeightsOp> CreatePrepareConv2dWeightsOp(
497  ::flatbuffers::FlatBufferBuilder &_fbb,
498  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight_tensor = 0,
499  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> out = 0,
500  ::flatbuffers::Offset<tt::target::ttnn::MemoryConfig> input_memory_config = 0,
502  ::flatbuffers::Offset<::flatbuffers::String> weights_format = 0,
503  uint32_t in_channels = 0,
504  uint32_t out_channels = 0,
505  uint32_t batch_size = 0,
506  uint32_t input_height = 0,
507  uint32_t input_width = 0,
508  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel_size = 0,
509  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
510  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
511  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
512  bool has_bias = false,
513  uint32_t groups = 0,
514  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
515  ::flatbuffers::Offset<tt::target::ttnn::Conv2dConfig> conv2d_config = 0) {
516  PrepareConv2dWeightsOpBuilder builder_(_fbb);
517  builder_.add_conv2d_config(conv2d_config);
518  builder_.add_device(device);
519  builder_.add_groups(groups);
520  builder_.add_dilation(dilation);
521  builder_.add_padding(padding);
522  builder_.add_stride(stride);
523  builder_.add_kernel_size(kernel_size);
524  builder_.add_input_width(input_width);
525  builder_.add_input_height(input_height);
526  builder_.add_batch_size(batch_size);
527  builder_.add_out_channels(out_channels);
528  builder_.add_in_channels(in_channels);
529  builder_.add_weights_format(weights_format);
530  builder_.add_input_memory_config(input_memory_config);
531  builder_.add_out(out);
532  builder_.add_weight_tensor(weight_tensor);
533  builder_.add_input_tensor_layout(input_tensor_layout);
534  builder_.add_has_bias(has_bias);
535  return builder_.Finish();
536 }
537 
540  static auto constexpr Create = CreatePrepareConv2dWeightsOp;
541 };
542 
543 inline ::flatbuffers::Offset<PrepareConv2dWeightsOp> CreatePrepareConv2dWeightsOpDirect(
544  ::flatbuffers::FlatBufferBuilder &_fbb,
545  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight_tensor = 0,
546  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> out = 0,
547  ::flatbuffers::Offset<tt::target::ttnn::MemoryConfig> input_memory_config = 0,
549  const char *weights_format = nullptr,
550  uint32_t in_channels = 0,
551  uint32_t out_channels = 0,
552  uint32_t batch_size = 0,
553  uint32_t input_height = 0,
554  uint32_t input_width = 0,
555  const std::vector<int32_t> *kernel_size = nullptr,
556  const std::vector<int32_t> *stride = nullptr,
557  const std::vector<int32_t> *padding = nullptr,
558  const std::vector<int32_t> *dilation = nullptr,
559  bool has_bias = false,
560  uint32_t groups = 0,
561  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
562  ::flatbuffers::Offset<tt::target::ttnn::Conv2dConfig> conv2d_config = 0) {
563  auto weights_format__ = weights_format ? _fbb.CreateString(weights_format) : 0;
564  auto kernel_size__ = kernel_size ? _fbb.CreateVector<int32_t>(*kernel_size) : 0;
565  auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
566  auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
567  auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
569  _fbb,
570  weight_tensor,
571  out,
572  input_memory_config,
573  input_tensor_layout,
574  weights_format__,
575  in_channels,
576  out_channels,
577  batch_size,
578  input_height,
579  input_width,
580  kernel_size__,
581  stride__,
582  padding__,
583  dilation__,
584  has_bias,
585  groups,
586  device,
587  conv2d_config);
588 }
589 
590 struct Conv2dOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
592  struct Traits;
593  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
594  return "tt.target.ttnn.Conv2dOp";
595  }
596  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
597  VT_INPUT = 4,
599  VT_BIAS = 8,
600  VT_OUT = 10,
601  VT_DEVICE = 12,
602  VT_IN_CHANNELS = 14,
603  VT_OUT_CHANNELS = 16,
604  VT_BATCH_SIZE = 18,
605  VT_INPUT_HEIGHT = 20,
606  VT_INPUT_WIDTH = 22,
607  VT_KERNEL_SIZE = 24,
608  VT_STRIDE = 26,
609  VT_PADDING = 28,
610  VT_DILATION = 30,
611  VT_GROUPS = 32,
613  VT_COMPUTE_CONFIG = 36
614  };
615  const tt::target::ttnn::TensorRef *input() const {
616  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_INPUT);
617  }
618  const tt::target::ttnn::TensorRef *weight() const {
619  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_WEIGHT);
620  }
621  const tt::target::ttnn::TensorRef *bias() const {
622  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_BIAS);
623  }
624  const tt::target::ttnn::TensorRef *out() const {
625  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_OUT);
626  }
627  const tt::target::DeviceRef *device() const {
628  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
629  }
630  uint32_t in_channels() const {
631  return GetField<uint32_t>(VT_IN_CHANNELS, 0);
632  }
633  uint32_t out_channels() const {
634  return GetField<uint32_t>(VT_OUT_CHANNELS, 0);
635  }
636  uint32_t batch_size() const {
637  return GetField<uint32_t>(VT_BATCH_SIZE, 0);
638  }
639  uint32_t input_height() const {
640  return GetField<uint32_t>(VT_INPUT_HEIGHT, 0);
641  }
642  uint32_t input_width() const {
643  return GetField<uint32_t>(VT_INPUT_WIDTH, 0);
644  }
645  const ::flatbuffers::Vector<int32_t> *kernel_size() const {
646  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL_SIZE);
647  }
648  const ::flatbuffers::Vector<int32_t> *stride() const {
649  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
650  }
651  const ::flatbuffers::Vector<int32_t> *padding() const {
652  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
653  }
654  const ::flatbuffers::Vector<int32_t> *dilation() const {
655  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
656  }
657  uint32_t groups() const {
658  return GetField<uint32_t>(VT_GROUPS, 0);
659  }
660  const tt::target::ttnn::Conv2dConfig *conv2d_config() const {
661  return GetPointer<const tt::target::ttnn::Conv2dConfig *>(VT_CONV2D_CONFIG);
662  }
663  const tt::target::ttnn::DeviceComputeKernelConfig *compute_config() const {
664  return GetPointer<const tt::target::ttnn::DeviceComputeKernelConfig *>(VT_COMPUTE_CONFIG);
665  }
666  bool Verify(::flatbuffers::Verifier &verifier) const {
667  return VerifyTableStart(verifier) &&
668  VerifyOffset(verifier, VT_INPUT) &&
669  verifier.VerifyTable(input()) &&
670  VerifyOffset(verifier, VT_WEIGHT) &&
671  verifier.VerifyTable(weight()) &&
672  VerifyOffset(verifier, VT_BIAS) &&
673  verifier.VerifyTable(bias()) &&
674  VerifyOffset(verifier, VT_OUT) &&
675  verifier.VerifyTable(out()) &&
676  VerifyOffset(verifier, VT_DEVICE) &&
677  verifier.VerifyTable(device()) &&
678  VerifyField<uint32_t>(verifier, VT_IN_CHANNELS, 4) &&
679  VerifyField<uint32_t>(verifier, VT_OUT_CHANNELS, 4) &&
680  VerifyField<uint32_t>(verifier, VT_BATCH_SIZE, 4) &&
681  VerifyField<uint32_t>(verifier, VT_INPUT_HEIGHT, 4) &&
682  VerifyField<uint32_t>(verifier, VT_INPUT_WIDTH, 4) &&
683  VerifyOffset(verifier, VT_KERNEL_SIZE) &&
684  verifier.VerifyVector(kernel_size()) &&
685  VerifyOffset(verifier, VT_STRIDE) &&
686  verifier.VerifyVector(stride()) &&
687  VerifyOffset(verifier, VT_PADDING) &&
688  verifier.VerifyVector(padding()) &&
689  VerifyOffset(verifier, VT_DILATION) &&
690  verifier.VerifyVector(dilation()) &&
691  VerifyField<uint32_t>(verifier, VT_GROUPS, 4) &&
692  VerifyOffset(verifier, VT_CONV2D_CONFIG) &&
693  verifier.VerifyTable(conv2d_config()) &&
694  VerifyOffset(verifier, VT_COMPUTE_CONFIG) &&
695  verifier.VerifyTable(compute_config()) &&
696  verifier.EndTable();
697  }
698 };
699 
701  typedef Conv2dOp Table;
702  ::flatbuffers::FlatBufferBuilder &fbb_;
703  ::flatbuffers::uoffset_t start_;
704  void add_input(::flatbuffers::Offset<tt::target::ttnn::TensorRef> input) {
705  fbb_.AddOffset(Conv2dOp::VT_INPUT, input);
706  }
707  void add_weight(::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight) {
708  fbb_.AddOffset(Conv2dOp::VT_WEIGHT, weight);
709  }
710  void add_bias(::flatbuffers::Offset<tt::target::ttnn::TensorRef> bias) {
711  fbb_.AddOffset(Conv2dOp::VT_BIAS, bias);
712  }
713  void add_out(::flatbuffers::Offset<tt::target::ttnn::TensorRef> out) {
714  fbb_.AddOffset(Conv2dOp::VT_OUT, out);
715  }
716  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
717  fbb_.AddOffset(Conv2dOp::VT_DEVICE, device);
718  }
719  void add_in_channels(uint32_t in_channels) {
720  fbb_.AddElement<uint32_t>(Conv2dOp::VT_IN_CHANNELS, in_channels, 0);
721  }
722  void add_out_channels(uint32_t out_channels) {
723  fbb_.AddElement<uint32_t>(Conv2dOp::VT_OUT_CHANNELS, out_channels, 0);
724  }
725  void add_batch_size(uint32_t batch_size) {
726  fbb_.AddElement<uint32_t>(Conv2dOp::VT_BATCH_SIZE, batch_size, 0);
727  }
728  void add_input_height(uint32_t input_height) {
729  fbb_.AddElement<uint32_t>(Conv2dOp::VT_INPUT_HEIGHT, input_height, 0);
730  }
731  void add_input_width(uint32_t input_width) {
732  fbb_.AddElement<uint32_t>(Conv2dOp::VT_INPUT_WIDTH, input_width, 0);
733  }
734  void add_kernel_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel_size) {
735  fbb_.AddOffset(Conv2dOp::VT_KERNEL_SIZE, kernel_size);
736  }
737  void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
738  fbb_.AddOffset(Conv2dOp::VT_STRIDE, stride);
739  }
740  void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
741  fbb_.AddOffset(Conv2dOp::VT_PADDING, padding);
742  }
743  void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
744  fbb_.AddOffset(Conv2dOp::VT_DILATION, dilation);
745  }
746  void add_groups(uint32_t groups) {
747  fbb_.AddElement<uint32_t>(Conv2dOp::VT_GROUPS, groups, 0);
748  }
749  void add_conv2d_config(::flatbuffers::Offset<tt::target::ttnn::Conv2dConfig> conv2d_config) {
750  fbb_.AddOffset(Conv2dOp::VT_CONV2D_CONFIG, conv2d_config);
751  }
752  void add_compute_config(::flatbuffers::Offset<tt::target::ttnn::DeviceComputeKernelConfig> compute_config) {
753  fbb_.AddOffset(Conv2dOp::VT_COMPUTE_CONFIG, compute_config);
754  }
755  explicit Conv2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
756  : fbb_(_fbb) {
757  start_ = fbb_.StartTable();
758  }
759  ::flatbuffers::Offset<Conv2dOp> Finish() {
760  const auto end = fbb_.EndTable(start_);
761  auto o = ::flatbuffers::Offset<Conv2dOp>(end);
762  return o;
763  }
764 };
765 
766 inline ::flatbuffers::Offset<Conv2dOp> CreateConv2dOp(
767  ::flatbuffers::FlatBufferBuilder &_fbb,
768  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> input = 0,
769  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight = 0,
770  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> bias = 0,
771  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> out = 0,
772  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
773  uint32_t in_channels = 0,
774  uint32_t out_channels = 0,
775  uint32_t batch_size = 0,
776  uint32_t input_height = 0,
777  uint32_t input_width = 0,
778  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel_size = 0,
779  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
780  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
781  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
782  uint32_t groups = 0,
783  ::flatbuffers::Offset<tt::target::ttnn::Conv2dConfig> conv2d_config = 0,
784  ::flatbuffers::Offset<tt::target::ttnn::DeviceComputeKernelConfig> compute_config = 0) {
785  Conv2dOpBuilder builder_(_fbb);
786  builder_.add_compute_config(compute_config);
787  builder_.add_conv2d_config(conv2d_config);
788  builder_.add_groups(groups);
789  builder_.add_dilation(dilation);
790  builder_.add_padding(padding);
791  builder_.add_stride(stride);
792  builder_.add_kernel_size(kernel_size);
793  builder_.add_input_width(input_width);
794  builder_.add_input_height(input_height);
795  builder_.add_batch_size(batch_size);
796  builder_.add_out_channels(out_channels);
797  builder_.add_in_channels(in_channels);
798  builder_.add_device(device);
799  builder_.add_out(out);
800  builder_.add_bias(bias);
801  builder_.add_weight(weight);
802  builder_.add_input(input);
803  return builder_.Finish();
804 }
805 
807  using type = Conv2dOp;
808  static auto constexpr Create = CreateConv2dOp;
809 };
810 
811 inline ::flatbuffers::Offset<Conv2dOp> CreateConv2dOpDirect(
812  ::flatbuffers::FlatBufferBuilder &_fbb,
813  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> input = 0,
814  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight = 0,
815  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> bias = 0,
816  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> out = 0,
817  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
818  uint32_t in_channels = 0,
819  uint32_t out_channels = 0,
820  uint32_t batch_size = 0,
821  uint32_t input_height = 0,
822  uint32_t input_width = 0,
823  const std::vector<int32_t> *kernel_size = nullptr,
824  const std::vector<int32_t> *stride = nullptr,
825  const std::vector<int32_t> *padding = nullptr,
826  const std::vector<int32_t> *dilation = nullptr,
827  uint32_t groups = 0,
828  ::flatbuffers::Offset<tt::target::ttnn::Conv2dConfig> conv2d_config = 0,
829  ::flatbuffers::Offset<tt::target::ttnn::DeviceComputeKernelConfig> compute_config = 0) {
830  auto kernel_size__ = kernel_size ? _fbb.CreateVector<int32_t>(*kernel_size) : 0;
831  auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
832  auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
833  auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
835  _fbb,
836  input,
837  weight,
838  bias,
839  out,
840  device,
841  in_channels,
842  out_channels,
843  batch_size,
844  input_height,
845  input_width,
846  kernel_size__,
847  stride__,
848  padding__,
849  dilation__,
850  groups,
851  conv2d_config,
852  compute_config);
853 }
854 
855 struct ConvTranspose2dOp FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
857  struct Traits;
858  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
859  return "tt.target.ttnn.ConvTranspose2dOp";
860  }
861  enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
862  VT_INPUT = 4,
863  VT_WEIGHT = 6,
864  VT_BIAS = 8,
865  VT_OUT = 10,
866  VT_DEVICE = 12,
867  VT_IN_CHANNELS = 14,
868  VT_OUT_CHANNELS = 16,
869  VT_BATCH_SIZE = 18,
870  VT_INPUT_HEIGHT = 20,
871  VT_INPUT_WIDTH = 22,
872  VT_KERNEL_SIZE = 24,
873  VT_STRIDE = 26,
874  VT_PADDING = 28,
876  VT_DILATION = 32,
877  VT_GROUPS = 34,
878  VT_MEMORY_CONFIG = 36
879  };
880  const tt::target::ttnn::TensorRef *input() const {
881  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_INPUT);
882  }
883  const tt::target::ttnn::TensorRef *weight() const {
884  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_WEIGHT);
885  }
886  const tt::target::ttnn::TensorRef *bias() const {
887  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_BIAS);
888  }
889  const tt::target::ttnn::TensorRef *out() const {
890  return GetPointer<const tt::target::ttnn::TensorRef *>(VT_OUT);
891  }
892  const tt::target::DeviceRef *device() const {
893  return GetPointer<const tt::target::DeviceRef *>(VT_DEVICE);
894  }
895  uint32_t in_channels() const {
896  return GetField<uint32_t>(VT_IN_CHANNELS, 0);
897  }
898  uint32_t out_channels() const {
899  return GetField<uint32_t>(VT_OUT_CHANNELS, 0);
900  }
901  uint32_t batch_size() const {
902  return GetField<uint32_t>(VT_BATCH_SIZE, 0);
903  }
904  uint32_t input_height() const {
905  return GetField<uint32_t>(VT_INPUT_HEIGHT, 0);
906  }
907  uint32_t input_width() const {
908  return GetField<uint32_t>(VT_INPUT_WIDTH, 0);
909  }
910  const ::flatbuffers::Vector<int32_t> *kernel_size() const {
911  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_KERNEL_SIZE);
912  }
913  const ::flatbuffers::Vector<int32_t> *stride() const {
914  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_STRIDE);
915  }
916  const ::flatbuffers::Vector<int32_t> *padding() const {
917  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_PADDING);
918  }
919  const ::flatbuffers::Vector<int32_t> *output_padding() const {
920  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_OUTPUT_PADDING);
921  }
922  const ::flatbuffers::Vector<int32_t> *dilation() const {
923  return GetPointer<const ::flatbuffers::Vector<int32_t> *>(VT_DILATION);
924  }
925  uint32_t groups() const {
926  return GetField<uint32_t>(VT_GROUPS, 0);
927  }
928  const tt::target::ttnn::MemoryConfig *memory_config() const {
929  return GetPointer<const tt::target::ttnn::MemoryConfig *>(VT_MEMORY_CONFIG);
930  }
931  bool Verify(::flatbuffers::Verifier &verifier) const {
932  return VerifyTableStart(verifier) &&
933  VerifyOffset(verifier, VT_INPUT) &&
934  verifier.VerifyTable(input()) &&
935  VerifyOffset(verifier, VT_WEIGHT) &&
936  verifier.VerifyTable(weight()) &&
937  VerifyOffset(verifier, VT_BIAS) &&
938  verifier.VerifyTable(bias()) &&
939  VerifyOffset(verifier, VT_OUT) &&
940  verifier.VerifyTable(out()) &&
941  VerifyOffset(verifier, VT_DEVICE) &&
942  verifier.VerifyTable(device()) &&
943  VerifyField<uint32_t>(verifier, VT_IN_CHANNELS, 4) &&
944  VerifyField<uint32_t>(verifier, VT_OUT_CHANNELS, 4) &&
945  VerifyField<uint32_t>(verifier, VT_BATCH_SIZE, 4) &&
946  VerifyField<uint32_t>(verifier, VT_INPUT_HEIGHT, 4) &&
947  VerifyField<uint32_t>(verifier, VT_INPUT_WIDTH, 4) &&
948  VerifyOffset(verifier, VT_KERNEL_SIZE) &&
949  verifier.VerifyVector(kernel_size()) &&
950  VerifyOffset(verifier, VT_STRIDE) &&
951  verifier.VerifyVector(stride()) &&
952  VerifyOffset(verifier, VT_PADDING) &&
953  verifier.VerifyVector(padding()) &&
954  VerifyOffset(verifier, VT_OUTPUT_PADDING) &&
955  verifier.VerifyVector(output_padding()) &&
956  VerifyOffset(verifier, VT_DILATION) &&
957  verifier.VerifyVector(dilation()) &&
958  VerifyField<uint32_t>(verifier, VT_GROUPS, 4) &&
959  VerifyOffset(verifier, VT_MEMORY_CONFIG) &&
960  verifier.VerifyTable(memory_config()) &&
961  verifier.EndTable();
962  }
963 };
964 
967  ::flatbuffers::FlatBufferBuilder &fbb_;
968  ::flatbuffers::uoffset_t start_;
969  void add_input(::flatbuffers::Offset<tt::target::ttnn::TensorRef> input) {
970  fbb_.AddOffset(ConvTranspose2dOp::VT_INPUT, input);
971  }
972  void add_weight(::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight) {
973  fbb_.AddOffset(ConvTranspose2dOp::VT_WEIGHT, weight);
974  }
975  void add_bias(::flatbuffers::Offset<tt::target::ttnn::TensorRef> bias) {
976  fbb_.AddOffset(ConvTranspose2dOp::VT_BIAS, bias);
977  }
978  void add_out(::flatbuffers::Offset<tt::target::ttnn::TensorRef> out) {
979  fbb_.AddOffset(ConvTranspose2dOp::VT_OUT, out);
980  }
981  void add_device(::flatbuffers::Offset<tt::target::DeviceRef> device) {
982  fbb_.AddOffset(ConvTranspose2dOp::VT_DEVICE, device);
983  }
984  void add_in_channels(uint32_t in_channels) {
985  fbb_.AddElement<uint32_t>(ConvTranspose2dOp::VT_IN_CHANNELS, in_channels, 0);
986  }
987  void add_out_channels(uint32_t out_channels) {
988  fbb_.AddElement<uint32_t>(ConvTranspose2dOp::VT_OUT_CHANNELS, out_channels, 0);
989  }
990  void add_batch_size(uint32_t batch_size) {
991  fbb_.AddElement<uint32_t>(ConvTranspose2dOp::VT_BATCH_SIZE, batch_size, 0);
992  }
993  void add_input_height(uint32_t input_height) {
994  fbb_.AddElement<uint32_t>(ConvTranspose2dOp::VT_INPUT_HEIGHT, input_height, 0);
995  }
996  void add_input_width(uint32_t input_width) {
997  fbb_.AddElement<uint32_t>(ConvTranspose2dOp::VT_INPUT_WIDTH, input_width, 0);
998  }
999  void add_kernel_size(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel_size) {
1000  fbb_.AddOffset(ConvTranspose2dOp::VT_KERNEL_SIZE, kernel_size);
1001  }
1002  void add_stride(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride) {
1003  fbb_.AddOffset(ConvTranspose2dOp::VT_STRIDE, stride);
1004  }
1005  void add_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding) {
1006  fbb_.AddOffset(ConvTranspose2dOp::VT_PADDING, padding);
1007  }
1008  void add_output_padding(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_padding) {
1009  fbb_.AddOffset(ConvTranspose2dOp::VT_OUTPUT_PADDING, output_padding);
1010  }
1011  void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation) {
1012  fbb_.AddOffset(ConvTranspose2dOp::VT_DILATION, dilation);
1013  }
1014  void add_groups(uint32_t groups) {
1015  fbb_.AddElement<uint32_t>(ConvTranspose2dOp::VT_GROUPS, groups, 0);
1016  }
1017  void add_memory_config(::flatbuffers::Offset<tt::target::ttnn::MemoryConfig> memory_config) {
1018  fbb_.AddOffset(ConvTranspose2dOp::VT_MEMORY_CONFIG, memory_config);
1019  }
1020  explicit ConvTranspose2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
1021  : fbb_(_fbb) {
1022  start_ = fbb_.StartTable();
1023  }
1024  ::flatbuffers::Offset<ConvTranspose2dOp> Finish() {
1025  const auto end = fbb_.EndTable(start_);
1026  auto o = ::flatbuffers::Offset<ConvTranspose2dOp>(end);
1027  return o;
1028  }
1029 };
1030 
1031 inline ::flatbuffers::Offset<ConvTranspose2dOp> CreateConvTranspose2dOp(
1032  ::flatbuffers::FlatBufferBuilder &_fbb,
1033  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> input = 0,
1034  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight = 0,
1035  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> bias = 0,
1036  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> out = 0,
1037  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
1038  uint32_t in_channels = 0,
1039  uint32_t out_channels = 0,
1040  uint32_t batch_size = 0,
1041  uint32_t input_height = 0,
1042  uint32_t input_width = 0,
1043  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> kernel_size = 0,
1044  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> stride = 0,
1045  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> padding = 0,
1046  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> output_padding = 0,
1047  ::flatbuffers::Offset<::flatbuffers::Vector<int32_t>> dilation = 0,
1048  uint32_t groups = 0,
1049  ::flatbuffers::Offset<tt::target::ttnn::MemoryConfig> memory_config = 0) {
1050  ConvTranspose2dOpBuilder builder_(_fbb);
1051  builder_.add_memory_config(memory_config);
1052  builder_.add_groups(groups);
1053  builder_.add_dilation(dilation);
1054  builder_.add_output_padding(output_padding);
1055  builder_.add_padding(padding);
1056  builder_.add_stride(stride);
1057  builder_.add_kernel_size(kernel_size);
1058  builder_.add_input_width(input_width);
1059  builder_.add_input_height(input_height);
1060  builder_.add_batch_size(batch_size);
1061  builder_.add_out_channels(out_channels);
1062  builder_.add_in_channels(in_channels);
1063  builder_.add_device(device);
1064  builder_.add_out(out);
1065  builder_.add_bias(bias);
1066  builder_.add_weight(weight);
1067  builder_.add_input(input);
1068  return builder_.Finish();
1069 }
1070 
1073  static auto constexpr Create = CreateConvTranspose2dOp;
1074 };
1075 
1076 inline ::flatbuffers::Offset<ConvTranspose2dOp> CreateConvTranspose2dOpDirect(
1077  ::flatbuffers::FlatBufferBuilder &_fbb,
1078  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> input = 0,
1079  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> weight = 0,
1080  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> bias = 0,
1081  ::flatbuffers::Offset<tt::target::ttnn::TensorRef> out = 0,
1082  ::flatbuffers::Offset<tt::target::DeviceRef> device = 0,
1083  uint32_t in_channels = 0,
1084  uint32_t out_channels = 0,
1085  uint32_t batch_size = 0,
1086  uint32_t input_height = 0,
1087  uint32_t input_width = 0,
1088  const std::vector<int32_t> *kernel_size = nullptr,
1089  const std::vector<int32_t> *stride = nullptr,
1090  const std::vector<int32_t> *padding = nullptr,
1091  const std::vector<int32_t> *output_padding = nullptr,
1092  const std::vector<int32_t> *dilation = nullptr,
1093  uint32_t groups = 0,
1094  ::flatbuffers::Offset<tt::target::ttnn::MemoryConfig> memory_config = 0) {
1095  auto kernel_size__ = kernel_size ? _fbb.CreateVector<int32_t>(*kernel_size) : 0;
1096  auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
1097  auto padding__ = padding ? _fbb.CreateVector<int32_t>(*padding) : 0;
1098  auto output_padding__ = output_padding ? _fbb.CreateVector<int32_t>(*output_padding) : 0;
1099  auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
1101  _fbb,
1102  input,
1103  weight,
1104  bias,
1105  out,
1106  device,
1107  in_channels,
1108  out_channels,
1109  batch_size,
1110  input_height,
1111  input_width,
1112  kernel_size__,
1113  stride__,
1114  padding__,
1115  output_padding__,
1116  dilation__,
1117  groups,
1118  memory_config);
1119 }
1120 
1121 } // namespace ttnn
1122 } // namespace target
1123 } // namespace tt
1124 
1125 #endif // FLATBUFFERS_GENERATED_CONV_TT_TARGET_TTNN_H_
VT_PREPROCESS_WEIGHTS_ON_DEVICE
Definition: conv_generated.h:56
VT_INPUT
Definition: conv_generated.h:597
VT_DTYPE
Definition: conv_generated.h:43
VT_REALLOCATE_HALO_OUTPUT
Definition: conv_generated.h:47
VT_DILATION
Definition: conv_generated.h:333
VT_WEIGHT_TENSOR
Definition: conv_generated.h:320
VT_ACT_BLOCK_W_DIV
Definition: conv_generated.h:49
VT_PADDING
Definition: conv_generated.h:332
VT_WEIGHT
Definition: conv_generated.h:598
VT_ENABLE_WEIGHTS_DOUBLE_BUFFER
Definition: conv_generated.h:59
VT_OVERRIDE_SHARDING_CONFIG
Definition: conv_generated.h:51
VT_STRIDE
Definition: conv_generated.h:331
VT_KERNEL_SIZE
Definition: conv_generated.h:330
VT_BATCH_SIZE
Definition: conv_generated.h:327
VT_CORE_GRID
Definition: conv_generated.h:53
VT_GROUPS
Definition: conv_generated.h:335
VT_WEIGHTS_FORMAT
Definition: conv_generated.h:324
VT_ENABLE_SPLIT_READER
Definition: conv_generated.h:60
VT_DEALLOCATE_ACTIVATION
Definition: conv_generated.h:46
VT_TRANSPOSE_SHARDS
Definition: conv_generated.h:54
VT_SHARD_LAYOUT
Definition: conv_generated.h:52
VT_CONV2D_CONFIG
Definition: conv_generated.h:612
VT_OUTPUT_LAYOUT
Definition: conv_generated.h:55
VT_WEIGHTS_DTYPE
Definition: conv_generated.h:44
VT_INPUT_HEIGHT
Definition: conv_generated.h:328
VT_INPUT_MEMORY_CONFIG
Definition: conv_generated.h:322
VT_ENABLE_ACT_DOUBLE_BUFFER
Definition: conv_generated.h:58
VT_IN_CHANNELS
Definition: conv_generated.h:325
VT_DEVICE
Definition: conv_generated.h:336
VT_INPUT_WIDTH
Definition: conv_generated.h:329
VT_ACT_BLOCK_H_OVERRIDE
Definition: conv_generated.h:48
VT_BIAS
Definition: conv_generated.h:599
VT_OUT
Definition: conv_generated.h:321
VT_RESHARD_IF_NOT_OPTIMAL
Definition: conv_generated.h:50
VT_OUTPUT_PADDING
Definition: conv_generated.h:875
VT_ACTIVATION
Definition: conv_generated.h:45
VT_OUT_CHANNELS
Definition: conv_generated.h:326
VT_ALWAYS_PREPROCESS_WEIGHTS
Definition: conv_generated.h:57
VT_INPUT_TENSOR_LAYOUT
Definition: conv_generated.h:323
VT_HAS_BIAS
Definition: conv_generated.h:334
VT_MEMORY_CONFIG
Definition: data_movement_generated.h:278
inline ::flatbuffers::Offset< Conv2dConfig > CreateConv2dConfig(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Optional< tt::target::DataType > dtype=::flatbuffers::nullopt, ::flatbuffers::Optional< tt::target::DataType > weights_dtype=::flatbuffers::nullopt, ::flatbuffers::Offset<::flatbuffers::String > activation=0, ::flatbuffers::Optional< bool > deallocate_activation=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > reallocate_halo_output=::flatbuffers::nullopt, ::flatbuffers::Optional< uint32_t > act_block_h_override=::flatbuffers::nullopt, ::flatbuffers::Optional< uint32_t > act_block_w_div=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > reshard_if_not_optimal=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > override_sharding_config=::flatbuffers::nullopt, ::flatbuffers::Optional< tt::target::ttnn::TensorMemoryLayout > shard_layout=::flatbuffers::nullopt, ::flatbuffers::Offset< tt::target::ttnn::CoreRangeSet > core_grid=0, ::flatbuffers::Optional< bool > transpose_shards=::flatbuffers::nullopt, ::flatbuffers::Optional< tt::target::TensorLayout > output_layout=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > preprocess_weights_on_device=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > always_preprocess_weights=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_act_double_buffer=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_weights_double_buffer=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_split_reader=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_subblock_padding=::flatbuffers::nullopt)
Definition: conv_generated.h:219
inline ::flatbuffers::Offset< Conv2dOp > CreateConv2dOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > input=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > bias=0, ::flatbuffers::Offset< tt::target::ttnn::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, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> kernel_size=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> stride=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> padding=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dilation=0, uint32_t groups=0, ::flatbuffers::Offset< tt::target::ttnn::Conv2dConfig > conv2d_config=0, ::flatbuffers::Offset< tt::target::ttnn::DeviceComputeKernelConfig > compute_config=0)
Definition: conv_generated.h:766
inline ::flatbuffers::Offset< ConvTranspose2dOp > CreateConvTranspose2dOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > input=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > bias=0, ::flatbuffers::Offset< tt::target::ttnn::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, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> kernel_size=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> stride=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> padding=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> output_padding=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dilation=0, uint32_t groups=0, ::flatbuffers::Offset< tt::target::ttnn::MemoryConfig > memory_config=0)
Definition: conv_generated.h:1031
inline ::flatbuffers::Offset< Conv2dOp > CreateConv2dOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > input=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > bias=0, ::flatbuffers::Offset< tt::target::ttnn::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, const std::vector< int32_t > *kernel_size=nullptr, const std::vector< int32_t > *stride=nullptr, const std::vector< int32_t > *padding=nullptr, const std::vector< int32_t > *dilation=nullptr, uint32_t groups=0, ::flatbuffers::Offset< tt::target::ttnn::Conv2dConfig > conv2d_config=0, ::flatbuffers::Offset< tt::target::ttnn::DeviceComputeKernelConfig > compute_config=0)
Definition: conv_generated.h:811
inline ::flatbuffers::Offset< PrepareConv2dWeightsOp > CreatePrepareConv2dWeightsOp(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight_tensor=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > out=0, ::flatbuffers::Offset< tt::target::ttnn::MemoryConfig > input_memory_config=0, tt::target::TensorLayout input_tensor_layout=tt::target::TensorLayout::RowMajor, ::flatbuffers::Offset<::flatbuffers::String > weights_format=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, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> kernel_size=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> stride=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> padding=0, ::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dilation=0, bool has_bias=false, uint32_t groups=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, ::flatbuffers::Offset< tt::target::ttnn::Conv2dConfig > conv2d_config=0)
Definition: conv_generated.h:496
inline ::flatbuffers::Offset< ConvTranspose2dOp > CreateConvTranspose2dOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > input=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > bias=0, ::flatbuffers::Offset< tt::target::ttnn::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, const std::vector< int32_t > *kernel_size=nullptr, const std::vector< int32_t > *stride=nullptr, const std::vector< int32_t > *padding=nullptr, const std::vector< int32_t > *output_padding=nullptr, const std::vector< int32_t > *dilation=nullptr, uint32_t groups=0, ::flatbuffers::Offset< tt::target::ttnn::MemoryConfig > memory_config=0)
Definition: conv_generated.h:1076
inline ::flatbuffers::Offset< PrepareConv2dWeightsOp > CreatePrepareConv2dWeightsOpDirect(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight_tensor=0, ::flatbuffers::Offset< tt::target::ttnn::TensorRef > out=0, ::flatbuffers::Offset< tt::target::ttnn::MemoryConfig > input_memory_config=0, tt::target::TensorLayout input_tensor_layout=tt::target::TensorLayout::RowMajor, const char *weights_format=nullptr, 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, const std::vector< int32_t > *kernel_size=nullptr, const std::vector< int32_t > *stride=nullptr, const std::vector< int32_t > *padding=nullptr, const std::vector< int32_t > *dilation=nullptr, bool has_bias=false, uint32_t groups=0, ::flatbuffers::Offset< tt::target::DeviceRef > device=0, ::flatbuffers::Offset< tt::target::ttnn::Conv2dConfig > conv2d_config=0)
Definition: conv_generated.h:543
TensorMemoryLayout
Definition: types_generated.h:62
inline ::flatbuffers::Offset< Conv2dConfig > CreateConv2dConfigDirect(::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Optional< tt::target::DataType > dtype=::flatbuffers::nullopt, ::flatbuffers::Optional< tt::target::DataType > weights_dtype=::flatbuffers::nullopt, const char *activation=nullptr, ::flatbuffers::Optional< bool > deallocate_activation=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > reallocate_halo_output=::flatbuffers::nullopt, ::flatbuffers::Optional< uint32_t > act_block_h_override=::flatbuffers::nullopt, ::flatbuffers::Optional< uint32_t > act_block_w_div=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > reshard_if_not_optimal=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > override_sharding_config=::flatbuffers::nullopt, ::flatbuffers::Optional< tt::target::ttnn::TensorMemoryLayout > shard_layout=::flatbuffers::nullopt, ::flatbuffers::Offset< tt::target::ttnn::CoreRangeSet > core_grid=0, ::flatbuffers::Optional< bool > transpose_shards=::flatbuffers::nullopt, ::flatbuffers::Optional< tt::target::TensorLayout > output_layout=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > preprocess_weights_on_device=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > always_preprocess_weights=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_act_double_buffer=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_weights_double_buffer=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_split_reader=::flatbuffers::nullopt, ::flatbuffers::Optional< bool > enable_subblock_padding=::flatbuffers::nullopt)
Definition: conv_generated.h:268
TensorLayout
Definition: types_generated.h:250
DataType
Definition: types_generated.h:81
Definition: debug_info_generated.h:18
Definition: debug_info_generated.h:36
Definition: conv_generated.h:147
void add_enable_subblock_padding(bool enable_subblock_padding)
Definition: conv_generated.h:205
::flatbuffers::FlatBufferBuilder & fbb_
Definition: conv_generated.h:149
void add_activation(::flatbuffers::Offset<::flatbuffers::String > activation)
Definition: conv_generated.h:157
void add_enable_split_reader(bool enable_split_reader)
Definition: conv_generated.h:202
void add_reallocate_halo_output(bool reallocate_halo_output)
Definition: conv_generated.h:163
::flatbuffers::uoffset_t start_
Definition: conv_generated.h:150
void add_weights_dtype(tt::target::DataType weights_dtype)
Definition: conv_generated.h:154
void add_enable_act_double_buffer(bool enable_act_double_buffer)
Definition: conv_generated.h:196
void add_shard_layout(tt::target::ttnn::TensorMemoryLayout shard_layout)
Definition: conv_generated.h:178
void add_core_grid(::flatbuffers::Offset< tt::target::ttnn::CoreRangeSet > core_grid)
Definition: conv_generated.h:181
void add_transpose_shards(bool transpose_shards)
Definition: conv_generated.h:184
void add_override_sharding_config(bool override_sharding_config)
Definition: conv_generated.h:175
void add_preprocess_weights_on_device(bool preprocess_weights_on_device)
Definition: conv_generated.h:190
void add_enable_weights_double_buffer(bool enable_weights_double_buffer)
Definition: conv_generated.h:199
::flatbuffers::Offset< Conv2dConfig > Finish()
Definition: conv_generated.h:212
void add_reshard_if_not_optimal(bool reshard_if_not_optimal)
Definition: conv_generated.h:172
void add_dtype(tt::target::DataType dtype)
Definition: conv_generated.h:151
void add_act_block_h_override(uint32_t act_block_h_override)
Definition: conv_generated.h:166
void add_deallocate_activation(bool deallocate_activation)
Definition: conv_generated.h:160
Conv2dConfigBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: conv_generated.h:208
void add_always_preprocess_weights(bool always_preprocess_weights)
Definition: conv_generated.h:193
Conv2dConfig Table
Definition: conv_generated.h:148
void add_act_block_w_div(uint32_t act_block_w_div)
Definition: conv_generated.h:169
void add_output_layout(tt::target::TensorLayout output_layout)
Definition: conv_generated.h:187
Definition: conv_generated.h:263
static constexpr auto Create
Definition: conv_generated.h:265
Conv2dConfig type
Definition: conv_generated.h:264
Definition: conv_generated.h:700
void add_in_channels(uint32_t in_channels)
Definition: conv_generated.h:719
void add_conv2d_config(::flatbuffers::Offset< tt::target::ttnn::Conv2dConfig > conv2d_config)
Definition: conv_generated.h:749
void add_input_width(uint32_t input_width)
Definition: conv_generated.h:731
void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dilation)
Definition: conv_generated.h:743
Conv2dOp Table
Definition: conv_generated.h:701
void add_out_channels(uint32_t out_channels)
Definition: conv_generated.h:722
void add_padding(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> padding)
Definition: conv_generated.h:740
void add_stride(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> stride)
Definition: conv_generated.h:737
::flatbuffers::Offset< Conv2dOp > Finish()
Definition: conv_generated.h:759
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: conv_generated.h:716
Conv2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: conv_generated.h:755
void add_compute_config(::flatbuffers::Offset< tt::target::ttnn::DeviceComputeKernelConfig > compute_config)
Definition: conv_generated.h:752
void add_groups(uint32_t groups)
Definition: conv_generated.h:746
void add_out(::flatbuffers::Offset< tt::target::ttnn::TensorRef > out)
Definition: conv_generated.h:713
void add_weight(::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight)
Definition: conv_generated.h:707
void add_kernel_size(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> kernel_size)
Definition: conv_generated.h:734
void add_input(::flatbuffers::Offset< tt::target::ttnn::TensorRef > input)
Definition: conv_generated.h:704
::flatbuffers::uoffset_t start_
Definition: conv_generated.h:703
void add_batch_size(uint32_t batch_size)
Definition: conv_generated.h:725
void add_input_height(uint32_t input_height)
Definition: conv_generated.h:728
void add_bias(::flatbuffers::Offset< tt::target::ttnn::TensorRef > bias)
Definition: conv_generated.h:710
::flatbuffers::FlatBufferBuilder & fbb_
Definition: conv_generated.h:702
Definition: conv_generated.h:806
static constexpr auto Create
Definition: conv_generated.h:808
Conv2dOp type
Definition: conv_generated.h:807
Definition: conv_generated.h:965
void add_input(::flatbuffers::Offset< tt::target::ttnn::TensorRef > input)
Definition: conv_generated.h:969
void add_groups(uint32_t groups)
Definition: conv_generated.h:1014
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: conv_generated.h:981
void add_out(::flatbuffers::Offset< tt::target::ttnn::TensorRef > out)
Definition: conv_generated.h:978
ConvTranspose2dOp Table
Definition: conv_generated.h:966
void add_input_height(uint32_t input_height)
Definition: conv_generated.h:993
void add_weight(::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight)
Definition: conv_generated.h:972
::flatbuffers::Offset< ConvTranspose2dOp > Finish()
Definition: conv_generated.h:1024
ConvTranspose2dOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: conv_generated.h:1020
::flatbuffers::uoffset_t start_
Definition: conv_generated.h:968
void add_in_channels(uint32_t in_channels)
Definition: conv_generated.h:984
void add_memory_config(::flatbuffers::Offset< tt::target::ttnn::MemoryConfig > memory_config)
Definition: conv_generated.h:1017
void add_stride(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> stride)
Definition: conv_generated.h:1002
void add_batch_size(uint32_t batch_size)
Definition: conv_generated.h:990
void add_out_channels(uint32_t out_channels)
Definition: conv_generated.h:987
void add_bias(::flatbuffers::Offset< tt::target::ttnn::TensorRef > bias)
Definition: conv_generated.h:975
void add_kernel_size(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> kernel_size)
Definition: conv_generated.h:999
::flatbuffers::FlatBufferBuilder & fbb_
Definition: conv_generated.h:967
void add_padding(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> padding)
Definition: conv_generated.h:1005
void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dilation)
Definition: conv_generated.h:1011
void add_output_padding(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> output_padding)
Definition: conv_generated.h:1008
void add_input_width(uint32_t input_width)
Definition: conv_generated.h:996
Definition: conv_generated.h:1071
ConvTranspose2dOp type
Definition: conv_generated.h:1072
static constexpr auto Create
Definition: conv_generated.h:1073
const tt::target::ttnn::TensorRef * bias() const
Definition: conv_generated.h:621
const tt::target::ttnn::TensorRef * weight_tensor() const
Definition: conv_generated.h:339
uint32_t in_channels() const
Definition: conv_generated.h:354
::flatbuffers::Optional< bool > preprocess_weights_on_device() const
Definition: conv_generated.h:102
uint32_t batch_size() const
Definition: conv_generated.h:360
const tt::target::ttnn::MemoryConfig * input_memory_config() const
Definition: conv_generated.h:345
ConvTranspose2dOpBuilder Builder
Definition: conv_generated.h:856
::flatbuffers::Optional< bool > enable_split_reader() const
Definition: conv_generated.h:114
uint32_t input_width() const
Definition: conv_generated.h:366
::flatbuffers::Optional< bool > enable_act_double_buffer() const
Definition: conv_generated.h:108
::flatbuffers::Optional< tt::target::ttnn::TensorMemoryLayout > shard_layout() const
Definition: conv_generated.h:90
const tt::target::ttnn::TensorRef * out() const
Definition: conv_generated.h:342
const tt::target::ttnn::MemoryConfig * memory_config() const
Definition: conv_generated.h:928
const tt::target::ttnn::Conv2dConfig * conv2d_config() const
Definition: conv_generated.h:390
::flatbuffers::Optional< tt::target::TensorLayout > output_layout() const
Definition: conv_generated.h:99
bool has_bias() const
Definition: conv_generated.h:381
const ::flatbuffers::Vector< int32_t > * dilation() const
Definition: conv_generated.h:378
const tt::target::ttnn::TensorRef * input() const
Definition: conv_generated.h:615
const ::flatbuffers::String * activation() const
Definition: conv_generated.h:69
uint32_t input_height() const
Definition: conv_generated.h:363
const ::flatbuffers::Vector< int32_t > * stride() const
Definition: conv_generated.h:372
::flatbuffers::Optional< tt::target::DataType > dtype() const
Definition: conv_generated.h:63
const ::flatbuffers::Vector< int32_t > * padding() const
Definition: conv_generated.h:375
const tt::target::ttnn::TensorRef * weight() const
Definition: conv_generated.h:618
Conv2dConfigBuilder Builder
Definition: conv_generated.h:37
const ::flatbuffers::Vector< int32_t > * output_padding() const
Definition: conv_generated.h:919
::flatbuffers::Optional< bool > override_sharding_config() const
Definition: conv_generated.h:87
Conv2dOpBuilder Builder
Definition: conv_generated.h:591
const ::flatbuffers::Vector< int32_t > * kernel_size() const
Definition: conv_generated.h:369
bool Verify(::flatbuffers::Verifier &verifier) const
Definition: conv_generated.h:120
::flatbuffers::Optional< bool > enable_subblock_padding() const
Definition: conv_generated.h:117
tt::target::TensorLayout input_tensor_layout() const
Definition: conv_generated.h:348
::flatbuffers::Optional< bool > transpose_shards() const
Definition: conv_generated.h:96
uint32_t groups() const
Definition: conv_generated.h:384
const tt::target::ttnn::DeviceComputeKernelConfig * compute_config() const
Definition: conv_generated.h:663
const ::flatbuffers::String * weights_format() const
Definition: conv_generated.h:351
::flatbuffers::Optional< bool > reshard_if_not_optimal() const
Definition: conv_generated.h:84
::flatbuffers::Optional< bool > enable_weights_double_buffer() const
Definition: conv_generated.h:111
uint32_t out_channels() const
Definition: conv_generated.h:357
const tt::target::ttnn::CoreRangeSet * core_grid() const
Definition: conv_generated.h:93
::flatbuffers::Optional< uint32_t > act_block_h_override() const
Definition: conv_generated.h:78
::flatbuffers::Optional< tt::target::DataType > weights_dtype() const
Definition: conv_generated.h:66
static FLATBUFFERS_CONSTEXPR_CPP11 const char * GetFullyQualifiedName()
Definition: conv_generated.h:39
::flatbuffers::Optional< bool > deallocate_activation() const
Definition: conv_generated.h:72
::flatbuffers::Optional< bool > reallocate_halo_output() const
Definition: conv_generated.h:75
const tt::target::DeviceRef * device() const
Definition: conv_generated.h:387
PrepareConv2dWeightsOpBuilder Builder
Definition: conv_generated.h:314
::flatbuffers::Optional< bool > always_preprocess_weights() const
Definition: conv_generated.h:105
::flatbuffers::Optional< uint32_t > act_block_w_div() const
Definition: conv_generated.h:81
Definition: conv_generated.h:427
void add_input_height(uint32_t input_height)
Definition: conv_generated.h:455
void add_dilation(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> dilation)
Definition: conv_generated.h:470
void add_input_tensor_layout(tt::target::TensorLayout input_tensor_layout)
Definition: conv_generated.h:440
PrepareConv2dWeightsOp Table
Definition: conv_generated.h:428
PrepareConv2dWeightsOpBuilder(::flatbuffers::FlatBufferBuilder &_fbb)
Definition: conv_generated.h:485
::flatbuffers::FlatBufferBuilder & fbb_
Definition: conv_generated.h:429
void add_has_bias(bool has_bias)
Definition: conv_generated.h:473
void add_in_channels(uint32_t in_channels)
Definition: conv_generated.h:446
void add_padding(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> padding)
Definition: conv_generated.h:467
void add_out(::flatbuffers::Offset< tt::target::ttnn::TensorRef > out)
Definition: conv_generated.h:434
void add_device(::flatbuffers::Offset< tt::target::DeviceRef > device)
Definition: conv_generated.h:479
void add_weights_format(::flatbuffers::Offset<::flatbuffers::String > weights_format)
Definition: conv_generated.h:443
void add_conv2d_config(::flatbuffers::Offset< tt::target::ttnn::Conv2dConfig > conv2d_config)
Definition: conv_generated.h:482
void add_out_channels(uint32_t out_channels)
Definition: conv_generated.h:449
void add_input_memory_config(::flatbuffers::Offset< tt::target::ttnn::MemoryConfig > input_memory_config)
Definition: conv_generated.h:437
void add_kernel_size(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> kernel_size)
Definition: conv_generated.h:461
void add_stride(::flatbuffers::Offset<::flatbuffers::Vector< int32_t >> stride)
Definition: conv_generated.h:464
void add_groups(uint32_t groups)
Definition: conv_generated.h:476
void add_batch_size(uint32_t batch_size)
Definition: conv_generated.h:452
void add_weight_tensor(::flatbuffers::Offset< tt::target::ttnn::TensorRef > weight_tensor)
Definition: conv_generated.h:431
::flatbuffers::Offset< PrepareConv2dWeightsOp > Finish()
Definition: conv_generated.h:489
::flatbuffers::uoffset_t start_
Definition: conv_generated.h:430
void add_input_width(uint32_t input_width)
Definition: conv_generated.h:458
Definition: conv_generated.h:538
static constexpr auto Create
Definition: conv_generated.h:540
PrepareConv2dWeightsOp type
Definition: conv_generated.h:539