• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /**
2  * Copyright 2023 Huawei Technologies Co., Ltd
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include "ops/auto_generate/gen_ops_def.h"
18 #include "mindspore/core/ir/signature.h"
19 #include "ops/ops_func_impl/a_cos_grad.h"
20 #include "ops/ops_func_impl/abs_grad.h"
21 #include "ops/ops_func_impl/abs.h"
22 #include "ops/ops_func_impl/acos.h"
23 #include "ops/ops_func_impl/acosh_grad.h"
24 #include "ops/ops_func_impl/acosh.h"
25 #include "ops/ops_func_impl/adam_weight_decay.h"
26 #include "ops/ops_func_impl/adamw.h"
27 #include "ops/ops_func_impl/add_ext.h"
28 #include "ops/ops_func_impl/add_layernorm_v2.h"
29 #include "ops/ops_func_impl/add.h"
30 #include "ops/ops_func_impl/addcdiv.h"
31 #include "ops/ops_func_impl/addcmul.h"
32 #include "ops/ops_func_impl/addmm.h"
33 #include "ops/ops_func_impl/addn.h"
34 #include "ops/ops_func_impl/angle.h"
35 #include "ops/ops_func_impl/apply_came_part1.h"
36 #include "ops/ops_func_impl/apply_came_part2.h"
37 #include "ops/ops_func_impl/apply_came_part3.h"
38 #include "ops/ops_func_impl/apply_came_part4.h"
39 #include "ops/ops_func_impl/apply_rotary_pos_emb.h"
40 #include "ops/ops_func_impl/arange.h"
41 #include "ops/ops_func_impl/argmax_ext.h"
42 #include "ops/ops_func_impl/argmax.h"
43 #include "ops/ops_func_impl/argmax_with_value.h"
44 #include "ops/ops_func_impl/argmin.h"
45 #include "ops/ops_func_impl/argmin_with_value.h"
46 #include "ops/ops_func_impl/asin_grad.h"
47 #include "ops/ops_func_impl/asin.h"
48 #include "ops/ops_func_impl/asinh_grad.h"
49 #include "ops/ops_func_impl/asinh.h"
50 #include "ops/ops_func_impl/assign_add.h"
51 #include "ops/ops_func_impl/assign.h"
52 #include "ops/ops_func_impl/atan2_ext.h"
53 #include "ops/ops_func_impl/atan2.h"
54 #include "ops/ops_func_impl/atan_grad.h"
55 #include "ops/ops_func_impl/atan.h"
56 #include "ops/ops_func_impl/atanh.h"
57 #include "ops/ops_func_impl/avg_pool2d_grad.h"
58 #include "ops/ops_func_impl/avg_pool2d.h"
59 #include "ops/ops_func_impl/avg_pool_grad.h"
60 #include "ops/ops_func_impl/avg_pool.h"
61 #include "ops/ops_func_impl/batch_mat_mul.h"
62 #include "ops/ops_func_impl/batch_norm_ext.h"
63 #include "ops/ops_func_impl/batch_norm_grad_ext.h"
64 #include "ops/ops_func_impl/batch_norm_grad_grad.h"
65 #include "ops/ops_func_impl/batch_norm_grad.h"
66 #include "ops/ops_func_impl/batch_norm_grad_with_activation.h"
67 #include "ops/ops_func_impl/batch_norm.h"
68 #include "ops/ops_func_impl/batch_norm_with_activation.h"
69 #include "ops/ops_func_impl/batch_norm_with_add_and_activation.h"
70 #include "ops/ops_func_impl/betainc.h"
71 #include "ops/ops_func_impl/bias_add_grad.h"
72 #include "ops/ops_func_impl/bias_add.h"
73 #include "ops/ops_func_impl/binary_cross_entropy_grad.h"
74 #include "ops/ops_func_impl/binary_cross_entropy.h"
75 #include "ops/ops_func_impl/binary_cross_entropy_with_logits_backward.h"
76 #include "ops/ops_func_impl/binary_cross_entropy_with_logits.h"
77 #include "ops/ops_func_impl/bmm_ext.h"
78 #include "ops/ops_func_impl/bool_not.h"
79 #include "ops/ops_func_impl/broadcast_to.h"
80 #include "ops/ops_func_impl/cast.h"
81 #include "ops/ops_func_impl/ceil.h"
82 #include "ops/ops_func_impl/celu.h"
83 #include "ops/ops_func_impl/cholesky_grad.h"
84 #include "ops/ops_func_impl/cholesky_inverse.h"
85 #include "ops/ops_func_impl/cholesky.h"
86 #include "ops/ops_func_impl/chunk.h"
87 #include "ops/ops_func_impl/clamp_scalar.h"
88 #include "ops/ops_func_impl/clamp_tensor.h"
89 #include "ops/ops_func_impl/col2im_ext.h"
90 #include "ops/ops_func_impl/col2im_grad.h"
91 #include "ops/ops_func_impl/complex.h"
92 #include "ops/ops_func_impl/concat.h"
93 #include "ops/ops_func_impl/conj.h"
94 #include "ops/ops_func_impl/constant_pad_nd.h"
95 #include "ops/ops_func_impl/contiguous.h"
96 #include "ops/ops_func_impl/convolution_grad.h"
97 #include "ops/ops_func_impl/convolution.h"
98 #include "ops/ops_func_impl/copy.h"
99 #include "ops/ops_func_impl/correlate.h"
100 #include "ops/ops_func_impl/cos.h"
101 #include "ops/ops_func_impl/cosh.h"
102 #include "ops/ops_func_impl/cum_prod.h"
103 #include "ops/ops_func_impl/cum_sum.h"
104 #include "ops/ops_func_impl/cummax.h"
105 #include "ops/ops_func_impl/cummin.h"
106 #include "ops/ops_func_impl/cumsum_ext.h"
107 #include "ops/ops_func_impl/dct.h"
108 #include "ops/ops_func_impl/decoder_k_v_cache.h"
109 #include "ops/ops_func_impl/dense.h"
110 #include "ops/ops_func_impl/diag.h"
111 #include "ops/ops_func_impl/diagonal.h"
112 #include "ops/ops_func_impl/div.h"
113 #include "ops/ops_func_impl/divmod.h"
114 #include "ops/ops_func_impl/dot.h"
115 #include "ops/ops_func_impl/dropout_do_mask_ext.h"
116 #include "ops/ops_func_impl/dropout_ext.h"
117 #include "ops/ops_func_impl/dropout_gen_mask_ext.h"
118 #include "ops/ops_func_impl/dropout_grad_ext.h"
119 #include "ops/ops_func_impl/dropout.h"
120 #include "ops/ops_func_impl/eig.h"
121 #include "ops/ops_func_impl/elu_ext.h"
122 #include "ops/ops_func_impl/elu_grad_ext.h"
123 #include "ops/ops_func_impl/elu_grad.h"
124 #include "ops/ops_func_impl/elu.h"
125 #include "ops/ops_func_impl/embedding_dense_backward.h"
126 #include "ops/ops_func_impl/embedding.h"
127 #include "ops/ops_func_impl/equal.h"
128 #include "ops/ops_func_impl/erf.h"
129 #include "ops/ops_func_impl/erfc.h"
130 #include "ops/ops_func_impl/erfinv.h"
131 #include "ops/ops_func_impl/exp.h"
132 #include "ops/ops_func_impl/expand_dims.h"
133 #include "ops/ops_func_impl/expm1.h"
134 #include "ops/ops_func_impl/extract_image_patches.h"
135 #include "ops/ops_func_impl/eye.h"
136 #include "ops/ops_func_impl/fast_gelu_grad.h"
137 #include "ops/ops_func_impl/fast_gelu.h"
138 #include "ops/ops_func_impl/ffn_ext.h"
139 #include "ops/ops_func_impl/fft2.h"
140 #include "ops/ops_func_impl/fft.h"
141 #include "ops/ops_func_impl/fft_shapecopy.h"
142 #include "ops/ops_func_impl/fft_with_size.h"
143 #include "ops/ops_func_impl/fftn.h"
144 #include "ops/ops_func_impl/fftshift.h"
145 #include "ops/ops_func_impl/fill_scalar.h"
146 #include "ops/ops_func_impl/fill_tensor.h"
147 #include "ops/ops_func_impl/flash_attention_score_grad.h"
148 #include "ops/ops_func_impl/flash_attention_score.h"
149 #include "ops/ops_func_impl/flatten_ext.h"
150 #include "ops/ops_func_impl/flatten.h"
151 #include "ops/ops_func_impl/floor_div.h"
152 #include "ops/ops_func_impl/floor_mod.h"
153 #include "ops/ops_func_impl/floor.h"
154 #include "ops/ops_func_impl/gather_d_grad_v2.h"
155 #include "ops/ops_func_impl/gather_d.h"
156 #include "ops/ops_func_impl/gather_nd.h"
157 #include "ops/ops_func_impl/gather.h"
158 #include "ops/ops_func_impl/gcd.h"
159 #include "ops/ops_func_impl/gelu_grad.h"
160 #include "ops/ops_func_impl/gelu.h"
161 #include "ops/ops_func_impl/generator.h"
162 #include "ops/ops_func_impl/geqrf.h"
163 #include "ops/ops_func_impl/greater_equal.h"
164 #include "ops/ops_func_impl/greater.h"
165 #include "ops/ops_func_impl/grid_sampler_2d_grad.h"
166 #include "ops/ops_func_impl/grid_sampler_2d.h"
167 #include "ops/ops_func_impl/grid_sampler_3d_grad.h"
168 #include "ops/ops_func_impl/grid_sampler_3d.h"
169 #include "ops/ops_func_impl/group_norm_grad.h"
170 #include "ops/ops_func_impl/group_norm.h"
171 #include "ops/ops_func_impl/hshrink_grad.h"
172 #include "ops/ops_func_impl/hshrink.h"
173 #include "ops/ops_func_impl/hsigmoid_grad.h"
174 #include "ops/ops_func_impl/hsigmoid.h"
175 #include "ops/ops_func_impl/hswish_grad.h"
176 #include "ops/ops_func_impl/hswish.h"
177 #include "ops/ops_func_impl/identity.h"
178 #include "ops/ops_func_impl/ifft2.h"
179 #include "ops/ops_func_impl/ifft.h"
180 #include "ops/ops_func_impl/ifftn.h"
181 #include "ops/ops_func_impl/ifftshift.h"
182 #include "ops/ops_func_impl/im2col_ext.h"
183 #include "ops/ops_func_impl/index_add_ext.h"
184 #include "ops/ops_func_impl/index_select.h"
185 #include "ops/ops_func_impl/irfft_grad.h"
186 #include "ops/ops_func_impl/irfft.h"
187 #include "ops/ops_func_impl/isclose.h"
188 #include "ops/ops_func_impl/isfinite.h"
189 #include "ops/ops_func_impl/layer_norm_ext.h"
190 #include "ops/ops_func_impl/layer_norm_grad_ext.h"
191 #include "ops/ops_func_impl/layer_norm_grad_grad.h"
192 #include "ops/ops_func_impl/layer_norm_grad.h"
193 #include "ops/ops_func_impl/layer_norm_grad_v3.h"
194 #include "ops/ops_func_impl/layer_norm.h"
195 #include "ops/ops_func_impl/layer_norm_v3.h"
196 #include "ops/ops_func_impl/leaky_relu_ext.h"
197 #include "ops/ops_func_impl/leaky_relu_grad_ext.h"
198 #include "ops/ops_func_impl/less_equal.h"
199 #include "ops/ops_func_impl/less.h"
200 #include "ops/ops_func_impl/lin_space_ext.h"
201 #include "ops/ops_func_impl/lin_space.h"
202 #include "ops/ops_func_impl/list_to_tuple.h"
203 #include "ops/ops_func_impl/log1p.h"
204 #include "ops/ops_func_impl/log_matrix_determinant.h"
205 #include "ops/ops_func_impl/log.h"
206 #include "ops/ops_func_impl/log_softmax_grad.h"
207 #include "ops/ops_func_impl/log_softmax.h"
208 #include "ops/ops_func_impl/logical_and.h"
209 #include "ops/ops_func_impl/logical_not.h"
210 #include "ops/ops_func_impl/logical_or.h"
211 #include "ops/ops_func_impl/logical_xor.h"
212 #include "ops/ops_func_impl/logit_grad.h"
213 #include "ops/ops_func_impl/logit.h"
214 #include "ops/ops_func_impl/masked_fill.h"
215 #include "ops/ops_func_impl/matmul_ext.h"
216 #include "ops/ops_func_impl/matmul.h"
217 #include "ops/ops_func_impl/matrix_determinant.h"
218 #include "ops/ops_func_impl/matrix_exp.h"
219 #include "ops/ops_func_impl/matrix_inverse_ext.h"
220 #include "ops/ops_func_impl/max.h"
221 #include "ops/ops_func_impl/max_pool_grad_with_indices.h"
222 #include "ops/ops_func_impl/max_pool_grad_with_mask.h"
223 #include "ops/ops_func_impl/max_pool_with_indices.h"
224 #include "ops/ops_func_impl/max_pool_with_mask.h"
225 #include "ops/ops_func_impl/maximum_grad_grad.h"
226 #include "ops/ops_func_impl/maximum_grad.h"
227 #include "ops/ops_func_impl/maximum.h"
228 #include "ops/ops_func_impl/mean_ext.h"
229 #include "ops/ops_func_impl/min.h"
230 #include "ops/ops_func_impl/minimum_grad.h"
231 #include "ops/ops_func_impl/minimum.h"
232 #include "ops/ops_func_impl/mul.h"
233 #include "ops/ops_func_impl/mv.h"
234 #include "ops/ops_func_impl/nan_to_num.h"
235 #include "ops/ops_func_impl/neg.h"
236 #include "ops/ops_func_impl/next_after.h"
237 #include "ops/ops_func_impl/nllloss_grad.h"
238 #include "ops/ops_func_impl/nllloss.h"
239 #include "ops/ops_func_impl/non_zero_ext.h"
240 #include "ops/ops_func_impl/non_zero.h"
241 #include "ops/ops_func_impl/norm.h"
242 #include "ops/ops_func_impl/normal_float_float.h"
243 #include "ops/ops_func_impl/normal_float_tensor.h"
244 #include "ops/ops_func_impl/normal_tensor_float.h"
245 #include "ops/ops_func_impl/normal_tensor_tensor.h"
246 #include "ops/ops_func_impl/not_equal.h"
247 #include "ops/ops_func_impl/npu_clear_float_status_v2.h"
248 #include "ops/ops_func_impl/npu_get_float_status_v2.h"
249 #include "ops/ops_func_impl/one_hot_ext.h"
250 #include "ops/ops_func_impl/one_hot.h"
251 #include "ops/ops_func_impl/ones_like_ext.h"
252 #include "ops/ops_func_impl/ones_like.h"
253 #include "ops/ops_func_impl/ones.h"
254 #include "ops/ops_func_impl/paged_attention_mask.h"
255 #include "ops/ops_func_impl/paged_attention.h"
256 #include "ops/ops_func_impl/pow.h"
257 #include "ops/ops_func_impl/prelu_grad.h"
258 #include "ops/ops_func_impl/prelu.h"
259 #include "ops/ops_func_impl/prod_ext.h"
260 #include "ops/ops_func_impl/prompt_k_v_cache.h"
261 #include "ops/ops_func_impl/qr.h"
262 #include "ops/ops_func_impl/rand_ext.h"
263 #include "ops/ops_func_impl/rand_like_ext.h"
264 #include "ops/ops_func_impl/randperm_v2.h"
265 #include "ops/ops_func_impl/range.h"
266 #include "ops/ops_func_impl/rank.h"
267 #include "ops/ops_func_impl/real_div.h"
268 #include "ops/ops_func_impl/real.h"
269 #include "ops/ops_func_impl/reciprocal_grad.h"
270 #include "ops/ops_func_impl/reciprocal.h"
271 #include "ops/ops_func_impl/reduce_all.h"
272 #include "ops/ops_func_impl/reduce_any.h"
273 #include "ops/ops_func_impl/reduce_max.h"
274 #include "ops/ops_func_impl/reduce_mean.h"
275 #include "ops/ops_func_impl/reduce_min.h"
276 #include "ops/ops_func_impl/reduce_prod.h"
277 #include "ops/ops_func_impl/reduce_std.h"
278 #include "ops/ops_func_impl/reduce_sum.h"
279 #include "ops/ops_func_impl/reflection_pad_1d_grad.h"
280 #include "ops/ops_func_impl/reflection_pad_1d.h"
281 #include "ops/ops_func_impl/reflection_pad_2d_grad.h"
282 #include "ops/ops_func_impl/reflection_pad_2d.h"
283 #include "ops/ops_func_impl/reflection_pad_3d_grad.h"
284 #include "ops/ops_func_impl/reflection_pad_3d.h"
285 #include "ops/ops_func_impl/relu6_grad.h"
286 #include "ops/ops_func_impl/relu6.h"
287 #include "ops/ops_func_impl/relu_grad.h"
288 #include "ops/ops_func_impl/relu.h"
289 #include "ops/ops_func_impl/repeat_interleave_grad.h"
290 #include "ops/ops_func_impl/repeat_interleave_int.h"
291 #include "ops/ops_func_impl/repeat_interleave_tensor.h"
292 #include "ops/ops_func_impl/replication_pad_1d_grad.h"
293 #include "ops/ops_func_impl/replication_pad_1d.h"
294 #include "ops/ops_func_impl/replication_pad_2d_grad.h"
295 #include "ops/ops_func_impl/replication_pad_2d.h"
296 #include "ops/ops_func_impl/replication_pad_3d_grad.h"
297 #include "ops/ops_func_impl/replication_pad_3d.h"
298 #include "ops/ops_func_impl/reshape_and_cache.h"
299 #include "ops/ops_func_impl/reshape.h"
300 #include "ops/ops_func_impl/resize_bicubic_grad.h"
301 #include "ops/ops_func_impl/resize_bicubic.h"
302 #include "ops/ops_func_impl/resize_bilinear_grad.h"
303 #include "ops/ops_func_impl/resize_bilinear_v2.h"
304 #include "ops/ops_func_impl/resize_d.h"
305 #include "ops/ops_func_impl/resize_linear_1d_grad.h"
306 #include "ops/ops_func_impl/resize_linear_1d.h"
307 #include "ops/ops_func_impl/resize_nearest_neighbor_grad.h"
308 #include "ops/ops_func_impl/resize_nearest_neighbor.h"
309 #include "ops/ops_func_impl/resize_nearest_neighbor_v2_grad.h"
310 #include "ops/ops_func_impl/resize_nearest_neighbor_v2.h"
311 #include "ops/ops_func_impl/reverse_v2.h"
312 #include "ops/ops_func_impl/rfft_grad.h"
313 #include "ops/ops_func_impl/rfft.h"
314 #include "ops/ops_func_impl/right_shift.h"
315 #include "ops/ops_func_impl/rms_norm_grad.h"
316 #include "ops/ops_func_impl/rms_norm.h"
317 #include "ops/ops_func_impl/roll.h"
318 #include "ops/ops_func_impl/round.h"
319 #include "ops/ops_func_impl/rsqrt_grad.h"
320 #include "ops/ops_func_impl/rsqrt.h"
321 #include "ops/ops_func_impl/scalar_add.h"
322 #include "ops/ops_func_impl/scalar_bool.h"
323 #include "ops/ops_func_impl/scalar_cast.h"
324 #include "ops/ops_func_impl/scalar_div.h"
325 #include "ops/ops_func_impl/scalar_eq.h"
326 #include "ops/ops_func_impl/scalar_floor_div.h"
327 #include "ops/ops_func_impl/scalar_ge.h"
328 #include "ops/ops_func_impl/scalar_gt.h"
329 #include "ops/ops_func_impl/scalar_le.h"
330 #include "ops/ops_func_impl/scalar_log.h"
331 #include "ops/ops_func_impl/scalar_lt.h"
332 #include "ops/ops_func_impl/scalar_mod.h"
333 #include "ops/ops_func_impl/scalar_mul.h"
334 #include "ops/ops_func_impl/scalar_pow.h"
335 #include "ops/ops_func_impl/scalar_sub.h"
336 #include "ops/ops_func_impl/scalar_to_tensor.h"
337 #include "ops/ops_func_impl/scalar_uadd.h"
338 #include "ops/ops_func_impl/scalar_usub.h"
339 #include "ops/ops_func_impl/scatter_add_ext.h"
340 #include "ops/ops_func_impl/scatter_nd.h"
341 #include "ops/ops_func_impl/scatter.h"
342 #include "ops/ops_func_impl/searchsorted.h"
343 #include "ops/ops_func_impl/select.h"
344 #include "ops/ops_func_impl/sequence_concat.h"
345 #include "ops/ops_func_impl/shape.h"
346 #include "ops/ops_func_impl/sigmoid_grad.h"
347 #include "ops/ops_func_impl/sigmoid.h"
348 #include "ops/ops_func_impl/sign.h"
349 #include "ops/ops_func_impl/silu_grad.h"
350 #include "ops/ops_func_impl/silu.h"
351 #include "ops/ops_func_impl/sin.h"
352 #include "ops/ops_func_impl/sinc.h"
353 #include "ops/ops_func_impl/sinh.h"
354 #include "ops/ops_func_impl/slice_ext.h"
355 #include "ops/ops_func_impl/softmax_backward.h"
356 #include "ops/ops_func_impl/softmax.h"
357 #include "ops/ops_func_impl/softplus_ext.h"
358 #include "ops/ops_func_impl/softplus_grad_ext.h"
359 #include "ops/ops_func_impl/solve_triangular.h"
360 #include "ops/ops_func_impl/sort_ext.h"
361 #include "ops/ops_func_impl/split.h"
362 #include "ops/ops_func_impl/split_tensor.h"
363 #include "ops/ops_func_impl/split_with_size.h"
364 #include "ops/ops_func_impl/sqrt_grad.h"
365 #include "ops/ops_func_impl/sqrt.h"
366 #include "ops/ops_func_impl/square.h"
367 #include "ops/ops_func_impl/stack_ext.h"
368 #include "ops/ops_func_impl/strided_slice.h"
369 #include "ops/ops_func_impl/sub_ext.h"
370 #include "ops/ops_func_impl/sub.h"
371 #include "ops/ops_func_impl/sum_ext.h"
372 #include "ops/ops_func_impl/tanh_grad.h"
373 #include "ops/ops_func_impl/tanh.h"
374 #include "ops/ops_func_impl/tensor_copy_slices.h"
375 #include "ops/ops_func_impl/tensor_shape.h"
376 #include "ops/ops_func_impl/tile.h"
377 #include "ops/ops_func_impl/topk_ext.h"
378 #include "ops/ops_func_impl/topkrouter.h"
379 #include "ops/ops_func_impl/trace.h"
380 #include "ops/ops_func_impl/transpose.h"
381 #include "ops/ops_func_impl/triu.h"
382 #include "ops/ops_func_impl/tuple_to_list.h"
383 #include "ops/ops_func_impl/tuple_to_tensor.h"
384 #include "ops/ops_func_impl/uniform_ext.h"
385 #include "ops/ops_func_impl/unique2.h"
386 #include "ops/ops_func_impl/unique_dim.h"
387 #include "ops/ops_func_impl/unsorted_segment_sum.h"
388 #include "ops/ops_func_impl/unstack_ext.h"
389 #include "ops/ops_func_impl/upsample_bilinear2d_grad.h"
390 #include "ops/ops_func_impl/upsample_bilinear2d.h"
391 #include "ops/ops_func_impl/upsample_linear1d_grad.h"
392 #include "ops/ops_func_impl/upsample_linear1d.h"
393 #include "ops/ops_func_impl/upsample_nearest1d_grad.h"
394 #include "ops/ops_func_impl/upsample_nearest1d.h"
395 #include "ops/ops_func_impl/upsample_nearest2d_grad.h"
396 #include "ops/ops_func_impl/upsample_nearest2d.h"
397 #include "ops/ops_func_impl/upsample_nearest3d_grad.h"
398 #include "ops/ops_func_impl/upsample_nearest3d.h"
399 #include "ops/ops_func_impl/upsample_trilinear3d_grad.h"
400 #include "ops/ops_func_impl/upsample_trilinear3d.h"
401 #include "ops/ops_func_impl/view.h"
402 #include "ops/ops_func_impl/zeros_like_ext.h"
403 #include "ops/ops_func_impl/zeros_like.h"
404 #include "ops/ops_func_impl/zeros.h"
405 #include "ops/ops_func_impl/dynamic_quant_ext.h"
406 #include "ops/ops_func_impl/fused_infer_attention_score.h"
407 #include "ops/ops_func_impl/grouped_matmul.h"
408 #include "ops/ops_func_impl/kv_cache_scatter_update.h"
409 #include "ops/ops_func_impl/matmul_bias_split_out2.h"
410 #include "ops/ops_func_impl/matmul_bias_split_out3.h"
411 #include "ops/ops_func_impl/matmul_bias_split_silu_out2.h"
412 #include "ops/ops_func_impl/matmul_split_out2.h"
413 #include "ops/ops_func_impl/matmul_split_out3.h"
414 #include "ops/ops_func_impl/matmul_split_silu_out2.h"
415 #include "ops/ops_func_impl/moe_finalize_routing.h"
416 #include "ops/ops_func_impl/quant_batch_matmul.h"
417 #include "ops/ops_func_impl/quant_v2.h"
418 #include "ops/ops_func_impl/quantbatchmatmul_split_out2.h"
419 #include "ops/ops_func_impl/quantbatchmatmul_split_out3.h"
420 #include "ops/ops_func_impl/quantbatchmatmul_split_silu_out2.h"
421 #include "ops/ops_func_impl/weight_quant_batch_matmul.h"
422 
423 namespace mindspore::ops {
424 ACosGradFuncImpl gACosGradFuncImpl;
425 OpDef gACosGrad = {
426   /*.name_=*/"ACosGrad",
427   /*.args_=*/ {
428 
429         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
430         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
431   },
432   /* .returns_ = */ {
433     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
434                 /*.inplace_input_index_=*/-1},
435   },
436   /*.signatures_ =*/ {
437 
438   },
439   /*.indexes_ =*/ {
440     {"x", 0},
441     {"dout", 1},
442   },
443   /*.func_impl_=*/gACosGradFuncImpl,
444   /*.enable_dispatch_ =*/false,
445   /*.is_view_ =*/false,
446 };
447 
448 AbsGradFuncImpl gAbsGradFuncImpl;
449 OpDef gAbsGrad = {
450   /*.name_=*/"AbsGrad",
451   /*.args_=*/ {
452 
453         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
454         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
455   },
456   /* .returns_ = */ {
457     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
458                 /*.inplace_input_index_=*/-1},
459   },
460   /*.signatures_ =*/ {
461 
462   },
463   /*.indexes_ =*/ {
464     {"x", 0},
465     {"dout", 1},
466   },
467   /*.func_impl_=*/gAbsGradFuncImpl,
468   /*.enable_dispatch_ =*/false,
469   /*.is_view_ =*/false,
470 };
471 
472 AbsFuncImpl gAbsFuncImpl;
473 OpDef gAbs = {
474   /*.name_=*/"Abs",
475   /*.args_=*/ {
476 
477         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
478   },
479   /* .returns_ = */ {
480     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
481                 /*.inplace_input_index_=*/-1},
482   },
483   /*.signatures_ =*/ {
484 
485   },
486   /*.indexes_ =*/ {
487     {"input", 0},
488   },
489   /*.func_impl_=*/gAbsFuncImpl,
490   /*.enable_dispatch_ =*/true,
491   /*.is_view_ =*/false,
492 };
493 
494 ACosFuncImpl gACosFuncImpl;
495 OpDef gACos = {
496   /*.name_=*/"ACos",
497   /*.args_=*/ {
498 
499         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
500   },
501   /* .returns_ = */ {
502     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
503                 /*.inplace_input_index_=*/-1},
504   },
505   /*.signatures_ =*/ {
506 
507   },
508   /*.indexes_ =*/ {
509     {"input", 0},
510   },
511   /*.func_impl_=*/gACosFuncImpl,
512   /*.enable_dispatch_ =*/false,
513   /*.is_view_ =*/false,
514 };
515 
516 AcoshGradFuncImpl gAcoshGradFuncImpl;
517 OpDef gAcoshGrad = {
518   /*.name_=*/"AcoshGrad",
519   /*.args_=*/ {
520 
521         {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
522         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
523   },
524   /* .returns_ = */ {
525     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
526                 /*.inplace_input_index_=*/-1},
527   },
528   /*.signatures_ =*/ {
529 
530   },
531   /*.indexes_ =*/ {
532     {"out", 0},
533     {"dout", 1},
534   },
535   /*.func_impl_=*/gAcoshGradFuncImpl,
536   /*.enable_dispatch_ =*/false,
537   /*.is_view_ =*/false,
538 };
539 
540 AcoshFuncImpl gAcoshFuncImpl;
541 OpDef gAcosh = {
542   /*.name_=*/"Acosh",
543   /*.args_=*/ {
544 
545         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
546   },
547   /* .returns_ = */ {
548     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
549                 /*.inplace_input_index_=*/-1},
550   },
551   /*.signatures_ =*/ {
552 
553   },
554   /*.indexes_ =*/ {
555     {"input", 0},
556   },
557   /*.func_impl_=*/gAcoshFuncImpl,
558   /*.enable_dispatch_ =*/false,
559   /*.is_view_ =*/false,
560 };
561 
562 AdamWeightDecayFuncImpl gAdamWeightDecayFuncImpl;
563 OpDef gAdamWeightDecay = {
564   /*.name_=*/"AdamWeightDecay",
565   /*.args_=*/ {
566 
567         {/*.arg_name_=*/"var", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
568         {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
569         {/*.arg_name_=*/"v", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
570         {/*.arg_name_=*/"lr", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_FLOAT}, /*.is_optional_=*/false},
571         {/*.arg_name_=*/"beta1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_FLOAT}, /*.is_optional_=*/false},
572         {/*.arg_name_=*/"beta2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_FLOAT}, /*.is_optional_=*/false},
573         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_FLOAT}, /*.is_optional_=*/false},
574         {/*.arg_name_=*/"decay", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_FLOAT}, /*.is_optional_=*/false},
575         {/*.arg_name_=*/"gradient", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
576         {/*.arg_name_=*/"use_locking", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
577   },
578   /* .returns_ = */ {
579     {/*.arg_name_=*/"var", /*.arg_dtype_=*/DT_TENSOR,
580                 /*.inplace_input_index_=*/-1},
581     {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_TENSOR,
582                 /*.inplace_input_index_=*/-1},
583     {/*.arg_name_=*/"v", /*.arg_dtype_=*/DT_TENSOR,
584                 /*.inplace_input_index_=*/-1},
585   },
586   /*.signatures_ =*/ {
587     Signature("var", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
588      Signature("m", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
589      Signature("v", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
590      Signature("lr", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
591      Signature("beta1", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
592      Signature("beta2", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
593      Signature("epsilon", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
594      Signature("decay", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
595      Signature("gradient", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
596   },
597   /*.indexes_ =*/ {
598     {"var", 0},
599     {"m", 1},
600     {"v", 2},
601     {"lr", 3},
602     {"beta1", 4},
603     {"beta2", 5},
604     {"epsilon", 6},
605     {"decay", 7},
606     {"gradient", 8},
607     {"use_locking", 9},
608   },
609   /*.func_impl_=*/gAdamWeightDecayFuncImpl,
610   /*.enable_dispatch_ =*/false,
611   /*.is_view_ =*/false,
612 };
613 
614 AdamWFuncImpl gAdamWFuncImpl;
615 OpDef gAdamW = {
616   /*.name_=*/"AdamW",
617   /*.args_=*/ {
618 
619         {/*.arg_name_=*/"var", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
620         {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
621         {/*.arg_name_=*/"v", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
622         {/*.arg_name_=*/"max_v", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
623         {/*.arg_name_=*/"gradient", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
624         {/*.arg_name_=*/"step", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
625         {/*.arg_name_=*/"lr", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
626         {/*.arg_name_=*/"beta1", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
627         {/*.arg_name_=*/"beta2", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
628         {/*.arg_name_=*/"decay", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
629         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
630         {/*.arg_name_=*/"amsgrad", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
631         {/*.arg_name_=*/"maximize", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
632   },
633   /* .returns_ = */ {
634     {/*.arg_name_=*/"var", /*.arg_dtype_=*/DT_TENSOR,
635                 /*.inplace_input_index_=*/-1},
636     {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_TENSOR,
637                 /*.inplace_input_index_=*/-1},
638     {/*.arg_name_=*/"v", /*.arg_dtype_=*/DT_TENSOR,
639                 /*.inplace_input_index_=*/-1},
640   },
641   /*.signatures_ =*/ {
642     Signature("var", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
643      Signature("m", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
644      Signature("v", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
645      Signature("max_v", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
646      Signature("gradient", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
647      Signature("step", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
648      Signature("lr", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType3),
649      Signature("beta1", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType3),
650      Signature("beta2", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType3),
651      Signature("decay", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType3),
652      Signature("eps", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType3),
653      Signature("amsgrad", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType4),
654      Signature("maximize", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType5),
655   },
656   /*.indexes_ =*/ {
657     {"var", 0},
658     {"m", 1},
659     {"v", 2},
660     {"max_v", 3},
661     {"gradient", 4},
662     {"step", 5},
663     {"lr", 6},
664     {"beta1", 7},
665     {"beta2", 8},
666     {"decay", 9},
667     {"eps", 10},
668     {"amsgrad", 11},
669     {"maximize", 12},
670   },
671   /*.func_impl_=*/gAdamWFuncImpl,
672   /*.enable_dispatch_ =*/true,
673   /*.is_view_ =*/false,
674 };
675 
676 AddExtFuncImpl gAddExtFuncImpl;
677 OpDef gAddExt = {
678   /*.name_=*/"AddExt",
679   /*.args_=*/ {
680 
681         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
682         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
683         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
684   },
685   /* .returns_ = */ {
686     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
687                 /*.inplace_input_index_=*/-1},
688   },
689   /*.signatures_ =*/ {
690     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
691      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
692      Signature("alpha", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
693   },
694   /*.indexes_ =*/ {
695     {"input", 0},
696     {"other", 1},
697     {"alpha", 2},
698   },
699   /*.func_impl_=*/gAddExtFuncImpl,
700   /*.enable_dispatch_ =*/true,
701   /*.is_view_ =*/false,
702 };
703 
704 AddLayerNormV2FuncImpl gAddLayerNormV2FuncImpl;
705 OpDef gAddLayerNormV2 = {
706   /*.name_=*/"AddLayerNormV2",
707   /*.args_=*/ {
708 
709         {/*.arg_name_=*/"x1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
710         {/*.arg_name_=*/"x2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
711         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
712         {/*.arg_name_=*/"beta", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
713         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
714         {/*.arg_name_=*/"additionalOut", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
715   },
716   /* .returns_ = */ {
717     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
718                 /*.inplace_input_index_=*/-1},
719     {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR,
720                 /*.inplace_input_index_=*/-1},
721     {/*.arg_name_=*/"rstd", /*.arg_dtype_=*/DT_TENSOR,
722                 /*.inplace_input_index_=*/-1},
723     {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR,
724                 /*.inplace_input_index_=*/-1},
725   },
726   /*.signatures_ =*/ {
727 
728   },
729   /*.indexes_ =*/ {
730     {"x1", 0},
731     {"x2", 1},
732     {"gamma", 2},
733     {"beta", 3},
734     {"epsilon", 4},
735     {"additionalOut", 5},
736   },
737   /*.func_impl_=*/gAddLayerNormV2FuncImpl,
738   /*.enable_dispatch_ =*/true,
739   /*.is_view_ =*/false,
740 };
741 
742 AddFuncImpl gAddFuncImpl;
743 OpDef gAdd = {
744   /*.name_=*/"Add",
745   /*.args_=*/ {
746 
747         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
748         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
749   },
750   /* .returns_ = */ {
751     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
752                 /*.inplace_input_index_=*/-1},
753   },
754   /*.signatures_ =*/ {
755     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
756      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
757   },
758   /*.indexes_ =*/ {
759     {"input", 0},
760     {"other", 1},
761   },
762   /*.func_impl_=*/gAddFuncImpl,
763   /*.enable_dispatch_ =*/true,
764   /*.is_view_ =*/false,
765 };
766 
767 AddcdivFuncImpl gAddcdivFuncImpl;
768 OpDef gAddcdiv = {
769   /*.name_=*/"Addcdiv",
770   /*.args_=*/ {
771 
772         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
773         {/*.arg_name_=*/"tensor1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
774         {/*.arg_name_=*/"tensor2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
775         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
776   },
777   /* .returns_ = */ {
778     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
779                 /*.inplace_input_index_=*/-1},
780   },
781   /*.signatures_ =*/ {
782 
783   },
784   /*.indexes_ =*/ {
785     {"input", 0},
786     {"tensor1", 1},
787     {"tensor2", 2},
788     {"value", 3},
789   },
790   /*.func_impl_=*/gAddcdivFuncImpl,
791   /*.enable_dispatch_ =*/false,
792   /*.is_view_ =*/false,
793 };
794 
795 AddcmulFuncImpl gAddcmulFuncImpl;
796 OpDef gAddcmul = {
797   /*.name_=*/"Addcmul",
798   /*.args_=*/ {
799 
800         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
801         {/*.arg_name_=*/"tensor1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
802         {/*.arg_name_=*/"tensor2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
803         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
804   },
805   /* .returns_ = */ {
806     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
807                 /*.inplace_input_index_=*/-1},
808   },
809   /*.signatures_ =*/ {
810 
811   },
812   /*.indexes_ =*/ {
813     {"input", 0},
814     {"tensor1", 1},
815     {"tensor2", 2},
816     {"value", 3},
817   },
818   /*.func_impl_=*/gAddcmulFuncImpl,
819   /*.enable_dispatch_ =*/false,
820   /*.is_view_ =*/false,
821 };
822 
823 AddmmFuncImpl gAddmmFuncImpl;
824 OpDef gAddmm = {
825   /*.name_=*/"Addmm",
826   /*.args_=*/ {
827 
828         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
829         {/*.arg_name_=*/"mat1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
830         {/*.arg_name_=*/"mat2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
831         {/*.arg_name_=*/"beta", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
832         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
833   },
834   /* .returns_ = */ {
835     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
836                 /*.inplace_input_index_=*/-1},
837   },
838   /*.signatures_ =*/ {
839 
840   },
841   /*.indexes_ =*/ {
842     {"input", 0},
843     {"mat1", 1},
844     {"mat2", 2},
845     {"beta", 3},
846     {"alpha", 4},
847   },
848   /*.func_impl_=*/gAddmmFuncImpl,
849   /*.enable_dispatch_ =*/true,
850   /*.is_view_ =*/false,
851 };
852 
853 AddNFuncImpl gAddNFuncImpl;
854 OpDef gAddN = {
855   /*.name_=*/"AddN",
856   /*.args_=*/ {
857 
858         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
859   },
860   /* .returns_ = */ {
861     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
862                 /*.inplace_input_index_=*/-1},
863   },
864   /*.signatures_ =*/ {
865 
866   },
867   /*.indexes_ =*/ {
868     {"x", 0},
869   },
870   /*.func_impl_=*/gAddNFuncImpl,
871   /*.enable_dispatch_ =*/false,
872   /*.is_view_ =*/false,
873 };
874 
875 AngleFuncImpl gAngleFuncImpl;
876 OpDef gAngle = {
877   /*.name_=*/"Angle",
878   /*.args_=*/ {
879 
880         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
881   },
882   /* .returns_ = */ {
883     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
884                 /*.inplace_input_index_=*/-1},
885   },
886   /*.signatures_ =*/ {
887 
888   },
889   /*.indexes_ =*/ {
890     {"input", 0},
891   },
892   /*.func_impl_=*/gAngleFuncImpl,
893   /*.enable_dispatch_ =*/false,
894   /*.is_view_ =*/false,
895 };
896 
897 ApplyCamePart1FuncImpl gApplyCamePart1FuncImpl;
898 OpDef gApplyCamePart1 = {
899   /*.name_=*/"ApplyCamePart1",
900   /*.args_=*/ {
901 
902         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
903         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
904   },
905   /* .returns_ = */ {
906     {/*.arg_name_=*/"sum_grad_r", /*.arg_dtype_=*/DT_TENSOR,
907                 /*.inplace_input_index_=*/-1},
908     {/*.arg_name_=*/"sum_grad_c", /*.arg_dtype_=*/DT_TENSOR,
909                 /*.inplace_input_index_=*/-1},
910     {/*.arg_name_=*/"sum_grad_rc", /*.arg_dtype_=*/DT_TENSOR,
911                 /*.inplace_input_index_=*/-1},
912   },
913   /*.signatures_ =*/ {
914 
915   },
916   /*.indexes_ =*/ {
917     {"grad", 0},
918     {"eps", 1},
919   },
920   /*.func_impl_=*/gApplyCamePart1FuncImpl,
921   /*.enable_dispatch_ =*/false,
922   /*.is_view_ =*/false,
923 };
924 
925 ApplyCamePart2FuncImpl gApplyCamePart2FuncImpl;
926 OpDef gApplyCamePart2 = {
927   /*.name_=*/"ApplyCamePart2",
928   /*.args_=*/ {
929 
930         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
931         {/*.arg_name_=*/"sum_grad_r", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
932         {/*.arg_name_=*/"sum_grad_c", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
933         {/*.arg_name_=*/"sum_grad_rc", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
934         {/*.arg_name_=*/"r", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
935         {/*.arg_name_=*/"c", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
936         {/*.arg_name_=*/"beta2", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
937         {/*.arg_name_=*/"sum_r", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
938         {/*.arg_name_=*/"global_shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
939   },
940   /* .returns_ = */ {
941     {/*.arg_name_=*/"r", /*.arg_dtype_=*/DT_TENSOR,
942                 /*.inplace_input_index_=*/-1},
943     {/*.arg_name_=*/"c", /*.arg_dtype_=*/DT_TENSOR,
944                 /*.inplace_input_index_=*/-1},
945     {/*.arg_name_=*/"u", /*.arg_dtype_=*/DT_TENSOR,
946                 /*.inplace_input_index_=*/-1},
947     {/*.arg_name_=*/"sum_square_u", /*.arg_dtype_=*/DT_TENSOR,
948                 /*.inplace_input_index_=*/-1},
949   },
950   /*.signatures_ =*/ {
951 
952   },
953   /*.indexes_ =*/ {
954     {"grad", 0},
955     {"sum_grad_r", 1},
956     {"sum_grad_c", 2},
957     {"sum_grad_rc", 3},
958     {"r", 4},
959     {"c", 5},
960     {"beta2", 6},
961     {"sum_r", 7},
962     {"global_shape", 8},
963   },
964   /*.func_impl_=*/gApplyCamePart2FuncImpl,
965   /*.enable_dispatch_ =*/false,
966   /*.is_view_ =*/false,
967 };
968 
969 ApplyCamePart3FuncImpl gApplyCamePart3FuncImpl;
970 OpDef gApplyCamePart3 = {
971   /*.name_=*/"ApplyCamePart3",
972   /*.args_=*/ {
973 
974         {/*.arg_name_=*/"u", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
975         {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
976         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
977         {/*.arg_name_=*/"beta1", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
978         {/*.arg_name_=*/"clip_threshold", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
979         {/*.arg_name_=*/"sum_square_u", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
980         {/*.arg_name_=*/"global_shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
981         {/*.arg_name_=*/"use_first_moment", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
982   },
983   /* .returns_ = */ {
984     {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_TENSOR,
985                 /*.inplace_input_index_=*/-1},
986     {/*.arg_name_=*/"sum_u_r", /*.arg_dtype_=*/DT_TENSOR,
987                 /*.inplace_input_index_=*/-1},
988     {/*.arg_name_=*/"sum_u_c", /*.arg_dtype_=*/DT_TENSOR,
989                 /*.inplace_input_index_=*/-1},
990     {/*.arg_name_=*/"sum_u_rc", /*.arg_dtype_=*/DT_TENSOR,
991                 /*.inplace_input_index_=*/-1},
992   },
993   /*.signatures_ =*/ {
994 
995   },
996   /*.indexes_ =*/ {
997     {"u", 0},
998     {"m", 1},
999     {"eps", 2},
1000     {"beta1", 3},
1001     {"clip_threshold", 4},
1002     {"sum_square_u", 5},
1003     {"global_shape", 6},
1004     {"use_first_moment", 7},
1005   },
1006   /*.func_impl_=*/gApplyCamePart3FuncImpl,
1007   /*.enable_dispatch_ =*/false,
1008   /*.is_view_ =*/false,
1009 };
1010 
1011 ApplyCamePart4FuncImpl gApplyCamePart4FuncImpl;
1012 OpDef gApplyCamePart4 = {
1013   /*.name_=*/"ApplyCamePart4",
1014   /*.args_=*/ {
1015 
1016         {/*.arg_name_=*/"param", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1017         {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1018         {/*.arg_name_=*/"r", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1019         {/*.arg_name_=*/"c", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1020         {/*.arg_name_=*/"weight_decay", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1021         {/*.arg_name_=*/"lr", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1022         {/*.arg_name_=*/"beta3", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1023         {/*.arg_name_=*/"sum_r", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1024         {/*.arg_name_=*/"sum_u_r", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1025         {/*.arg_name_=*/"sum_u_c", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1026         {/*.arg_name_=*/"sum_u_rc", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1027         {/*.arg_name_=*/"global_shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
1028   },
1029   /* .returns_ = */ {
1030     {/*.arg_name_=*/"param", /*.arg_dtype_=*/DT_TENSOR,
1031                 /*.inplace_input_index_=*/-1},
1032     {/*.arg_name_=*/"r", /*.arg_dtype_=*/DT_TENSOR,
1033                 /*.inplace_input_index_=*/-1},
1034     {/*.arg_name_=*/"c", /*.arg_dtype_=*/DT_TENSOR,
1035                 /*.inplace_input_index_=*/-1},
1036   },
1037   /*.signatures_ =*/ {
1038 
1039   },
1040   /*.indexes_ =*/ {
1041     {"param", 0},
1042     {"m", 1},
1043     {"r", 2},
1044     {"c", 3},
1045     {"weight_decay", 4},
1046     {"lr", 5},
1047     {"beta3", 6},
1048     {"sum_r", 7},
1049     {"sum_u_r", 8},
1050     {"sum_u_c", 9},
1051     {"sum_u_rc", 10},
1052     {"global_shape", 11},
1053   },
1054   /*.func_impl_=*/gApplyCamePart4FuncImpl,
1055   /*.enable_dispatch_ =*/false,
1056   /*.is_view_ =*/false,
1057 };
1058 
1059 ApplyRotaryPosEmbFuncImpl gApplyRotaryPosEmbFuncImpl;
1060 OpDef gApplyRotaryPosEmb = {
1061   /*.name_=*/"ApplyRotaryPosEmb",
1062   /*.args_=*/ {
1063 
1064         {/*.arg_name_=*/"query", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1065         {/*.arg_name_=*/"key", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1066         {/*.arg_name_=*/"cos", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1067         {/*.arg_name_=*/"sin", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1068         {/*.arg_name_=*/"position_ids", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1069         {/*.arg_name_=*/"cos_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1070   },
1071   /* .returns_ = */ {
1072     {/*.arg_name_=*/"query_embed", /*.arg_dtype_=*/DT_TENSOR,
1073                 /*.inplace_input_index_=*/-1},
1074     {/*.arg_name_=*/"key_embed", /*.arg_dtype_=*/DT_TENSOR,
1075                 /*.inplace_input_index_=*/-1},
1076   },
1077   /*.signatures_ =*/ {
1078 
1079   },
1080   /*.indexes_ =*/ {
1081     {"query", 0},
1082     {"key", 1},
1083     {"cos", 2},
1084     {"sin", 3},
1085     {"position_ids", 4},
1086     {"cos_format", 5},
1087   },
1088   /*.func_impl_=*/gApplyRotaryPosEmbFuncImpl,
1089   /*.enable_dispatch_ =*/false,
1090   /*.is_view_ =*/false,
1091 };
1092 
1093 ArangeFuncImpl gArangeFuncImpl;
1094 OpDef gArange = {
1095   /*.name_=*/"Arange",
1096   /*.args_=*/ {
1097 
1098         {/*.arg_name_=*/"start", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1099         {/*.arg_name_=*/"end", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1100         {/*.arg_name_=*/"step", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1101         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
1102   },
1103   /* .returns_ = */ {
1104     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1105                 /*.inplace_input_index_=*/-1},
1106   },
1107   /*.signatures_ =*/ {
1108     Signature("start", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1109      Signature("end", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1110      Signature("step", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1111      Signature("dtype", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
1112   },
1113   /*.indexes_ =*/ {
1114     {"start", 0},
1115     {"end", 1},
1116     {"step", 2},
1117     {"dtype", 3},
1118   },
1119   /*.func_impl_=*/gArangeFuncImpl,
1120   /*.enable_dispatch_ =*/true,
1121   /*.is_view_ =*/false,
1122 };
1123 
1124 ArgMaxExtFuncImpl gArgMaxExtFuncImpl;
1125 OpDef gArgMaxExt = {
1126   /*.name_=*/"ArgMaxExt",
1127   /*.args_=*/ {
1128 
1129         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1130         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
1131         {/*.arg_name_=*/"keepdim", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1132   },
1133   /* .returns_ = */ {
1134     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1135                 /*.inplace_input_index_=*/-1},
1136   },
1137   /*.signatures_ =*/ {
1138 
1139   },
1140   /*.indexes_ =*/ {
1141     {"input", 0},
1142     {"dim", 1},
1143     {"keepdim", 2},
1144   },
1145   /*.func_impl_=*/gArgMaxExtFuncImpl,
1146   /*.enable_dispatch_ =*/true,
1147   /*.is_view_ =*/false,
1148 };
1149 
1150 ArgmaxFuncImpl gArgmaxFuncImpl;
1151 OpDef gArgmax = {
1152   /*.name_=*/"Argmax",
1153   /*.args_=*/ {
1154 
1155         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1156         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1157         {/*.arg_name_=*/"output_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1158   },
1159   /* .returns_ = */ {
1160     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1161                 /*.inplace_input_index_=*/-1},
1162   },
1163   /*.signatures_ =*/ {
1164 
1165   },
1166   /*.indexes_ =*/ {
1167     {"input_x", 0},
1168     {"axis", 1},
1169     {"output_type", 2},
1170   },
1171   /*.func_impl_=*/gArgmaxFuncImpl,
1172   /*.enable_dispatch_ =*/false,
1173   /*.is_view_ =*/false,
1174 };
1175 
1176 ArgMaxWithValueFuncImpl gArgMaxWithValueFuncImpl;
1177 OpDef gArgMaxWithValue = {
1178   /*.name_=*/"ArgMaxWithValue",
1179   /*.args_=*/ {
1180 
1181         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1182         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1183         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1184   },
1185   /* .returns_ = */ {
1186     {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR,
1187                 /*.inplace_input_index_=*/-1},
1188     {/*.arg_name_=*/"values", /*.arg_dtype_=*/DT_TENSOR,
1189                 /*.inplace_input_index_=*/-1},
1190   },
1191   /*.signatures_ =*/ {
1192 
1193   },
1194   /*.indexes_ =*/ {
1195     {"input", 0},
1196     {"axis", 1},
1197     {"keep_dims", 2},
1198   },
1199   /*.func_impl_=*/gArgMaxWithValueFuncImpl,
1200   /*.enable_dispatch_ =*/true,
1201   /*.is_view_ =*/false,
1202 };
1203 
1204 ArgminFuncImpl gArgminFuncImpl;
1205 OpDef gArgmin = {
1206   /*.name_=*/"Argmin",
1207   /*.args_=*/ {
1208 
1209         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1210         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1211         {/*.arg_name_=*/"output_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1212   },
1213   /* .returns_ = */ {
1214     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1215                 /*.inplace_input_index_=*/-1},
1216   },
1217   /*.signatures_ =*/ {
1218 
1219   },
1220   /*.indexes_ =*/ {
1221     {"x", 0},
1222     {"axis", 1},
1223     {"output_type", 2},
1224   },
1225   /*.func_impl_=*/gArgminFuncImpl,
1226   /*.enable_dispatch_ =*/false,
1227   /*.is_view_ =*/false,
1228 };
1229 
1230 ArgMinWithValueFuncImpl gArgMinWithValueFuncImpl;
1231 OpDef gArgMinWithValue = {
1232   /*.name_=*/"ArgMinWithValue",
1233   /*.args_=*/ {
1234 
1235         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1236         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1237         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1238   },
1239   /* .returns_ = */ {
1240     {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR,
1241                 /*.inplace_input_index_=*/-1},
1242     {/*.arg_name_=*/"values", /*.arg_dtype_=*/DT_TENSOR,
1243                 /*.inplace_input_index_=*/-1},
1244   },
1245   /*.signatures_ =*/ {
1246 
1247   },
1248   /*.indexes_ =*/ {
1249     {"input", 0},
1250     {"axis", 1},
1251     {"keep_dims", 2},
1252   },
1253   /*.func_impl_=*/gArgMinWithValueFuncImpl,
1254   /*.enable_dispatch_ =*/true,
1255   /*.is_view_ =*/false,
1256 };
1257 
1258 AsinGradFuncImpl gAsinGradFuncImpl;
1259 OpDef gAsinGrad = {
1260   /*.name_=*/"AsinGrad",
1261   /*.args_=*/ {
1262 
1263         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1264         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1265   },
1266   /* .returns_ = */ {
1267     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
1268                 /*.inplace_input_index_=*/-1},
1269   },
1270   /*.signatures_ =*/ {
1271 
1272   },
1273   /*.indexes_ =*/ {
1274     {"x", 0},
1275     {"dout", 1},
1276   },
1277   /*.func_impl_=*/gAsinGradFuncImpl,
1278   /*.enable_dispatch_ =*/false,
1279   /*.is_view_ =*/false,
1280 };
1281 
1282 AsinFuncImpl gAsinFuncImpl;
1283 OpDef gAsin = {
1284   /*.name_=*/"Asin",
1285   /*.args_=*/ {
1286 
1287         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1288   },
1289   /* .returns_ = */ {
1290     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1291                 /*.inplace_input_index_=*/-1},
1292   },
1293   /*.signatures_ =*/ {
1294 
1295   },
1296   /*.indexes_ =*/ {
1297     {"input", 0},
1298   },
1299   /*.func_impl_=*/gAsinFuncImpl,
1300   /*.enable_dispatch_ =*/false,
1301   /*.is_view_ =*/false,
1302 };
1303 
1304 AsinhGradFuncImpl gAsinhGradFuncImpl;
1305 OpDef gAsinhGrad = {
1306   /*.name_=*/"AsinhGrad",
1307   /*.args_=*/ {
1308 
1309         {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1310         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1311   },
1312   /* .returns_ = */ {
1313     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
1314                 /*.inplace_input_index_=*/-1},
1315   },
1316   /*.signatures_ =*/ {
1317 
1318   },
1319   /*.indexes_ =*/ {
1320     {"out", 0},
1321     {"dout", 1},
1322   },
1323   /*.func_impl_=*/gAsinhGradFuncImpl,
1324   /*.enable_dispatch_ =*/false,
1325   /*.is_view_ =*/false,
1326 };
1327 
1328 AsinhFuncImpl gAsinhFuncImpl;
1329 OpDef gAsinh = {
1330   /*.name_=*/"Asinh",
1331   /*.args_=*/ {
1332 
1333         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1334   },
1335   /* .returns_ = */ {
1336     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1337                 /*.inplace_input_index_=*/-1},
1338   },
1339   /*.signatures_ =*/ {
1340 
1341   },
1342   /*.indexes_ =*/ {
1343     {"input", 0},
1344   },
1345   /*.func_impl_=*/gAsinhFuncImpl,
1346   /*.enable_dispatch_ =*/false,
1347   /*.is_view_ =*/false,
1348 };
1349 
1350 AssignAddFuncImpl gAssignAddFuncImpl;
1351 OpDef gAssignAdd = {
1352   /*.name_=*/"AssignAdd",
1353   /*.args_=*/ {
1354 
1355         {/*.arg_name_=*/"variable", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1356         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
1357   },
1358   /* .returns_ = */ {
1359     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1360                 /*.inplace_input_index_=*/-1},
1361   },
1362   /*.signatures_ =*/ {
1363     Signature("variable", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1364      Signature("value", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1365   },
1366   /*.indexes_ =*/ {
1367     {"variable", 0},
1368     {"value", 1},
1369   },
1370   /*.func_impl_=*/gAssignAddFuncImpl,
1371   /*.enable_dispatch_ =*/false,
1372   /*.is_view_ =*/false,
1373 };
1374 
1375 AssignFuncImpl gAssignFuncImpl;
1376 OpDef gAssign = {
1377   /*.name_=*/"Assign",
1378   /*.args_=*/ {
1379 
1380         {/*.arg_name_=*/"variable", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1381         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
1382   },
1383   /* .returns_ = */ {
1384     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1385                 /*.inplace_input_index_=*/-1},
1386   },
1387   /*.signatures_ =*/ {
1388     Signature("variable", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1389      Signature("value", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1390   },
1391   /*.indexes_ =*/ {
1392     {"variable", 0},
1393     {"value", 1},
1394   },
1395   /*.func_impl_=*/gAssignFuncImpl,
1396   /*.enable_dispatch_ =*/false,
1397   /*.is_view_ =*/false,
1398 };
1399 
1400 Atan2ExtFuncImpl gAtan2ExtFuncImpl;
1401 OpDef gAtan2Ext = {
1402   /*.name_=*/"Atan2Ext",
1403   /*.args_=*/ {
1404 
1405         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
1406         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
1407   },
1408   /* .returns_ = */ {
1409     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1410                 /*.inplace_input_index_=*/-1},
1411   },
1412   /*.signatures_ =*/ {
1413     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1414      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1415   },
1416   /*.indexes_ =*/ {
1417     {"input", 0},
1418     {"other", 1},
1419   },
1420   /*.func_impl_=*/gAtan2ExtFuncImpl,
1421   /*.enable_dispatch_ =*/true,
1422   /*.is_view_ =*/false,
1423 };
1424 
1425 Atan2FuncImpl gAtan2FuncImpl;
1426 OpDef gAtan2 = {
1427   /*.name_=*/"Atan2",
1428   /*.args_=*/ {
1429 
1430         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
1431         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
1432   },
1433   /* .returns_ = */ {
1434     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1435                 /*.inplace_input_index_=*/-1},
1436   },
1437   /*.signatures_ =*/ {
1438     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1439      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
1440   },
1441   /*.indexes_ =*/ {
1442     {"input", 0},
1443     {"other", 1},
1444   },
1445   /*.func_impl_=*/gAtan2FuncImpl,
1446   /*.enable_dispatch_ =*/false,
1447   /*.is_view_ =*/false,
1448 };
1449 
1450 AtanGradFuncImpl gAtanGradFuncImpl;
1451 OpDef gAtanGrad = {
1452   /*.name_=*/"AtanGrad",
1453   /*.args_=*/ {
1454 
1455         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1456         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1457   },
1458   /* .returns_ = */ {
1459     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
1460                 /*.inplace_input_index_=*/-1},
1461   },
1462   /*.signatures_ =*/ {
1463 
1464   },
1465   /*.indexes_ =*/ {
1466     {"x", 0},
1467     {"dout", 1},
1468   },
1469   /*.func_impl_=*/gAtanGradFuncImpl,
1470   /*.enable_dispatch_ =*/false,
1471   /*.is_view_ =*/false,
1472 };
1473 
1474 AtanFuncImpl gAtanFuncImpl;
1475 OpDef gAtan = {
1476   /*.name_=*/"Atan",
1477   /*.args_=*/ {
1478 
1479         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1480   },
1481   /* .returns_ = */ {
1482     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1483                 /*.inplace_input_index_=*/-1},
1484   },
1485   /*.signatures_ =*/ {
1486 
1487   },
1488   /*.indexes_ =*/ {
1489     {"input", 0},
1490   },
1491   /*.func_impl_=*/gAtanFuncImpl,
1492   /*.enable_dispatch_ =*/false,
1493   /*.is_view_ =*/false,
1494 };
1495 
1496 AtanhFuncImpl gAtanhFuncImpl;
1497 OpDef gAtanh = {
1498   /*.name_=*/"Atanh",
1499   /*.args_=*/ {
1500 
1501         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1502   },
1503   /* .returns_ = */ {
1504     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1505                 /*.inplace_input_index_=*/-1},
1506   },
1507   /*.signatures_ =*/ {
1508 
1509   },
1510   /*.indexes_ =*/ {
1511     {"input", 0},
1512   },
1513   /*.func_impl_=*/gAtanhFuncImpl,
1514   /*.enable_dispatch_ =*/false,
1515   /*.is_view_ =*/false,
1516 };
1517 
1518 AvgPool2DGradFuncImpl gAvgPool2DGradFuncImpl;
1519 OpDef gAvgPool2DGrad = {
1520   /*.name_=*/"AvgPool2DGrad",
1521   /*.args_=*/ {
1522 
1523         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1524         {/*.arg_name_=*/"image", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1525         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
1526         {/*.arg_name_=*/"stride", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
1527         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
1528         {/*.arg_name_=*/"ceil_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1529         {/*.arg_name_=*/"count_include_pad", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1530         {/*.arg_name_=*/"divisor_override", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
1531   },
1532   /* .returns_ = */ {
1533     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1534                 /*.inplace_input_index_=*/-1},
1535   },
1536   /*.signatures_ =*/ {
1537 
1538   },
1539   /*.indexes_ =*/ {
1540     {"grad", 0},
1541     {"image", 1},
1542     {"kernel_size", 2},
1543     {"stride", 3},
1544     {"padding", 4},
1545     {"ceil_mode", 5},
1546     {"count_include_pad", 6},
1547     {"divisor_override", 7},
1548   },
1549   /*.func_impl_=*/gAvgPool2DGradFuncImpl,
1550   /*.enable_dispatch_ =*/true,
1551   /*.is_view_ =*/false,
1552 };
1553 
1554 AvgPool2DFuncImpl gAvgPool2DFuncImpl;
1555 OpDef gAvgPool2D = {
1556   /*.name_=*/"AvgPool2D",
1557   /*.args_=*/ {
1558 
1559         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1560         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
1561         {/*.arg_name_=*/"stride", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
1562         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
1563         {/*.arg_name_=*/"ceil_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1564         {/*.arg_name_=*/"count_include_pad", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1565         {/*.arg_name_=*/"divisor_override", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
1566   },
1567   /* .returns_ = */ {
1568     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1569                 /*.inplace_input_index_=*/-1},
1570   },
1571   /*.signatures_ =*/ {
1572 
1573   },
1574   /*.indexes_ =*/ {
1575     {"input", 0},
1576     {"kernel_size", 1},
1577     {"stride", 2},
1578     {"padding", 3},
1579     {"ceil_mode", 4},
1580     {"count_include_pad", 5},
1581     {"divisor_override", 6},
1582   },
1583   /*.func_impl_=*/gAvgPool2DFuncImpl,
1584   /*.enable_dispatch_ =*/true,
1585   /*.is_view_ =*/false,
1586 };
1587 
1588 AvgPoolGradFuncImpl gAvgPoolGradFuncImpl;
1589 OpDef gAvgPoolGrad = {
1590   /*.name_=*/"AvgPoolGrad",
1591   /*.args_=*/ {
1592 
1593         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1594         {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1595         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1596         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_kernel_size", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1597         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1598         {/*.arg_name_=*/"pad_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1599         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1600   },
1601   /* .returns_ = */ {
1602     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1603                 /*.inplace_input_index_=*/-1},
1604   },
1605   /*.signatures_ =*/ {
1606 
1607   },
1608   /*.indexes_ =*/ {
1609     {"x", 0},
1610     {"out", 1},
1611     {"dout", 2},
1612     {"kernel_size", 3},
1613     {"strides", 4},
1614     {"pad_mode", 5},
1615     {"data_format", 6},
1616   },
1617   /*.func_impl_=*/gAvgPoolGradFuncImpl,
1618   /*.enable_dispatch_ =*/false,
1619   /*.is_view_ =*/false,
1620 };
1621 
1622 AvgPoolFuncImpl gAvgPoolFuncImpl;
1623 OpDef gAvgPool = {
1624   /*.name_=*/"AvgPool",
1625   /*.args_=*/ {
1626 
1627         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1628         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_kernel_size", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1629         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1630         {/*.arg_name_=*/"pad_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1631         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1632   },
1633   /* .returns_ = */ {
1634     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1635                 /*.inplace_input_index_=*/-1},
1636   },
1637   /*.signatures_ =*/ {
1638 
1639   },
1640   /*.indexes_ =*/ {
1641     {"x", 0},
1642     {"kernel_size", 1},
1643     {"strides", 2},
1644     {"pad_mode", 3},
1645     {"data_format", 4},
1646   },
1647   /*.func_impl_=*/gAvgPoolFuncImpl,
1648   /*.enable_dispatch_ =*/false,
1649   /*.is_view_ =*/false,
1650 };
1651 
1652 BatchMatMulFuncImpl gBatchMatMulFuncImpl;
1653 OpDef gBatchMatMul = {
1654   /*.name_=*/"BatchMatMul",
1655   /*.args_=*/ {
1656 
1657         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1658         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1659         {/*.arg_name_=*/"transpose_a", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1660         {/*.arg_name_=*/"transpose_b", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1661   },
1662   /* .returns_ = */ {
1663     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1664                 /*.inplace_input_index_=*/-1},
1665   },
1666   /*.signatures_ =*/ {
1667 
1668   },
1669   /*.indexes_ =*/ {
1670     {"x", 0},
1671     {"y", 1},
1672     {"transpose_a", 2},
1673     {"transpose_b", 3},
1674   },
1675   /*.func_impl_=*/gBatchMatMulFuncImpl,
1676   /*.enable_dispatch_ =*/true,
1677   /*.is_view_ =*/false,
1678 };
1679 
1680 BatchNormExtFuncImpl gBatchNormExtFuncImpl;
1681 OpDef gBatchNormExt = {
1682   /*.name_=*/"BatchNormExt",
1683   /*.args_=*/ {
1684 
1685         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1686         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1687         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1688         {/*.arg_name_=*/"running_mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1689         {/*.arg_name_=*/"runnning_var", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1690         {/*.arg_name_=*/"training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1691         {/*.arg_name_=*/"momentum", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1692         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1693   },
1694   /* .returns_ = */ {
1695     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
1696                 /*.inplace_input_index_=*/-1},
1697     {/*.arg_name_=*/"saved_mean", /*.arg_dtype_=*/DT_TENSOR,
1698                 /*.inplace_input_index_=*/-1},
1699     {/*.arg_name_=*/"saved_variance", /*.arg_dtype_=*/DT_TENSOR,
1700                 /*.inplace_input_index_=*/-1},
1701   },
1702   /*.signatures_ =*/ {
1703 
1704   },
1705   /*.indexes_ =*/ {
1706     {"input", 0},
1707     {"weight", 1},
1708     {"bias", 2},
1709     {"running_mean", 3},
1710     {"runnning_var", 4},
1711     {"training", 5},
1712     {"momentum", 6},
1713     {"epsilon", 7},
1714   },
1715   /*.func_impl_=*/gBatchNormExtFuncImpl,
1716   /*.enable_dispatch_ =*/true,
1717   /*.is_view_ =*/false,
1718 };
1719 
1720 BatchNormGradExtFuncImpl gBatchNormGradExtFuncImpl;
1721 OpDef gBatchNormGradExt = {
1722   /*.name_=*/"BatchNormGradExt",
1723   /*.args_=*/ {
1724 
1725         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1726         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1727         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1728         {/*.arg_name_=*/"running_mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1729         {/*.arg_name_=*/"running_var", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1730         {/*.arg_name_=*/"saved_mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1731         {/*.arg_name_=*/"saved_rstd", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1732         {/*.arg_name_=*/"training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1733         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1734   },
1735   /* .returns_ = */ {
1736     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
1737                 /*.inplace_input_index_=*/-1},
1738     {/*.arg_name_=*/"dweight", /*.arg_dtype_=*/DT_TENSOR,
1739                 /*.inplace_input_index_=*/-1},
1740     {/*.arg_name_=*/"dbias", /*.arg_dtype_=*/DT_TENSOR,
1741                 /*.inplace_input_index_=*/-1},
1742   },
1743   /*.signatures_ =*/ {
1744 
1745   },
1746   /*.indexes_ =*/ {
1747     {"dout", 0},
1748     {"input", 1},
1749     {"weight", 2},
1750     {"running_mean", 3},
1751     {"running_var", 4},
1752     {"saved_mean", 5},
1753     {"saved_rstd", 6},
1754     {"training", 7},
1755     {"eps", 8},
1756   },
1757   /*.func_impl_=*/gBatchNormGradExtFuncImpl,
1758   /*.enable_dispatch_ =*/true,
1759   /*.is_view_ =*/false,
1760 };
1761 
1762 BatchNormGradGradFuncImpl gBatchNormGradGradFuncImpl;
1763 OpDef gBatchNormGradGrad = {
1764   /*.name_=*/"BatchNormGradGrad",
1765   /*.args_=*/ {
1766 
1767         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1768         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1769         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1770         {/*.arg_name_=*/"saved_mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1771         {/*.arg_name_=*/"saved_variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1772         {/*.arg_name_=*/"dout_dx", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1773         {/*.arg_name_=*/"dout_dscale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1774         {/*.arg_name_=*/"dout_dbias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1775         {/*.arg_name_=*/"is_training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1776         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1777         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1778   },
1779   /* .returns_ = */ {
1780     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
1781                 /*.inplace_input_index_=*/-1},
1782     {/*.arg_name_=*/"ddy", /*.arg_dtype_=*/DT_TENSOR,
1783                 /*.inplace_input_index_=*/-1},
1784     {/*.arg_name_=*/"dscale", /*.arg_dtype_=*/DT_TENSOR,
1785                 /*.inplace_input_index_=*/-1},
1786   },
1787   /*.signatures_ =*/ {
1788 
1789   },
1790   /*.indexes_ =*/ {
1791     {"x", 0},
1792     {"dy", 1},
1793     {"scale", 2},
1794     {"saved_mean", 3},
1795     {"saved_variance", 4},
1796     {"dout_dx", 5},
1797     {"dout_dscale", 6},
1798     {"dout_dbias", 7},
1799     {"is_training", 8},
1800     {"epsilon", 9},
1801     {"data_format", 10},
1802   },
1803   /*.func_impl_=*/gBatchNormGradGradFuncImpl,
1804   /*.enable_dispatch_ =*/false,
1805   /*.is_view_ =*/false,
1806 };
1807 
1808 BatchNormGradFuncImpl gBatchNormGradFuncImpl;
1809 OpDef gBatchNormGrad = {
1810   /*.name_=*/"BatchNormGrad",
1811   /*.args_=*/ {
1812 
1813         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1814         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1815         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1816         {/*.arg_name_=*/"saved_mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1817         {/*.arg_name_=*/"saved_variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1818         {/*.arg_name_=*/"reserve", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1819         {/*.arg_name_=*/"is_training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1820         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1821         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1822   },
1823   /* .returns_ = */ {
1824     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
1825                 /*.inplace_input_index_=*/-1},
1826     {/*.arg_name_=*/"dscale", /*.arg_dtype_=*/DT_TENSOR,
1827                 /*.inplace_input_index_=*/-1},
1828     {/*.arg_name_=*/"dbias", /*.arg_dtype_=*/DT_TENSOR,
1829                 /*.inplace_input_index_=*/-1},
1830   },
1831   /*.signatures_ =*/ {
1832 
1833   },
1834   /*.indexes_ =*/ {
1835     {"dout", 0},
1836     {"x", 1},
1837     {"scale", 2},
1838     {"saved_mean", 3},
1839     {"saved_variance", 4},
1840     {"reserve", 5},
1841     {"is_training", 6},
1842     {"epsilon", 7},
1843     {"data_format", 8},
1844   },
1845   /*.func_impl_=*/gBatchNormGradFuncImpl,
1846   /*.enable_dispatch_ =*/false,
1847   /*.is_view_ =*/false,
1848 };
1849 
1850 BatchNormGradWithActivationFuncImpl gBatchNormGradWithActivationFuncImpl;
1851 OpDef gBatchNormGradWithActivation = {
1852   /*.name_=*/"BatchNormGradWithActivation",
1853   /*.args_=*/ {
1854 
1855         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1856         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1857         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1858         {/*.arg_name_=*/"saved_mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1859         {/*.arg_name_=*/"saved_variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1860         {/*.arg_name_=*/"reserve", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1861         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1862         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1863         {/*.arg_name_=*/"is_training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1864         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1865         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1866   },
1867   /* .returns_ = */ {
1868     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
1869                 /*.inplace_input_index_=*/-1},
1870     {/*.arg_name_=*/"dscale", /*.arg_dtype_=*/DT_TENSOR,
1871                 /*.inplace_input_index_=*/-1},
1872     {/*.arg_name_=*/"dbias", /*.arg_dtype_=*/DT_TENSOR,
1873                 /*.inplace_input_index_=*/-1},
1874   },
1875   /*.signatures_ =*/ {
1876 
1877   },
1878   /*.indexes_ =*/ {
1879     {"dy", 0},
1880     {"x", 1},
1881     {"scale", 2},
1882     {"saved_mean", 3},
1883     {"saved_variance", 4},
1884     {"reserve", 5},
1885     {"bias", 6},
1886     {"y", 7},
1887     {"is_training", 8},
1888     {"epsilon", 9},
1889     {"data_format", 10},
1890   },
1891   /*.func_impl_=*/gBatchNormGradWithActivationFuncImpl,
1892   /*.enable_dispatch_ =*/false,
1893   /*.is_view_ =*/false,
1894 };
1895 
1896 BatchNormFuncImpl gBatchNormFuncImpl;
1897 OpDef gBatchNorm = {
1898   /*.name_=*/"BatchNorm",
1899   /*.args_=*/ {
1900 
1901         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1902         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1903         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1904         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1905         {/*.arg_name_=*/"variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1906         {/*.arg_name_=*/"is_training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1907         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1908         {/*.arg_name_=*/"momentum", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1909         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1910   },
1911   /* .returns_ = */ {
1912     {/*.arg_name_=*/"output_x", /*.arg_dtype_=*/DT_TENSOR,
1913                 /*.inplace_input_index_=*/-1},
1914     {/*.arg_name_=*/"batch_mean", /*.arg_dtype_=*/DT_TENSOR,
1915                 /*.inplace_input_index_=*/-1},
1916     {/*.arg_name_=*/"batch_variance", /*.arg_dtype_=*/DT_TENSOR,
1917                 /*.inplace_input_index_=*/-1},
1918     {/*.arg_name_=*/"reserve_space_1", /*.arg_dtype_=*/DT_TENSOR,
1919                 /*.inplace_input_index_=*/-1},
1920     {/*.arg_name_=*/"reserve_space_2", /*.arg_dtype_=*/DT_TENSOR,
1921                 /*.inplace_input_index_=*/-1},
1922   },
1923   /*.signatures_ =*/ {
1924 
1925   },
1926   /*.indexes_ =*/ {
1927     {"input_x", 0},
1928     {"scale", 1},
1929     {"bias", 2},
1930     {"mean", 3},
1931     {"variance", 4},
1932     {"is_training", 5},
1933     {"epsilon", 6},
1934     {"momentum", 7},
1935     {"data_format", 8},
1936   },
1937   /*.func_impl_=*/gBatchNormFuncImpl,
1938   /*.enable_dispatch_ =*/false,
1939   /*.is_view_ =*/false,
1940 };
1941 
1942 BatchNormWithActivationFuncImpl gBatchNormWithActivationFuncImpl;
1943 OpDef gBatchNormWithActivation = {
1944   /*.name_=*/"BatchNormWithActivation",
1945   /*.args_=*/ {
1946 
1947         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1948         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1949         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1950         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1951         {/*.arg_name_=*/"var", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1952         {/*.arg_name_=*/"is_training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1953         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1954         {/*.arg_name_=*/"momentum", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1955         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1956   },
1957   /* .returns_ = */ {
1958     {/*.arg_name_=*/"output_x", /*.arg_dtype_=*/DT_TENSOR,
1959                 /*.inplace_input_index_=*/-1},
1960     {/*.arg_name_=*/"batch_mean", /*.arg_dtype_=*/DT_TENSOR,
1961                 /*.inplace_input_index_=*/-1},
1962     {/*.arg_name_=*/"batch_variance", /*.arg_dtype_=*/DT_TENSOR,
1963                 /*.inplace_input_index_=*/-1},
1964     {/*.arg_name_=*/"reserve_space_1", /*.arg_dtype_=*/DT_TENSOR,
1965                 /*.inplace_input_index_=*/-1},
1966     {/*.arg_name_=*/"reserve_space_2", /*.arg_dtype_=*/DT_TENSOR,
1967                 /*.inplace_input_index_=*/-1},
1968   },
1969   /*.signatures_ =*/ {
1970 
1971   },
1972   /*.indexes_ =*/ {
1973     {"x", 0},
1974     {"scale", 1},
1975     {"bias", 2},
1976     {"mean", 3},
1977     {"var", 4},
1978     {"is_training", 5},
1979     {"epsilon", 6},
1980     {"momentum", 7},
1981     {"data_format", 8},
1982   },
1983   /*.func_impl_=*/gBatchNormWithActivationFuncImpl,
1984   /*.enable_dispatch_ =*/false,
1985   /*.is_view_ =*/false,
1986 };
1987 
1988 BatchNormWithAddAndActivationFuncImpl gBatchNormWithAddAndActivationFuncImpl;
1989 OpDef gBatchNormWithAddAndActivation = {
1990   /*.name_=*/"BatchNormWithAddAndActivation",
1991   /*.args_=*/ {
1992 
1993         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1994         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1995         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1996         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1997         {/*.arg_name_=*/"var", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1998         {/*.arg_name_=*/"z", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
1999         {/*.arg_name_=*/"is_training", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2000         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2001         {/*.arg_name_=*/"momentum", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2002         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2003   },
2004   /* .returns_ = */ {
2005     {/*.arg_name_=*/"output_x", /*.arg_dtype_=*/DT_TENSOR,
2006                 /*.inplace_input_index_=*/-1},
2007     {/*.arg_name_=*/"batch_mean", /*.arg_dtype_=*/DT_TENSOR,
2008                 /*.inplace_input_index_=*/-1},
2009     {/*.arg_name_=*/"batch_variance", /*.arg_dtype_=*/DT_TENSOR,
2010                 /*.inplace_input_index_=*/-1},
2011     {/*.arg_name_=*/"reserve_space_1", /*.arg_dtype_=*/DT_TENSOR,
2012                 /*.inplace_input_index_=*/-1},
2013     {/*.arg_name_=*/"reserve_space_2", /*.arg_dtype_=*/DT_TENSOR,
2014                 /*.inplace_input_index_=*/-1},
2015   },
2016   /*.signatures_ =*/ {
2017 
2018   },
2019   /*.indexes_ =*/ {
2020     {"x", 0},
2021     {"scale", 1},
2022     {"bias", 2},
2023     {"mean", 3},
2024     {"var", 4},
2025     {"z", 5},
2026     {"is_training", 6},
2027     {"epsilon", 7},
2028     {"momentum", 8},
2029     {"data_format", 9},
2030   },
2031   /*.func_impl_=*/gBatchNormWithAddAndActivationFuncImpl,
2032   /*.enable_dispatch_ =*/false,
2033   /*.is_view_ =*/false,
2034 };
2035 
2036 BetaincFuncImpl gBetaincFuncImpl;
2037 OpDef gBetainc = {
2038   /*.name_=*/"Betainc",
2039   /*.args_=*/ {
2040 
2041         {/*.arg_name_=*/"a", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2042         {/*.arg_name_=*/"b", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2043         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2044   },
2045   /* .returns_ = */ {
2046     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2047                 /*.inplace_input_index_=*/-1},
2048   },
2049   /*.signatures_ =*/ {
2050 
2051   },
2052   /*.indexes_ =*/ {
2053     {"a", 0},
2054     {"b", 1},
2055     {"x", 2},
2056   },
2057   /*.func_impl_=*/gBetaincFuncImpl,
2058   /*.enable_dispatch_ =*/false,
2059   /*.is_view_ =*/false,
2060 };
2061 
2062 BiasAddGradFuncImpl gBiasAddGradFuncImpl;
2063 OpDef gBiasAddGrad = {
2064   /*.name_=*/"BiasAddGrad",
2065   /*.args_=*/ {
2066 
2067         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2068         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2069   },
2070   /* .returns_ = */ {
2071     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2072                 /*.inplace_input_index_=*/-1},
2073   },
2074   /*.signatures_ =*/ {
2075 
2076   },
2077   /*.indexes_ =*/ {
2078     {"dout", 0},
2079     {"data_format", 1},
2080   },
2081   /*.func_impl_=*/gBiasAddGradFuncImpl,
2082   /*.enable_dispatch_ =*/false,
2083   /*.is_view_ =*/false,
2084 };
2085 
2086 BiasAddFuncImpl gBiasAddFuncImpl;
2087 OpDef gBiasAdd = {
2088   /*.name_=*/"BiasAdd",
2089   /*.args_=*/ {
2090 
2091         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2092         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2093         {/*.arg_name_=*/"data_format", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2094   },
2095   /* .returns_ = */ {
2096     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2097                 /*.inplace_input_index_=*/-1},
2098   },
2099   /*.signatures_ =*/ {
2100 
2101   },
2102   /*.indexes_ =*/ {
2103     {"input_x", 0},
2104     {"bias", 1},
2105     {"data_format", 2},
2106   },
2107   /*.func_impl_=*/gBiasAddFuncImpl,
2108   /*.enable_dispatch_ =*/false,
2109   /*.is_view_ =*/false,
2110 };
2111 
2112 BinaryCrossEntropyGradFuncImpl gBinaryCrossEntropyGradFuncImpl;
2113 OpDef gBinaryCrossEntropyGrad = {
2114   /*.name_=*/"BinaryCrossEntropyGrad",
2115   /*.args_=*/ {
2116 
2117         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2118         {/*.arg_name_=*/"target", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2119         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2120         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2121         {/*.arg_name_=*/"reduction", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2122   },
2123   /* .returns_ = */ {
2124     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
2125                 /*.inplace_input_index_=*/-1},
2126   },
2127   /*.signatures_ =*/ {
2128 
2129   },
2130   /*.indexes_ =*/ {
2131     {"input", 0},
2132     {"target", 1},
2133     {"grad_output", 2},
2134     {"weight", 3},
2135     {"reduction", 4},
2136   },
2137   /*.func_impl_=*/gBinaryCrossEntropyGradFuncImpl,
2138   /*.enable_dispatch_ =*/true,
2139   /*.is_view_ =*/false,
2140 };
2141 
2142 BinaryCrossEntropyFuncImpl gBinaryCrossEntropyFuncImpl;
2143 OpDef gBinaryCrossEntropy = {
2144   /*.name_=*/"BinaryCrossEntropy",
2145   /*.args_=*/ {
2146 
2147         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2148         {/*.arg_name_=*/"target", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2149         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2150         {/*.arg_name_=*/"reduction", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2151   },
2152   /* .returns_ = */ {
2153     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
2154                 /*.inplace_input_index_=*/-1},
2155   },
2156   /*.signatures_ =*/ {
2157 
2158   },
2159   /*.indexes_ =*/ {
2160     {"input", 0},
2161     {"target", 1},
2162     {"weight", 2},
2163     {"reduction", 3},
2164   },
2165   /*.func_impl_=*/gBinaryCrossEntropyFuncImpl,
2166   /*.enable_dispatch_ =*/true,
2167   /*.is_view_ =*/false,
2168 };
2169 
2170 BinaryCrossEntropyWithLogitsBackwardFuncImpl gBinaryCrossEntropyWithLogitsBackwardFuncImpl;
2171 OpDef gBinaryCrossEntropyWithLogitsBackward = {
2172   /*.name_=*/"BinaryCrossEntropyWithLogitsBackward",
2173   /*.args_=*/ {
2174 
2175         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2176         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2177         {/*.arg_name_=*/"target", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2178         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2179         {/*.arg_name_=*/"posWeight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2180         {/*.arg_name_=*/"reduction", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2181   },
2182   /* .returns_ = */ {
2183     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
2184                 /*.inplace_input_index_=*/-1},
2185   },
2186   /*.signatures_ =*/ {
2187 
2188   },
2189   /*.indexes_ =*/ {
2190     {"grad_output", 0},
2191     {"input", 1},
2192     {"target", 2},
2193     {"weight", 3},
2194     {"posWeight", 4},
2195     {"reduction", 5},
2196   },
2197   /*.func_impl_=*/gBinaryCrossEntropyWithLogitsBackwardFuncImpl,
2198   /*.enable_dispatch_ =*/true,
2199   /*.is_view_ =*/false,
2200 };
2201 
2202 BCEWithLogitsLossFuncImpl gBCEWithLogitsLossFuncImpl;
2203 OpDef gBCEWithLogitsLoss = {
2204   /*.name_=*/"BCEWithLogitsLoss",
2205   /*.args_=*/ {
2206 
2207         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2208         {/*.arg_name_=*/"target", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2209         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2210         {/*.arg_name_=*/"posWeight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2211         {/*.arg_name_=*/"reduction", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2212   },
2213   /* .returns_ = */ {
2214     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
2215                 /*.inplace_input_index_=*/-1},
2216   },
2217   /*.signatures_ =*/ {
2218 
2219   },
2220   /*.indexes_ =*/ {
2221     {"input", 0},
2222     {"target", 1},
2223     {"weight", 2},
2224     {"posWeight", 3},
2225     {"reduction", 4},
2226   },
2227   /*.func_impl_=*/gBCEWithLogitsLossFuncImpl,
2228   /*.enable_dispatch_ =*/true,
2229   /*.is_view_ =*/false,
2230 };
2231 
2232 BatchMatMulExtFuncImpl gBatchMatMulExtFuncImpl;
2233 OpDef gBatchMatMulExt = {
2234   /*.name_=*/"BatchMatMulExt",
2235   /*.args_=*/ {
2236 
2237         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2238         {/*.arg_name_=*/"mat2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2239   },
2240   /* .returns_ = */ {
2241     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2242                 /*.inplace_input_index_=*/-1},
2243   },
2244   /*.signatures_ =*/ {
2245 
2246   },
2247   /*.indexes_ =*/ {
2248     {"input", 0},
2249     {"mat2", 1},
2250   },
2251   /*.func_impl_=*/gBatchMatMulExtFuncImpl,
2252   /*.enable_dispatch_ =*/true,
2253   /*.is_view_ =*/false,
2254 };
2255 
2256 BoolNotFuncImpl gBoolNotFuncImpl;
2257 OpDef gBoolNot = {
2258   /*.name_=*/"BoolNot",
2259   /*.args_=*/ {
2260 
2261         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2262   },
2263   /* .returns_ = */ {
2264     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
2265                 /*.inplace_input_index_=*/-1},
2266   },
2267   /*.signatures_ =*/ {
2268 
2269   },
2270   /*.indexes_ =*/ {
2271     {"x", 0},
2272   },
2273   /*.func_impl_=*/gBoolNotFuncImpl,
2274   /*.enable_dispatch_ =*/false,
2275   /*.is_view_ =*/false,
2276 };
2277 
2278 BroadcastToFuncImpl gBroadcastToFuncImpl;
2279 OpDef gBroadcastTo = {
2280   /*.name_=*/"BroadcastTo",
2281   /*.args_=*/ {
2282 
2283         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2284         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
2285   },
2286   /* .returns_ = */ {
2287     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2288                 /*.inplace_input_index_=*/-1},
2289   },
2290   /*.signatures_ =*/ {
2291 
2292   },
2293   /*.indexes_ =*/ {
2294     {"input", 0},
2295     {"shape", 1},
2296   },
2297   /*.func_impl_=*/gBroadcastToFuncImpl,
2298   /*.enable_dispatch_ =*/true,
2299   /*.is_view_ =*/true,
2300 };
2301 
2302 CastFuncImpl gCastFuncImpl;
2303 OpDef gCast = {
2304   /*.name_=*/"Cast",
2305   /*.args_=*/ {
2306 
2307         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
2308         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2309   },
2310   /* .returns_ = */ {
2311     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2312                 /*.inplace_input_index_=*/-1},
2313   },
2314   /*.signatures_ =*/ {
2315 
2316   },
2317   /*.indexes_ =*/ {
2318     {"input_x", 0},
2319     {"dtype", 1},
2320   },
2321   /*.func_impl_=*/gCastFuncImpl,
2322   /*.enable_dispatch_ =*/true,
2323   /*.is_view_ =*/false,
2324 };
2325 
2326 CeilFuncImpl gCeilFuncImpl;
2327 OpDef gCeil = {
2328   /*.name_=*/"Ceil",
2329   /*.args_=*/ {
2330 
2331         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2332   },
2333   /* .returns_ = */ {
2334     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2335                 /*.inplace_input_index_=*/-1},
2336   },
2337   /*.signatures_ =*/ {
2338 
2339   },
2340   /*.indexes_ =*/ {
2341     {"input", 0},
2342   },
2343   /*.func_impl_=*/gCeilFuncImpl,
2344   /*.enable_dispatch_ =*/true,
2345   /*.is_view_ =*/false,
2346 };
2347 
2348 CeLUFuncImpl gCeLUFuncImpl;
2349 OpDef gCeLU = {
2350   /*.name_=*/"CeLU",
2351   /*.args_=*/ {
2352 
2353         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2354         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2355   },
2356   /* .returns_ = */ {
2357     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2358                 /*.inplace_input_index_=*/-1},
2359   },
2360   /*.signatures_ =*/ {
2361 
2362   },
2363   /*.indexes_ =*/ {
2364     {"x", 0},
2365     {"alpha", 1},
2366   },
2367   /*.func_impl_=*/gCeLUFuncImpl,
2368   /*.enable_dispatch_ =*/false,
2369   /*.is_view_ =*/false,
2370 };
2371 
2372 CholeskyGradFuncImpl gCholeskyGradFuncImpl;
2373 OpDef gCholeskyGrad = {
2374   /*.name_=*/"CholeskyGrad",
2375   /*.args_=*/ {
2376 
2377         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2378         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2379   },
2380   /* .returns_ = */ {
2381     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
2382                 /*.inplace_input_index_=*/-1},
2383   },
2384   /*.signatures_ =*/ {
2385 
2386   },
2387   /*.indexes_ =*/ {
2388     {"x", 0},
2389     {"grad", 1},
2390   },
2391   /*.func_impl_=*/gCholeskyGradFuncImpl,
2392   /*.enable_dispatch_ =*/false,
2393   /*.is_view_ =*/false,
2394 };
2395 
2396 CholeskyInverseFuncImpl gCholeskyInverseFuncImpl;
2397 OpDef gCholeskyInverse = {
2398   /*.name_=*/"CholeskyInverse",
2399   /*.args_=*/ {
2400 
2401         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2402         {/*.arg_name_=*/"upper", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2403   },
2404   /* .returns_ = */ {
2405     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2406                 /*.inplace_input_index_=*/-1},
2407   },
2408   /*.signatures_ =*/ {
2409 
2410   },
2411   /*.indexes_ =*/ {
2412     {"input_x", 0},
2413     {"upper", 1},
2414   },
2415   /*.func_impl_=*/gCholeskyInverseFuncImpl,
2416   /*.enable_dispatch_ =*/false,
2417   /*.is_view_ =*/false,
2418 };
2419 
2420 CholeskyFuncImpl gCholeskyFuncImpl;
2421 OpDef gCholesky = {
2422   /*.name_=*/"Cholesky",
2423   /*.args_=*/ {
2424 
2425         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2426         {/*.arg_name_=*/"upper", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2427   },
2428   /* .returns_ = */ {
2429     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2430                 /*.inplace_input_index_=*/-1},
2431   },
2432   /*.signatures_ =*/ {
2433 
2434   },
2435   /*.indexes_ =*/ {
2436     {"input_x", 0},
2437     {"upper", 1},
2438   },
2439   /*.func_impl_=*/gCholeskyFuncImpl,
2440   /*.enable_dispatch_ =*/false,
2441   /*.is_view_ =*/false,
2442 };
2443 
2444 ChunkFuncImpl gChunkFuncImpl;
2445 OpDef gChunk = {
2446   /*.name_=*/"Chunk",
2447   /*.args_=*/ {
2448 
2449         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2450         {/*.arg_name_=*/"chunks", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2451         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2452   },
2453   /* .returns_ = */ {
2454     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TUPLE_TENSOR,
2455                 /*.inplace_input_index_=*/-1},
2456   },
2457   /*.signatures_ =*/ {
2458 
2459   },
2460   /*.indexes_ =*/ {
2461     {"input", 0},
2462     {"chunks", 1},
2463     {"dim", 2},
2464   },
2465   /*.func_impl_=*/gChunkFuncImpl,
2466   /*.enable_dispatch_ =*/true,
2467   /*.is_view_ =*/false,
2468 };
2469 
2470 ClampScalarFuncImpl gClampScalarFuncImpl;
2471 OpDef gClampScalar = {
2472   /*.name_=*/"ClampScalar",
2473   /*.args_=*/ {
2474 
2475         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2476         {/*.arg_name_=*/"min", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2477         {/*.arg_name_=*/"max", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2478   },
2479   /* .returns_ = */ {
2480     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2481                 /*.inplace_input_index_=*/-1},
2482   },
2483   /*.signatures_ =*/ {
2484 
2485   },
2486   /*.indexes_ =*/ {
2487     {"input", 0},
2488     {"min", 1},
2489     {"max", 2},
2490   },
2491   /*.func_impl_=*/gClampScalarFuncImpl,
2492   /*.enable_dispatch_ =*/true,
2493   /*.is_view_ =*/false,
2494 };
2495 
2496 ClampTensorFuncImpl gClampTensorFuncImpl;
2497 OpDef gClampTensor = {
2498   /*.name_=*/"ClampTensor",
2499   /*.args_=*/ {
2500 
2501         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2502         {/*.arg_name_=*/"min", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2503         {/*.arg_name_=*/"max", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2504   },
2505   /* .returns_ = */ {
2506     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2507                 /*.inplace_input_index_=*/-1},
2508   },
2509   /*.signatures_ =*/ {
2510 
2511   },
2512   /*.indexes_ =*/ {
2513     {"input", 0},
2514     {"min", 1},
2515     {"max", 2},
2516   },
2517   /*.func_impl_=*/gClampTensorFuncImpl,
2518   /*.enable_dispatch_ =*/true,
2519   /*.is_view_ =*/false,
2520 };
2521 
2522 Col2ImExtFuncImpl gCol2ImExtFuncImpl;
2523 OpDef gCol2ImExt = {
2524   /*.name_=*/"Col2ImExt",
2525   /*.args_=*/ {
2526 
2527         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2528         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2529         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2530         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2531         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2532         {/*.arg_name_=*/"stride", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2533   },
2534   /* .returns_ = */ {
2535     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2536                 /*.inplace_input_index_=*/-1},
2537   },
2538   /*.signatures_ =*/ {
2539 
2540   },
2541   /*.indexes_ =*/ {
2542     {"input", 0},
2543     {"output_size", 1},
2544     {"kernel_size", 2},
2545     {"dilation", 3},
2546     {"padding", 4},
2547     {"stride", 5},
2548   },
2549   /*.func_impl_=*/gCol2ImExtFuncImpl,
2550   /*.enable_dispatch_ =*/true,
2551   /*.is_view_ =*/false,
2552 };
2553 
2554 Col2ImGradFuncImpl gCol2ImGradFuncImpl;
2555 OpDef gCol2ImGrad = {
2556   /*.name_=*/"Col2ImGrad",
2557   /*.args_=*/ {
2558 
2559         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2560         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2561         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2562         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2563         {/*.arg_name_=*/"stride", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
2564   },
2565   /* .returns_ = */ {
2566     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2567                 /*.inplace_input_index_=*/-1},
2568   },
2569   /*.signatures_ =*/ {
2570 
2571   },
2572   /*.indexes_ =*/ {
2573     {"input", 0},
2574     {"kernel_size", 1},
2575     {"dilation", 2},
2576     {"padding", 3},
2577     {"stride", 4},
2578   },
2579   /*.func_impl_=*/gCol2ImGradFuncImpl,
2580   /*.enable_dispatch_ =*/true,
2581   /*.is_view_ =*/false,
2582 };
2583 
2584 ComplexFuncImpl gComplexFuncImpl;
2585 OpDef gComplex = {
2586   /*.name_=*/"Complex",
2587   /*.args_=*/ {
2588 
2589         {/*.arg_name_=*/"real", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2590         {/*.arg_name_=*/"imag", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2591   },
2592   /* .returns_ = */ {
2593     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2594                 /*.inplace_input_index_=*/-1},
2595   },
2596   /*.signatures_ =*/ {
2597 
2598   },
2599   /*.indexes_ =*/ {
2600     {"real", 0},
2601     {"imag", 1},
2602   },
2603   /*.func_impl_=*/gComplexFuncImpl,
2604   /*.enable_dispatch_ =*/false,
2605   /*.is_view_ =*/false,
2606 };
2607 
2608 ConcatFuncImpl gConcatFuncImpl;
2609 OpDef gConcat = {
2610   /*.name_=*/"Concat",
2611   /*.args_=*/ {
2612 
2613         {/*.arg_name_=*/"tensors", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
2614         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2615   },
2616   /* .returns_ = */ {
2617     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
2618                 /*.inplace_input_index_=*/-1},
2619   },
2620   /*.signatures_ =*/ {
2621 
2622   },
2623   /*.indexes_ =*/ {
2624     {"tensors", 0},
2625     {"axis", 1},
2626   },
2627   /*.func_impl_=*/gConcatFuncImpl,
2628   /*.enable_dispatch_ =*/true,
2629   /*.is_view_ =*/false,
2630 };
2631 
2632 ConjFuncImpl gConjFuncImpl;
2633 OpDef gConj = {
2634   /*.name_=*/"Conj",
2635   /*.args_=*/ {
2636 
2637         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2638   },
2639   /* .returns_ = */ {
2640     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2641                 /*.inplace_input_index_=*/-1},
2642   },
2643   /*.signatures_ =*/ {
2644 
2645   },
2646   /*.indexes_ =*/ {
2647     {"input", 0},
2648   },
2649   /*.func_impl_=*/gConjFuncImpl,
2650   /*.enable_dispatch_ =*/false,
2651   /*.is_view_ =*/false,
2652 };
2653 
2654 ConstantPadNDFuncImpl gConstantPadNDFuncImpl;
2655 OpDef gConstantPadND = {
2656   /*.name_=*/"ConstantPadND",
2657   /*.args_=*/ {
2658 
2659         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2660         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
2661         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2662   },
2663   /* .returns_ = */ {
2664     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2665                 /*.inplace_input_index_=*/-1},
2666   },
2667   /*.signatures_ =*/ {
2668 
2669   },
2670   /*.indexes_ =*/ {
2671     {"input", 0},
2672     {"padding", 1},
2673     {"value", 2},
2674   },
2675   /*.func_impl_=*/gConstantPadNDFuncImpl,
2676   /*.enable_dispatch_ =*/true,
2677   /*.is_view_ =*/false,
2678 };
2679 
2680 ContiguousFuncImpl gContiguousFuncImpl;
2681 OpDef gContiguous = {
2682   /*.name_=*/"Contiguous",
2683   /*.args_=*/ {
2684 
2685         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2686   },
2687   /* .returns_ = */ {
2688     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2689                 /*.inplace_input_index_=*/-1},
2690   },
2691   /*.signatures_ =*/ {
2692 
2693   },
2694   /*.indexes_ =*/ {
2695     {"input", 0},
2696   },
2697   /*.func_impl_=*/gContiguousFuncImpl,
2698   /*.enable_dispatch_ =*/true,
2699   /*.is_view_ =*/true,
2700 };
2701 
2702 ConvolutionGradFuncImpl gConvolutionGradFuncImpl;
2703 OpDef gConvolutionGrad = {
2704   /*.name_=*/"ConvolutionGrad",
2705   /*.args_=*/ {
2706 
2707         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2708         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2709         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2710         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2711         {/*.arg_name_=*/"stride", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2712         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_2d_paddings", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2713         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_dilations", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2714         {/*.arg_name_=*/"transposed", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2715         {/*.arg_name_=*/"output_padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_output_padding", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2716         {/*.arg_name_=*/"groups", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2717         {/*.arg_name_=*/"output_mask", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2718   },
2719   /* .returns_ = */ {
2720     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
2721                 /*.inplace_input_index_=*/-1},
2722     {/*.arg_name_=*/"dw", /*.arg_dtype_=*/DT_TENSOR,
2723                 /*.inplace_input_index_=*/-1},
2724     {/*.arg_name_=*/"dbias", /*.arg_dtype_=*/DT_TENSOR,
2725                 /*.inplace_input_index_=*/-1},
2726   },
2727   /*.signatures_ =*/ {
2728 
2729   },
2730   /*.indexes_ =*/ {
2731     {"dout", 0},
2732     {"input", 1},
2733     {"weight", 2},
2734     {"bias", 3},
2735     {"stride", 4},
2736     {"padding", 5},
2737     {"dilation", 6},
2738     {"transposed", 7},
2739     {"output_padding", 8},
2740     {"groups", 9},
2741     {"output_mask", 10},
2742   },
2743   /*.func_impl_=*/gConvolutionGradFuncImpl,
2744   /*.enable_dispatch_ =*/true,
2745   /*.is_view_ =*/false,
2746 };
2747 
2748 ConvolutionFuncImpl gConvolutionFuncImpl;
2749 OpDef gConvolution = {
2750   /*.name_=*/"Convolution",
2751   /*.args_=*/ {
2752 
2753         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2754         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2755         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2756         {/*.arg_name_=*/"stride", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2757         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_2d_paddings", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2758         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_dilations", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2759         {/*.arg_name_=*/"transposed", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2760         {/*.arg_name_=*/"output_padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_output_padding", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2761         {/*.arg_name_=*/"groups", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2762   },
2763   /* .returns_ = */ {
2764     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2765                 /*.inplace_input_index_=*/-1},
2766   },
2767   /*.signatures_ =*/ {
2768 
2769   },
2770   /*.indexes_ =*/ {
2771     {"input", 0},
2772     {"weight", 1},
2773     {"bias", 2},
2774     {"stride", 3},
2775     {"padding", 4},
2776     {"dilation", 5},
2777     {"transposed", 6},
2778     {"output_padding", 7},
2779     {"groups", 8},
2780   },
2781   /*.func_impl_=*/gConvolutionFuncImpl,
2782   /*.enable_dispatch_ =*/true,
2783   /*.is_view_ =*/false,
2784 };
2785 
2786 CopyFuncImpl gCopyFuncImpl;
2787 OpDef gCopy = {
2788   /*.name_=*/"Copy",
2789   /*.args_=*/ {
2790 
2791         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2792   },
2793   /* .returns_ = */ {
2794     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2795                 /*.inplace_input_index_=*/-1},
2796   },
2797   /*.signatures_ =*/ {
2798 
2799   },
2800   /*.indexes_ =*/ {
2801     {"input", 0},
2802   },
2803   /*.func_impl_=*/gCopyFuncImpl,
2804   /*.enable_dispatch_ =*/true,
2805   /*.is_view_ =*/true,
2806 };
2807 
2808 CorrelateFuncImpl gCorrelateFuncImpl;
2809 OpDef gCorrelate = {
2810   /*.name_=*/"Correlate",
2811   /*.args_=*/ {
2812 
2813         {/*.arg_name_=*/"a", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2814         {/*.arg_name_=*/"v", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2815         {/*.arg_name_=*/"mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2816   },
2817   /* .returns_ = */ {
2818     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2819                 /*.inplace_input_index_=*/-1},
2820   },
2821   /*.signatures_ =*/ {
2822 
2823   },
2824   /*.indexes_ =*/ {
2825     {"a", 0},
2826     {"v", 1},
2827     {"mode", 2},
2828   },
2829   /*.func_impl_=*/gCorrelateFuncImpl,
2830   /*.enable_dispatch_ =*/false,
2831   /*.is_view_ =*/false,
2832 };
2833 
2834 CosFuncImpl gCosFuncImpl;
2835 OpDef gCos = {
2836   /*.name_=*/"Cos",
2837   /*.args_=*/ {
2838 
2839         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2840   },
2841   /* .returns_ = */ {
2842     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2843                 /*.inplace_input_index_=*/-1},
2844   },
2845   /*.signatures_ =*/ {
2846 
2847   },
2848   /*.indexes_ =*/ {
2849     {"input", 0},
2850   },
2851   /*.func_impl_=*/gCosFuncImpl,
2852   /*.enable_dispatch_ =*/true,
2853   /*.is_view_ =*/false,
2854 };
2855 
2856 CoshFuncImpl gCoshFuncImpl;
2857 OpDef gCosh = {
2858   /*.name_=*/"Cosh",
2859   /*.args_=*/ {
2860 
2861         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2862   },
2863   /* .returns_ = */ {
2864     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2865                 /*.inplace_input_index_=*/-1},
2866   },
2867   /*.signatures_ =*/ {
2868 
2869   },
2870   /*.indexes_ =*/ {
2871     {"input", 0},
2872   },
2873   /*.func_impl_=*/gCoshFuncImpl,
2874   /*.enable_dispatch_ =*/false,
2875   /*.is_view_ =*/false,
2876 };
2877 
2878 CumProdFuncImpl gCumProdFuncImpl;
2879 OpDef gCumProd = {
2880   /*.name_=*/"CumProd",
2881   /*.args_=*/ {
2882 
2883         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2884         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2885         {/*.arg_name_=*/"exclusive", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2886         {/*.arg_name_=*/"reverse", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2887   },
2888   /* .returns_ = */ {
2889     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2890                 /*.inplace_input_index_=*/-1},
2891   },
2892   /*.signatures_ =*/ {
2893 
2894   },
2895   /*.indexes_ =*/ {
2896     {"x", 0},
2897     {"axis", 1},
2898     {"exclusive", 2},
2899     {"reverse", 3},
2900   },
2901   /*.func_impl_=*/gCumProdFuncImpl,
2902   /*.enable_dispatch_ =*/false,
2903   /*.is_view_ =*/false,
2904 };
2905 
2906 CumSumFuncImpl gCumSumFuncImpl;
2907 OpDef gCumSum = {
2908   /*.name_=*/"CumSum",
2909   /*.args_=*/ {
2910 
2911         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2912         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2913         {/*.arg_name_=*/"exclusive", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2914         {/*.arg_name_=*/"reverse", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2915   },
2916   /* .returns_ = */ {
2917     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2918                 /*.inplace_input_index_=*/-1},
2919   },
2920   /*.signatures_ =*/ {
2921 
2922   },
2923   /*.indexes_ =*/ {
2924     {"input", 0},
2925     {"axis", 1},
2926     {"exclusive", 2},
2927     {"reverse", 3},
2928   },
2929   /*.func_impl_=*/gCumSumFuncImpl,
2930   /*.enable_dispatch_ =*/false,
2931   /*.is_view_ =*/false,
2932 };
2933 
2934 CummaxFuncImpl gCummaxFuncImpl;
2935 OpDef gCummax = {
2936   /*.name_=*/"Cummax",
2937   /*.args_=*/ {
2938 
2939         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2940         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2941   },
2942   /* .returns_ = */ {
2943     {/*.arg_name_=*/"values", /*.arg_dtype_=*/DT_TENSOR,
2944                 /*.inplace_input_index_=*/-1},
2945     {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR,
2946                 /*.inplace_input_index_=*/-1},
2947   },
2948   /*.signatures_ =*/ {
2949 
2950   },
2951   /*.indexes_ =*/ {
2952     {"input", 0},
2953     {"axis", 1},
2954   },
2955   /*.func_impl_=*/gCummaxFuncImpl,
2956   /*.enable_dispatch_ =*/false,
2957   /*.is_view_ =*/false,
2958 };
2959 
2960 CumminFuncImpl gCumminFuncImpl;
2961 OpDef gCummin = {
2962   /*.name_=*/"Cummin",
2963   /*.args_=*/ {
2964 
2965         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2966         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2967   },
2968   /* .returns_ = */ {
2969     {/*.arg_name_=*/"values", /*.arg_dtype_=*/DT_TENSOR,
2970                 /*.inplace_input_index_=*/-1},
2971     {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR,
2972                 /*.inplace_input_index_=*/-1},
2973   },
2974   /*.signatures_ =*/ {
2975 
2976   },
2977   /*.indexes_ =*/ {
2978     {"input", 0},
2979     {"axis", 1},
2980   },
2981   /*.func_impl_=*/gCumminFuncImpl,
2982   /*.enable_dispatch_ =*/false,
2983   /*.is_view_ =*/false,
2984 };
2985 
2986 CumsumExtFuncImpl gCumsumExtFuncImpl;
2987 OpDef gCumsumExt = {
2988   /*.name_=*/"CumsumExt",
2989   /*.args_=*/ {
2990 
2991         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2992         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
2993         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
2994   },
2995   /* .returns_ = */ {
2996     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
2997                 /*.inplace_input_index_=*/-1},
2998   },
2999   /*.signatures_ =*/ {
3000 
3001   },
3002   /*.indexes_ =*/ {
3003     {"input", 0},
3004     {"dim", 1},
3005     {"dtype", 2},
3006   },
3007   /*.func_impl_=*/gCumsumExtFuncImpl,
3008   /*.enable_dispatch_ =*/true,
3009   /*.is_view_ =*/false,
3010 };
3011 
3012 DCTFuncImpl gDCTFuncImpl;
3013 OpDef gDCT = {
3014   /*.name_=*/"DCT",
3015   /*.args_=*/ {
3016 
3017         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3018         {/*.arg_name_=*/"type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3019         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3020         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3021         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3022         {/*.arg_name_=*/"forward", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3023         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3024   },
3025   /* .returns_ = */ {
3026     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3027                 /*.inplace_input_index_=*/-1},
3028   },
3029   /*.signatures_ =*/ {
3030 
3031   },
3032   /*.indexes_ =*/ {
3033     {"x", 0},
3034     {"type", 1},
3035     {"n", 2},
3036     {"axis", 3},
3037     {"norm", 4},
3038     {"forward", 5},
3039     {"grad", 6},
3040   },
3041   /*.func_impl_=*/gDCTFuncImpl,
3042   /*.enable_dispatch_ =*/false,
3043   /*.is_view_ =*/false,
3044 };
3045 
3046 DecoderKVCacheFuncImpl gDecoderKVCacheFuncImpl;
3047 OpDef gDecoderKVCache = {
3048   /*.name_=*/"DecoderKVCache",
3049   /*.args_=*/ {
3050 
3051         {/*.arg_name_=*/"cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3052         {/*.arg_name_=*/"update", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3053         {/*.arg_name_=*/"valid_seq_len", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3054         {/*.arg_name_=*/"batch_index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3055         {/*.arg_name_=*/"seq_len_axis", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3056         {/*.arg_name_=*/"new_max_seq_len", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3057         {/*.arg_name_=*/"cur_max_seq_len", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3058   },
3059   /* .returns_ = */ {
3060     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
3061                 /*.inplace_input_index_=*/-1},
3062   },
3063   /*.signatures_ =*/ {
3064 
3065   },
3066   /*.indexes_ =*/ {
3067     {"cache", 0},
3068     {"update", 1},
3069     {"valid_seq_len", 2},
3070     {"batch_index", 3},
3071     {"seq_len_axis", 4},
3072     {"new_max_seq_len", 5},
3073     {"cur_max_seq_len", 6},
3074   },
3075   /*.func_impl_=*/gDecoderKVCacheFuncImpl,
3076   /*.enable_dispatch_ =*/false,
3077   /*.is_view_ =*/false,
3078 };
3079 
3080 DenseFuncImpl gDenseFuncImpl;
3081 OpDef gDense = {
3082   /*.name_=*/"Dense",
3083   /*.args_=*/ {
3084 
3085         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3086         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3087         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3088   },
3089   /* .returns_ = */ {
3090     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3091                 /*.inplace_input_index_=*/-1},
3092   },
3093   /*.signatures_ =*/ {
3094 
3095   },
3096   /*.indexes_ =*/ {
3097     {"input", 0},
3098     {"weight", 1},
3099     {"bias", 2},
3100   },
3101   /*.func_impl_=*/gDenseFuncImpl,
3102   /*.enable_dispatch_ =*/true,
3103   /*.is_view_ =*/false,
3104 };
3105 
3106 DiagFuncImpl gDiagFuncImpl;
3107 OpDef gDiag = {
3108   /*.name_=*/"Diag",
3109   /*.args_=*/ {
3110 
3111         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3112   },
3113   /* .returns_ = */ {
3114     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3115                 /*.inplace_input_index_=*/-1},
3116   },
3117   /*.signatures_ =*/ {
3118 
3119   },
3120   /*.indexes_ =*/ {
3121     {"input", 0},
3122   },
3123   /*.func_impl_=*/gDiagFuncImpl,
3124   /*.enable_dispatch_ =*/false,
3125   /*.is_view_ =*/false,
3126 };
3127 
3128 DiagonalFuncImpl gDiagonalFuncImpl;
3129 OpDef gDiagonal = {
3130   /*.name_=*/"Diagonal",
3131   /*.args_=*/ {
3132 
3133         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3134         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3135         {/*.arg_name_=*/"dim1", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3136         {/*.arg_name_=*/"dim2", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3137   },
3138   /* .returns_ = */ {
3139     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3140                 /*.inplace_input_index_=*/-1},
3141   },
3142   /*.signatures_ =*/ {
3143 
3144   },
3145   /*.indexes_ =*/ {
3146     {"input", 0},
3147     {"offset", 1},
3148     {"dim1", 2},
3149     {"dim2", 3},
3150   },
3151   /*.func_impl_=*/gDiagonalFuncImpl,
3152   /*.enable_dispatch_ =*/false,
3153   /*.is_view_ =*/false,
3154 };
3155 
3156 DivFuncImpl gDivFuncImpl;
3157 OpDef gDiv = {
3158   /*.name_=*/"Div",
3159   /*.args_=*/ {
3160 
3161         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
3162         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
3163   },
3164   /* .returns_ = */ {
3165     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3166                 /*.inplace_input_index_=*/-1},
3167   },
3168   /*.signatures_ =*/ {
3169     Signature("x", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
3170      Signature("y", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
3171   },
3172   /*.indexes_ =*/ {
3173     {"x", 0},
3174     {"y", 1},
3175   },
3176   /*.func_impl_=*/gDivFuncImpl,
3177   /*.enable_dispatch_ =*/true,
3178   /*.is_view_ =*/false,
3179 };
3180 
3181 DivModFuncImpl gDivModFuncImpl;
3182 OpDef gDivMod = {
3183   /*.name_=*/"DivMod",
3184   /*.args_=*/ {
3185 
3186         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
3187         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
3188         {/*.arg_name_=*/"rounding_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3189   },
3190   /* .returns_ = */ {
3191     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3192                 /*.inplace_input_index_=*/-1},
3193   },
3194   /*.signatures_ =*/ {
3195     Signature("x", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
3196      Signature("y", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
3197      Signature("rounding_mode", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
3198   },
3199   /*.indexes_ =*/ {
3200     {"x", 0},
3201     {"y", 1},
3202     {"rounding_mode", 2},
3203   },
3204   /*.func_impl_=*/gDivModFuncImpl,
3205   /*.enable_dispatch_ =*/true,
3206   /*.is_view_ =*/false,
3207 };
3208 
3209 DotFuncImpl gDotFuncImpl;
3210 OpDef gDot = {
3211   /*.name_=*/"Dot",
3212   /*.args_=*/ {
3213 
3214         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3215         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3216   },
3217   /* .returns_ = */ {
3218     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3219                 /*.inplace_input_index_=*/-1},
3220   },
3221   /*.signatures_ =*/ {
3222 
3223   },
3224   /*.indexes_ =*/ {
3225     {"input", 0},
3226     {"other", 1},
3227   },
3228   /*.func_impl_=*/gDotFuncImpl,
3229   /*.enable_dispatch_ =*/true,
3230   /*.is_view_ =*/false,
3231 };
3232 
3233 DropoutDoMaskExtFuncImpl gDropoutDoMaskExtFuncImpl;
3234 OpDef gDropoutDoMaskExt = {
3235   /*.name_=*/"DropoutDoMaskExt",
3236   /*.args_=*/ {
3237 
3238         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3239         {/*.arg_name_=*/"mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3240         {/*.arg_name_=*/"p", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3241   },
3242   /* .returns_ = */ {
3243     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3244                 /*.inplace_input_index_=*/-1},
3245   },
3246   /*.signatures_ =*/ {
3247 
3248   },
3249   /*.indexes_ =*/ {
3250     {"input", 0},
3251     {"mask", 1},
3252     {"p", 2},
3253   },
3254   /*.func_impl_=*/gDropoutDoMaskExtFuncImpl,
3255   /*.enable_dispatch_ =*/true,
3256   /*.is_view_ =*/false,
3257 };
3258 
3259 DropoutExtFuncImpl gDropoutExtFuncImpl;
3260 OpDef gDropoutExt = {
3261   /*.name_=*/"DropoutExt",
3262   /*.args_=*/ {
3263 
3264         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3265         {/*.arg_name_=*/"p", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3266         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3267         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3268   },
3269   /* .returns_ = */ {
3270     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3271                 /*.inplace_input_index_=*/-1},
3272     {/*.arg_name_=*/"mask", /*.arg_dtype_=*/DT_TENSOR,
3273                 /*.inplace_input_index_=*/-1},
3274   },
3275   /*.signatures_ =*/ {
3276 
3277   },
3278   /*.indexes_ =*/ {
3279     {"input", 0},
3280     {"p", 1},
3281     {"seed", 2},
3282     {"offset", 3},
3283   },
3284   /*.func_impl_=*/gDropoutExtFuncImpl,
3285   /*.enable_dispatch_ =*/true,
3286   /*.is_view_ =*/false,
3287 };
3288 
3289 DropoutGenMaskExtFuncImpl gDropoutGenMaskExtFuncImpl;
3290 OpDef gDropoutGenMaskExt = {
3291   /*.name_=*/"DropoutGenMaskExt",
3292   /*.args_=*/ {
3293 
3294         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3295         {/*.arg_name_=*/"p", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3296         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
3297         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
3298         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3299   },
3300   /* .returns_ = */ {
3301     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3302                 /*.inplace_input_index_=*/-1},
3303   },
3304   /*.signatures_ =*/ {
3305 
3306   },
3307   /*.indexes_ =*/ {
3308     {"shape", 0},
3309     {"p", 1},
3310     {"seed", 2},
3311     {"offset", 3},
3312     {"dtype", 4},
3313   },
3314   /*.func_impl_=*/gDropoutGenMaskExtFuncImpl,
3315   /*.enable_dispatch_ =*/true,
3316   /*.is_view_ =*/false,
3317 };
3318 
3319 DropoutGradExtFuncImpl gDropoutGradExtFuncImpl;
3320 OpDef gDropoutGradExt = {
3321   /*.name_=*/"DropoutGradExt",
3322   /*.args_=*/ {
3323 
3324         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3325         {/*.arg_name_=*/"mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3326         {/*.arg_name_=*/"p", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3327   },
3328   /* .returns_ = */ {
3329     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3330                 /*.inplace_input_index_=*/-1},
3331   },
3332   /*.signatures_ =*/ {
3333 
3334   },
3335   /*.indexes_ =*/ {
3336     {"input", 0},
3337     {"mask", 1},
3338     {"p", 2},
3339   },
3340   /*.func_impl_=*/gDropoutGradExtFuncImpl,
3341   /*.enable_dispatch_ =*/true,
3342   /*.is_view_ =*/false,
3343 };
3344 
3345 DropoutFuncImpl gDropoutFuncImpl;
3346 OpDef gDropout = {
3347   /*.name_=*/"Dropout",
3348   /*.args_=*/ {
3349 
3350         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3351         {/*.arg_name_=*/"keep_prob", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3352         {/*.arg_name_=*/"Seed0", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3353         {/*.arg_name_=*/"Seed1", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3354   },
3355   /* .returns_ = */ {
3356     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3357                 /*.inplace_input_index_=*/-1},
3358     {/*.arg_name_=*/"mask", /*.arg_dtype_=*/DT_TENSOR,
3359                 /*.inplace_input_index_=*/-1},
3360   },
3361   /*.signatures_ =*/ {
3362 
3363   },
3364   /*.indexes_ =*/ {
3365     {"x", 0},
3366     {"keep_prob", 1},
3367     {"Seed0", 2},
3368     {"Seed1", 3},
3369   },
3370   /*.func_impl_=*/gDropoutFuncImpl,
3371   /*.enable_dispatch_ =*/false,
3372   /*.is_view_ =*/false,
3373 };
3374 
3375 EigFuncImpl gEigFuncImpl;
3376 OpDef gEig = {
3377   /*.name_=*/"Eig",
3378   /*.args_=*/ {
3379 
3380         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3381         {/*.arg_name_=*/"compute_v", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3382   },
3383   /* .returns_ = */ {
3384     {/*.arg_name_=*/"eigen_values", /*.arg_dtype_=*/DT_TENSOR,
3385                 /*.inplace_input_index_=*/-1},
3386     {/*.arg_name_=*/"eigen_vectors", /*.arg_dtype_=*/DT_TENSOR,
3387                 /*.inplace_input_index_=*/-1},
3388   },
3389   /*.signatures_ =*/ {
3390 
3391   },
3392   /*.indexes_ =*/ {
3393     {"x", 0},
3394     {"compute_v", 1},
3395   },
3396   /*.func_impl_=*/gEigFuncImpl,
3397   /*.enable_dispatch_ =*/false,
3398   /*.is_view_ =*/false,
3399 };
3400 
3401 EluExtFuncImpl gEluExtFuncImpl;
3402 OpDef gEluExt = {
3403   /*.name_=*/"EluExt",
3404   /*.args_=*/ {
3405 
3406         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3407         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3408   },
3409   /* .returns_ = */ {
3410     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3411                 /*.inplace_input_index_=*/-1},
3412   },
3413   /*.signatures_ =*/ {
3414 
3415   },
3416   /*.indexes_ =*/ {
3417     {"input", 0},
3418     {"alpha", 1},
3419   },
3420   /*.func_impl_=*/gEluExtFuncImpl,
3421   /*.enable_dispatch_ =*/true,
3422   /*.is_view_ =*/false,
3423 };
3424 
3425 EluGradExtFuncImpl gEluGradExtFuncImpl;
3426 OpDef gEluGradExt = {
3427   /*.name_=*/"EluGradExt",
3428   /*.args_=*/ {
3429 
3430         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3431         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3432         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3433   },
3434   /* .returns_ = */ {
3435     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
3436                 /*.inplace_input_index_=*/-1},
3437   },
3438   /*.signatures_ =*/ {
3439 
3440   },
3441   /*.indexes_ =*/ {
3442     {"dout", 0},
3443     {"x", 1},
3444     {"alpha", 2},
3445   },
3446   /*.func_impl_=*/gEluGradExtFuncImpl,
3447   /*.enable_dispatch_ =*/true,
3448   /*.is_view_ =*/false,
3449 };
3450 
3451 EluGradFuncImpl gEluGradFuncImpl;
3452 OpDef gEluGrad = {
3453   /*.name_=*/"EluGrad",
3454   /*.args_=*/ {
3455 
3456         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3457         {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3458   },
3459   /* .returns_ = */ {
3460     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
3461                 /*.inplace_input_index_=*/-1},
3462   },
3463   /*.signatures_ =*/ {
3464 
3465   },
3466   /*.indexes_ =*/ {
3467     {"dout", 0},
3468     {"out", 1},
3469   },
3470   /*.func_impl_=*/gEluGradFuncImpl,
3471   /*.enable_dispatch_ =*/false,
3472   /*.is_view_ =*/false,
3473 };
3474 
3475 EluFuncImpl gEluFuncImpl;
3476 OpDef gElu = {
3477   /*.name_=*/"Elu",
3478   /*.args_=*/ {
3479 
3480         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3481         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3482   },
3483   /* .returns_ = */ {
3484     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3485                 /*.inplace_input_index_=*/-1},
3486   },
3487   /*.signatures_ =*/ {
3488 
3489   },
3490   /*.indexes_ =*/ {
3491     {"input_x", 0},
3492     {"alpha", 1},
3493   },
3494   /*.func_impl_=*/gEluFuncImpl,
3495   /*.enable_dispatch_ =*/false,
3496   /*.is_view_ =*/false,
3497 };
3498 
3499 EmbeddingDenseBackwardFuncImpl gEmbeddingDenseBackwardFuncImpl;
3500 OpDef gEmbeddingDenseBackward = {
3501   /*.name_=*/"EmbeddingDenseBackward",
3502   /*.args_=*/ {
3503 
3504         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3505         {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3506         {/*.arg_name_=*/"num_weights", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3507         {/*.arg_name_=*/"padding_idx", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3508         {/*.arg_name_=*/"scale_grad_by_freq", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3509   },
3510   /* .returns_ = */ {
3511     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3512                 /*.inplace_input_index_=*/-1},
3513   },
3514   /*.signatures_ =*/ {
3515 
3516   },
3517   /*.indexes_ =*/ {
3518     {"grad", 0},
3519     {"indices", 1},
3520     {"num_weights", 2},
3521     {"padding_idx", 3},
3522     {"scale_grad_by_freq", 4},
3523   },
3524   /*.func_impl_=*/gEmbeddingDenseBackwardFuncImpl,
3525   /*.enable_dispatch_ =*/true,
3526   /*.is_view_ =*/false,
3527 };
3528 
3529 EmbeddingFuncImpl gEmbeddingFuncImpl;
3530 OpDef gEmbedding = {
3531   /*.name_=*/"Embedding",
3532   /*.args_=*/ {
3533 
3534         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3535         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3536         {/*.arg_name_=*/"padding_idx", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3537         {/*.arg_name_=*/"max_norm", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3538         {/*.arg_name_=*/"norm_type", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3539         {/*.arg_name_=*/"scale_grad_by_freq", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3540   },
3541   /* .returns_ = */ {
3542     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
3543                 /*.inplace_input_index_=*/-1},
3544   },
3545   /*.signatures_ =*/ {
3546     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDTypeEmptyDefaultValue),
3547      Signature("weight", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDTypeEmptyDefaultValue),
3548      Signature("padding_idx", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDTypeEmptyDefaultValue),
3549      Signature("max_norm", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDTypeEmptyDefaultValue),
3550      Signature("norm_type", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDTypeEmptyDefaultValue),
3551      Signature("scale_grad_by_freq", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDTypeEmptyDefaultValue),
3552   },
3553   /*.indexes_ =*/ {
3554     {"input", 0},
3555     {"weight", 1},
3556     {"padding_idx", 2},
3557     {"max_norm", 3},
3558     {"norm_type", 4},
3559     {"scale_grad_by_freq", 5},
3560   },
3561   /*.func_impl_=*/gEmbeddingFuncImpl,
3562   /*.enable_dispatch_ =*/true,
3563   /*.is_view_ =*/false,
3564 };
3565 
3566 EqualFuncImpl gEqualFuncImpl;
3567 OpDef gEqual = {
3568   /*.name_=*/"Equal",
3569   /*.args_=*/ {
3570 
3571         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
3572         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
3573   },
3574   /* .returns_ = */ {
3575     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3576                 /*.inplace_input_index_=*/-1},
3577   },
3578   /*.signatures_ =*/ {
3579     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
3580      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
3581   },
3582   /*.indexes_ =*/ {
3583     {"input", 0},
3584     {"other", 1},
3585   },
3586   /*.func_impl_=*/gEqualFuncImpl,
3587   /*.enable_dispatch_ =*/true,
3588   /*.is_view_ =*/false,
3589 };
3590 
3591 ErfFuncImpl gErfFuncImpl;
3592 OpDef gErf = {
3593   /*.name_=*/"Erf",
3594   /*.args_=*/ {
3595 
3596         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3597   },
3598   /* .returns_ = */ {
3599     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3600                 /*.inplace_input_index_=*/-1},
3601   },
3602   /*.signatures_ =*/ {
3603 
3604   },
3605   /*.indexes_ =*/ {
3606     {"input", 0},
3607   },
3608   /*.func_impl_=*/gErfFuncImpl,
3609   /*.enable_dispatch_ =*/true,
3610   /*.is_view_ =*/false,
3611 };
3612 
3613 ErfcFuncImpl gErfcFuncImpl;
3614 OpDef gErfc = {
3615   /*.name_=*/"Erfc",
3616   /*.args_=*/ {
3617 
3618         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3619   },
3620   /* .returns_ = */ {
3621     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3622                 /*.inplace_input_index_=*/-1},
3623   },
3624   /*.signatures_ =*/ {
3625 
3626   },
3627   /*.indexes_ =*/ {
3628     {"input", 0},
3629   },
3630   /*.func_impl_=*/gErfcFuncImpl,
3631   /*.enable_dispatch_ =*/false,
3632   /*.is_view_ =*/false,
3633 };
3634 
3635 ErfinvFuncImpl gErfinvFuncImpl;
3636 OpDef gErfinv = {
3637   /*.name_=*/"Erfinv",
3638   /*.args_=*/ {
3639 
3640         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3641   },
3642   /* .returns_ = */ {
3643     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3644                 /*.inplace_input_index_=*/-1},
3645   },
3646   /*.signatures_ =*/ {
3647 
3648   },
3649   /*.indexes_ =*/ {
3650     {"input", 0},
3651   },
3652   /*.func_impl_=*/gErfinvFuncImpl,
3653   /*.enable_dispatch_ =*/true,
3654   /*.is_view_ =*/false,
3655 };
3656 
3657 ExpFuncImpl gExpFuncImpl;
3658 OpDef gExp = {
3659   /*.name_=*/"Exp",
3660   /*.args_=*/ {
3661 
3662         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3663   },
3664   /* .returns_ = */ {
3665     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3666                 /*.inplace_input_index_=*/-1},
3667   },
3668   /*.signatures_ =*/ {
3669 
3670   },
3671   /*.indexes_ =*/ {
3672     {"input", 0},
3673   },
3674   /*.func_impl_=*/gExpFuncImpl,
3675   /*.enable_dispatch_ =*/true,
3676   /*.is_view_ =*/false,
3677 };
3678 
3679 ExpandDimsFuncImpl gExpandDimsFuncImpl;
3680 OpDef gExpandDims = {
3681   /*.name_=*/"ExpandDims",
3682   /*.args_=*/ {
3683 
3684         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3685         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
3686   },
3687   /* .returns_ = */ {
3688     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3689                 /*.inplace_input_index_=*/-1},
3690   },
3691   /*.signatures_ =*/ {
3692 
3693   },
3694   /*.indexes_ =*/ {
3695     {"input_x", 0},
3696     {"axis", 1},
3697   },
3698   /*.func_impl_=*/gExpandDimsFuncImpl,
3699   /*.enable_dispatch_ =*/false,
3700   /*.is_view_ =*/false,
3701 };
3702 
3703 Expm1FuncImpl gExpm1FuncImpl;
3704 OpDef gExpm1 = {
3705   /*.name_=*/"Expm1",
3706   /*.args_=*/ {
3707 
3708         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3709   },
3710   /* .returns_ = */ {
3711     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3712                 /*.inplace_input_index_=*/-1},
3713   },
3714   /*.signatures_ =*/ {
3715 
3716   },
3717   /*.indexes_ =*/ {
3718     {"input", 0},
3719   },
3720   /*.func_impl_=*/gExpm1FuncImpl,
3721   /*.enable_dispatch_ =*/false,
3722   /*.is_view_ =*/false,
3723 };
3724 
3725 ExtractImagePatchesFuncImpl gExtractImagePatchesFuncImpl;
3726 OpDef gExtractImagePatches = {
3727   /*.name_=*/"ExtractImagePatches",
3728   /*.args_=*/ {
3729 
3730         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3731         {/*.arg_name_=*/"ksizes", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_kernel_size", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
3732         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
3733         {/*.arg_name_=*/"rates", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_rates", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
3734         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3735   },
3736   /* .returns_ = */ {
3737     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3738                 /*.inplace_input_index_=*/-1},
3739   },
3740   /*.signatures_ =*/ {
3741 
3742   },
3743   /*.indexes_ =*/ {
3744     {"input_x", 0},
3745     {"ksizes", 1},
3746     {"strides", 2},
3747     {"rates", 3},
3748     {"padding", 4},
3749   },
3750   /*.func_impl_=*/gExtractImagePatchesFuncImpl,
3751   /*.enable_dispatch_ =*/false,
3752   /*.is_view_ =*/false,
3753 };
3754 
3755 EyeFuncImpl gEyeFuncImpl;
3756 OpDef gEye = {
3757   /*.name_=*/"Eye",
3758   /*.args_=*/ {
3759 
3760         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3761         {/*.arg_name_=*/"m", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3762         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3763   },
3764   /* .returns_ = */ {
3765     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3766                 /*.inplace_input_index_=*/-1},
3767   },
3768   /*.signatures_ =*/ {
3769 
3770   },
3771   /*.indexes_ =*/ {
3772     {"n", 0},
3773     {"m", 1},
3774     {"dtype", 2},
3775   },
3776   /*.func_impl_=*/gEyeFuncImpl,
3777   /*.enable_dispatch_ =*/true,
3778   /*.is_view_ =*/false,
3779 };
3780 
3781 FastGeLUGradFuncImpl gFastGeLUGradFuncImpl;
3782 OpDef gFastGeLUGrad = {
3783   /*.name_=*/"FastGeLUGrad",
3784   /*.args_=*/ {
3785 
3786         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3787         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3788   },
3789   /* .returns_ = */ {
3790     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3791                 /*.inplace_input_index_=*/-1},
3792   },
3793   /*.signatures_ =*/ {
3794 
3795   },
3796   /*.indexes_ =*/ {
3797     {"dy", 0},
3798     {"x", 1},
3799   },
3800   /*.func_impl_=*/gFastGeLUGradFuncImpl,
3801   /*.enable_dispatch_ =*/false,
3802   /*.is_view_ =*/false,
3803 };
3804 
3805 FastGeLUFuncImpl gFastGeLUFuncImpl;
3806 OpDef gFastGeLU = {
3807   /*.name_=*/"FastGeLU",
3808   /*.args_=*/ {
3809 
3810         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3811   },
3812   /* .returns_ = */ {
3813     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3814                 /*.inplace_input_index_=*/-1},
3815   },
3816   /*.signatures_ =*/ {
3817 
3818   },
3819   /*.indexes_ =*/ {
3820     {"x", 0},
3821   },
3822   /*.func_impl_=*/gFastGeLUFuncImpl,
3823   /*.enable_dispatch_ =*/false,
3824   /*.is_view_ =*/false,
3825 };
3826 
3827 FFNExtFuncImpl gFFNExtFuncImpl;
3828 OpDef gFFNExt = {
3829   /*.name_=*/"FFNExt",
3830   /*.args_=*/ {
3831 
3832         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3833         {/*.arg_name_=*/"weight1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3834         {/*.arg_name_=*/"weight2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3835         {/*.arg_name_=*/"expertTokens", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/true},
3836         {/*.arg_name_=*/"bias1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3837         {/*.arg_name_=*/"bias2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3838         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3839         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3840         {/*.arg_name_=*/"deqScale1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3841         {/*.arg_name_=*/"deqScale2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3842         {/*.arg_name_=*/"antiquant_scale1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3843         {/*.arg_name_=*/"antiquant_scale2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3844         {/*.arg_name_=*/"antiquant_offset1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3845         {/*.arg_name_=*/"antiquant_offset2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3846         {/*.arg_name_=*/"activation", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3847         {/*.arg_name_=*/"inner_precise", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3848   },
3849   /* .returns_ = */ {
3850     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
3851                 /*.inplace_input_index_=*/-1},
3852   },
3853   /*.signatures_ =*/ {
3854 
3855   },
3856   /*.indexes_ =*/ {
3857     {"x", 0},
3858     {"weight1", 1},
3859     {"weight2", 2},
3860     {"expertTokens", 3},
3861     {"bias1", 4},
3862     {"bias2", 5},
3863     {"scale", 6},
3864     {"offset", 7},
3865     {"deqScale1", 8},
3866     {"deqScale2", 9},
3867     {"antiquant_scale1", 10},
3868     {"antiquant_scale2", 11},
3869     {"antiquant_offset1", 12},
3870     {"antiquant_offset2", 13},
3871     {"activation", 14},
3872     {"inner_precise", 15},
3873   },
3874   /*.func_impl_=*/gFFNExtFuncImpl,
3875   /*.enable_dispatch_ =*/true,
3876   /*.is_view_ =*/false,
3877 };
3878 
3879 FFT2FuncImpl gFFT2FuncImpl;
3880 OpDef gFFT2 = {
3881   /*.name_=*/"FFT2",
3882   /*.args_=*/ {
3883 
3884         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3885         {/*.arg_name_=*/"s", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
3886         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
3887         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3888   },
3889   /* .returns_ = */ {
3890     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3891                 /*.inplace_input_index_=*/-1},
3892   },
3893   /*.signatures_ =*/ {
3894 
3895   },
3896   /*.indexes_ =*/ {
3897     {"input", 0},
3898     {"s", 1},
3899     {"dim", 2},
3900     {"norm", 3},
3901   },
3902   /*.func_impl_=*/gFFT2FuncImpl,
3903   /*.enable_dispatch_ =*/false,
3904   /*.is_view_ =*/false,
3905 };
3906 
3907 FFTFuncImpl gFFTFuncImpl;
3908 OpDef gFFT = {
3909   /*.name_=*/"FFT",
3910   /*.args_=*/ {
3911 
3912         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3913         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3914         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3915         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
3916   },
3917   /* .returns_ = */ {
3918     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3919                 /*.inplace_input_index_=*/-1},
3920   },
3921   /*.signatures_ =*/ {
3922 
3923   },
3924   /*.indexes_ =*/ {
3925     {"input", 0},
3926     {"n", 1},
3927     {"dim", 2},
3928     {"norm", 3},
3929   },
3930   /*.func_impl_=*/gFFTFuncImpl,
3931   /*.enable_dispatch_ =*/false,
3932   /*.is_view_ =*/false,
3933 };
3934 
3935 FFTShapeCopyFuncImpl gFFTShapeCopyFuncImpl;
3936 OpDef gFFTShapeCopy = {
3937   /*.name_=*/"FFTShapeCopy",
3938   /*.args_=*/ {
3939 
3940         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3941         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3942   },
3943   /* .returns_ = */ {
3944     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3945                 /*.inplace_input_index_=*/-1},
3946   },
3947   /*.signatures_ =*/ {
3948 
3949   },
3950   /*.indexes_ =*/ {
3951     {"dout", 0},
3952     {"shape", 1},
3953   },
3954   /*.func_impl_=*/gFFTShapeCopyFuncImpl,
3955   /*.enable_dispatch_ =*/false,
3956   /*.is_view_ =*/false,
3957 };
3958 
3959 FFTWithSizeFuncImpl gFFTWithSizeFuncImpl;
3960 OpDef gFFTWithSize = {
3961   /*.name_=*/"FFTWithSize",
3962   /*.args_=*/ {
3963 
3964         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3965         {/*.arg_name_=*/"signal_ndim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3966         {/*.arg_name_=*/"inverse", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3967         {/*.arg_name_=*/"real", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3968         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3969         {/*.arg_name_=*/"onesided", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3970         {/*.arg_name_=*/"signal_sizes", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3971   },
3972   /* .returns_ = */ {
3973     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
3974                 /*.inplace_input_index_=*/-1},
3975   },
3976   /*.signatures_ =*/ {
3977 
3978   },
3979   /*.indexes_ =*/ {
3980     {"x", 0},
3981     {"signal_ndim", 1},
3982     {"inverse", 2},
3983     {"real", 3},
3984     {"norm", 4},
3985     {"onesided", 5},
3986     {"signal_sizes", 6},
3987   },
3988   /*.func_impl_=*/gFFTWithSizeFuncImpl,
3989   /*.enable_dispatch_ =*/false,
3990   /*.is_view_ =*/false,
3991 };
3992 
3993 FFTNFuncImpl gFFTNFuncImpl;
3994 OpDef gFFTN = {
3995   /*.name_=*/"FFTN",
3996   /*.args_=*/ {
3997 
3998         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
3999         {/*.arg_name_=*/"s", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
4000         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
4001         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4002   },
4003   /* .returns_ = */ {
4004     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4005                 /*.inplace_input_index_=*/-1},
4006   },
4007   /*.signatures_ =*/ {
4008 
4009   },
4010   /*.indexes_ =*/ {
4011     {"input", 0},
4012     {"s", 1},
4013     {"dim", 2},
4014     {"norm", 3},
4015   },
4016   /*.func_impl_=*/gFFTNFuncImpl,
4017   /*.enable_dispatch_ =*/false,
4018   /*.is_view_ =*/false,
4019 };
4020 
4021 FFTShiftFuncImpl gFFTShiftFuncImpl;
4022 OpDef gFFTShift = {
4023   /*.name_=*/"FFTShift",
4024   /*.args_=*/ {
4025 
4026         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4027         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/true},
4028   },
4029   /* .returns_ = */ {
4030     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4031                 /*.inplace_input_index_=*/-1},
4032   },
4033   /*.signatures_ =*/ {
4034 
4035   },
4036   /*.indexes_ =*/ {
4037     {"input", 0},
4038     {"dim", 1},
4039   },
4040   /*.func_impl_=*/gFFTShiftFuncImpl,
4041   /*.enable_dispatch_ =*/false,
4042   /*.is_view_ =*/false,
4043 };
4044 
4045 FillScalarFuncImpl gFillScalarFuncImpl;
4046 OpDef gFillScalar = {
4047   /*.name_=*/"FillScalar",
4048   /*.args_=*/ {
4049 
4050         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
4051         {/*.arg_name_=*/"fill_value", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4052         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4053   },
4054   /* .returns_ = */ {
4055     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
4056                 /*.inplace_input_index_=*/-1},
4057   },
4058   /*.signatures_ =*/ {
4059 
4060   },
4061   /*.indexes_ =*/ {
4062     {"size", 0},
4063     {"fill_value", 1},
4064     {"dtype", 2},
4065   },
4066   /*.func_impl_=*/gFillScalarFuncImpl,
4067   /*.enable_dispatch_ =*/true,
4068   /*.is_view_ =*/false,
4069 };
4070 
4071 FillTensorFuncImpl gFillTensorFuncImpl;
4072 OpDef gFillTensor = {
4073   /*.name_=*/"FillTensor",
4074   /*.args_=*/ {
4075 
4076         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
4077         {/*.arg_name_=*/"fill_value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4078         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4079   },
4080   /* .returns_ = */ {
4081     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
4082                 /*.inplace_input_index_=*/-1},
4083   },
4084   /*.signatures_ =*/ {
4085 
4086   },
4087   /*.indexes_ =*/ {
4088     {"size", 0},
4089     {"fill_value", 1},
4090     {"dtype", 2},
4091   },
4092   /*.func_impl_=*/gFillTensorFuncImpl,
4093   /*.enable_dispatch_ =*/true,
4094   /*.is_view_ =*/false,
4095 };
4096 
4097 FlashAttentionScoreGradFuncImpl gFlashAttentionScoreGradFuncImpl;
4098 OpDef gFlashAttentionScoreGrad = {
4099   /*.name_=*/"FlashAttentionScoreGrad",
4100   /*.args_=*/ {
4101 
4102         {/*.arg_name_=*/"query", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4103         {/*.arg_name_=*/"key", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4104         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4105         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4106         {/*.arg_name_=*/"pse_shift", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4107         {/*.arg_name_=*/"drop_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4108         {/*.arg_name_=*/"padding_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4109         {/*.arg_name_=*/"atten_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4110         {/*.arg_name_=*/"softmax_max", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4111         {/*.arg_name_=*/"softmax_sum", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4112         {/*.arg_name_=*/"softmax_in", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4113         {/*.arg_name_=*/"attention_in", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4114         {/*.arg_name_=*/"prefix", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
4115         {/*.arg_name_=*/"actual_seq_qlen", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
4116         {/*.arg_name_=*/"actual_seq_kvlen", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
4117         {/*.arg_name_=*/"head_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4118         {/*.arg_name_=*/"keep_prob", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4119         {/*.arg_name_=*/"scale_value", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4120         {/*.arg_name_=*/"pre_tokens", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4121         {/*.arg_name_=*/"next_tokens", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4122         {/*.arg_name_=*/"inner_precise", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4123         {/*.arg_name_=*/"input_layout", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4124         {/*.arg_name_=*/"sparse_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4125   },
4126   /* .returns_ = */ {
4127     {/*.arg_name_=*/"dq", /*.arg_dtype_=*/DT_TENSOR,
4128                 /*.inplace_input_index_=*/-1},
4129     {/*.arg_name_=*/"dk", /*.arg_dtype_=*/DT_TENSOR,
4130                 /*.inplace_input_index_=*/-1},
4131     {/*.arg_name_=*/"dv", /*.arg_dtype_=*/DT_TENSOR,
4132                 /*.inplace_input_index_=*/-1},
4133     {/*.arg_name_=*/"dpse", /*.arg_dtype_=*/DT_TENSOR,
4134                 /*.inplace_input_index_=*/-1},
4135   },
4136   /*.signatures_ =*/ {
4137 
4138   },
4139   /*.indexes_ =*/ {
4140     {"query", 0},
4141     {"key", 1},
4142     {"value", 2},
4143     {"dy", 3},
4144     {"pse_shift", 4},
4145     {"drop_mask", 5},
4146     {"padding_mask", 6},
4147     {"atten_mask", 7},
4148     {"softmax_max", 8},
4149     {"softmax_sum", 9},
4150     {"softmax_in", 10},
4151     {"attention_in", 11},
4152     {"prefix", 12},
4153     {"actual_seq_qlen", 13},
4154     {"actual_seq_kvlen", 14},
4155     {"head_num", 15},
4156     {"keep_prob", 16},
4157     {"scale_value", 17},
4158     {"pre_tokens", 18},
4159     {"next_tokens", 19},
4160     {"inner_precise", 20},
4161     {"input_layout", 21},
4162     {"sparse_mode", 22},
4163   },
4164   /*.func_impl_=*/gFlashAttentionScoreGradFuncImpl,
4165   /*.enable_dispatch_ =*/true,
4166   /*.is_view_ =*/false,
4167 };
4168 
4169 FlashAttentionScoreFuncImpl gFlashAttentionScoreFuncImpl;
4170 OpDef gFlashAttentionScore = {
4171   /*.name_=*/"FlashAttentionScore",
4172   /*.args_=*/ {
4173 
4174         {/*.arg_name_=*/"query", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4175         {/*.arg_name_=*/"key", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4176         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4177         {/*.arg_name_=*/"real_shift", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4178         {/*.arg_name_=*/"drop_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4179         {/*.arg_name_=*/"padding_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4180         {/*.arg_name_=*/"attn_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4181         {/*.arg_name_=*/"prefix", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
4182         {/*.arg_name_=*/"actual_seq_qlen", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
4183         {/*.arg_name_=*/"actual_seq_kvlen", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
4184         {/*.arg_name_=*/"head_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4185         {/*.arg_name_=*/"keep_prob", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4186         {/*.arg_name_=*/"scale_value", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4187         {/*.arg_name_=*/"pre_tokens", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4188         {/*.arg_name_=*/"next_tokens", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4189         {/*.arg_name_=*/"inner_precise", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4190         {/*.arg_name_=*/"input_layout", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4191         {/*.arg_name_=*/"sparse_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4192   },
4193   /* .returns_ = */ {
4194     {/*.arg_name_=*/"softmax_max", /*.arg_dtype_=*/DT_TENSOR,
4195                 /*.inplace_input_index_=*/-1},
4196     {/*.arg_name_=*/"softmax_sum", /*.arg_dtype_=*/DT_TENSOR,
4197                 /*.inplace_input_index_=*/-1},
4198     {/*.arg_name_=*/"softmax_out", /*.arg_dtype_=*/DT_TENSOR,
4199                 /*.inplace_input_index_=*/-1},
4200     {/*.arg_name_=*/"attention_out", /*.arg_dtype_=*/DT_TENSOR,
4201                 /*.inplace_input_index_=*/-1},
4202   },
4203   /*.signatures_ =*/ {
4204 
4205   },
4206   /*.indexes_ =*/ {
4207     {"query", 0},
4208     {"key", 1},
4209     {"value", 2},
4210     {"real_shift", 3},
4211     {"drop_mask", 4},
4212     {"padding_mask", 5},
4213     {"attn_mask", 6},
4214     {"prefix", 7},
4215     {"actual_seq_qlen", 8},
4216     {"actual_seq_kvlen", 9},
4217     {"head_num", 10},
4218     {"keep_prob", 11},
4219     {"scale_value", 12},
4220     {"pre_tokens", 13},
4221     {"next_tokens", 14},
4222     {"inner_precise", 15},
4223     {"input_layout", 16},
4224     {"sparse_mode", 17},
4225   },
4226   /*.func_impl_=*/gFlashAttentionScoreFuncImpl,
4227   /*.enable_dispatch_ =*/true,
4228   /*.is_view_ =*/false,
4229 };
4230 
4231 FlattenExtFuncImpl gFlattenExtFuncImpl;
4232 OpDef gFlattenExt = {
4233   /*.name_=*/"FlattenExt",
4234   /*.args_=*/ {
4235 
4236         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4237         {/*.arg_name_=*/"start_dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4238         {/*.arg_name_=*/"end_dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4239   },
4240   /* .returns_ = */ {
4241     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4242                 /*.inplace_input_index_=*/-1},
4243   },
4244   /*.signatures_ =*/ {
4245 
4246   },
4247   /*.indexes_ =*/ {
4248     {"input", 0},
4249     {"start_dim", 1},
4250     {"end_dim", 2},
4251   },
4252   /*.func_impl_=*/gFlattenExtFuncImpl,
4253   /*.enable_dispatch_ =*/true,
4254   /*.is_view_ =*/false,
4255 };
4256 
4257 FlattenFuncImpl gFlattenFuncImpl;
4258 OpDef gFlatten = {
4259   /*.name_=*/"Flatten",
4260   /*.args_=*/ {
4261 
4262         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4263   },
4264   /* .returns_ = */ {
4265     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4266                 /*.inplace_input_index_=*/-1},
4267   },
4268   /*.signatures_ =*/ {
4269 
4270   },
4271   /*.indexes_ =*/ {
4272     {"input_x", 0},
4273   },
4274   /*.func_impl_=*/gFlattenFuncImpl,
4275   /*.enable_dispatch_ =*/false,
4276   /*.is_view_ =*/false,
4277 };
4278 
4279 FloorDivFuncImpl gFloorDivFuncImpl;
4280 OpDef gFloorDiv = {
4281   /*.name_=*/"FloorDiv",
4282   /*.args_=*/ {
4283 
4284         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4285         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4286   },
4287   /* .returns_ = */ {
4288     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4289                 /*.inplace_input_index_=*/-1},
4290   },
4291   /*.signatures_ =*/ {
4292     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4293      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4294   },
4295   /*.indexes_ =*/ {
4296     {"input", 0},
4297     {"other", 1},
4298   },
4299   /*.func_impl_=*/gFloorDivFuncImpl,
4300   /*.enable_dispatch_ =*/false,
4301   /*.is_view_ =*/false,
4302 };
4303 
4304 FloorModFuncImpl gFloorModFuncImpl;
4305 OpDef gFloorMod = {
4306   /*.name_=*/"FloorMod",
4307   /*.args_=*/ {
4308 
4309         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4310         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4311   },
4312   /* .returns_ = */ {
4313     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4314                 /*.inplace_input_index_=*/-1},
4315   },
4316   /*.signatures_ =*/ {
4317     Signature("x", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4318      Signature("y", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4319   },
4320   /*.indexes_ =*/ {
4321     {"x", 0},
4322     {"y", 1},
4323   },
4324   /*.func_impl_=*/gFloorModFuncImpl,
4325   /*.enable_dispatch_ =*/false,
4326   /*.is_view_ =*/false,
4327 };
4328 
4329 FloorFuncImpl gFloorFuncImpl;
4330 OpDef gFloor = {
4331   /*.name_=*/"Floor",
4332   /*.args_=*/ {
4333 
4334         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4335   },
4336   /* .returns_ = */ {
4337     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4338                 /*.inplace_input_index_=*/-1},
4339   },
4340   /*.signatures_ =*/ {
4341 
4342   },
4343   /*.indexes_ =*/ {
4344     {"input", 0},
4345   },
4346   /*.func_impl_=*/gFloorFuncImpl,
4347   /*.enable_dispatch_ =*/true,
4348   /*.is_view_ =*/false,
4349 };
4350 
4351 GatherDGradV2FuncImpl gGatherDGradV2FuncImpl;
4352 OpDef gGatherDGradV2 = {
4353   /*.name_=*/"GatherDGradV2",
4354   /*.args_=*/ {
4355 
4356         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4357         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4358         {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4359         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4360   },
4361   /* .returns_ = */ {
4362     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
4363                 /*.inplace_input_index_=*/-1},
4364   },
4365   /*.signatures_ =*/ {
4366 
4367   },
4368   /*.indexes_ =*/ {
4369     {"x", 0},
4370     {"dim", 1},
4371     {"index", 2},
4372     {"dout", 3},
4373   },
4374   /*.func_impl_=*/gGatherDGradV2FuncImpl,
4375   /*.enable_dispatch_ =*/true,
4376   /*.is_view_ =*/false,
4377 };
4378 
4379 GatherDFuncImpl gGatherDFuncImpl;
4380 OpDef gGatherD = {
4381   /*.name_=*/"GatherD",
4382   /*.args_=*/ {
4383 
4384         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4385         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
4386         {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4387   },
4388   /* .returns_ = */ {
4389     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4390                 /*.inplace_input_index_=*/-1},
4391   },
4392   /*.signatures_ =*/ {
4393 
4394   },
4395   /*.indexes_ =*/ {
4396     {"x", 0},
4397     {"dim", 1},
4398     {"index", 2},
4399   },
4400   /*.func_impl_=*/gGatherDFuncImpl,
4401   /*.enable_dispatch_ =*/true,
4402   /*.is_view_ =*/false,
4403 };
4404 
4405 GatherNdFuncImpl gGatherNdFuncImpl;
4406 OpDef gGatherNd = {
4407   /*.name_=*/"GatherNd",
4408   /*.args_=*/ {
4409 
4410         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4411         {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4412   },
4413   /* .returns_ = */ {
4414     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
4415                 /*.inplace_input_index_=*/-1},
4416   },
4417   /*.signatures_ =*/ {
4418 
4419   },
4420   /*.indexes_ =*/ {
4421     {"input_x", 0},
4422     {"indices", 1},
4423   },
4424   /*.func_impl_=*/gGatherNdFuncImpl,
4425   /*.enable_dispatch_ =*/false,
4426   /*.is_view_ =*/false,
4427 };
4428 
4429 GatherFuncImpl gGatherFuncImpl;
4430 OpDef gGather = {
4431   /*.name_=*/"Gather",
4432   /*.args_=*/ {
4433 
4434         {/*.arg_name_=*/"input_params", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4435         {/*.arg_name_=*/"input_indices", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4436         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
4437         {/*.arg_name_=*/"batch_dims", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4438   },
4439   /* .returns_ = */ {
4440     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4441                 /*.inplace_input_index_=*/-1},
4442   },
4443   /*.signatures_ =*/ {
4444 
4445   },
4446   /*.indexes_ =*/ {
4447     {"input_params", 0},
4448     {"input_indices", 1},
4449     {"axis", 2},
4450     {"batch_dims", 3},
4451   },
4452   /*.func_impl_=*/gGatherFuncImpl,
4453   /*.enable_dispatch_ =*/false,
4454   /*.is_view_ =*/false,
4455 };
4456 
4457 GcdFuncImpl gGcdFuncImpl;
4458 OpDef gGcd = {
4459   /*.name_=*/"Gcd",
4460   /*.args_=*/ {
4461 
4462         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4463         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4464   },
4465   /* .returns_ = */ {
4466     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4467                 /*.inplace_input_index_=*/-1},
4468   },
4469   /*.signatures_ =*/ {
4470     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4471      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4472   },
4473   /*.indexes_ =*/ {
4474     {"input", 0},
4475     {"other", 1},
4476   },
4477   /*.func_impl_=*/gGcdFuncImpl,
4478   /*.enable_dispatch_ =*/false,
4479   /*.is_view_ =*/false,
4480 };
4481 
4482 GeLUGradFuncImpl gGeLUGradFuncImpl;
4483 OpDef gGeLUGrad = {
4484   /*.name_=*/"GeLUGrad",
4485   /*.args_=*/ {
4486 
4487         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4488         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4489         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4490   },
4491   /* .returns_ = */ {
4492     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4493                 /*.inplace_input_index_=*/-1},
4494   },
4495   /*.signatures_ =*/ {
4496 
4497   },
4498   /*.indexes_ =*/ {
4499     {"dy", 0},
4500     {"x", 1},
4501     {"y", 2},
4502   },
4503   /*.func_impl_=*/gGeLUGradFuncImpl,
4504   /*.enable_dispatch_ =*/true,
4505   /*.is_view_ =*/false,
4506 };
4507 
4508 GeLUFuncImpl gGeLUFuncImpl;
4509 OpDef gGeLU = {
4510   /*.name_=*/"GeLU",
4511   /*.args_=*/ {
4512 
4513         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4514   },
4515   /* .returns_ = */ {
4516     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4517                 /*.inplace_input_index_=*/-1},
4518   },
4519   /*.signatures_ =*/ {
4520 
4521   },
4522   /*.indexes_ =*/ {
4523     {"input", 0},
4524   },
4525   /*.func_impl_=*/gGeLUFuncImpl,
4526   /*.enable_dispatch_ =*/true,
4527   /*.is_view_ =*/false,
4528 };
4529 
4530 GeneratorFuncImpl gGeneratorFuncImpl;
4531 OpDef gGenerator = {
4532   /*.name_=*/"Generator",
4533   /*.args_=*/ {
4534 
4535         {/*.arg_name_=*/"cmd", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4536         {/*.arg_name_=*/"inputs", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4537   },
4538   /* .returns_ = */ {
4539     {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR,
4540                 /*.inplace_input_index_=*/-1},
4541     {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR,
4542                 /*.inplace_input_index_=*/-1},
4543     {/*.arg_name_=*/"state", /*.arg_dtype_=*/DT_TENSOR,
4544                 /*.inplace_input_index_=*/-1},
4545   },
4546   /*.signatures_ =*/ {
4547 
4548   },
4549   /*.indexes_ =*/ {
4550     {"cmd", 0},
4551     {"inputs", 1},
4552   },
4553   /*.func_impl_=*/gGeneratorFuncImpl,
4554   /*.enable_dispatch_ =*/true,
4555   /*.is_view_ =*/false,
4556 };
4557 
4558 GeqrfFuncImpl gGeqrfFuncImpl;
4559 OpDef gGeqrf = {
4560   /*.name_=*/"Geqrf",
4561   /*.args_=*/ {
4562 
4563         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4564   },
4565   /* .returns_ = */ {
4566     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
4567                 /*.inplace_input_index_=*/-1},
4568     {/*.arg_name_=*/"tau", /*.arg_dtype_=*/DT_TENSOR,
4569                 /*.inplace_input_index_=*/-1},
4570   },
4571   /*.signatures_ =*/ {
4572 
4573   },
4574   /*.indexes_ =*/ {
4575     {"input", 0},
4576   },
4577   /*.func_impl_=*/gGeqrfFuncImpl,
4578   /*.enable_dispatch_ =*/false,
4579   /*.is_view_ =*/false,
4580 };
4581 
4582 GreaterEqualFuncImpl gGreaterEqualFuncImpl;
4583 OpDef gGreaterEqual = {
4584   /*.name_=*/"GreaterEqual",
4585   /*.args_=*/ {
4586 
4587         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4588         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4589   },
4590   /* .returns_ = */ {
4591     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4592                 /*.inplace_input_index_=*/-1},
4593   },
4594   /*.signatures_ =*/ {
4595     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4596      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4597   },
4598   /*.indexes_ =*/ {
4599     {"input", 0},
4600     {"other", 1},
4601   },
4602   /*.func_impl_=*/gGreaterEqualFuncImpl,
4603   /*.enable_dispatch_ =*/true,
4604   /*.is_view_ =*/false,
4605 };
4606 
4607 GreaterFuncImpl gGreaterFuncImpl;
4608 OpDef gGreater = {
4609   /*.name_=*/"Greater",
4610   /*.args_=*/ {
4611 
4612         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4613         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
4614   },
4615   /* .returns_ = */ {
4616     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4617                 /*.inplace_input_index_=*/-1},
4618   },
4619   /*.signatures_ =*/ {
4620     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4621      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
4622   },
4623   /*.indexes_ =*/ {
4624     {"input", 0},
4625     {"other", 1},
4626   },
4627   /*.func_impl_=*/gGreaterFuncImpl,
4628   /*.enable_dispatch_ =*/true,
4629   /*.is_view_ =*/false,
4630 };
4631 
4632 GridSampler2DGradFuncImpl gGridSampler2DGradFuncImpl;
4633 OpDef gGridSampler2DGrad = {
4634   /*.name_=*/"GridSampler2DGrad",
4635   /*.args_=*/ {
4636 
4637         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4638         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4639         {/*.arg_name_=*/"grid", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4640         {/*.arg_name_=*/"interpolation_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4641         {/*.arg_name_=*/"padding_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4642         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4643   },
4644   /* .returns_ = */ {
4645     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
4646                 /*.inplace_input_index_=*/-1},
4647     {/*.arg_name_=*/"dgrid", /*.arg_dtype_=*/DT_TENSOR,
4648                 /*.inplace_input_index_=*/-1},
4649   },
4650   /*.signatures_ =*/ {
4651 
4652   },
4653   /*.indexes_ =*/ {
4654     {"grad", 0},
4655     {"input_x", 1},
4656     {"grid", 2},
4657     {"interpolation_mode", 3},
4658     {"padding_mode", 4},
4659     {"align_corners", 5},
4660   },
4661   /*.func_impl_=*/gGridSampler2DGradFuncImpl,
4662   /*.enable_dispatch_ =*/true,
4663   /*.is_view_ =*/false,
4664 };
4665 
4666 GridSampler2DFuncImpl gGridSampler2DFuncImpl;
4667 OpDef gGridSampler2D = {
4668   /*.name_=*/"GridSampler2D",
4669   /*.args_=*/ {
4670 
4671         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4672         {/*.arg_name_=*/"grid", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4673         {/*.arg_name_=*/"interpolation_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4674         {/*.arg_name_=*/"padding_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4675         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4676   },
4677   /* .returns_ = */ {
4678     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4679                 /*.inplace_input_index_=*/-1},
4680   },
4681   /*.signatures_ =*/ {
4682 
4683   },
4684   /*.indexes_ =*/ {
4685     {"input_x", 0},
4686     {"grid", 1},
4687     {"interpolation_mode", 2},
4688     {"padding_mode", 3},
4689     {"align_corners", 4},
4690   },
4691   /*.func_impl_=*/gGridSampler2DFuncImpl,
4692   /*.enable_dispatch_ =*/true,
4693   /*.is_view_ =*/false,
4694 };
4695 
4696 GridSampler3DGradFuncImpl gGridSampler3DGradFuncImpl;
4697 OpDef gGridSampler3DGrad = {
4698   /*.name_=*/"GridSampler3DGrad",
4699   /*.args_=*/ {
4700 
4701         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4702         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4703         {/*.arg_name_=*/"grid", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4704         {/*.arg_name_=*/"interpolation_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4705         {/*.arg_name_=*/"padding_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4706         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4707   },
4708   /* .returns_ = */ {
4709     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
4710                 /*.inplace_input_index_=*/-1},
4711     {/*.arg_name_=*/"dgrid", /*.arg_dtype_=*/DT_TENSOR,
4712                 /*.inplace_input_index_=*/-1},
4713   },
4714   /*.signatures_ =*/ {
4715 
4716   },
4717   /*.indexes_ =*/ {
4718     {"grad", 0},
4719     {"input_x", 1},
4720     {"grid", 2},
4721     {"interpolation_mode", 3},
4722     {"padding_mode", 4},
4723     {"align_corners", 5},
4724   },
4725   /*.func_impl_=*/gGridSampler3DGradFuncImpl,
4726   /*.enable_dispatch_ =*/true,
4727   /*.is_view_ =*/false,
4728 };
4729 
4730 GridSampler3DFuncImpl gGridSampler3DFuncImpl;
4731 OpDef gGridSampler3D = {
4732   /*.name_=*/"GridSampler3D",
4733   /*.args_=*/ {
4734 
4735         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4736         {/*.arg_name_=*/"grid", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4737         {/*.arg_name_=*/"interpolation_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4738         {/*.arg_name_=*/"padding_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4739         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4740   },
4741   /* .returns_ = */ {
4742     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4743                 /*.inplace_input_index_=*/-1},
4744   },
4745   /*.signatures_ =*/ {
4746 
4747   },
4748   /*.indexes_ =*/ {
4749     {"input_x", 0},
4750     {"grid", 1},
4751     {"interpolation_mode", 2},
4752     {"padding_mode", 3},
4753     {"align_corners", 4},
4754   },
4755   /*.func_impl_=*/gGridSampler3DFuncImpl,
4756   /*.enable_dispatch_ =*/true,
4757   /*.is_view_ =*/false,
4758 };
4759 
4760 GroupNormGradFuncImpl gGroupNormGradFuncImpl;
4761 OpDef gGroupNormGrad = {
4762   /*.name_=*/"GroupNormGrad",
4763   /*.args_=*/ {
4764 
4765         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4766         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4767         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4768         {/*.arg_name_=*/"rstd", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4769         {/*.arg_name_=*/"gamma_opt", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4770         {/*.arg_name_=*/"num_groups", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4771         {/*.arg_name_=*/"dx_is_require", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4772         {/*.arg_name_=*/"dgamma_is_require", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4773         {/*.arg_name_=*/"dbeta_is_require", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4774   },
4775   /* .returns_ = */ {
4776     {/*.arg_name_=*/"pd_x", /*.arg_dtype_=*/DT_TENSOR,
4777                 /*.inplace_input_index_=*/-1},
4778     {/*.arg_name_=*/"pd_gamma", /*.arg_dtype_=*/DT_TENSOR,
4779                 /*.inplace_input_index_=*/-1},
4780     {/*.arg_name_=*/"pd_beta", /*.arg_dtype_=*/DT_TENSOR,
4781                 /*.inplace_input_index_=*/-1},
4782   },
4783   /*.signatures_ =*/ {
4784 
4785   },
4786   /*.indexes_ =*/ {
4787     {"dy", 0},
4788     {"x", 1},
4789     {"mean", 2},
4790     {"rstd", 3},
4791     {"gamma_opt", 4},
4792     {"num_groups", 5},
4793     {"dx_is_require", 6},
4794     {"dgamma_is_require", 7},
4795     {"dbeta_is_require", 8},
4796   },
4797   /*.func_impl_=*/gGroupNormGradFuncImpl,
4798   /*.enable_dispatch_ =*/true,
4799   /*.is_view_ =*/false,
4800 };
4801 
4802 GroupNormFuncImpl gGroupNormFuncImpl;
4803 OpDef gGroupNorm = {
4804   /*.name_=*/"GroupNorm",
4805   /*.args_=*/ {
4806 
4807         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4808         {/*.arg_name_=*/"num_groups", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4809         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4810         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
4811         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4812   },
4813   /* .returns_ = */ {
4814     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
4815                 /*.inplace_input_index_=*/-1},
4816     {/*.arg_name_=*/"meanOut", /*.arg_dtype_=*/DT_TENSOR,
4817                 /*.inplace_input_index_=*/-1},
4818     {/*.arg_name_=*/"rstdOut", /*.arg_dtype_=*/DT_TENSOR,
4819                 /*.inplace_input_index_=*/-1},
4820   },
4821   /*.signatures_ =*/ {
4822 
4823   },
4824   /*.indexes_ =*/ {
4825     {"input", 0},
4826     {"num_groups", 1},
4827     {"weight", 2},
4828     {"bias", 3},
4829     {"eps", 4},
4830   },
4831   /*.func_impl_=*/gGroupNormFuncImpl,
4832   /*.enable_dispatch_ =*/true,
4833   /*.is_view_ =*/false,
4834 };
4835 
4836 HShrinkGradFuncImpl gHShrinkGradFuncImpl;
4837 OpDef gHShrinkGrad = {
4838   /*.name_=*/"HShrinkGrad",
4839   /*.args_=*/ {
4840 
4841         {/*.arg_name_=*/"gradients", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4842         {/*.arg_name_=*/"features", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4843         {/*.arg_name_=*/"lambd", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4844   },
4845   /* .returns_ = */ {
4846     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4847                 /*.inplace_input_index_=*/-1},
4848   },
4849   /*.signatures_ =*/ {
4850 
4851   },
4852   /*.indexes_ =*/ {
4853     {"gradients", 0},
4854     {"features", 1},
4855     {"lambd", 2},
4856   },
4857   /*.func_impl_=*/gHShrinkGradFuncImpl,
4858   /*.enable_dispatch_ =*/false,
4859   /*.is_view_ =*/false,
4860 };
4861 
4862 HShrinkFuncImpl gHShrinkFuncImpl;
4863 OpDef gHShrink = {
4864   /*.name_=*/"HShrink",
4865   /*.args_=*/ {
4866 
4867         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4868         {/*.arg_name_=*/"lambd", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4869   },
4870   /* .returns_ = */ {
4871     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4872                 /*.inplace_input_index_=*/-1},
4873   },
4874   /*.signatures_ =*/ {
4875 
4876   },
4877   /*.indexes_ =*/ {
4878     {"x", 0},
4879     {"lambd", 1},
4880   },
4881   /*.func_impl_=*/gHShrinkFuncImpl,
4882   /*.enable_dispatch_ =*/false,
4883   /*.is_view_ =*/false,
4884 };
4885 
4886 HSigmoidGradFuncImpl gHSigmoidGradFuncImpl;
4887 OpDef gHSigmoidGrad = {
4888   /*.name_=*/"HSigmoidGrad",
4889   /*.args_=*/ {
4890 
4891         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4892         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4893   },
4894   /* .returns_ = */ {
4895     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4896                 /*.inplace_input_index_=*/-1},
4897   },
4898   /*.signatures_ =*/ {
4899 
4900   },
4901   /*.indexes_ =*/ {
4902     {"grads", 0},
4903     {"input_x", 1},
4904   },
4905   /*.func_impl_=*/gHSigmoidGradFuncImpl,
4906   /*.enable_dispatch_ =*/false,
4907   /*.is_view_ =*/false,
4908 };
4909 
4910 HSigmoidFuncImpl gHSigmoidFuncImpl;
4911 OpDef gHSigmoid = {
4912   /*.name_=*/"HSigmoid",
4913   /*.args_=*/ {
4914 
4915         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4916   },
4917   /* .returns_ = */ {
4918     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4919                 /*.inplace_input_index_=*/-1},
4920   },
4921   /*.signatures_ =*/ {
4922 
4923   },
4924   /*.indexes_ =*/ {
4925     {"input_x", 0},
4926   },
4927   /*.func_impl_=*/gHSigmoidFuncImpl,
4928   /*.enable_dispatch_ =*/false,
4929   /*.is_view_ =*/false,
4930 };
4931 
4932 HSwishGradFuncImpl gHSwishGradFuncImpl;
4933 OpDef gHSwishGrad = {
4934   /*.name_=*/"HSwishGrad",
4935   /*.args_=*/ {
4936 
4937         {/*.arg_name_=*/"y_grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4938         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4939   },
4940   /* .returns_ = */ {
4941     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4942                 /*.inplace_input_index_=*/-1},
4943   },
4944   /*.signatures_ =*/ {
4945 
4946   },
4947   /*.indexes_ =*/ {
4948     {"y_grad", 0},
4949     {"x", 1},
4950   },
4951   /*.func_impl_=*/gHSwishGradFuncImpl,
4952   /*.enable_dispatch_ =*/false,
4953   /*.is_view_ =*/false,
4954 };
4955 
4956 HSwishFuncImpl gHSwishFuncImpl;
4957 OpDef gHSwish = {
4958   /*.name_=*/"HSwish",
4959   /*.args_=*/ {
4960 
4961         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4962   },
4963   /* .returns_ = */ {
4964     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4965                 /*.inplace_input_index_=*/-1},
4966   },
4967   /*.signatures_ =*/ {
4968 
4969   },
4970   /*.indexes_ =*/ {
4971     {"x", 0},
4972   },
4973   /*.func_impl_=*/gHSwishFuncImpl,
4974   /*.enable_dispatch_ =*/false,
4975   /*.is_view_ =*/false,
4976 };
4977 
4978 IdentityFuncImpl gIdentityFuncImpl;
4979 OpDef gIdentity = {
4980   /*.name_=*/"Identity",
4981   /*.args_=*/ {
4982 
4983         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
4984   },
4985   /* .returns_ = */ {
4986     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
4987                 /*.inplace_input_index_=*/-1},
4988   },
4989   /*.signatures_ =*/ {
4990 
4991   },
4992   /*.indexes_ =*/ {
4993     {"input_x", 0},
4994   },
4995   /*.func_impl_=*/gIdentityFuncImpl,
4996   /*.enable_dispatch_ =*/false,
4997   /*.is_view_ =*/false,
4998 };
4999 
5000 IFFT2FuncImpl gIFFT2FuncImpl;
5001 OpDef gIFFT2 = {
5002   /*.name_=*/"IFFT2",
5003   /*.args_=*/ {
5004 
5005         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5006         {/*.arg_name_=*/"s", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
5007         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
5008         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5009   },
5010   /* .returns_ = */ {
5011     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5012                 /*.inplace_input_index_=*/-1},
5013   },
5014   /*.signatures_ =*/ {
5015 
5016   },
5017   /*.indexes_ =*/ {
5018     {"input", 0},
5019     {"s", 1},
5020     {"dim", 2},
5021     {"norm", 3},
5022   },
5023   /*.func_impl_=*/gIFFT2FuncImpl,
5024   /*.enable_dispatch_ =*/false,
5025   /*.is_view_ =*/false,
5026 };
5027 
5028 IFFTFuncImpl gIFFTFuncImpl;
5029 OpDef gIFFT = {
5030   /*.name_=*/"IFFT",
5031   /*.args_=*/ {
5032 
5033         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5034         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5035         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5036         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5037   },
5038   /* .returns_ = */ {
5039     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5040                 /*.inplace_input_index_=*/-1},
5041   },
5042   /*.signatures_ =*/ {
5043 
5044   },
5045   /*.indexes_ =*/ {
5046     {"input", 0},
5047     {"n", 1},
5048     {"dim", 2},
5049     {"norm", 3},
5050   },
5051   /*.func_impl_=*/gIFFTFuncImpl,
5052   /*.enable_dispatch_ =*/false,
5053   /*.is_view_ =*/false,
5054 };
5055 
5056 IFFTNFuncImpl gIFFTNFuncImpl;
5057 OpDef gIFFTN = {
5058   /*.name_=*/"IFFTN",
5059   /*.args_=*/ {
5060 
5061         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5062         {/*.arg_name_=*/"s", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
5063         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
5064         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5065   },
5066   /* .returns_ = */ {
5067     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5068                 /*.inplace_input_index_=*/-1},
5069   },
5070   /*.signatures_ =*/ {
5071 
5072   },
5073   /*.indexes_ =*/ {
5074     {"input", 0},
5075     {"s", 1},
5076     {"dim", 2},
5077     {"norm", 3},
5078   },
5079   /*.func_impl_=*/gIFFTNFuncImpl,
5080   /*.enable_dispatch_ =*/false,
5081   /*.is_view_ =*/false,
5082 };
5083 
5084 IFFTShiftFuncImpl gIFFTShiftFuncImpl;
5085 OpDef gIFFTShift = {
5086   /*.name_=*/"IFFTShift",
5087   /*.args_=*/ {
5088 
5089         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5090         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/true},
5091   },
5092   /* .returns_ = */ {
5093     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5094                 /*.inplace_input_index_=*/-1},
5095   },
5096   /*.signatures_ =*/ {
5097 
5098   },
5099   /*.indexes_ =*/ {
5100     {"input", 0},
5101     {"dim", 1},
5102   },
5103   /*.func_impl_=*/gIFFTShiftFuncImpl,
5104   /*.enable_dispatch_ =*/false,
5105   /*.is_view_ =*/false,
5106 };
5107 
5108 Im2ColExtFuncImpl gIm2ColExtFuncImpl;
5109 OpDef gIm2ColExt = {
5110   /*.name_=*/"Im2ColExt",
5111   /*.args_=*/ {
5112 
5113         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5114         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
5115         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
5116         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
5117         {/*.arg_name_=*/"stride", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"to_pair", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
5118   },
5119   /* .returns_ = */ {
5120     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5121                 /*.inplace_input_index_=*/-1},
5122   },
5123   /*.signatures_ =*/ {
5124 
5125   },
5126   /*.indexes_ =*/ {
5127     {"input", 0},
5128     {"kernel_size", 1},
5129     {"dilation", 2},
5130     {"padding", 3},
5131     {"stride", 4},
5132   },
5133   /*.func_impl_=*/gIm2ColExtFuncImpl,
5134   /*.enable_dispatch_ =*/true,
5135   /*.is_view_ =*/false,
5136 };
5137 
5138 IndexAddExtFuncImpl gIndexAddExtFuncImpl;
5139 OpDef gIndexAddExt = {
5140   /*.name_=*/"IndexAddExt",
5141   /*.args_=*/ {
5142 
5143         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5144         {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5145         {/*.arg_name_=*/"source", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5146         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5147         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5148   },
5149   /* .returns_ = */ {
5150     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5151                 /*.inplace_input_index_=*/-1},
5152   },
5153   /*.signatures_ =*/ {
5154     Signature("input", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5155      Signature("index", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
5156      Signature("source", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5157      Signature("axis", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
5158      Signature("alpha", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType3),
5159   },
5160   /*.indexes_ =*/ {
5161     {"input", 0},
5162     {"index", 1},
5163     {"source", 2},
5164     {"axis", 3},
5165     {"alpha", 4},
5166   },
5167   /*.func_impl_=*/gIndexAddExtFuncImpl,
5168   /*.enable_dispatch_ =*/true,
5169   /*.is_view_ =*/false,
5170 };
5171 
5172 IndexSelectFuncImpl gIndexSelectFuncImpl;
5173 OpDef gIndexSelect = {
5174   /*.name_=*/"IndexSelect",
5175   /*.args_=*/ {
5176 
5177         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5178         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5179         {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5180   },
5181   /* .returns_ = */ {
5182     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5183                 /*.inplace_input_index_=*/-1},
5184   },
5185   /*.signatures_ =*/ {
5186 
5187   },
5188   /*.indexes_ =*/ {
5189     {"input", 0},
5190     {"dim", 1},
5191     {"index", 2},
5192   },
5193   /*.func_impl_=*/gIndexSelectFuncImpl,
5194   /*.enable_dispatch_ =*/true,
5195   /*.is_view_ =*/false,
5196 };
5197 
5198 IRFFTGradFuncImpl gIRFFTGradFuncImpl;
5199 OpDef gIRFFTGrad = {
5200   /*.name_=*/"IRFFTGrad",
5201   /*.args_=*/ {
5202 
5203         {/*.arg_name_=*/"input1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5204         {/*.arg_name_=*/"input2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5205         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5206         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5207         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5208   },
5209   /* .returns_ = */ {
5210     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5211                 /*.inplace_input_index_=*/-1},
5212   },
5213   /*.signatures_ =*/ {
5214 
5215   },
5216   /*.indexes_ =*/ {
5217     {"input1", 0},
5218     {"input2", 1},
5219     {"n", 2},
5220     {"dim", 3},
5221     {"norm", 4},
5222   },
5223   /*.func_impl_=*/gIRFFTGradFuncImpl,
5224   /*.enable_dispatch_ =*/false,
5225   /*.is_view_ =*/false,
5226 };
5227 
5228 IRFFTFuncImpl gIRFFTFuncImpl;
5229 OpDef gIRFFT = {
5230   /*.name_=*/"IRFFT",
5231   /*.args_=*/ {
5232 
5233         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5234         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5235         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5236         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5237   },
5238   /* .returns_ = */ {
5239     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5240                 /*.inplace_input_index_=*/-1},
5241   },
5242   /*.signatures_ =*/ {
5243 
5244   },
5245   /*.indexes_ =*/ {
5246     {"input", 0},
5247     {"n", 1},
5248     {"dim", 2},
5249     {"norm", 3},
5250   },
5251   /*.func_impl_=*/gIRFFTFuncImpl,
5252   /*.enable_dispatch_ =*/false,
5253   /*.is_view_ =*/false,
5254 };
5255 
5256 IsCloseFuncImpl gIsCloseFuncImpl;
5257 OpDef gIsClose = {
5258   /*.name_=*/"IsClose",
5259   /*.args_=*/ {
5260 
5261         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5262         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5263         {/*.arg_name_=*/"rtol", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL, DT_INT}, /*.is_optional_=*/false},
5264         {/*.arg_name_=*/"atol", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL, DT_INT}, /*.is_optional_=*/false},
5265         {/*.arg_name_=*/"equal_nan", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5266   },
5267   /* .returns_ = */ {
5268     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5269                 /*.inplace_input_index_=*/-1},
5270   },
5271   /*.signatures_ =*/ {
5272 
5273   },
5274   /*.indexes_ =*/ {
5275     {"input", 0},
5276     {"other", 1},
5277     {"rtol", 2},
5278     {"atol", 3},
5279     {"equal_nan", 4},
5280   },
5281   /*.func_impl_=*/gIsCloseFuncImpl,
5282   /*.enable_dispatch_ =*/true,
5283   /*.is_view_ =*/false,
5284 };
5285 
5286 IsFiniteFuncImpl gIsFiniteFuncImpl;
5287 OpDef gIsFinite = {
5288   /*.name_=*/"IsFinite",
5289   /*.args_=*/ {
5290 
5291         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5292   },
5293   /* .returns_ = */ {
5294     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5295                 /*.inplace_input_index_=*/-1},
5296   },
5297   /*.signatures_ =*/ {
5298 
5299   },
5300   /*.indexes_ =*/ {
5301     {"x", 0},
5302   },
5303   /*.func_impl_=*/gIsFiniteFuncImpl,
5304   /*.enable_dispatch_ =*/true,
5305   /*.is_view_ =*/false,
5306 };
5307 
5308 LayerNormExtFuncImpl gLayerNormExtFuncImpl;
5309 OpDef gLayerNormExt = {
5310   /*.name_=*/"LayerNormExt",
5311   /*.args_=*/ {
5312 
5313         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5314         {/*.arg_name_=*/"normalized_shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
5315         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5316         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5317         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5318   },
5319   /* .returns_ = */ {
5320     {/*.arg_name_=*/"output_x", /*.arg_dtype_=*/DT_TENSOR,
5321                 /*.inplace_input_index_=*/-1},
5322     {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR,
5323                 /*.inplace_input_index_=*/-1},
5324     {/*.arg_name_=*/"rstd", /*.arg_dtype_=*/DT_TENSOR,
5325                 /*.inplace_input_index_=*/-1},
5326   },
5327   /*.signatures_ =*/ {
5328 
5329   },
5330   /*.indexes_ =*/ {
5331     {"input", 0},
5332     {"normalized_shape", 1},
5333     {"weight", 2},
5334     {"bias", 3},
5335     {"eps", 4},
5336   },
5337   /*.func_impl_=*/gLayerNormExtFuncImpl,
5338   /*.enable_dispatch_ =*/true,
5339   /*.is_view_ =*/false,
5340 };
5341 
5342 LayerNormGradExtFuncImpl gLayerNormGradExtFuncImpl;
5343 OpDef gLayerNormGradExt = {
5344   /*.name_=*/"LayerNormGradExt",
5345   /*.args_=*/ {
5346 
5347         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5348         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5349         {/*.arg_name_=*/"normalized_shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
5350         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5351         {/*.arg_name_=*/"variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5352         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5353         {/*.arg_name_=*/"beta", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5354   },
5355   /* .returns_ = */ {
5356     {/*.arg_name_=*/"pd_x", /*.arg_dtype_=*/DT_TENSOR,
5357                 /*.inplace_input_index_=*/-1},
5358     {/*.arg_name_=*/"pd_gamma", /*.arg_dtype_=*/DT_TENSOR,
5359                 /*.inplace_input_index_=*/-1},
5360     {/*.arg_name_=*/"pd_beta", /*.arg_dtype_=*/DT_TENSOR,
5361                 /*.inplace_input_index_=*/-1},
5362   },
5363   /*.signatures_ =*/ {
5364 
5365   },
5366   /*.indexes_ =*/ {
5367     {"dy", 0},
5368     {"x", 1},
5369     {"normalized_shape", 2},
5370     {"mean", 3},
5371     {"variance", 4},
5372     {"gamma", 5},
5373     {"beta", 6},
5374   },
5375   /*.func_impl_=*/gLayerNormGradExtFuncImpl,
5376   /*.enable_dispatch_ =*/true,
5377   /*.is_view_ =*/false,
5378 };
5379 
5380 LayerNormGradGradFuncImpl gLayerNormGradGradFuncImpl;
5381 OpDef gLayerNormGradGrad = {
5382   /*.name_=*/"LayerNormGradGrad",
5383   /*.args_=*/ {
5384 
5385         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5386         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5387         {/*.arg_name_=*/"variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5388         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5389         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5390         {/*.arg_name_=*/"d_dx", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5391         {/*.arg_name_=*/"d_dg", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5392         {/*.arg_name_=*/"d_db", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5393         {/*.arg_name_=*/"begin_norm_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5394         {/*.arg_name_=*/"begin_params_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5395   },
5396   /* .returns_ = */ {
5397     {/*.arg_name_=*/"sopd_x", /*.arg_dtype_=*/DT_TENSOR,
5398                 /*.inplace_input_index_=*/-1},
5399     {/*.arg_name_=*/"sopd_dy", /*.arg_dtype_=*/DT_TENSOR,
5400                 /*.inplace_input_index_=*/-1},
5401     {/*.arg_name_=*/"sopd_gamma", /*.arg_dtype_=*/DT_TENSOR,
5402                 /*.inplace_input_index_=*/-1},
5403   },
5404   /*.signatures_ =*/ {
5405 
5406   },
5407   /*.indexes_ =*/ {
5408     {"x", 0},
5409     {"dy", 1},
5410     {"variance", 2},
5411     {"mean", 3},
5412     {"gamma", 4},
5413     {"d_dx", 5},
5414     {"d_dg", 6},
5415     {"d_db", 7},
5416     {"begin_norm_axis", 8},
5417     {"begin_params_axis", 9},
5418   },
5419   /*.func_impl_=*/gLayerNormGradGradFuncImpl,
5420   /*.enable_dispatch_ =*/false,
5421   /*.is_view_ =*/false,
5422 };
5423 
5424 LayerNormGradFuncImpl gLayerNormGradFuncImpl;
5425 OpDef gLayerNormGrad = {
5426   /*.name_=*/"LayerNormGrad",
5427   /*.args_=*/ {
5428 
5429         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5430         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5431         {/*.arg_name_=*/"variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5432         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5433         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5434         {/*.arg_name_=*/"begin_norm_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5435         {/*.arg_name_=*/"begin_params_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5436   },
5437   /* .returns_ = */ {
5438     {/*.arg_name_=*/"pd_x", /*.arg_dtype_=*/DT_TENSOR,
5439                 /*.inplace_input_index_=*/-1},
5440     {/*.arg_name_=*/"pd_gamma", /*.arg_dtype_=*/DT_TENSOR,
5441                 /*.inplace_input_index_=*/-1},
5442     {/*.arg_name_=*/"pd_beta", /*.arg_dtype_=*/DT_TENSOR,
5443                 /*.inplace_input_index_=*/-1},
5444   },
5445   /*.signatures_ =*/ {
5446 
5447   },
5448   /*.indexes_ =*/ {
5449     {"x", 0},
5450     {"dy", 1},
5451     {"variance", 2},
5452     {"mean", 3},
5453     {"gamma", 4},
5454     {"begin_norm_axis", 5},
5455     {"begin_params_axis", 6},
5456   },
5457   /*.func_impl_=*/gLayerNormGradFuncImpl,
5458   /*.enable_dispatch_ =*/false,
5459   /*.is_view_ =*/false,
5460 };
5461 
5462 LayerNormGradV3FuncImpl gLayerNormGradV3FuncImpl;
5463 OpDef gLayerNormGradV3 = {
5464   /*.name_=*/"LayerNormGradV3",
5465   /*.args_=*/ {
5466 
5467         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5468         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5469         {/*.arg_name_=*/"variance", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5470         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5471         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5472         {/*.arg_name_=*/"begin_norm_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5473         {/*.arg_name_=*/"begin_params_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5474   },
5475   /* .returns_ = */ {
5476     {/*.arg_name_=*/"pd_x", /*.arg_dtype_=*/DT_TENSOR,
5477                 /*.inplace_input_index_=*/-1},
5478     {/*.arg_name_=*/"pd_gamma", /*.arg_dtype_=*/DT_TENSOR,
5479                 /*.inplace_input_index_=*/-1},
5480     {/*.arg_name_=*/"pd_beta", /*.arg_dtype_=*/DT_TENSOR,
5481                 /*.inplace_input_index_=*/-1},
5482   },
5483   /*.signatures_ =*/ {
5484 
5485   },
5486   /*.indexes_ =*/ {
5487     {"x", 0},
5488     {"dy", 1},
5489     {"variance", 2},
5490     {"mean", 3},
5491     {"gamma", 4},
5492     {"begin_norm_axis", 5},
5493     {"begin_params_axis", 6},
5494   },
5495   /*.func_impl_=*/gLayerNormGradV3FuncImpl,
5496   /*.enable_dispatch_ =*/false,
5497   /*.is_view_ =*/false,
5498 };
5499 
5500 LayerNormFuncImpl gLayerNormFuncImpl;
5501 OpDef gLayerNorm = {
5502   /*.name_=*/"LayerNorm",
5503   /*.args_=*/ {
5504 
5505         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5506         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5507         {/*.arg_name_=*/"beta", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5508         {/*.arg_name_=*/"begin_norm_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5509         {/*.arg_name_=*/"begin_params_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5510         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5511   },
5512   /* .returns_ = */ {
5513     {/*.arg_name_=*/"output_x", /*.arg_dtype_=*/DT_TENSOR,
5514                 /*.inplace_input_index_=*/-1},
5515     {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR,
5516                 /*.inplace_input_index_=*/-1},
5517     {/*.arg_name_=*/"variance", /*.arg_dtype_=*/DT_TENSOR,
5518                 /*.inplace_input_index_=*/-1},
5519   },
5520   /*.signatures_ =*/ {
5521 
5522   },
5523   /*.indexes_ =*/ {
5524     {"input_x", 0},
5525     {"gamma", 1},
5526     {"beta", 2},
5527     {"begin_norm_axis", 3},
5528     {"begin_params_axis", 4},
5529     {"epsilon", 5},
5530   },
5531   /*.func_impl_=*/gLayerNormFuncImpl,
5532   /*.enable_dispatch_ =*/false,
5533   /*.is_view_ =*/false,
5534 };
5535 
5536 LayerNormV3FuncImpl gLayerNormV3FuncImpl;
5537 OpDef gLayerNormV3 = {
5538   /*.name_=*/"LayerNormV3",
5539   /*.args_=*/ {
5540 
5541         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5542         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5543         {/*.arg_name_=*/"beta", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5544         {/*.arg_name_=*/"begin_norm_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5545         {/*.arg_name_=*/"begin_params_axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5546         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5547   },
5548   /* .returns_ = */ {
5549     {/*.arg_name_=*/"output_x", /*.arg_dtype_=*/DT_TENSOR,
5550                 /*.inplace_input_index_=*/-1},
5551     {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR,
5552                 /*.inplace_input_index_=*/-1},
5553     {/*.arg_name_=*/"variance", /*.arg_dtype_=*/DT_TENSOR,
5554                 /*.inplace_input_index_=*/-1},
5555   },
5556   /*.signatures_ =*/ {
5557 
5558   },
5559   /*.indexes_ =*/ {
5560     {"input_x", 0},
5561     {"gamma", 1},
5562     {"beta", 2},
5563     {"begin_norm_axis", 3},
5564     {"begin_params_axis", 4},
5565     {"epsilon", 5},
5566   },
5567   /*.func_impl_=*/gLayerNormV3FuncImpl,
5568   /*.enable_dispatch_ =*/false,
5569   /*.is_view_ =*/false,
5570 };
5571 
5572 LeakyReLUExtFuncImpl gLeakyReLUExtFuncImpl;
5573 OpDef gLeakyReLUExt = {
5574   /*.name_=*/"LeakyReLUExt",
5575   /*.args_=*/ {
5576 
5577         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5578         {/*.arg_name_=*/"negative_slope", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5579   },
5580   /* .returns_ = */ {
5581     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5582                 /*.inplace_input_index_=*/-1},
5583   },
5584   /*.signatures_ =*/ {
5585 
5586   },
5587   /*.indexes_ =*/ {
5588     {"input", 0},
5589     {"negative_slope", 1},
5590   },
5591   /*.func_impl_=*/gLeakyReLUExtFuncImpl,
5592   /*.enable_dispatch_ =*/true,
5593   /*.is_view_ =*/false,
5594 };
5595 
5596 LeakyReLUGradExtFuncImpl gLeakyReLUGradExtFuncImpl;
5597 OpDef gLeakyReLUGradExt = {
5598   /*.name_=*/"LeakyReLUGradExt",
5599   /*.args_=*/ {
5600 
5601         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5602         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5603         {/*.arg_name_=*/"negative_slope", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5604         {/*.arg_name_=*/"is_result", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5605   },
5606   /* .returns_ = */ {
5607     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
5608                 /*.inplace_input_index_=*/-1},
5609   },
5610   /*.signatures_ =*/ {
5611 
5612   },
5613   /*.indexes_ =*/ {
5614     {"dy", 0},
5615     {"input", 1},
5616     {"negative_slope", 2},
5617     {"is_result", 3},
5618   },
5619   /*.func_impl_=*/gLeakyReLUGradExtFuncImpl,
5620   /*.enable_dispatch_ =*/true,
5621   /*.is_view_ =*/false,
5622 };
5623 
5624 LessEqualFuncImpl gLessEqualFuncImpl;
5625 OpDef gLessEqual = {
5626   /*.name_=*/"LessEqual",
5627   /*.args_=*/ {
5628 
5629         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER, DT_BOOL}, /*.is_optional_=*/false},
5630         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER, DT_BOOL}, /*.is_optional_=*/false},
5631   },
5632   /* .returns_ = */ {
5633     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5634                 /*.inplace_input_index_=*/-1},
5635   },
5636   /*.signatures_ =*/ {
5637     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5638      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5639   },
5640   /*.indexes_ =*/ {
5641     {"input", 0},
5642     {"other", 1},
5643   },
5644   /*.func_impl_=*/gLessEqualFuncImpl,
5645   /*.enable_dispatch_ =*/true,
5646   /*.is_view_ =*/false,
5647 };
5648 
5649 LessFuncImpl gLessFuncImpl;
5650 OpDef gLess = {
5651   /*.name_=*/"Less",
5652   /*.args_=*/ {
5653 
5654         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER, DT_BOOL}, /*.is_optional_=*/false},
5655         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER, DT_BOOL}, /*.is_optional_=*/false},
5656   },
5657   /* .returns_ = */ {
5658     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5659                 /*.inplace_input_index_=*/-1},
5660   },
5661   /*.signatures_ =*/ {
5662     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5663      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5664   },
5665   /*.indexes_ =*/ {
5666     {"input", 0},
5667     {"other", 1},
5668   },
5669   /*.func_impl_=*/gLessFuncImpl,
5670   /*.enable_dispatch_ =*/true,
5671   /*.is_view_ =*/false,
5672 };
5673 
5674 LinSpaceExtFuncImpl gLinSpaceExtFuncImpl;
5675 OpDef gLinSpaceExt = {
5676   /*.name_=*/"LinSpaceExt",
5677   /*.args_=*/ {
5678 
5679         {/*.arg_name_=*/"start", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
5680         {/*.arg_name_=*/"end", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
5681         {/*.arg_name_=*/"steps", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
5682         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
5683   },
5684   /* .returns_ = */ {
5685     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5686                 /*.inplace_input_index_=*/-1},
5687   },
5688   /*.signatures_ =*/ {
5689 
5690   },
5691   /*.indexes_ =*/ {
5692     {"start", 0},
5693     {"end", 1},
5694     {"steps", 2},
5695     {"dtype", 3},
5696   },
5697   /*.func_impl_=*/gLinSpaceExtFuncImpl,
5698   /*.enable_dispatch_ =*/true,
5699   /*.is_view_ =*/false,
5700 };
5701 
5702 LinSpaceFuncImpl gLinSpaceFuncImpl;
5703 OpDef gLinSpace = {
5704   /*.name_=*/"LinSpace",
5705   /*.args_=*/ {
5706 
5707         {/*.arg_name_=*/"start", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5708         {/*.arg_name_=*/"stop", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5709         {/*.arg_name_=*/"num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
5710   },
5711   /* .returns_ = */ {
5712     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5713                 /*.inplace_input_index_=*/-1},
5714   },
5715   /*.signatures_ =*/ {
5716 
5717   },
5718   /*.indexes_ =*/ {
5719     {"start", 0},
5720     {"stop", 1},
5721     {"num", 2},
5722   },
5723   /*.func_impl_=*/gLinSpaceFuncImpl,
5724   /*.enable_dispatch_ =*/false,
5725   /*.is_view_ =*/false,
5726 };
5727 
5728 ListToTupleFuncImpl gListToTupleFuncImpl;
5729 OpDef gListToTuple = {
5730   /*.name_=*/"ListToTuple",
5731   /*.args_=*/ {
5732 
5733         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_LIST_ANY, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5734   },
5735   /* .returns_ = */ {
5736     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TUPLE_ANY,
5737                 /*.inplace_input_index_=*/-1},
5738   },
5739   /*.signatures_ =*/ {
5740 
5741   },
5742   /*.indexes_ =*/ {
5743     {"x", 0},
5744   },
5745   /*.func_impl_=*/gListToTupleFuncImpl,
5746   /*.enable_dispatch_ =*/false,
5747   /*.is_view_ =*/false,
5748 };
5749 
5750 Log1pFuncImpl gLog1pFuncImpl;
5751 OpDef gLog1p = {
5752   /*.name_=*/"Log1p",
5753   /*.args_=*/ {
5754 
5755         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5756   },
5757   /* .returns_ = */ {
5758     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5759                 /*.inplace_input_index_=*/-1},
5760   },
5761   /*.signatures_ =*/ {
5762 
5763   },
5764   /*.indexes_ =*/ {
5765     {"input", 0},
5766   },
5767   /*.func_impl_=*/gLog1pFuncImpl,
5768   /*.enable_dispatch_ =*/false,
5769   /*.is_view_ =*/false,
5770 };
5771 
5772 LogMatrixDeterminantFuncImpl gLogMatrixDeterminantFuncImpl;
5773 OpDef gLogMatrixDeterminant = {
5774   /*.name_=*/"LogMatrixDeterminant",
5775   /*.args_=*/ {
5776 
5777         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5778   },
5779   /* .returns_ = */ {
5780     {/*.arg_name_=*/"sign", /*.arg_dtype_=*/DT_TENSOR,
5781                 /*.inplace_input_index_=*/-1},
5782     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5783                 /*.inplace_input_index_=*/-1},
5784   },
5785   /*.signatures_ =*/ {
5786 
5787   },
5788   /*.indexes_ =*/ {
5789     {"input", 0},
5790   },
5791   /*.func_impl_=*/gLogMatrixDeterminantFuncImpl,
5792   /*.enable_dispatch_ =*/false,
5793   /*.is_view_ =*/false,
5794 };
5795 
5796 LogFuncImpl gLogFuncImpl;
5797 OpDef gLog = {
5798   /*.name_=*/"Log",
5799   /*.args_=*/ {
5800 
5801         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5802   },
5803   /* .returns_ = */ {
5804     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5805                 /*.inplace_input_index_=*/-1},
5806   },
5807   /*.signatures_ =*/ {
5808 
5809   },
5810   /*.indexes_ =*/ {
5811     {"input", 0},
5812   },
5813   /*.func_impl_=*/gLogFuncImpl,
5814   /*.enable_dispatch_ =*/true,
5815   /*.is_view_ =*/false,
5816 };
5817 
5818 LogSoftmaxGradFuncImpl gLogSoftmaxGradFuncImpl;
5819 OpDef gLogSoftmaxGrad = {
5820   /*.name_=*/"LogSoftmaxGrad",
5821   /*.args_=*/ {
5822 
5823         {/*.arg_name_=*/"logits", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5824         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5825         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5826   },
5827   /* .returns_ = */ {
5828     {/*.arg_name_=*/"logits_grad", /*.arg_dtype_=*/DT_TENSOR,
5829                 /*.inplace_input_index_=*/-1},
5830   },
5831   /*.signatures_ =*/ {
5832 
5833   },
5834   /*.indexes_ =*/ {
5835     {"logits", 0},
5836     {"grad", 1},
5837     {"axis", 2},
5838   },
5839   /*.func_impl_=*/gLogSoftmaxGradFuncImpl,
5840   /*.enable_dispatch_ =*/false,
5841   /*.is_view_ =*/false,
5842 };
5843 
5844 LogSoftmaxFuncImpl gLogSoftmaxFuncImpl;
5845 OpDef gLogSoftmax = {
5846   /*.name_=*/"LogSoftmax",
5847   /*.args_=*/ {
5848 
5849         {/*.arg_name_=*/"logits", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5850         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5851   },
5852   /* .returns_ = */ {
5853     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5854                 /*.inplace_input_index_=*/-1},
5855   },
5856   /*.signatures_ =*/ {
5857 
5858   },
5859   /*.indexes_ =*/ {
5860     {"logits", 0},
5861     {"axis", 1},
5862   },
5863   /*.func_impl_=*/gLogSoftmaxFuncImpl,
5864   /*.enable_dispatch_ =*/false,
5865   /*.is_view_ =*/false,
5866 };
5867 
5868 LogicalAndFuncImpl gLogicalAndFuncImpl;
5869 OpDef gLogicalAnd = {
5870   /*.name_=*/"LogicalAnd",
5871   /*.args_=*/ {
5872 
5873         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL}, /*.is_optional_=*/false},
5874         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL}, /*.is_optional_=*/false},
5875   },
5876   /* .returns_ = */ {
5877     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5878                 /*.inplace_input_index_=*/-1},
5879   },
5880   /*.signatures_ =*/ {
5881     Signature("x", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5882      Signature("y", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5883   },
5884   /*.indexes_ =*/ {
5885     {"x", 0},
5886     {"y", 1},
5887   },
5888   /*.func_impl_=*/gLogicalAndFuncImpl,
5889   /*.enable_dispatch_ =*/true,
5890   /*.is_view_ =*/false,
5891 };
5892 
5893 LogicalNotFuncImpl gLogicalNotFuncImpl;
5894 OpDef gLogicalNot = {
5895   /*.name_=*/"LogicalNot",
5896   /*.args_=*/ {
5897 
5898         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5899   },
5900   /* .returns_ = */ {
5901     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5902                 /*.inplace_input_index_=*/-1},
5903   },
5904   /*.signatures_ =*/ {
5905 
5906   },
5907   /*.indexes_ =*/ {
5908     {"input", 0},
5909   },
5910   /*.func_impl_=*/gLogicalNotFuncImpl,
5911   /*.enable_dispatch_ =*/true,
5912   /*.is_view_ =*/false,
5913 };
5914 
5915 LogicalOrFuncImpl gLogicalOrFuncImpl;
5916 OpDef gLogicalOr = {
5917   /*.name_=*/"LogicalOr",
5918   /*.args_=*/ {
5919 
5920         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL}, /*.is_optional_=*/false},
5921         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL}, /*.is_optional_=*/false},
5922   },
5923   /* .returns_ = */ {
5924     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5925                 /*.inplace_input_index_=*/-1},
5926   },
5927   /*.signatures_ =*/ {
5928     Signature("x", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5929      Signature("y", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5930   },
5931   /*.indexes_ =*/ {
5932     {"x", 0},
5933     {"y", 1},
5934   },
5935   /*.func_impl_=*/gLogicalOrFuncImpl,
5936   /*.enable_dispatch_ =*/true,
5937   /*.is_view_ =*/false,
5938 };
5939 
5940 LogicalXorFuncImpl gLogicalXorFuncImpl;
5941 OpDef gLogicalXor = {
5942   /*.name_=*/"LogicalXor",
5943   /*.args_=*/ {
5944 
5945         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL}, /*.is_optional_=*/false},
5946         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_BOOL}, /*.is_optional_=*/false},
5947   },
5948   /* .returns_ = */ {
5949     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
5950                 /*.inplace_input_index_=*/-1},
5951   },
5952   /*.signatures_ =*/ {
5953     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5954      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
5955   },
5956   /*.indexes_ =*/ {
5957     {"input", 0},
5958     {"other", 1},
5959   },
5960   /*.func_impl_=*/gLogicalXorFuncImpl,
5961   /*.enable_dispatch_ =*/false,
5962   /*.is_view_ =*/false,
5963 };
5964 
5965 LogitGradFuncImpl gLogitGradFuncImpl;
5966 OpDef gLogitGrad = {
5967   /*.name_=*/"LogitGrad",
5968   /*.args_=*/ {
5969 
5970         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5971         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5972         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5973   },
5974   /* .returns_ = */ {
5975     {/*.arg_name_=*/"input_grad", /*.arg_dtype_=*/DT_TENSOR,
5976                 /*.inplace_input_index_=*/-1},
5977   },
5978   /*.signatures_ =*/ {
5979 
5980   },
5981   /*.indexes_ =*/ {
5982     {"grad", 0},
5983     {"input", 1},
5984     {"eps", 2},
5985   },
5986   /*.func_impl_=*/gLogitGradFuncImpl,
5987   /*.enable_dispatch_ =*/false,
5988   /*.is_view_ =*/false,
5989 };
5990 
5991 LogitFuncImpl gLogitFuncImpl;
5992 OpDef gLogit = {
5993   /*.name_=*/"Logit",
5994   /*.args_=*/ {
5995 
5996         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5997         {/*.arg_name_=*/"eps", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
5998   },
5999   /* .returns_ = */ {
6000     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6001                 /*.inplace_input_index_=*/-1},
6002   },
6003   /*.signatures_ =*/ {
6004 
6005   },
6006   /*.indexes_ =*/ {
6007     {"input", 0},
6008     {"eps", 1},
6009   },
6010   /*.func_impl_=*/gLogitFuncImpl,
6011   /*.enable_dispatch_ =*/false,
6012   /*.is_view_ =*/false,
6013 };
6014 
6015 MaskedFillFuncImpl gMaskedFillFuncImpl;
6016 OpDef gMaskedFill = {
6017   /*.name_=*/"MaskedFill",
6018   /*.args_=*/ {
6019 
6020         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6021         {/*.arg_name_=*/"mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6022         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6023   },
6024   /* .returns_ = */ {
6025     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6026                 /*.inplace_input_index_=*/-1},
6027   },
6028   /*.signatures_ =*/ {
6029 
6030   },
6031   /*.indexes_ =*/ {
6032     {"input_x", 0},
6033     {"mask", 1},
6034     {"value", 2},
6035   },
6036   /*.func_impl_=*/gMaskedFillFuncImpl,
6037   /*.enable_dispatch_ =*/true,
6038   /*.is_view_ =*/false,
6039 };
6040 
6041 MatMulExtFuncImpl gMatMulExtFuncImpl;
6042 OpDef gMatMulExt = {
6043   /*.name_=*/"MatMulExt",
6044   /*.args_=*/ {
6045 
6046         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6047         {/*.arg_name_=*/"mat2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6048   },
6049   /* .returns_ = */ {
6050     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6051                 /*.inplace_input_index_=*/-1},
6052   },
6053   /*.signatures_ =*/ {
6054 
6055   },
6056   /*.indexes_ =*/ {
6057     {"input", 0},
6058     {"mat2", 1},
6059   },
6060   /*.func_impl_=*/gMatMulExtFuncImpl,
6061   /*.enable_dispatch_ =*/true,
6062   /*.is_view_ =*/false,
6063 };
6064 
6065 MatMulFuncImpl gMatMulFuncImpl;
6066 OpDef gMatMul = {
6067   /*.name_=*/"MatMul",
6068   /*.args_=*/ {
6069 
6070         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6071         {/*.arg_name_=*/"mat2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6072         {/*.arg_name_=*/"transpose_a", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6073         {/*.arg_name_=*/"transpose_b", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6074   },
6075   /* .returns_ = */ {
6076     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6077                 /*.inplace_input_index_=*/-1},
6078   },
6079   /*.signatures_ =*/ {
6080 
6081   },
6082   /*.indexes_ =*/ {
6083     {"input", 0},
6084     {"mat2", 1},
6085     {"transpose_a", 2},
6086     {"transpose_b", 3},
6087   },
6088   /*.func_impl_=*/gMatMulFuncImpl,
6089   /*.enable_dispatch_ =*/true,
6090   /*.is_view_ =*/false,
6091 };
6092 
6093 MatrixDeterminantFuncImpl gMatrixDeterminantFuncImpl;
6094 OpDef gMatrixDeterminant = {
6095   /*.name_=*/"MatrixDeterminant",
6096   /*.args_=*/ {
6097 
6098         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6099   },
6100   /* .returns_ = */ {
6101     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6102                 /*.inplace_input_index_=*/-1},
6103   },
6104   /*.signatures_ =*/ {
6105 
6106   },
6107   /*.indexes_ =*/ {
6108     {"input", 0},
6109   },
6110   /*.func_impl_=*/gMatrixDeterminantFuncImpl,
6111   /*.enable_dispatch_ =*/false,
6112   /*.is_view_ =*/false,
6113 };
6114 
6115 MatrixExpFuncImpl gMatrixExpFuncImpl;
6116 OpDef gMatrixExp = {
6117   /*.name_=*/"MatrixExp",
6118   /*.args_=*/ {
6119 
6120         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6121   },
6122   /* .returns_ = */ {
6123     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6124                 /*.inplace_input_index_=*/-1},
6125   },
6126   /*.signatures_ =*/ {
6127 
6128   },
6129   /*.indexes_ =*/ {
6130     {"input", 0},
6131   },
6132   /*.func_impl_=*/gMatrixExpFuncImpl,
6133   /*.enable_dispatch_ =*/false,
6134   /*.is_view_ =*/false,
6135 };
6136 
6137 MatrixInverseExtFuncImpl gMatrixInverseExtFuncImpl;
6138 OpDef gMatrixInverseExt = {
6139   /*.name_=*/"MatrixInverseExt",
6140   /*.args_=*/ {
6141 
6142         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6143   },
6144   /* .returns_ = */ {
6145     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6146                 /*.inplace_input_index_=*/-1},
6147   },
6148   /*.signatures_ =*/ {
6149 
6150   },
6151   /*.indexes_ =*/ {
6152     {"input", 0},
6153   },
6154   /*.func_impl_=*/gMatrixInverseExtFuncImpl,
6155   /*.enable_dispatch_ =*/true,
6156   /*.is_view_ =*/false,
6157 };
6158 
6159 MaxFuncImpl gMaxFuncImpl;
6160 OpDef gMax = {
6161   /*.name_=*/"Max",
6162   /*.args_=*/ {
6163 
6164         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6165   },
6166   /* .returns_ = */ {
6167     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
6168                 /*.inplace_input_index_=*/-1},
6169   },
6170   /*.signatures_ =*/ {
6171 
6172   },
6173   /*.indexes_ =*/ {
6174     {"input", 0},
6175   },
6176   /*.func_impl_=*/gMaxFuncImpl,
6177   /*.enable_dispatch_ =*/true,
6178   /*.is_view_ =*/false,
6179 };
6180 
6181 MaxPoolGradWithIndicesFuncImpl gMaxPoolGradWithIndicesFuncImpl;
6182 OpDef gMaxPoolGradWithIndices = {
6183   /*.name_=*/"MaxPoolGradWithIndices",
6184   /*.args_=*/ {
6185 
6186         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6187         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6188         {/*.arg_name_=*/"argmax", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6189         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_kernel_size", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6190         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6191         {/*.arg_name_=*/"pads", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_output_padding", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6192         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_dilations", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6193         {/*.arg_name_=*/"ceil_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6194         {/*.arg_name_=*/"argmax_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6195   },
6196   /* .returns_ = */ {
6197     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
6198                 /*.inplace_input_index_=*/-1},
6199   },
6200   /*.signatures_ =*/ {
6201 
6202   },
6203   /*.indexes_ =*/ {
6204     {"x", 0},
6205     {"grad", 1},
6206     {"argmax", 2},
6207     {"kernel_size", 3},
6208     {"strides", 4},
6209     {"pads", 5},
6210     {"dilation", 6},
6211     {"ceil_mode", 7},
6212     {"argmax_type", 8},
6213   },
6214   /*.func_impl_=*/gMaxPoolGradWithIndicesFuncImpl,
6215   /*.enable_dispatch_ =*/true,
6216   /*.is_view_ =*/false,
6217 };
6218 
6219 MaxPoolGradWithMaskFuncImpl gMaxPoolGradWithMaskFuncImpl;
6220 OpDef gMaxPoolGradWithMask = {
6221   /*.name_=*/"MaxPoolGradWithMask",
6222   /*.args_=*/ {
6223 
6224         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6225         {/*.arg_name_=*/"grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6226         {/*.arg_name_=*/"mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6227         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_kernel_size", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6228         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6229         {/*.arg_name_=*/"pads", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_output_padding", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6230         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_dilations", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6231         {/*.arg_name_=*/"ceil_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6232         {/*.arg_name_=*/"argmax_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6233   },
6234   /* .returns_ = */ {
6235     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
6236                 /*.inplace_input_index_=*/-1},
6237   },
6238   /*.signatures_ =*/ {
6239 
6240   },
6241   /*.indexes_ =*/ {
6242     {"x", 0},
6243     {"grad", 1},
6244     {"mask", 2},
6245     {"kernel_size", 3},
6246     {"strides", 4},
6247     {"pads", 5},
6248     {"dilation", 6},
6249     {"ceil_mode", 7},
6250     {"argmax_type", 8},
6251   },
6252   /*.func_impl_=*/gMaxPoolGradWithMaskFuncImpl,
6253   /*.enable_dispatch_ =*/true,
6254   /*.is_view_ =*/false,
6255 };
6256 
6257 MaxPoolWithIndicesFuncImpl gMaxPoolWithIndicesFuncImpl;
6258 OpDef gMaxPoolWithIndices = {
6259   /*.name_=*/"MaxPoolWithIndices",
6260   /*.args_=*/ {
6261 
6262         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6263         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_kernel_size", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6264         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6265         {/*.arg_name_=*/"pads", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_output_padding", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6266         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_dilations", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6267         {/*.arg_name_=*/"ceil_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6268         {/*.arg_name_=*/"argmax_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6269   },
6270   /* .returns_ = */ {
6271     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6272                 /*.inplace_input_index_=*/-1},
6273     {/*.arg_name_=*/"argmax", /*.arg_dtype_=*/DT_TENSOR,
6274                 /*.inplace_input_index_=*/-1},
6275   },
6276   /*.signatures_ =*/ {
6277 
6278   },
6279   /*.indexes_ =*/ {
6280     {"x", 0},
6281     {"kernel_size", 1},
6282     {"strides", 2},
6283     {"pads", 3},
6284     {"dilation", 4},
6285     {"ceil_mode", 5},
6286     {"argmax_type", 6},
6287   },
6288   /*.func_impl_=*/gMaxPoolWithIndicesFuncImpl,
6289   /*.enable_dispatch_ =*/true,
6290   /*.is_view_ =*/false,
6291 };
6292 
6293 MaxPoolWithMaskFuncImpl gMaxPoolWithMaskFuncImpl;
6294 OpDef gMaxPoolWithMask = {
6295   /*.name_=*/"MaxPoolWithMask",
6296   /*.args_=*/ {
6297 
6298         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6299         {/*.arg_name_=*/"kernel_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_kernel_size", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6300         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_strides", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6301         {/*.arg_name_=*/"pads", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_output_padding", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6302         {/*.arg_name_=*/"dilation", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"to_dilations", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6303         {/*.arg_name_=*/"ceil_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6304         {/*.arg_name_=*/"argmax_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6305   },
6306   /* .returns_ = */ {
6307     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6308                 /*.inplace_input_index_=*/-1},
6309     {/*.arg_name_=*/"mask", /*.arg_dtype_=*/DT_TENSOR,
6310                 /*.inplace_input_index_=*/-1},
6311   },
6312   /*.signatures_ =*/ {
6313 
6314   },
6315   /*.indexes_ =*/ {
6316     {"x", 0},
6317     {"kernel_size", 1},
6318     {"strides", 2},
6319     {"pads", 3},
6320     {"dilation", 4},
6321     {"ceil_mode", 5},
6322     {"argmax_type", 6},
6323   },
6324   /*.func_impl_=*/gMaxPoolWithMaskFuncImpl,
6325   /*.enable_dispatch_ =*/true,
6326   /*.is_view_ =*/false,
6327 };
6328 
6329 MaximumGradGradFuncImpl gMaximumGradGradFuncImpl;
6330 OpDef gMaximumGradGrad = {
6331   /*.name_=*/"MaximumGradGrad",
6332   /*.args_=*/ {
6333 
6334         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6335         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6336         {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6337         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6338         {/*.arg_name_=*/"grad_x", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6339         {/*.arg_name_=*/"grad_y", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6340   },
6341   /* .returns_ = */ {
6342     {/*.arg_name_=*/"sopd_x", /*.arg_dtype_=*/DT_TENSOR,
6343                 /*.inplace_input_index_=*/-1},
6344     {/*.arg_name_=*/"sopd_y", /*.arg_dtype_=*/DT_TENSOR,
6345                 /*.inplace_input_index_=*/-1},
6346     {/*.arg_name_=*/"sopd_grad", /*.arg_dtype_=*/DT_TENSOR,
6347                 /*.inplace_input_index_=*/-1},
6348   },
6349   /*.signatures_ =*/ {
6350 
6351   },
6352   /*.indexes_ =*/ {
6353     {"x", 0},
6354     {"y", 1},
6355     {"dx", 2},
6356     {"dy", 3},
6357     {"grad_x", 4},
6358     {"grad_y", 5},
6359   },
6360   /*.func_impl_=*/gMaximumGradGradFuncImpl,
6361   /*.enable_dispatch_ =*/false,
6362   /*.is_view_ =*/false,
6363 };
6364 
6365 MaximumGradFuncImpl gMaximumGradFuncImpl;
6366 OpDef gMaximumGrad = {
6367   /*.name_=*/"MaximumGrad",
6368   /*.args_=*/ {
6369 
6370         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6371         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6372         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6373         {/*.arg_name_=*/"grad_x", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6374         {/*.arg_name_=*/"grad_y", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6375   },
6376   /* .returns_ = */ {
6377     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
6378                 /*.inplace_input_index_=*/-1},
6379     {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR,
6380                 /*.inplace_input_index_=*/-1},
6381   },
6382   /*.signatures_ =*/ {
6383 
6384   },
6385   /*.indexes_ =*/ {
6386     {"x", 0},
6387     {"y", 1},
6388     {"grads", 2},
6389     {"grad_x", 3},
6390     {"grad_y", 4},
6391   },
6392   /*.func_impl_=*/gMaximumGradFuncImpl,
6393   /*.enable_dispatch_ =*/false,
6394   /*.is_view_ =*/false,
6395 };
6396 
6397 MaximumFuncImpl gMaximumFuncImpl;
6398 OpDef gMaximum = {
6399   /*.name_=*/"Maximum",
6400   /*.args_=*/ {
6401 
6402         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6403         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6404   },
6405   /* .returns_ = */ {
6406     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6407                 /*.inplace_input_index_=*/-1},
6408   },
6409   /*.signatures_ =*/ {
6410     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6411      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6412   },
6413   /*.indexes_ =*/ {
6414     {"input", 0},
6415     {"other", 1},
6416   },
6417   /*.func_impl_=*/gMaximumFuncImpl,
6418   /*.enable_dispatch_ =*/true,
6419   /*.is_view_ =*/false,
6420 };
6421 
6422 MeanExtFuncImpl gMeanExtFuncImpl;
6423 OpDef gMeanExt = {
6424   /*.name_=*/"MeanExt",
6425   /*.args_=*/ {
6426 
6427         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6428         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
6429         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6430         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6431   },
6432   /* .returns_ = */ {
6433     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6434                 /*.inplace_input_index_=*/-1},
6435   },
6436   /*.signatures_ =*/ {
6437 
6438   },
6439   /*.indexes_ =*/ {
6440     {"input", 0},
6441     {"axis", 1},
6442     {"keep_dims", 2},
6443     {"dtype", 3},
6444   },
6445   /*.func_impl_=*/gMeanExtFuncImpl,
6446   /*.enable_dispatch_ =*/true,
6447   /*.is_view_ =*/false,
6448 };
6449 
6450 MinFuncImpl gMinFuncImpl;
6451 OpDef gMin = {
6452   /*.name_=*/"Min",
6453   /*.args_=*/ {
6454 
6455         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6456   },
6457   /* .returns_ = */ {
6458     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
6459                 /*.inplace_input_index_=*/-1},
6460   },
6461   /*.signatures_ =*/ {
6462 
6463   },
6464   /*.indexes_ =*/ {
6465     {"input", 0},
6466   },
6467   /*.func_impl_=*/gMinFuncImpl,
6468   /*.enable_dispatch_ =*/true,
6469   /*.is_view_ =*/false,
6470 };
6471 
6472 MinimumGradFuncImpl gMinimumGradFuncImpl;
6473 OpDef gMinimumGrad = {
6474   /*.name_=*/"MinimumGrad",
6475   /*.args_=*/ {
6476 
6477         {/*.arg_name_=*/"x1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6478         {/*.arg_name_=*/"x2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6479         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6480         {/*.arg_name_=*/"grad_x", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6481         {/*.arg_name_=*/"grad_y", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6482   },
6483   /* .returns_ = */ {
6484     {/*.arg_name_=*/"y1", /*.arg_dtype_=*/DT_TENSOR,
6485                 /*.inplace_input_index_=*/-1},
6486     {/*.arg_name_=*/"y2", /*.arg_dtype_=*/DT_TENSOR,
6487                 /*.inplace_input_index_=*/-1},
6488   },
6489   /*.signatures_ =*/ {
6490 
6491   },
6492   /*.indexes_ =*/ {
6493     {"x1", 0},
6494     {"x2", 1},
6495     {"grads", 2},
6496     {"grad_x", 3},
6497     {"grad_y", 4},
6498   },
6499   /*.func_impl_=*/gMinimumGradFuncImpl,
6500   /*.enable_dispatch_ =*/false,
6501   /*.is_view_ =*/false,
6502 };
6503 
6504 MinimumFuncImpl gMinimumFuncImpl;
6505 OpDef gMinimum = {
6506   /*.name_=*/"Minimum",
6507   /*.args_=*/ {
6508 
6509         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6510         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6511   },
6512   /* .returns_ = */ {
6513     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6514                 /*.inplace_input_index_=*/-1},
6515   },
6516   /*.signatures_ =*/ {
6517     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6518      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6519   },
6520   /*.indexes_ =*/ {
6521     {"input", 0},
6522     {"other", 1},
6523   },
6524   /*.func_impl_=*/gMinimumFuncImpl,
6525   /*.enable_dispatch_ =*/true,
6526   /*.is_view_ =*/false,
6527 };
6528 
6529 MulFuncImpl gMulFuncImpl;
6530 OpDef gMul = {
6531   /*.name_=*/"Mul",
6532   /*.args_=*/ {
6533 
6534         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6535         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6536   },
6537   /* .returns_ = */ {
6538     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6539                 /*.inplace_input_index_=*/-1},
6540   },
6541   /*.signatures_ =*/ {
6542     Signature("input", SignatureEnumRW::kRWRead,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6543      Signature("other", SignatureEnumRW::kRWRead,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6544   },
6545   /*.indexes_ =*/ {
6546     {"input", 0},
6547     {"other", 1},
6548   },
6549   /*.func_impl_=*/gMulFuncImpl,
6550   /*.enable_dispatch_ =*/true,
6551   /*.is_view_ =*/false,
6552 };
6553 
6554 MvFuncImpl gMvFuncImpl;
6555 OpDef gMv = {
6556   /*.name_=*/"Mv",
6557   /*.args_=*/ {
6558 
6559         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6560         {/*.arg_name_=*/"vec", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6561   },
6562   /* .returns_ = */ {
6563     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6564                 /*.inplace_input_index_=*/-1},
6565   },
6566   /*.signatures_ =*/ {
6567 
6568   },
6569   /*.indexes_ =*/ {
6570     {"input", 0},
6571     {"vec", 1},
6572   },
6573   /*.func_impl_=*/gMvFuncImpl,
6574   /*.enable_dispatch_ =*/true,
6575   /*.is_view_ =*/false,
6576 };
6577 
6578 NanToNumFuncImpl gNanToNumFuncImpl;
6579 OpDef gNanToNum = {
6580   /*.name_=*/"NanToNum",
6581   /*.args_=*/ {
6582 
6583         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6584         {/*.arg_name_=*/"nan", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6585         {/*.arg_name_=*/"posinf", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6586         {/*.arg_name_=*/"neginf", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6587   },
6588   /* .returns_ = */ {
6589     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6590                 /*.inplace_input_index_=*/-1},
6591   },
6592   /*.signatures_ =*/ {
6593 
6594   },
6595   /*.indexes_ =*/ {
6596     {"x", 0},
6597     {"nan", 1},
6598     {"posinf", 2},
6599     {"neginf", 3},
6600   },
6601   /*.func_impl_=*/gNanToNumFuncImpl,
6602   /*.enable_dispatch_ =*/false,
6603   /*.is_view_ =*/false,
6604 };
6605 
6606 NegFuncImpl gNegFuncImpl;
6607 OpDef gNeg = {
6608   /*.name_=*/"Neg",
6609   /*.args_=*/ {
6610 
6611         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6612   },
6613   /* .returns_ = */ {
6614     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6615                 /*.inplace_input_index_=*/-1},
6616   },
6617   /*.signatures_ =*/ {
6618 
6619   },
6620   /*.indexes_ =*/ {
6621     {"input", 0},
6622   },
6623   /*.func_impl_=*/gNegFuncImpl,
6624   /*.enable_dispatch_ =*/true,
6625   /*.is_view_ =*/false,
6626 };
6627 
6628 NextAfterFuncImpl gNextAfterFuncImpl;
6629 OpDef gNextAfter = {
6630   /*.name_=*/"NextAfter",
6631   /*.args_=*/ {
6632 
6633         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6634         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6635   },
6636   /* .returns_ = */ {
6637     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6638                 /*.inplace_input_index_=*/-1},
6639   },
6640   /*.signatures_ =*/ {
6641 
6642   },
6643   /*.indexes_ =*/ {
6644     {"input", 0},
6645     {"other", 1},
6646   },
6647   /*.func_impl_=*/gNextAfterFuncImpl,
6648   /*.enable_dispatch_ =*/false,
6649   /*.is_view_ =*/false,
6650 };
6651 
6652 NLLLossGradFuncImpl gNLLLossGradFuncImpl;
6653 OpDef gNLLLossGrad = {
6654   /*.name_=*/"NLLLossGrad",
6655   /*.args_=*/ {
6656 
6657         {/*.arg_name_=*/"logits", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6658         {/*.arg_name_=*/"loss_grad", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6659         {/*.arg_name_=*/"labels", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6660         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6661         {/*.arg_name_=*/"total_weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6662         {/*.arg_name_=*/"reduction", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6663         {/*.arg_name_=*/"ignore_index", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6664   },
6665   /* .returns_ = */ {
6666     {/*.arg_name_=*/"logits_grad", /*.arg_dtype_=*/DT_TENSOR,
6667                 /*.inplace_input_index_=*/-1},
6668   },
6669   /*.signatures_ =*/ {
6670 
6671   },
6672   /*.indexes_ =*/ {
6673     {"logits", 0},
6674     {"loss_grad", 1},
6675     {"labels", 2},
6676     {"weight", 3},
6677     {"total_weight", 4},
6678     {"reduction", 5},
6679     {"ignore_index", 6},
6680   },
6681   /*.func_impl_=*/gNLLLossGradFuncImpl,
6682   /*.enable_dispatch_ =*/false,
6683   /*.is_view_ =*/false,
6684 };
6685 
6686 NLLLossFuncImpl gNLLLossFuncImpl;
6687 OpDef gNLLLoss = {
6688   /*.name_=*/"NLLLoss",
6689   /*.args_=*/ {
6690 
6691         {/*.arg_name_=*/"logits", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6692         {/*.arg_name_=*/"labels", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6693         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6694         {/*.arg_name_=*/"reduction", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6695         {/*.arg_name_=*/"ignore_index", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6696   },
6697   /* .returns_ = */ {
6698     {/*.arg_name_=*/"loss", /*.arg_dtype_=*/DT_TENSOR,
6699                 /*.inplace_input_index_=*/-1},
6700     {/*.arg_name_=*/"total_weight", /*.arg_dtype_=*/DT_TENSOR,
6701                 /*.inplace_input_index_=*/-1},
6702   },
6703   /*.signatures_ =*/ {
6704 
6705   },
6706   /*.indexes_ =*/ {
6707     {"logits", 0},
6708     {"labels", 1},
6709     {"weight", 2},
6710     {"reduction", 3},
6711     {"ignore_index", 4},
6712   },
6713   /*.func_impl_=*/gNLLLossFuncImpl,
6714   /*.enable_dispatch_ =*/false,
6715   /*.is_view_ =*/false,
6716 };
6717 
6718 NonZeroExtFuncImpl gNonZeroExtFuncImpl;
6719 OpDef gNonZeroExt = {
6720   /*.name_=*/"NonZeroExt",
6721   /*.args_=*/ {
6722 
6723         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6724   },
6725   /* .returns_ = */ {
6726     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TUPLE_TENSOR,
6727                 /*.inplace_input_index_=*/-1},
6728   },
6729   /*.signatures_ =*/ {
6730 
6731   },
6732   /*.indexes_ =*/ {
6733     {"input", 0},
6734   },
6735   /*.func_impl_=*/gNonZeroExtFuncImpl,
6736   /*.enable_dispatch_ =*/true,
6737   /*.is_view_ =*/false,
6738 };
6739 
6740 NonZeroFuncImpl gNonZeroFuncImpl;
6741 OpDef gNonZero = {
6742   /*.name_=*/"NonZero",
6743   /*.args_=*/ {
6744 
6745         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6746   },
6747   /* .returns_ = */ {
6748     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6749                 /*.inplace_input_index_=*/-1},
6750   },
6751   /*.signatures_ =*/ {
6752 
6753   },
6754   /*.indexes_ =*/ {
6755     {"input", 0},
6756   },
6757   /*.func_impl_=*/gNonZeroFuncImpl,
6758   /*.enable_dispatch_ =*/true,
6759   /*.is_view_ =*/false,
6760 };
6761 
6762 NormFuncImpl gNormFuncImpl;
6763 OpDef gNorm = {
6764   /*.name_=*/"Norm",
6765   /*.args_=*/ {
6766 
6767         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6768         {/*.arg_name_=*/"ord", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/true},
6769         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/true},
6770         {/*.arg_name_=*/"keepdim", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6771         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
6772   },
6773   /* .returns_ = */ {
6774     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6775                 /*.inplace_input_index_=*/-1},
6776   },
6777   /*.signatures_ =*/ {
6778 
6779   },
6780   /*.indexes_ =*/ {
6781     {"input_x", 0},
6782     {"ord", 1},
6783     {"dim", 2},
6784     {"keepdim", 3},
6785     {"dtype", 4},
6786   },
6787   /*.func_impl_=*/gNormFuncImpl,
6788   /*.enable_dispatch_ =*/true,
6789   /*.is_view_ =*/false,
6790 };
6791 
6792 NormalFloatFloatFuncImpl gNormalFloatFloatFuncImpl;
6793 OpDef gNormalFloatFloat = {
6794   /*.name_=*/"NormalFloatFloat",
6795   /*.args_=*/ {
6796 
6797         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6798         {/*.arg_name_=*/"std", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6799         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6800         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6801         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6802   },
6803   /* .returns_ = */ {
6804     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6805                 /*.inplace_input_index_=*/-1},
6806   },
6807   /*.signatures_ =*/ {
6808 
6809   },
6810   /*.indexes_ =*/ {
6811     {"mean", 0},
6812     {"std", 1},
6813     {"size", 2},
6814     {"seed", 3},
6815     {"offset", 4},
6816   },
6817   /*.func_impl_=*/gNormalFloatFloatFuncImpl,
6818   /*.enable_dispatch_ =*/true,
6819   /*.is_view_ =*/false,
6820 };
6821 
6822 NormalFloatTensorFuncImpl gNormalFloatTensorFuncImpl;
6823 OpDef gNormalFloatTensor = {
6824   /*.name_=*/"NormalFloatTensor",
6825   /*.args_=*/ {
6826 
6827         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6828         {/*.arg_name_=*/"std", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6829         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6830         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6831   },
6832   /* .returns_ = */ {
6833     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6834                 /*.inplace_input_index_=*/-1},
6835   },
6836   /*.signatures_ =*/ {
6837 
6838   },
6839   /*.indexes_ =*/ {
6840     {"mean", 0},
6841     {"std", 1},
6842     {"seed", 2},
6843     {"offset", 3},
6844   },
6845   /*.func_impl_=*/gNormalFloatTensorFuncImpl,
6846   /*.enable_dispatch_ =*/true,
6847   /*.is_view_ =*/false,
6848 };
6849 
6850 NormalTensorFloatFuncImpl gNormalTensorFloatFuncImpl;
6851 OpDef gNormalTensorFloat = {
6852   /*.name_=*/"NormalTensorFloat",
6853   /*.args_=*/ {
6854 
6855         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6856         {/*.arg_name_=*/"std", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6857         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6858         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6859   },
6860   /* .returns_ = */ {
6861     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6862                 /*.inplace_input_index_=*/-1},
6863   },
6864   /*.signatures_ =*/ {
6865 
6866   },
6867   /*.indexes_ =*/ {
6868     {"mean", 0},
6869     {"std", 1},
6870     {"seed", 2},
6871     {"offset", 3},
6872   },
6873   /*.func_impl_=*/gNormalTensorFloatFuncImpl,
6874   /*.enable_dispatch_ =*/true,
6875   /*.is_view_ =*/false,
6876 };
6877 
6878 NormalTensorTensorFuncImpl gNormalTensorTensorFuncImpl;
6879 OpDef gNormalTensorTensor = {
6880   /*.name_=*/"NormalTensorTensor",
6881   /*.args_=*/ {
6882 
6883         {/*.arg_name_=*/"mean", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6884         {/*.arg_name_=*/"std", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6885         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6886         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6887   },
6888   /* .returns_ = */ {
6889     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6890                 /*.inplace_input_index_=*/-1},
6891   },
6892   /*.signatures_ =*/ {
6893 
6894   },
6895   /*.indexes_ =*/ {
6896     {"mean", 0},
6897     {"std", 1},
6898     {"seed", 2},
6899     {"offset", 3},
6900   },
6901   /*.func_impl_=*/gNormalTensorTensorFuncImpl,
6902   /*.enable_dispatch_ =*/true,
6903   /*.is_view_ =*/false,
6904 };
6905 
6906 NotEqualFuncImpl gNotEqualFuncImpl;
6907 OpDef gNotEqual = {
6908   /*.name_=*/"NotEqual",
6909   /*.args_=*/ {
6910 
6911         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6912         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
6913   },
6914   /* .returns_ = */ {
6915     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6916                 /*.inplace_input_index_=*/-1},
6917   },
6918   /*.signatures_ =*/ {
6919     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6920      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
6921   },
6922   /*.indexes_ =*/ {
6923     {"input", 0},
6924     {"other", 1},
6925   },
6926   /*.func_impl_=*/gNotEqualFuncImpl,
6927   /*.enable_dispatch_ =*/true,
6928   /*.is_view_ =*/false,
6929 };
6930 
6931 NPUClearFloatStatusV2FuncImpl gNPUClearFloatStatusV2FuncImpl;
6932 OpDef gNPUClearFloatStatusV2 = {
6933   /*.name_=*/"NPUClearFloatStatusV2",
6934   /*.args_=*/ {
6935 
6936         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6937   },
6938   /* .returns_ = */ {
6939     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6940                 /*.inplace_input_index_=*/-1},
6941   },
6942   /*.signatures_ =*/ {
6943 
6944   },
6945   /*.indexes_ =*/ {
6946     {"input", 0},
6947   },
6948   /*.func_impl_=*/gNPUClearFloatStatusV2FuncImpl,
6949   /*.enable_dispatch_ =*/false,
6950   /*.is_view_ =*/false,
6951 };
6952 
6953 NPUGetFloatStatusV2FuncImpl gNPUGetFloatStatusV2FuncImpl;
6954 OpDef gNPUGetFloatStatusV2 = {
6955   /*.name_=*/"NPUGetFloatStatusV2",
6956   /*.args_=*/ {
6957 
6958         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6959   },
6960   /* .returns_ = */ {
6961     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6962                 /*.inplace_input_index_=*/-1},
6963   },
6964   /*.signatures_ =*/ {
6965 
6966   },
6967   /*.indexes_ =*/ {
6968     {"input", 0},
6969   },
6970   /*.func_impl_=*/gNPUGetFloatStatusV2FuncImpl,
6971   /*.enable_dispatch_ =*/false,
6972   /*.is_view_ =*/false,
6973 };
6974 
6975 OneHotExtFuncImpl gOneHotExtFuncImpl;
6976 OpDef gOneHotExt = {
6977   /*.name_=*/"OneHotExt",
6978   /*.args_=*/ {
6979 
6980         {/*.arg_name_=*/"tensor", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6981         {/*.arg_name_=*/"num_classes", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6982         {/*.arg_name_=*/"on_value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6983         {/*.arg_name_=*/"off_value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6984         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
6985   },
6986   /* .returns_ = */ {
6987     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
6988                 /*.inplace_input_index_=*/-1},
6989   },
6990   /*.signatures_ =*/ {
6991 
6992   },
6993   /*.indexes_ =*/ {
6994     {"tensor", 0},
6995     {"num_classes", 1},
6996     {"on_value", 2},
6997     {"off_value", 3},
6998     {"axis", 4},
6999   },
7000   /*.func_impl_=*/gOneHotExtFuncImpl,
7001   /*.enable_dispatch_ =*/true,
7002   /*.is_view_ =*/false,
7003 };
7004 
7005 OneHotFuncImpl gOneHotFuncImpl;
7006 OpDef gOneHot = {
7007   /*.name_=*/"OneHot",
7008   /*.args_=*/ {
7009 
7010         {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7011         {/*.arg_name_=*/"depth", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
7012         {/*.arg_name_=*/"on_value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7013         {/*.arg_name_=*/"off_value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7014         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7015   },
7016   /* .returns_ = */ {
7017     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7018                 /*.inplace_input_index_=*/-1},
7019   },
7020   /*.signatures_ =*/ {
7021 
7022   },
7023   /*.indexes_ =*/ {
7024     {"indices", 0},
7025     {"depth", 1},
7026     {"on_value", 2},
7027     {"off_value", 3},
7028     {"axis", 4},
7029   },
7030   /*.func_impl_=*/gOneHotFuncImpl,
7031   /*.enable_dispatch_ =*/false,
7032   /*.is_view_ =*/false,
7033 };
7034 
7035 OnesLikeExtFuncImpl gOnesLikeExtFuncImpl;
7036 OpDef gOnesLikeExt = {
7037   /*.name_=*/"OnesLikeExt",
7038   /*.args_=*/ {
7039 
7040         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7041         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
7042   },
7043   /* .returns_ = */ {
7044     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
7045                 /*.inplace_input_index_=*/-1},
7046   },
7047   /*.signatures_ =*/ {
7048 
7049   },
7050   /*.indexes_ =*/ {
7051     {"input", 0},
7052     {"dtype", 1},
7053   },
7054   /*.func_impl_=*/gOnesLikeExtFuncImpl,
7055   /*.enable_dispatch_ =*/true,
7056   /*.is_view_ =*/false,
7057 };
7058 
7059 OnesLikeFuncImpl gOnesLikeFuncImpl;
7060 OpDef gOnesLike = {
7061   /*.name_=*/"OnesLike",
7062   /*.args_=*/ {
7063 
7064         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7065   },
7066   /* .returns_ = */ {
7067     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
7068                 /*.inplace_input_index_=*/-1},
7069   },
7070   /*.signatures_ =*/ {
7071 
7072   },
7073   /*.indexes_ =*/ {
7074     {"x", 0},
7075   },
7076   /*.func_impl_=*/gOnesLikeFuncImpl,
7077   /*.enable_dispatch_ =*/false,
7078   /*.is_view_ =*/false,
7079 };
7080 
7081 OnesFuncImpl gOnesFuncImpl;
7082 OpDef gOnes = {
7083   /*.name_=*/"Ones",
7084   /*.args_=*/ {
7085 
7086         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7087         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
7088   },
7089   /* .returns_ = */ {
7090     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
7091                 /*.inplace_input_index_=*/-1},
7092   },
7093   /*.signatures_ =*/ {
7094 
7095   },
7096   /*.indexes_ =*/ {
7097     {"shape", 0},
7098     {"dtype", 1},
7099   },
7100   /*.func_impl_=*/gOnesFuncImpl,
7101   /*.enable_dispatch_ =*/true,
7102   /*.is_view_ =*/false,
7103 };
7104 
7105 PagedAttentionMaskFuncImpl gPagedAttentionMaskFuncImpl;
7106 OpDef gPagedAttentionMask = {
7107   /*.name_=*/"PagedAttentionMask",
7108   /*.args_=*/ {
7109 
7110         {/*.arg_name_=*/"query", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7111         {/*.arg_name_=*/"key_cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7112         {/*.arg_name_=*/"value_cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7113         {/*.arg_name_=*/"block_tables", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7114         {/*.arg_name_=*/"context_lens", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7115         {/*.arg_name_=*/"alibi_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7116         {/*.arg_name_=*/"head_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7117         {/*.arg_name_=*/"scale_value", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7118         {/*.arg_name_=*/"kv_head_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7119   },
7120   /* .returns_ = */ {
7121     {/*.arg_name_=*/"attention_out", /*.arg_dtype_=*/DT_TENSOR,
7122                 /*.inplace_input_index_=*/-1},
7123   },
7124   /*.signatures_ =*/ {
7125 
7126   },
7127   /*.indexes_ =*/ {
7128     {"query", 0},
7129     {"key_cache", 1},
7130     {"value_cache", 2},
7131     {"block_tables", 3},
7132     {"context_lens", 4},
7133     {"alibi_mask", 5},
7134     {"head_num", 6},
7135     {"scale_value", 7},
7136     {"kv_head_num", 8},
7137   },
7138   /*.func_impl_=*/gPagedAttentionMaskFuncImpl,
7139   /*.enable_dispatch_ =*/false,
7140   /*.is_view_ =*/false,
7141 };
7142 
7143 PagedAttentionFuncImpl gPagedAttentionFuncImpl;
7144 OpDef gPagedAttention = {
7145   /*.name_=*/"PagedAttention",
7146   /*.args_=*/ {
7147 
7148         {/*.arg_name_=*/"query", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7149         {/*.arg_name_=*/"key_cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7150         {/*.arg_name_=*/"value_cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7151         {/*.arg_name_=*/"block_tables", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7152         {/*.arg_name_=*/"context_lens", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7153         {/*.arg_name_=*/"head_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7154         {/*.arg_name_=*/"scale_value", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7155         {/*.arg_name_=*/"kv_head_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7156   },
7157   /* .returns_ = */ {
7158     {/*.arg_name_=*/"attention_out", /*.arg_dtype_=*/DT_TENSOR,
7159                 /*.inplace_input_index_=*/-1},
7160   },
7161   /*.signatures_ =*/ {
7162 
7163   },
7164   /*.indexes_ =*/ {
7165     {"query", 0},
7166     {"key_cache", 1},
7167     {"value_cache", 2},
7168     {"block_tables", 3},
7169     {"context_lens", 4},
7170     {"head_num", 5},
7171     {"scale_value", 6},
7172     {"kv_head_num", 7},
7173   },
7174   /*.func_impl_=*/gPagedAttentionFuncImpl,
7175   /*.enable_dispatch_ =*/false,
7176   /*.is_view_ =*/false,
7177 };
7178 
7179 PowFuncImpl gPowFuncImpl;
7180 OpDef gPow = {
7181   /*.name_=*/"Pow",
7182   /*.args_=*/ {
7183 
7184         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
7185         {/*.arg_name_=*/"exponent", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
7186   },
7187   /* .returns_ = */ {
7188     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
7189                 /*.inplace_input_index_=*/-1},
7190   },
7191   /*.signatures_ =*/ {
7192     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
7193      Signature("exponent", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
7194   },
7195   /*.indexes_ =*/ {
7196     {"input", 0},
7197     {"exponent", 1},
7198   },
7199   /*.func_impl_=*/gPowFuncImpl,
7200   /*.enable_dispatch_ =*/true,
7201   /*.is_view_ =*/false,
7202 };
7203 
7204 PReLUGradFuncImpl gPReLUGradFuncImpl;
7205 OpDef gPReLUGrad = {
7206   /*.name_=*/"PReLUGrad",
7207   /*.args_=*/ {
7208 
7209         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7210         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7211         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7212   },
7213   /* .returns_ = */ {
7214     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
7215                 /*.inplace_input_index_=*/-1},
7216     {/*.arg_name_=*/"dw", /*.arg_dtype_=*/DT_TENSOR,
7217                 /*.inplace_input_index_=*/-1},
7218   },
7219   /*.signatures_ =*/ {
7220 
7221   },
7222   /*.indexes_ =*/ {
7223     {"dy", 0},
7224     {"x", 1},
7225     {"weight", 2},
7226   },
7227   /*.func_impl_=*/gPReLUGradFuncImpl,
7228   /*.enable_dispatch_ =*/false,
7229   /*.is_view_ =*/false,
7230 };
7231 
7232 PReLUFuncImpl gPReLUFuncImpl;
7233 OpDef gPReLU = {
7234   /*.name_=*/"PReLU",
7235   /*.args_=*/ {
7236 
7237         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7238         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7239   },
7240   /* .returns_ = */ {
7241     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7242                 /*.inplace_input_index_=*/-1},
7243   },
7244   /*.signatures_ =*/ {
7245 
7246   },
7247   /*.indexes_ =*/ {
7248     {"x", 0},
7249     {"weight", 1},
7250   },
7251   /*.func_impl_=*/gPReLUFuncImpl,
7252   /*.enable_dispatch_ =*/false,
7253   /*.is_view_ =*/false,
7254 };
7255 
7256 ProdExtFuncImpl gProdExtFuncImpl;
7257 OpDef gProdExt = {
7258   /*.name_=*/"ProdExt",
7259   /*.args_=*/ {
7260 
7261         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7262         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
7263         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7264         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
7265   },
7266   /* .returns_ = */ {
7267     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7268                 /*.inplace_input_index_=*/-1},
7269   },
7270   /*.signatures_ =*/ {
7271 
7272   },
7273   /*.indexes_ =*/ {
7274     {"input", 0},
7275     {"axis", 1},
7276     {"keep_dims", 2},
7277     {"dtype", 3},
7278   },
7279   /*.func_impl_=*/gProdExtFuncImpl,
7280   /*.enable_dispatch_ =*/true,
7281   /*.is_view_ =*/false,
7282 };
7283 
7284 PromptKVCacheFuncImpl gPromptKVCacheFuncImpl;
7285 OpDef gPromptKVCache = {
7286   /*.name_=*/"PromptKVCache",
7287   /*.args_=*/ {
7288 
7289         {/*.arg_name_=*/"cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7290         {/*.arg_name_=*/"update", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7291         {/*.arg_name_=*/"valid_seq_len", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7292         {/*.arg_name_=*/"batch_index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7293         {/*.arg_name_=*/"seq_len_axis", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7294         {/*.arg_name_=*/"new_max_seq_len", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7295         {/*.arg_name_=*/"cur_max_seq_len", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7296         {/*.arg_name_=*/"align_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7297   },
7298   /* .returns_ = */ {
7299     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
7300                 /*.inplace_input_index_=*/-1},
7301   },
7302   /*.signatures_ =*/ {
7303 
7304   },
7305   /*.indexes_ =*/ {
7306     {"cache", 0},
7307     {"update", 1},
7308     {"valid_seq_len", 2},
7309     {"batch_index", 3},
7310     {"seq_len_axis", 4},
7311     {"new_max_seq_len", 5},
7312     {"cur_max_seq_len", 6},
7313     {"align_mode", 7},
7314   },
7315   /*.func_impl_=*/gPromptKVCacheFuncImpl,
7316   /*.enable_dispatch_ =*/false,
7317   /*.is_view_ =*/false,
7318 };
7319 
7320 QrFuncImpl gQrFuncImpl;
7321 OpDef gQr = {
7322   /*.name_=*/"Qr",
7323   /*.args_=*/ {
7324 
7325         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7326         {/*.arg_name_=*/"full_matrices", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7327   },
7328   /* .returns_ = */ {
7329     {/*.arg_name_=*/"q", /*.arg_dtype_=*/DT_TENSOR,
7330                 /*.inplace_input_index_=*/-1},
7331     {/*.arg_name_=*/"r", /*.arg_dtype_=*/DT_TENSOR,
7332                 /*.inplace_input_index_=*/-1},
7333   },
7334   /*.signatures_ =*/ {
7335 
7336   },
7337   /*.indexes_ =*/ {
7338     {"x", 0},
7339     {"full_matrices", 1},
7340   },
7341   /*.func_impl_=*/gQrFuncImpl,
7342   /*.enable_dispatch_ =*/false,
7343   /*.is_view_ =*/false,
7344 };
7345 
7346 RandExtFuncImpl gRandExtFuncImpl;
7347 OpDef gRandExt = {
7348   /*.name_=*/"RandExt",
7349   /*.args_=*/ {
7350 
7351         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7352         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7353         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7354         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
7355   },
7356   /* .returns_ = */ {
7357     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7358                 /*.inplace_input_index_=*/-1},
7359   },
7360   /*.signatures_ =*/ {
7361 
7362   },
7363   /*.indexes_ =*/ {
7364     {"shape", 0},
7365     {"seed", 1},
7366     {"offset", 2},
7367     {"dtype", 3},
7368   },
7369   /*.func_impl_=*/gRandExtFuncImpl,
7370   /*.enable_dispatch_ =*/true,
7371   /*.is_view_ =*/false,
7372 };
7373 
7374 RandLikeExtFuncImpl gRandLikeExtFuncImpl;
7375 OpDef gRandLikeExt = {
7376   /*.name_=*/"RandLikeExt",
7377   /*.args_=*/ {
7378 
7379         {/*.arg_name_=*/"tensor", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7380         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7381         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7382         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
7383   },
7384   /* .returns_ = */ {
7385     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7386                 /*.inplace_input_index_=*/-1},
7387   },
7388   /*.signatures_ =*/ {
7389 
7390   },
7391   /*.indexes_ =*/ {
7392     {"tensor", 0},
7393     {"seed", 1},
7394     {"offset", 2},
7395     {"dtype", 3},
7396   },
7397   /*.func_impl_=*/gRandLikeExtFuncImpl,
7398   /*.enable_dispatch_ =*/true,
7399   /*.is_view_ =*/false,
7400 };
7401 
7402 RandpermV2FuncImpl gRandpermV2FuncImpl;
7403 OpDef gRandpermV2 = {
7404   /*.name_=*/"RandpermV2",
7405   /*.args_=*/ {
7406 
7407         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
7408         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
7409         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
7410         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7411   },
7412   /* .returns_ = */ {
7413     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7414                 /*.inplace_input_index_=*/-1},
7415   },
7416   /*.signatures_ =*/ {
7417 
7418   },
7419   /*.indexes_ =*/ {
7420     {"n", 0},
7421     {"seed", 1},
7422     {"offset", 2},
7423     {"dtype", 3},
7424   },
7425   /*.func_impl_=*/gRandpermV2FuncImpl,
7426   /*.enable_dispatch_ =*/false,
7427   /*.is_view_ =*/false,
7428 };
7429 
7430 RangeFuncImpl gRangeFuncImpl;
7431 OpDef gRange = {
7432   /*.name_=*/"Range",
7433   /*.args_=*/ {
7434 
7435         {/*.arg_name_=*/"start", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
7436         {/*.arg_name_=*/"end", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
7437         {/*.arg_name_=*/"step", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
7438         {/*.arg_name_=*/"maxlen", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7439   },
7440   /* .returns_ = */ {
7441     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7442                 /*.inplace_input_index_=*/-1},
7443   },
7444   /*.signatures_ =*/ {
7445 
7446   },
7447   /*.indexes_ =*/ {
7448     {"start", 0},
7449     {"end", 1},
7450     {"step", 2},
7451     {"maxlen", 3},
7452   },
7453   /*.func_impl_=*/gRangeFuncImpl,
7454   /*.enable_dispatch_ =*/false,
7455   /*.is_view_ =*/false,
7456 };
7457 
7458 RankFuncImpl gRankFuncImpl;
7459 OpDef gRank = {
7460   /*.name_=*/"Rank",
7461   /*.args_=*/ {
7462 
7463         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7464   },
7465   /* .returns_ = */ {
7466     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_INT,
7467                 /*.inplace_input_index_=*/-1},
7468   },
7469   /*.signatures_ =*/ {
7470 
7471   },
7472   /*.indexes_ =*/ {
7473     {"input_x", 0},
7474   },
7475   /*.func_impl_=*/gRankFuncImpl,
7476   /*.enable_dispatch_ =*/false,
7477   /*.is_view_ =*/false,
7478 };
7479 
7480 RealDivFuncImpl gRealDivFuncImpl;
7481 OpDef gRealDiv = {
7482   /*.name_=*/"RealDiv",
7483   /*.args_=*/ {
7484 
7485         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
7486         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
7487   },
7488   /* .returns_ = */ {
7489     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7490                 /*.inplace_input_index_=*/-1},
7491   },
7492   /*.signatures_ =*/ {
7493     Signature("x", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
7494      Signature("y", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
7495   },
7496   /*.indexes_ =*/ {
7497     {"x", 0},
7498     {"y", 1},
7499   },
7500   /*.func_impl_=*/gRealDivFuncImpl,
7501   /*.enable_dispatch_ =*/false,
7502   /*.is_view_ =*/false,
7503 };
7504 
7505 RealFuncImpl gRealFuncImpl;
7506 OpDef gReal = {
7507   /*.name_=*/"Real",
7508   /*.args_=*/ {
7509 
7510         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7511   },
7512   /* .returns_ = */ {
7513     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7514                 /*.inplace_input_index_=*/-1},
7515   },
7516   /*.signatures_ =*/ {
7517 
7518   },
7519   /*.indexes_ =*/ {
7520     {"input", 0},
7521   },
7522   /*.func_impl_=*/gRealFuncImpl,
7523   /*.enable_dispatch_ =*/false,
7524   /*.is_view_ =*/false,
7525 };
7526 
7527 ReciprocalGradFuncImpl gReciprocalGradFuncImpl;
7528 OpDef gReciprocalGrad = {
7529   /*.name_=*/"ReciprocalGrad",
7530   /*.args_=*/ {
7531 
7532         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7533         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7534   },
7535   /* .returns_ = */ {
7536     {/*.arg_name_=*/"z", /*.arg_dtype_=*/DT_TENSOR,
7537                 /*.inplace_input_index_=*/-1},
7538   },
7539   /*.signatures_ =*/ {
7540 
7541   },
7542   /*.indexes_ =*/ {
7543     {"y", 0},
7544     {"dy", 1},
7545   },
7546   /*.func_impl_=*/gReciprocalGradFuncImpl,
7547   /*.enable_dispatch_ =*/false,
7548   /*.is_view_ =*/false,
7549 };
7550 
7551 ReciprocalFuncImpl gReciprocalFuncImpl;
7552 OpDef gReciprocal = {
7553   /*.name_=*/"Reciprocal",
7554   /*.args_=*/ {
7555 
7556         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7557   },
7558   /* .returns_ = */ {
7559     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
7560                 /*.inplace_input_index_=*/-1},
7561   },
7562   /*.signatures_ =*/ {
7563 
7564   },
7565   /*.indexes_ =*/ {
7566     {"x", 0},
7567   },
7568   /*.func_impl_=*/gReciprocalFuncImpl,
7569   /*.enable_dispatch_ =*/true,
7570   /*.is_view_ =*/false,
7571 };
7572 
7573 ReduceAllFuncImpl gReduceAllFuncImpl;
7574 OpDef gReduceAll = {
7575   /*.name_=*/"ReduceAll",
7576   /*.args_=*/ {
7577 
7578         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7579         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
7580         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7581   },
7582   /* .returns_ = */ {
7583     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7584                 /*.inplace_input_index_=*/-1},
7585   },
7586   /*.signatures_ =*/ {
7587 
7588   },
7589   /*.indexes_ =*/ {
7590     {"input", 0},
7591     {"axis", 1},
7592     {"keep_dims", 2},
7593   },
7594   /*.func_impl_=*/gReduceAllFuncImpl,
7595   /*.enable_dispatch_ =*/true,
7596   /*.is_view_ =*/false,
7597 };
7598 
7599 ReduceAnyFuncImpl gReduceAnyFuncImpl;
7600 OpDef gReduceAny = {
7601   /*.name_=*/"ReduceAny",
7602   /*.args_=*/ {
7603 
7604         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7605         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7606         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7607   },
7608   /* .returns_ = */ {
7609     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7610                 /*.inplace_input_index_=*/-1},
7611   },
7612   /*.signatures_ =*/ {
7613 
7614   },
7615   /*.indexes_ =*/ {
7616     {"x", 0},
7617     {"axis", 1},
7618     {"keep_dims", 2},
7619   },
7620   /*.func_impl_=*/gReduceAnyFuncImpl,
7621   /*.enable_dispatch_ =*/true,
7622   /*.is_view_ =*/false,
7623 };
7624 
7625 ReduceMaxFuncImpl gReduceMaxFuncImpl;
7626 OpDef gReduceMax = {
7627   /*.name_=*/"ReduceMax",
7628   /*.args_=*/ {
7629 
7630         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7631         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7632         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7633   },
7634   /* .returns_ = */ {
7635     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7636                 /*.inplace_input_index_=*/-1},
7637   },
7638   /*.signatures_ =*/ {
7639 
7640   },
7641   /*.indexes_ =*/ {
7642     {"x", 0},
7643     {"axis", 1},
7644     {"keep_dims", 2},
7645   },
7646   /*.func_impl_=*/gReduceMaxFuncImpl,
7647   /*.enable_dispatch_ =*/false,
7648   /*.is_view_ =*/false,
7649 };
7650 
7651 ReduceMeanFuncImpl gReduceMeanFuncImpl;
7652 OpDef gReduceMean = {
7653   /*.name_=*/"ReduceMean",
7654   /*.args_=*/ {
7655 
7656         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7657         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7658         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7659   },
7660   /* .returns_ = */ {
7661     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7662                 /*.inplace_input_index_=*/-1},
7663   },
7664   /*.signatures_ =*/ {
7665 
7666   },
7667   /*.indexes_ =*/ {
7668     {"x", 0},
7669     {"axis", 1},
7670     {"keep_dims", 2},
7671   },
7672   /*.func_impl_=*/gReduceMeanFuncImpl,
7673   /*.enable_dispatch_ =*/false,
7674   /*.is_view_ =*/false,
7675 };
7676 
7677 ReduceMinFuncImpl gReduceMinFuncImpl;
7678 OpDef gReduceMin = {
7679   /*.name_=*/"ReduceMin",
7680   /*.args_=*/ {
7681 
7682         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7683         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7684         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7685   },
7686   /* .returns_ = */ {
7687     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7688                 /*.inplace_input_index_=*/-1},
7689   },
7690   /*.signatures_ =*/ {
7691 
7692   },
7693   /*.indexes_ =*/ {
7694     {"x", 0},
7695     {"axis", 1},
7696     {"keep_dims", 2},
7697   },
7698   /*.func_impl_=*/gReduceMinFuncImpl,
7699   /*.enable_dispatch_ =*/false,
7700   /*.is_view_ =*/false,
7701 };
7702 
7703 ReduceProdFuncImpl gReduceProdFuncImpl;
7704 OpDef gReduceProd = {
7705   /*.name_=*/"ReduceProd",
7706   /*.args_=*/ {
7707 
7708         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7709         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7710         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7711   },
7712   /* .returns_ = */ {
7713     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7714                 /*.inplace_input_index_=*/-1},
7715   },
7716   /*.signatures_ =*/ {
7717 
7718   },
7719   /*.indexes_ =*/ {
7720     {"x", 0},
7721     {"axis", 1},
7722     {"keep_dims", 2},
7723   },
7724   /*.func_impl_=*/gReduceProdFuncImpl,
7725   /*.enable_dispatch_ =*/false,
7726   /*.is_view_ =*/false,
7727 };
7728 
7729 ReduceStdFuncImpl gReduceStdFuncImpl;
7730 OpDef gReduceStd = {
7731   /*.name_=*/"ReduceStd",
7732   /*.args_=*/ {
7733 
7734         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7735         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7736         {/*.arg_name_=*/"unbiased", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7737         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7738   },
7739   /* .returns_ = */ {
7740     {/*.arg_name_=*/"output_std", /*.arg_dtype_=*/DT_TENSOR,
7741                 /*.inplace_input_index_=*/-1},
7742     {/*.arg_name_=*/"output_mean", /*.arg_dtype_=*/DT_TENSOR,
7743                 /*.inplace_input_index_=*/-1},
7744   },
7745   /*.signatures_ =*/ {
7746 
7747   },
7748   /*.indexes_ =*/ {
7749     {"x", 0},
7750     {"axis", 1},
7751     {"unbiased", 2},
7752     {"keep_dims", 3},
7753   },
7754   /*.func_impl_=*/gReduceStdFuncImpl,
7755   /*.enable_dispatch_ =*/false,
7756   /*.is_view_ =*/false,
7757 };
7758 
7759 ReduceSumFuncImpl gReduceSumFuncImpl;
7760 OpDef gReduceSum = {
7761   /*.name_=*/"ReduceSum",
7762   /*.args_=*/ {
7763 
7764         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7765         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7766         {/*.arg_name_=*/"keep_dims", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7767         {/*.arg_name_=*/"skip_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7768   },
7769   /* .returns_ = */ {
7770     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7771                 /*.inplace_input_index_=*/-1},
7772   },
7773   /*.signatures_ =*/ {
7774 
7775   },
7776   /*.indexes_ =*/ {
7777     {"x", 0},
7778     {"axis", 1},
7779     {"keep_dims", 2},
7780     {"skip_mode", 3},
7781   },
7782   /*.func_impl_=*/gReduceSumFuncImpl,
7783   /*.enable_dispatch_ =*/false,
7784   /*.is_view_ =*/false,
7785 };
7786 
7787 ReflectionPad1DGradFuncImpl gReflectionPad1DGradFuncImpl;
7788 OpDef gReflectionPad1DGrad = {
7789   /*.name_=*/"ReflectionPad1DGrad",
7790   /*.args_=*/ {
7791 
7792         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7793         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7794         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7795   },
7796   /* .returns_ = */ {
7797     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7798                 /*.inplace_input_index_=*/-1},
7799   },
7800   /*.signatures_ =*/ {
7801 
7802   },
7803   /*.indexes_ =*/ {
7804     {"grad_output", 0},
7805     {"input", 1},
7806     {"padding", 2},
7807   },
7808   /*.func_impl_=*/gReflectionPad1DGradFuncImpl,
7809   /*.enable_dispatch_ =*/true,
7810   /*.is_view_ =*/false,
7811 };
7812 
7813 ReflectionPad1DFuncImpl gReflectionPad1DFuncImpl;
7814 OpDef gReflectionPad1D = {
7815   /*.name_=*/"ReflectionPad1D",
7816   /*.args_=*/ {
7817 
7818         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7819         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7820   },
7821   /* .returns_ = */ {
7822     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7823                 /*.inplace_input_index_=*/-1},
7824   },
7825   /*.signatures_ =*/ {
7826 
7827   },
7828   /*.indexes_ =*/ {
7829     {"input", 0},
7830     {"padding", 1},
7831   },
7832   /*.func_impl_=*/gReflectionPad1DFuncImpl,
7833   /*.enable_dispatch_ =*/true,
7834   /*.is_view_ =*/false,
7835 };
7836 
7837 ReflectionPad2DGradFuncImpl gReflectionPad2DGradFuncImpl;
7838 OpDef gReflectionPad2DGrad = {
7839   /*.name_=*/"ReflectionPad2DGrad",
7840   /*.args_=*/ {
7841 
7842         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7843         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7844         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7845   },
7846   /* .returns_ = */ {
7847     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7848                 /*.inplace_input_index_=*/-1},
7849   },
7850   /*.signatures_ =*/ {
7851 
7852   },
7853   /*.indexes_ =*/ {
7854     {"grad_output", 0},
7855     {"input", 1},
7856     {"padding", 2},
7857   },
7858   /*.func_impl_=*/gReflectionPad2DGradFuncImpl,
7859   /*.enable_dispatch_ =*/true,
7860   /*.is_view_ =*/false,
7861 };
7862 
7863 ReflectionPad2DFuncImpl gReflectionPad2DFuncImpl;
7864 OpDef gReflectionPad2D = {
7865   /*.name_=*/"ReflectionPad2D",
7866   /*.args_=*/ {
7867 
7868         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7869         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7870   },
7871   /* .returns_ = */ {
7872     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7873                 /*.inplace_input_index_=*/-1},
7874   },
7875   /*.signatures_ =*/ {
7876 
7877   },
7878   /*.indexes_ =*/ {
7879     {"input", 0},
7880     {"padding", 1},
7881   },
7882   /*.func_impl_=*/gReflectionPad2DFuncImpl,
7883   /*.enable_dispatch_ =*/true,
7884   /*.is_view_ =*/false,
7885 };
7886 
7887 ReflectionPad3DGradFuncImpl gReflectionPad3DGradFuncImpl;
7888 OpDef gReflectionPad3DGrad = {
7889   /*.name_=*/"ReflectionPad3DGrad",
7890   /*.args_=*/ {
7891 
7892         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7893         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7894         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7895   },
7896   /* .returns_ = */ {
7897     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7898                 /*.inplace_input_index_=*/-1},
7899   },
7900   /*.signatures_ =*/ {
7901 
7902   },
7903   /*.indexes_ =*/ {
7904     {"grad_output", 0},
7905     {"input", 1},
7906     {"padding", 2},
7907   },
7908   /*.func_impl_=*/gReflectionPad3DGradFuncImpl,
7909   /*.enable_dispatch_ =*/true,
7910   /*.is_view_ =*/false,
7911 };
7912 
7913 ReflectionPad3DFuncImpl gReflectionPad3DFuncImpl;
7914 OpDef gReflectionPad3D = {
7915   /*.name_=*/"ReflectionPad3D",
7916   /*.args_=*/ {
7917 
7918         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7919         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
7920   },
7921   /* .returns_ = */ {
7922     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7923                 /*.inplace_input_index_=*/-1},
7924   },
7925   /*.signatures_ =*/ {
7926 
7927   },
7928   /*.indexes_ =*/ {
7929     {"input", 0},
7930     {"padding", 1},
7931   },
7932   /*.func_impl_=*/gReflectionPad3DFuncImpl,
7933   /*.enable_dispatch_ =*/true,
7934   /*.is_view_ =*/false,
7935 };
7936 
7937 ReLU6GradFuncImpl gReLU6GradFuncImpl;
7938 OpDef gReLU6Grad = {
7939   /*.name_=*/"ReLU6Grad",
7940   /*.args_=*/ {
7941 
7942         {/*.arg_name_=*/"y_backprop", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7943         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7944   },
7945   /* .returns_ = */ {
7946     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7947                 /*.inplace_input_index_=*/-1},
7948   },
7949   /*.signatures_ =*/ {
7950 
7951   },
7952   /*.indexes_ =*/ {
7953     {"y_backprop", 0},
7954     {"x", 1},
7955   },
7956   /*.func_impl_=*/gReLU6GradFuncImpl,
7957   /*.enable_dispatch_ =*/false,
7958   /*.is_view_ =*/false,
7959 };
7960 
7961 ReLU6FuncImpl gReLU6FuncImpl;
7962 OpDef gReLU6 = {
7963   /*.name_=*/"ReLU6",
7964   /*.args_=*/ {
7965 
7966         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7967   },
7968   /* .returns_ = */ {
7969     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7970                 /*.inplace_input_index_=*/-1},
7971   },
7972   /*.signatures_ =*/ {
7973 
7974   },
7975   /*.indexes_ =*/ {
7976     {"x", 0},
7977   },
7978   /*.func_impl_=*/gReLU6FuncImpl,
7979   /*.enable_dispatch_ =*/false,
7980   /*.is_view_ =*/false,
7981 };
7982 
7983 ReluGradFuncImpl gReluGradFuncImpl;
7984 OpDef gReluGrad = {
7985   /*.name_=*/"ReluGrad",
7986   /*.args_=*/ {
7987 
7988         {/*.arg_name_=*/"y_backprop", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7989         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
7990   },
7991   /* .returns_ = */ {
7992     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
7993                 /*.inplace_input_index_=*/-1},
7994   },
7995   /*.signatures_ =*/ {
7996 
7997   },
7998   /*.indexes_ =*/ {
7999     {"y_backprop", 0},
8000     {"x", 1},
8001   },
8002   /*.func_impl_=*/gReluGradFuncImpl,
8003   /*.enable_dispatch_ =*/true,
8004   /*.is_view_ =*/false,
8005 };
8006 
8007 ReLUFuncImpl gReLUFuncImpl;
8008 OpDef gReLU = {
8009   /*.name_=*/"ReLU",
8010   /*.args_=*/ {
8011 
8012         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8013   },
8014   /* .returns_ = */ {
8015     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8016                 /*.inplace_input_index_=*/-1},
8017   },
8018   /*.signatures_ =*/ {
8019 
8020   },
8021   /*.indexes_ =*/ {
8022     {"input", 0},
8023   },
8024   /*.func_impl_=*/gReLUFuncImpl,
8025   /*.enable_dispatch_ =*/true,
8026   /*.is_view_ =*/false,
8027 };
8028 
8029 RepeatInterleaveGradFuncImpl gRepeatInterleaveGradFuncImpl;
8030 OpDef gRepeatInterleaveGrad = {
8031   /*.name_=*/"RepeatInterleaveGrad",
8032   /*.args_=*/ {
8033 
8034         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8035         {/*.arg_name_=*/"repeats", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8036         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8037   },
8038   /* .returns_ = */ {
8039     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8040                 /*.inplace_input_index_=*/-1},
8041   },
8042   /*.signatures_ =*/ {
8043 
8044   },
8045   /*.indexes_ =*/ {
8046     {"input", 0},
8047     {"repeats", 1},
8048     {"dim", 2},
8049   },
8050   /*.func_impl_=*/gRepeatInterleaveGradFuncImpl,
8051   /*.enable_dispatch_ =*/true,
8052   /*.is_view_ =*/false,
8053 };
8054 
8055 RepeatInterleaveIntFuncImpl gRepeatInterleaveIntFuncImpl;
8056 OpDef gRepeatInterleaveInt = {
8057   /*.name_=*/"RepeatInterleaveInt",
8058   /*.args_=*/ {
8059 
8060         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8061         {/*.arg_name_=*/"repeats", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8062         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8063         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8064   },
8065   /* .returns_ = */ {
8066     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8067                 /*.inplace_input_index_=*/-1},
8068   },
8069   /*.signatures_ =*/ {
8070 
8071   },
8072   /*.indexes_ =*/ {
8073     {"input", 0},
8074     {"repeats", 1},
8075     {"dim", 2},
8076     {"output_size", 3},
8077   },
8078   /*.func_impl_=*/gRepeatInterleaveIntFuncImpl,
8079   /*.enable_dispatch_ =*/true,
8080   /*.is_view_ =*/false,
8081 };
8082 
8083 RepeatInterleaveTensorFuncImpl gRepeatInterleaveTensorFuncImpl;
8084 OpDef gRepeatInterleaveTensor = {
8085   /*.name_=*/"RepeatInterleaveTensor",
8086   /*.args_=*/ {
8087 
8088         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8089         {/*.arg_name_=*/"repeats", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TUPLE_INT}, /*.is_optional_=*/false},
8090         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8091         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8092   },
8093   /* .returns_ = */ {
8094     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8095                 /*.inplace_input_index_=*/-1},
8096   },
8097   /*.signatures_ =*/ {
8098 
8099   },
8100   /*.indexes_ =*/ {
8101     {"input", 0},
8102     {"repeats", 1},
8103     {"dim", 2},
8104     {"output_size", 3},
8105   },
8106   /*.func_impl_=*/gRepeatInterleaveTensorFuncImpl,
8107   /*.enable_dispatch_ =*/true,
8108   /*.is_view_ =*/false,
8109 };
8110 
8111 ReplicationPad1DGradFuncImpl gReplicationPad1DGradFuncImpl;
8112 OpDef gReplicationPad1DGrad = {
8113   /*.name_=*/"ReplicationPad1DGrad",
8114   /*.args_=*/ {
8115 
8116         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8117         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8118         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8119   },
8120   /* .returns_ = */ {
8121     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8122                 /*.inplace_input_index_=*/-1},
8123   },
8124   /*.signatures_ =*/ {
8125 
8126   },
8127   /*.indexes_ =*/ {
8128     {"grad_output", 0},
8129     {"input", 1},
8130     {"padding", 2},
8131   },
8132   /*.func_impl_=*/gReplicationPad1DGradFuncImpl,
8133   /*.enable_dispatch_ =*/true,
8134   /*.is_view_ =*/false,
8135 };
8136 
8137 ReplicationPad1DFuncImpl gReplicationPad1DFuncImpl;
8138 OpDef gReplicationPad1D = {
8139   /*.name_=*/"ReplicationPad1D",
8140   /*.args_=*/ {
8141 
8142         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8143         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8144   },
8145   /* .returns_ = */ {
8146     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8147                 /*.inplace_input_index_=*/-1},
8148   },
8149   /*.signatures_ =*/ {
8150 
8151   },
8152   /*.indexes_ =*/ {
8153     {"input", 0},
8154     {"padding", 1},
8155   },
8156   /*.func_impl_=*/gReplicationPad1DFuncImpl,
8157   /*.enable_dispatch_ =*/true,
8158   /*.is_view_ =*/false,
8159 };
8160 
8161 ReplicationPad2DGradFuncImpl gReplicationPad2DGradFuncImpl;
8162 OpDef gReplicationPad2DGrad = {
8163   /*.name_=*/"ReplicationPad2DGrad",
8164   /*.args_=*/ {
8165 
8166         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8167         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8168         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8169   },
8170   /* .returns_ = */ {
8171     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8172                 /*.inplace_input_index_=*/-1},
8173   },
8174   /*.signatures_ =*/ {
8175 
8176   },
8177   /*.indexes_ =*/ {
8178     {"grad_output", 0},
8179     {"input", 1},
8180     {"padding", 2},
8181   },
8182   /*.func_impl_=*/gReplicationPad2DGradFuncImpl,
8183   /*.enable_dispatch_ =*/true,
8184   /*.is_view_ =*/false,
8185 };
8186 
8187 ReplicationPad2DFuncImpl gReplicationPad2DFuncImpl;
8188 OpDef gReplicationPad2D = {
8189   /*.name_=*/"ReplicationPad2D",
8190   /*.args_=*/ {
8191 
8192         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8193         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8194   },
8195   /* .returns_ = */ {
8196     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8197                 /*.inplace_input_index_=*/-1},
8198   },
8199   /*.signatures_ =*/ {
8200 
8201   },
8202   /*.indexes_ =*/ {
8203     {"input", 0},
8204     {"padding", 1},
8205   },
8206   /*.func_impl_=*/gReplicationPad2DFuncImpl,
8207   /*.enable_dispatch_ =*/true,
8208   /*.is_view_ =*/false,
8209 };
8210 
8211 ReplicationPad3DGradFuncImpl gReplicationPad3DGradFuncImpl;
8212 OpDef gReplicationPad3DGrad = {
8213   /*.name_=*/"ReplicationPad3DGrad",
8214   /*.args_=*/ {
8215 
8216         {/*.arg_name_=*/"grad_output", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8217         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8218         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8219   },
8220   /* .returns_ = */ {
8221     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8222                 /*.inplace_input_index_=*/-1},
8223   },
8224   /*.signatures_ =*/ {
8225 
8226   },
8227   /*.indexes_ =*/ {
8228     {"grad_output", 0},
8229     {"input", 1},
8230     {"padding", 2},
8231   },
8232   /*.func_impl_=*/gReplicationPad3DGradFuncImpl,
8233   /*.enable_dispatch_ =*/true,
8234   /*.is_view_ =*/false,
8235 };
8236 
8237 ReplicationPad3DFuncImpl gReplicationPad3DFuncImpl;
8238 OpDef gReplicationPad3D = {
8239   /*.name_=*/"ReplicationPad3D",
8240   /*.args_=*/ {
8241 
8242         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8243         {/*.arg_name_=*/"padding", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8244   },
8245   /* .returns_ = */ {
8246     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8247                 /*.inplace_input_index_=*/-1},
8248   },
8249   /*.signatures_ =*/ {
8250 
8251   },
8252   /*.indexes_ =*/ {
8253     {"input", 0},
8254     {"padding", 1},
8255   },
8256   /*.func_impl_=*/gReplicationPad3DFuncImpl,
8257   /*.enable_dispatch_ =*/true,
8258   /*.is_view_ =*/false,
8259 };
8260 
8261 ReshapeAndCacheFuncImpl gReshapeAndCacheFuncImpl;
8262 OpDef gReshapeAndCache = {
8263   /*.name_=*/"ReshapeAndCache",
8264   /*.args_=*/ {
8265 
8266         {/*.arg_name_=*/"key", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8267         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8268         {/*.arg_name_=*/"key_cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8269         {/*.arg_name_=*/"value_cache", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8270         {/*.arg_name_=*/"slot_mapping", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8271   },
8272   /* .returns_ = */ {
8273     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
8274                 /*.inplace_input_index_=*/-1},
8275   },
8276   /*.signatures_ =*/ {
8277     Signature("key", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
8278      Signature("value", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
8279      Signature("key_cache", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
8280      Signature("value_cache", SignatureEnumRW::kRWWrite,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
8281      Signature("slot_mapping", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
8282   },
8283   /*.indexes_ =*/ {
8284     {"key", 0},
8285     {"value", 1},
8286     {"key_cache", 2},
8287     {"value_cache", 3},
8288     {"slot_mapping", 4},
8289   },
8290   /*.func_impl_=*/gReshapeAndCacheFuncImpl,
8291   /*.enable_dispatch_ =*/false,
8292   /*.is_view_ =*/false,
8293 };
8294 
8295 ReshapeFuncImpl gReshapeFuncImpl;
8296 OpDef gReshape = {
8297   /*.name_=*/"Reshape",
8298   /*.args_=*/ {
8299 
8300         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8301         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR, DT_LIST_INT}, /*.is_optional_=*/false},
8302   },
8303   /* .returns_ = */ {
8304     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8305                 /*.inplace_input_index_=*/-1},
8306   },
8307   /*.signatures_ =*/ {
8308 
8309   },
8310   /*.indexes_ =*/ {
8311     {"input", 0},
8312     {"shape", 1},
8313   },
8314   /*.func_impl_=*/gReshapeFuncImpl,
8315   /*.enable_dispatch_ =*/true,
8316   /*.is_view_ =*/true,
8317 };
8318 
8319 ResizeBicubicGradFuncImpl gResizeBicubicGradFuncImpl;
8320 OpDef gResizeBicubicGrad = {
8321   /*.name_=*/"ResizeBicubicGrad",
8322   /*.args_=*/ {
8323 
8324         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8325         {/*.arg_name_=*/"image", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8326         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8327         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8328   },
8329   /* .returns_ = */ {
8330     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8331                 /*.inplace_input_index_=*/-1},
8332   },
8333   /*.signatures_ =*/ {
8334 
8335   },
8336   /*.indexes_ =*/ {
8337     {"grads", 0},
8338     {"image", 1},
8339     {"align_corners", 2},
8340     {"half_pixel_centers", 3},
8341   },
8342   /*.func_impl_=*/gResizeBicubicGradFuncImpl,
8343   /*.enable_dispatch_ =*/false,
8344   /*.is_view_ =*/false,
8345 };
8346 
8347 ResizeBicubicFuncImpl gResizeBicubicFuncImpl;
8348 OpDef gResizeBicubic = {
8349   /*.name_=*/"ResizeBicubic",
8350   /*.args_=*/ {
8351 
8352         {/*.arg_name_=*/"image", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8353         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR, DT_LIST_INT}, /*.is_optional_=*/false},
8354         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8355         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8356   },
8357   /* .returns_ = */ {
8358     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8359                 /*.inplace_input_index_=*/-1},
8360   },
8361   /*.signatures_ =*/ {
8362 
8363   },
8364   /*.indexes_ =*/ {
8365     {"image", 0},
8366     {"size", 1},
8367     {"align_corners", 2},
8368     {"half_pixel_centers", 3},
8369   },
8370   /*.func_impl_=*/gResizeBicubicFuncImpl,
8371   /*.enable_dispatch_ =*/false,
8372   /*.is_view_ =*/false,
8373 };
8374 
8375 ResizeBilinearGradFuncImpl gResizeBilinearGradFuncImpl;
8376 OpDef gResizeBilinearGrad = {
8377   /*.name_=*/"ResizeBilinearGrad",
8378   /*.args_=*/ {
8379 
8380         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8381         {/*.arg_name_=*/"image", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8382         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8383         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8384   },
8385   /* .returns_ = */ {
8386     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8387                 /*.inplace_input_index_=*/-1},
8388   },
8389   /*.signatures_ =*/ {
8390 
8391   },
8392   /*.indexes_ =*/ {
8393     {"grads", 0},
8394     {"image", 1},
8395     {"align_corners", 2},
8396     {"half_pixel_centers", 3},
8397   },
8398   /*.func_impl_=*/gResizeBilinearGradFuncImpl,
8399   /*.enable_dispatch_ =*/false,
8400   /*.is_view_ =*/false,
8401 };
8402 
8403 ResizeBilinearV2FuncImpl gResizeBilinearV2FuncImpl;
8404 OpDef gResizeBilinearV2 = {
8405   /*.name_=*/"ResizeBilinearV2",
8406   /*.args_=*/ {
8407 
8408         {/*.arg_name_=*/"image", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8409         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8410         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8411         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8412   },
8413   /* .returns_ = */ {
8414     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8415                 /*.inplace_input_index_=*/-1},
8416   },
8417   /*.signatures_ =*/ {
8418 
8419   },
8420   /*.indexes_ =*/ {
8421     {"image", 0},
8422     {"size", 1},
8423     {"align_corners", 2},
8424     {"half_pixel_centers", 3},
8425   },
8426   /*.func_impl_=*/gResizeBilinearV2FuncImpl,
8427   /*.enable_dispatch_ =*/false,
8428   /*.is_view_ =*/false,
8429 };
8430 
8431 ResizeDFuncImpl gResizeDFuncImpl;
8432 OpDef gResizeD = {
8433   /*.name_=*/"ResizeD",
8434   /*.args_=*/ {
8435 
8436         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8437         {/*.arg_name_=*/"sizes", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
8438         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/false},
8439         {/*.arg_name_=*/"coordinate_transformation_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8440   },
8441   /* .returns_ = */ {
8442     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
8443                 /*.inplace_input_index_=*/-1},
8444   },
8445   /*.signatures_ =*/ {
8446 
8447   },
8448   /*.indexes_ =*/ {
8449     {"x", 0},
8450     {"sizes", 1},
8451     {"scales", 2},
8452     {"coordinate_transformation_mode", 3},
8453   },
8454   /*.func_impl_=*/gResizeDFuncImpl,
8455   /*.enable_dispatch_ =*/false,
8456   /*.is_view_ =*/false,
8457 };
8458 
8459 ResizeLinear1DGradFuncImpl gResizeLinear1DGradFuncImpl;
8460 OpDef gResizeLinear1DGrad = {
8461   /*.name_=*/"ResizeLinear1DGrad",
8462   /*.args_=*/ {
8463 
8464         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8465         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8466         {/*.arg_name_=*/"coordinate_transformation_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8467   },
8468   /* .returns_ = */ {
8469     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8470                 /*.inplace_input_index_=*/-1},
8471   },
8472   /*.signatures_ =*/ {
8473 
8474   },
8475   /*.indexes_ =*/ {
8476     {"grads", 0},
8477     {"x", 1},
8478     {"coordinate_transformation_mode", 2},
8479   },
8480   /*.func_impl_=*/gResizeLinear1DGradFuncImpl,
8481   /*.enable_dispatch_ =*/false,
8482   /*.is_view_ =*/false,
8483 };
8484 
8485 ResizeLinear1DFuncImpl gResizeLinear1DFuncImpl;
8486 OpDef gResizeLinear1D = {
8487   /*.name_=*/"ResizeLinear1D",
8488   /*.args_=*/ {
8489 
8490         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8491         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
8492         {/*.arg_name_=*/"coordinate_transformation_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8493   },
8494   /* .returns_ = */ {
8495     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8496                 /*.inplace_input_index_=*/-1},
8497   },
8498   /*.signatures_ =*/ {
8499 
8500   },
8501   /*.indexes_ =*/ {
8502     {"x", 0},
8503     {"size", 1},
8504     {"coordinate_transformation_mode", 2},
8505   },
8506   /*.func_impl_=*/gResizeLinear1DFuncImpl,
8507   /*.enable_dispatch_ =*/false,
8508   /*.is_view_ =*/false,
8509 };
8510 
8511 ResizeNearestNeighborGradFuncImpl gResizeNearestNeighborGradFuncImpl;
8512 OpDef gResizeNearestNeighborGrad = {
8513   /*.name_=*/"ResizeNearestNeighborGrad",
8514   /*.args_=*/ {
8515 
8516         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8517         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
8518         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8519         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8520   },
8521   /* .returns_ = */ {
8522     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
8523                 /*.inplace_input_index_=*/-1},
8524   },
8525   /*.signatures_ =*/ {
8526 
8527   },
8528   /*.indexes_ =*/ {
8529     {"grads", 0},
8530     {"size", 1},
8531     {"align_corners", 2},
8532     {"half_pixel_centers", 3},
8533   },
8534   /*.func_impl_=*/gResizeNearestNeighborGradFuncImpl,
8535   /*.enable_dispatch_ =*/false,
8536   /*.is_view_ =*/false,
8537 };
8538 
8539 ResizeNearestNeighborFuncImpl gResizeNearestNeighborFuncImpl;
8540 OpDef gResizeNearestNeighbor = {
8541   /*.name_=*/"ResizeNearestNeighbor",
8542   /*.args_=*/ {
8543 
8544         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8545         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
8546         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8547         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8548   },
8549   /* .returns_ = */ {
8550     {/*.arg_name_=*/"image_out", /*.arg_dtype_=*/DT_TENSOR,
8551                 /*.inplace_input_index_=*/-1},
8552   },
8553   /*.signatures_ =*/ {
8554 
8555   },
8556   /*.indexes_ =*/ {
8557     {"input_x", 0},
8558     {"size", 1},
8559     {"align_corners", 2},
8560     {"half_pixel_centers", 3},
8561   },
8562   /*.func_impl_=*/gResizeNearestNeighborFuncImpl,
8563   /*.enable_dispatch_ =*/false,
8564   /*.is_view_ =*/false,
8565 };
8566 
8567 ResizeNearestNeighborV2GradFuncImpl gResizeNearestNeighborV2GradFuncImpl;
8568 OpDef gResizeNearestNeighborV2Grad = {
8569   /*.name_=*/"ResizeNearestNeighborV2Grad",
8570   /*.args_=*/ {
8571 
8572         {/*.arg_name_=*/"grads", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8573         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
8574         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8575         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8576   },
8577   /* .returns_ = */ {
8578     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8579                 /*.inplace_input_index_=*/-1},
8580   },
8581   /*.signatures_ =*/ {
8582 
8583   },
8584   /*.indexes_ =*/ {
8585     {"grads", 0},
8586     {"size", 1},
8587     {"align_corners", 2},
8588     {"half_pixel_centers", 3},
8589   },
8590   /*.func_impl_=*/gResizeNearestNeighborV2GradFuncImpl,
8591   /*.enable_dispatch_ =*/false,
8592   /*.is_view_ =*/false,
8593 };
8594 
8595 ResizeNearestNeighborV2FuncImpl gResizeNearestNeighborV2FuncImpl;
8596 OpDef gResizeNearestNeighborV2 = {
8597   /*.name_=*/"ResizeNearestNeighborV2",
8598   /*.args_=*/ {
8599 
8600         {/*.arg_name_=*/"image", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8601         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR, DT_LIST_INT}, /*.is_optional_=*/false},
8602         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8603         {/*.arg_name_=*/"half_pixel_centers", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8604   },
8605   /* .returns_ = */ {
8606     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8607                 /*.inplace_input_index_=*/-1},
8608   },
8609   /*.signatures_ =*/ {
8610 
8611   },
8612   /*.indexes_ =*/ {
8613     {"image", 0},
8614     {"size", 1},
8615     {"align_corners", 2},
8616     {"half_pixel_centers", 3},
8617   },
8618   /*.func_impl_=*/gResizeNearestNeighborV2FuncImpl,
8619   /*.enable_dispatch_ =*/false,
8620   /*.is_view_ =*/false,
8621 };
8622 
8623 ReverseV2FuncImpl gReverseV2FuncImpl;
8624 OpDef gReverseV2 = {
8625   /*.name_=*/"ReverseV2",
8626   /*.args_=*/ {
8627 
8628         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8629         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
8630   },
8631   /* .returns_ = */ {
8632     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8633                 /*.inplace_input_index_=*/-1},
8634   },
8635   /*.signatures_ =*/ {
8636 
8637   },
8638   /*.indexes_ =*/ {
8639     {"input", 0},
8640     {"axis", 1},
8641   },
8642   /*.func_impl_=*/gReverseV2FuncImpl,
8643   /*.enable_dispatch_ =*/true,
8644   /*.is_view_ =*/false,
8645 };
8646 
8647 RFFTGradFuncImpl gRFFTGradFuncImpl;
8648 OpDef gRFFTGrad = {
8649   /*.name_=*/"RFFTGrad",
8650   /*.args_=*/ {
8651 
8652         {/*.arg_name_=*/"input1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8653         {/*.arg_name_=*/"input2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8654         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8655         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8656         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8657   },
8658   /* .returns_ = */ {
8659     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8660                 /*.inplace_input_index_=*/-1},
8661   },
8662   /*.signatures_ =*/ {
8663 
8664   },
8665   /*.indexes_ =*/ {
8666     {"input1", 0},
8667     {"input2", 1},
8668     {"n", 2},
8669     {"dim", 3},
8670     {"norm", 4},
8671   },
8672   /*.func_impl_=*/gRFFTGradFuncImpl,
8673   /*.enable_dispatch_ =*/false,
8674   /*.is_view_ =*/false,
8675 };
8676 
8677 RFFTFuncImpl gRFFTFuncImpl;
8678 OpDef gRFFT = {
8679   /*.name_=*/"RFFT",
8680   /*.args_=*/ {
8681 
8682         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8683         {/*.arg_name_=*/"n", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8684         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8685         {/*.arg_name_=*/"norm", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
8686   },
8687   /* .returns_ = */ {
8688     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8689                 /*.inplace_input_index_=*/-1},
8690   },
8691   /*.signatures_ =*/ {
8692 
8693   },
8694   /*.indexes_ =*/ {
8695     {"input", 0},
8696     {"n", 1},
8697     {"dim", 2},
8698     {"norm", 3},
8699   },
8700   /*.func_impl_=*/gRFFTFuncImpl,
8701   /*.enable_dispatch_ =*/false,
8702   /*.is_view_ =*/false,
8703 };
8704 
8705 RightShiftFuncImpl gRightShiftFuncImpl;
8706 OpDef gRightShift = {
8707   /*.name_=*/"RightShift",
8708   /*.args_=*/ {
8709 
8710         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8711         {/*.arg_name_=*/"input_y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8712   },
8713   /* .returns_ = */ {
8714     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8715                 /*.inplace_input_index_=*/-1},
8716   },
8717   /*.signatures_ =*/ {
8718 
8719   },
8720   /*.indexes_ =*/ {
8721     {"input_x", 0},
8722     {"input_y", 1},
8723   },
8724   /*.func_impl_=*/gRightShiftFuncImpl,
8725   /*.enable_dispatch_ =*/false,
8726   /*.is_view_ =*/false,
8727 };
8728 
8729 RmsNormGradFuncImpl gRmsNormGradFuncImpl;
8730 OpDef gRmsNormGrad = {
8731   /*.name_=*/"RmsNormGrad",
8732   /*.args_=*/ {
8733 
8734         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8735         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8736         {/*.arg_name_=*/"rstd", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8737         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8738   },
8739   /* .returns_ = */ {
8740     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
8741                 /*.inplace_input_index_=*/-1},
8742     {/*.arg_name_=*/"dgamma", /*.arg_dtype_=*/DT_TENSOR,
8743                 /*.inplace_input_index_=*/-1},
8744   },
8745   /*.signatures_ =*/ {
8746 
8747   },
8748   /*.indexes_ =*/ {
8749     {"dy", 0},
8750     {"x", 1},
8751     {"rstd", 2},
8752     {"gamma", 3},
8753   },
8754   /*.func_impl_=*/gRmsNormGradFuncImpl,
8755   /*.enable_dispatch_ =*/true,
8756   /*.is_view_ =*/false,
8757 };
8758 
8759 RmsNormFuncImpl gRmsNormFuncImpl;
8760 OpDef gRmsNorm = {
8761   /*.name_=*/"RmsNorm",
8762   /*.args_=*/ {
8763 
8764         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8765         {/*.arg_name_=*/"gamma", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8766         {/*.arg_name_=*/"epsilon", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8767   },
8768   /* .returns_ = */ {
8769     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
8770                 /*.inplace_input_index_=*/-1},
8771     {/*.arg_name_=*/"rstd", /*.arg_dtype_=*/DT_TENSOR,
8772                 /*.inplace_input_index_=*/-1},
8773   },
8774   /*.signatures_ =*/ {
8775 
8776   },
8777   /*.indexes_ =*/ {
8778     {"x", 0},
8779     {"gamma", 1},
8780     {"epsilon", 2},
8781   },
8782   /*.func_impl_=*/gRmsNormFuncImpl,
8783   /*.enable_dispatch_ =*/true,
8784   /*.is_view_ =*/false,
8785 };
8786 
8787 RollFuncImpl gRollFuncImpl;
8788 OpDef gRoll = {
8789   /*.name_=*/"Roll",
8790   /*.args_=*/ {
8791 
8792         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8793         {/*.arg_name_=*/"shift", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
8794         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT}, /*.is_optional_=*/false},
8795   },
8796   /* .returns_ = */ {
8797     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8798                 /*.inplace_input_index_=*/-1},
8799   },
8800   /*.signatures_ =*/ {
8801 
8802   },
8803   /*.indexes_ =*/ {
8804     {"input", 0},
8805     {"shift", 1},
8806     {"axis", 2},
8807   },
8808   /*.func_impl_=*/gRollFuncImpl,
8809   /*.enable_dispatch_ =*/false,
8810   /*.is_view_ =*/false,
8811 };
8812 
8813 RoundFuncImpl gRoundFuncImpl;
8814 OpDef gRound = {
8815   /*.name_=*/"Round",
8816   /*.args_=*/ {
8817 
8818         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8819   },
8820   /* .returns_ = */ {
8821     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8822                 /*.inplace_input_index_=*/-1},
8823   },
8824   /*.signatures_ =*/ {
8825 
8826   },
8827   /*.indexes_ =*/ {
8828     {"input", 0},
8829   },
8830   /*.func_impl_=*/gRoundFuncImpl,
8831   /*.enable_dispatch_ =*/false,
8832   /*.is_view_ =*/false,
8833 };
8834 
8835 RsqrtGradFuncImpl gRsqrtGradFuncImpl;
8836 OpDef gRsqrtGrad = {
8837   /*.name_=*/"RsqrtGrad",
8838   /*.args_=*/ {
8839 
8840         {/*.arg_name_=*/"y_backprop", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8841         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8842   },
8843   /* .returns_ = */ {
8844     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8845                 /*.inplace_input_index_=*/-1},
8846   },
8847   /*.signatures_ =*/ {
8848 
8849   },
8850   /*.indexes_ =*/ {
8851     {"y_backprop", 0},
8852     {"x", 1},
8853   },
8854   /*.func_impl_=*/gRsqrtGradFuncImpl,
8855   /*.enable_dispatch_ =*/false,
8856   /*.is_view_ =*/false,
8857 };
8858 
8859 RsqrtFuncImpl gRsqrtFuncImpl;
8860 OpDef gRsqrt = {
8861   /*.name_=*/"Rsqrt",
8862   /*.args_=*/ {
8863 
8864         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8865   },
8866   /* .returns_ = */ {
8867     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
8868                 /*.inplace_input_index_=*/-1},
8869   },
8870   /*.signatures_ =*/ {
8871 
8872   },
8873   /*.indexes_ =*/ {
8874     {"input", 0},
8875   },
8876   /*.func_impl_=*/gRsqrtFuncImpl,
8877   /*.enable_dispatch_ =*/true,
8878   /*.is_view_ =*/false,
8879 };
8880 
8881 ScalarAddFuncImpl gScalarAddFuncImpl;
8882 OpDef gScalarAdd = {
8883   /*.name_=*/"ScalarAdd",
8884   /*.args_=*/ {
8885 
8886         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8887         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8888   },
8889   /* .returns_ = */ {
8890     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
8891                 /*.inplace_input_index_=*/-1},
8892   },
8893   /*.signatures_ =*/ {
8894 
8895   },
8896   /*.indexes_ =*/ {
8897     {"x", 0},
8898     {"y", 1},
8899   },
8900   /*.func_impl_=*/gScalarAddFuncImpl,
8901   /*.enable_dispatch_ =*/false,
8902   /*.is_view_ =*/false,
8903 };
8904 
8905 ScalarBoolFuncImpl gScalarBoolFuncImpl;
8906 OpDef gScalarBool = {
8907   /*.name_=*/"ScalarBool",
8908   /*.args_=*/ {
8909 
8910         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8911   },
8912   /* .returns_ = */ {
8913     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
8914                 /*.inplace_input_index_=*/-1},
8915   },
8916   /*.signatures_ =*/ {
8917 
8918   },
8919   /*.indexes_ =*/ {
8920     {"x", 0},
8921   },
8922   /*.func_impl_=*/gScalarBoolFuncImpl,
8923   /*.enable_dispatch_ =*/false,
8924   /*.is_view_ =*/false,
8925 };
8926 
8927 ScalarCastFuncImpl gScalarCastFuncImpl;
8928 OpDef gScalarCast = {
8929   /*.name_=*/"ScalarCast",
8930   /*.args_=*/ {
8931 
8932         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8933         {/*.arg_name_=*/"input_y", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8934   },
8935   /* .returns_ = */ {
8936     {/*.arg_name_=*/"output_data", /*.arg_dtype_=*/DT_NUMBER,
8937                 /*.inplace_input_index_=*/-1},
8938   },
8939   /*.signatures_ =*/ {
8940 
8941   },
8942   /*.indexes_ =*/ {
8943     {"input_x", 0},
8944     {"input_y", 1},
8945   },
8946   /*.func_impl_=*/gScalarCastFuncImpl,
8947   /*.enable_dispatch_ =*/false,
8948   /*.is_view_ =*/false,
8949 };
8950 
8951 ScalarDivFuncImpl gScalarDivFuncImpl;
8952 OpDef gScalarDiv = {
8953   /*.name_=*/"ScalarDiv",
8954   /*.args_=*/ {
8955 
8956         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8957         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8958   },
8959   /* .returns_ = */ {
8960     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
8961                 /*.inplace_input_index_=*/-1},
8962   },
8963   /*.signatures_ =*/ {
8964 
8965   },
8966   /*.indexes_ =*/ {
8967     {"x", 0},
8968     {"y", 1},
8969   },
8970   /*.func_impl_=*/gScalarDivFuncImpl,
8971   /*.enable_dispatch_ =*/false,
8972   /*.is_view_ =*/false,
8973 };
8974 
8975 ScalarEqFuncImpl gScalarEqFuncImpl;
8976 OpDef gScalarEq = {
8977   /*.name_=*/"ScalarEq",
8978   /*.args_=*/ {
8979 
8980         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8981         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
8982   },
8983   /* .returns_ = */ {
8984     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
8985                 /*.inplace_input_index_=*/-1},
8986   },
8987   /*.signatures_ =*/ {
8988 
8989   },
8990   /*.indexes_ =*/ {
8991     {"x", 0},
8992     {"y", 1},
8993   },
8994   /*.func_impl_=*/gScalarEqFuncImpl,
8995   /*.enable_dispatch_ =*/false,
8996   /*.is_view_ =*/false,
8997 };
8998 
8999 ScalarFloorDivFuncImpl gScalarFloorDivFuncImpl;
9000 OpDef gScalarFloorDiv = {
9001   /*.name_=*/"ScalarFloorDiv",
9002   /*.args_=*/ {
9003 
9004         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9005         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9006   },
9007   /* .returns_ = */ {
9008     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9009                 /*.inplace_input_index_=*/-1},
9010   },
9011   /*.signatures_ =*/ {
9012 
9013   },
9014   /*.indexes_ =*/ {
9015     {"x", 0},
9016     {"y", 1},
9017   },
9018   /*.func_impl_=*/gScalarFloorDivFuncImpl,
9019   /*.enable_dispatch_ =*/false,
9020   /*.is_view_ =*/false,
9021 };
9022 
9023 ScalarGeFuncImpl gScalarGeFuncImpl;
9024 OpDef gScalarGe = {
9025   /*.name_=*/"ScalarGe",
9026   /*.args_=*/ {
9027 
9028         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9029         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9030   },
9031   /* .returns_ = */ {
9032     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9033                 /*.inplace_input_index_=*/-1},
9034   },
9035   /*.signatures_ =*/ {
9036 
9037   },
9038   /*.indexes_ =*/ {
9039     {"x", 0},
9040     {"y", 1},
9041   },
9042   /*.func_impl_=*/gScalarGeFuncImpl,
9043   /*.enable_dispatch_ =*/false,
9044   /*.is_view_ =*/false,
9045 };
9046 
9047 ScalarGtFuncImpl gScalarGtFuncImpl;
9048 OpDef gScalarGt = {
9049   /*.name_=*/"ScalarGt",
9050   /*.args_=*/ {
9051 
9052         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9053         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9054   },
9055   /* .returns_ = */ {
9056     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9057                 /*.inplace_input_index_=*/-1},
9058   },
9059   /*.signatures_ =*/ {
9060 
9061   },
9062   /*.indexes_ =*/ {
9063     {"x", 0},
9064     {"y", 1},
9065   },
9066   /*.func_impl_=*/gScalarGtFuncImpl,
9067   /*.enable_dispatch_ =*/false,
9068   /*.is_view_ =*/false,
9069 };
9070 
9071 ScalarLeFuncImpl gScalarLeFuncImpl;
9072 OpDef gScalarLe = {
9073   /*.name_=*/"ScalarLe",
9074   /*.args_=*/ {
9075 
9076         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9077         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9078   },
9079   /* .returns_ = */ {
9080     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9081                 /*.inplace_input_index_=*/-1},
9082   },
9083   /*.signatures_ =*/ {
9084 
9085   },
9086   /*.indexes_ =*/ {
9087     {"x", 0},
9088     {"y", 1},
9089   },
9090   /*.func_impl_=*/gScalarLeFuncImpl,
9091   /*.enable_dispatch_ =*/false,
9092   /*.is_view_ =*/false,
9093 };
9094 
9095 ScalarLogFuncImpl gScalarLogFuncImpl;
9096 OpDef gScalarLog = {
9097   /*.name_=*/"ScalarLog",
9098   /*.args_=*/ {
9099 
9100         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9101   },
9102   /* .returns_ = */ {
9103     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9104                 /*.inplace_input_index_=*/-1},
9105   },
9106   /*.signatures_ =*/ {
9107 
9108   },
9109   /*.indexes_ =*/ {
9110     {"x", 0},
9111   },
9112   /*.func_impl_=*/gScalarLogFuncImpl,
9113   /*.enable_dispatch_ =*/false,
9114   /*.is_view_ =*/false,
9115 };
9116 
9117 ScalarLtFuncImpl gScalarLtFuncImpl;
9118 OpDef gScalarLt = {
9119   /*.name_=*/"ScalarLt",
9120   /*.args_=*/ {
9121 
9122         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9123         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9124   },
9125   /* .returns_ = */ {
9126     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9127                 /*.inplace_input_index_=*/-1},
9128   },
9129   /*.signatures_ =*/ {
9130 
9131   },
9132   /*.indexes_ =*/ {
9133     {"x", 0},
9134     {"y", 1},
9135   },
9136   /*.func_impl_=*/gScalarLtFuncImpl,
9137   /*.enable_dispatch_ =*/false,
9138   /*.is_view_ =*/false,
9139 };
9140 
9141 ScalarModFuncImpl gScalarModFuncImpl;
9142 OpDef gScalarMod = {
9143   /*.name_=*/"ScalarMod",
9144   /*.args_=*/ {
9145 
9146         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9147         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9148   },
9149   /* .returns_ = */ {
9150     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9151                 /*.inplace_input_index_=*/-1},
9152   },
9153   /*.signatures_ =*/ {
9154 
9155   },
9156   /*.indexes_ =*/ {
9157     {"x", 0},
9158     {"y", 1},
9159   },
9160   /*.func_impl_=*/gScalarModFuncImpl,
9161   /*.enable_dispatch_ =*/false,
9162   /*.is_view_ =*/false,
9163 };
9164 
9165 ScalarMulFuncImpl gScalarMulFuncImpl;
9166 OpDef gScalarMul = {
9167   /*.name_=*/"ScalarMul",
9168   /*.args_=*/ {
9169 
9170         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9171         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9172   },
9173   /* .returns_ = */ {
9174     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9175                 /*.inplace_input_index_=*/-1},
9176   },
9177   /*.signatures_ =*/ {
9178 
9179   },
9180   /*.indexes_ =*/ {
9181     {"x", 0},
9182     {"y", 1},
9183   },
9184   /*.func_impl_=*/gScalarMulFuncImpl,
9185   /*.enable_dispatch_ =*/false,
9186   /*.is_view_ =*/false,
9187 };
9188 
9189 ScalarPowFuncImpl gScalarPowFuncImpl;
9190 OpDef gScalarPow = {
9191   /*.name_=*/"ScalarPow",
9192   /*.args_=*/ {
9193 
9194         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9195         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9196   },
9197   /* .returns_ = */ {
9198     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9199                 /*.inplace_input_index_=*/-1},
9200   },
9201   /*.signatures_ =*/ {
9202 
9203   },
9204   /*.indexes_ =*/ {
9205     {"x", 0},
9206     {"y", 1},
9207   },
9208   /*.func_impl_=*/gScalarPowFuncImpl,
9209   /*.enable_dispatch_ =*/false,
9210   /*.is_view_ =*/false,
9211 };
9212 
9213 ScalarSubFuncImpl gScalarSubFuncImpl;
9214 OpDef gScalarSub = {
9215   /*.name_=*/"ScalarSub",
9216   /*.args_=*/ {
9217 
9218         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9219         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9220   },
9221   /* .returns_ = */ {
9222     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9223                 /*.inplace_input_index_=*/-1},
9224   },
9225   /*.signatures_ =*/ {
9226 
9227   },
9228   /*.indexes_ =*/ {
9229     {"x", 0},
9230     {"y", 1},
9231   },
9232   /*.func_impl_=*/gScalarSubFuncImpl,
9233   /*.enable_dispatch_ =*/false,
9234   /*.is_view_ =*/false,
9235 };
9236 
9237 ScalarToTensorFuncImpl gScalarToTensorFuncImpl;
9238 OpDef gScalarToTensor = {
9239   /*.name_=*/"ScalarToTensor",
9240   /*.args_=*/ {
9241 
9242         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9243         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
9244   },
9245   /* .returns_ = */ {
9246     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9247                 /*.inplace_input_index_=*/-1},
9248   },
9249   /*.signatures_ =*/ {
9250 
9251   },
9252   /*.indexes_ =*/ {
9253     {"input_x", 0},
9254     {"dtype", 1},
9255   },
9256   /*.func_impl_=*/gScalarToTensorFuncImpl,
9257   /*.enable_dispatch_ =*/false,
9258   /*.is_view_ =*/false,
9259 };
9260 
9261 ScalarUaddFuncImpl gScalarUaddFuncImpl;
9262 OpDef gScalarUadd = {
9263   /*.name_=*/"ScalarUadd",
9264   /*.args_=*/ {
9265 
9266         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9267   },
9268   /* .returns_ = */ {
9269     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9270                 /*.inplace_input_index_=*/-1},
9271   },
9272   /*.signatures_ =*/ {
9273 
9274   },
9275   /*.indexes_ =*/ {
9276     {"x", 0},
9277   },
9278   /*.func_impl_=*/gScalarUaddFuncImpl,
9279   /*.enable_dispatch_ =*/false,
9280   /*.is_view_ =*/false,
9281 };
9282 
9283 ScalarUsubFuncImpl gScalarUsubFuncImpl;
9284 OpDef gScalarUsub = {
9285   /*.name_=*/"ScalarUsub",
9286   /*.args_=*/ {
9287 
9288         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9289   },
9290   /* .returns_ = */ {
9291     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_NUMBER,
9292                 /*.inplace_input_index_=*/-1},
9293   },
9294   /*.signatures_ =*/ {
9295 
9296   },
9297   /*.indexes_ =*/ {
9298     {"x", 0},
9299   },
9300   /*.func_impl_=*/gScalarUsubFuncImpl,
9301   /*.enable_dispatch_ =*/false,
9302   /*.is_view_ =*/false,
9303 };
9304 
9305 ScatterAddExtFuncImpl gScatterAddExtFuncImpl;
9306 OpDef gScatterAddExt = {
9307   /*.name_=*/"ScatterAddExt",
9308   /*.args_=*/ {
9309 
9310         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9311         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9312         {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9313         {/*.arg_name_=*/"src", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9314   },
9315   /* .returns_ = */ {
9316     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9317                 /*.inplace_input_index_=*/-1},
9318   },
9319   /*.signatures_ =*/ {
9320 
9321   },
9322   /*.indexes_ =*/ {
9323     {"input", 0},
9324     {"dim", 1},
9325     {"index", 2},
9326     {"src", 3},
9327   },
9328   /*.func_impl_=*/gScatterAddExtFuncImpl,
9329   /*.enable_dispatch_ =*/true,
9330   /*.is_view_ =*/false,
9331 };
9332 
9333 ScatterNdFuncImpl gScatterNdFuncImpl;
9334 OpDef gScatterNd = {
9335   /*.name_=*/"ScatterNd",
9336   /*.args_=*/ {
9337 
9338         {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9339         {/*.arg_name_=*/"updates", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9340         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9341   },
9342   /* .returns_ = */ {
9343     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9344                 /*.inplace_input_index_=*/-1},
9345   },
9346   /*.signatures_ =*/ {
9347 
9348   },
9349   /*.indexes_ =*/ {
9350     {"indices", 0},
9351     {"updates", 1},
9352     {"shape", 2},
9353   },
9354   /*.func_impl_=*/gScatterNdFuncImpl,
9355   /*.enable_dispatch_ =*/false,
9356   /*.is_view_ =*/false,
9357 };
9358 
9359 ScatterFuncImpl gScatterFuncImpl;
9360 OpDef gScatter = {
9361   /*.name_=*/"Scatter",
9362   /*.args_=*/ {
9363 
9364         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9365         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9366         {/*.arg_name_=*/"index", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9367         {/*.arg_name_=*/"src", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9368         {/*.arg_name_=*/"reduce", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9369   },
9370   /* .returns_ = */ {
9371     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
9372                 /*.inplace_input_index_=*/-1},
9373   },
9374   /*.signatures_ =*/ {
9375 
9376   },
9377   /*.indexes_ =*/ {
9378     {"input", 0},
9379     {"dim", 1},
9380     {"index", 2},
9381     {"src", 3},
9382     {"reduce", 4},
9383   },
9384   /*.func_impl_=*/gScatterFuncImpl,
9385   /*.enable_dispatch_ =*/true,
9386   /*.is_view_ =*/false,
9387 };
9388 
9389 SearchSortedFuncImpl gSearchSortedFuncImpl;
9390 OpDef gSearchSorted = {
9391   /*.name_=*/"SearchSorted",
9392   /*.args_=*/ {
9393 
9394         {/*.arg_name_=*/"sorted_sequence", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9395         {/*.arg_name_=*/"values", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9396         {/*.arg_name_=*/"sorter", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
9397         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9398         {/*.arg_name_=*/"right", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9399   },
9400   /* .returns_ = */ {
9401     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9402                 /*.inplace_input_index_=*/-1},
9403   },
9404   /*.signatures_ =*/ {
9405 
9406   },
9407   /*.indexes_ =*/ {
9408     {"sorted_sequence", 0},
9409     {"values", 1},
9410     {"sorter", 2},
9411     {"dtype", 3},
9412     {"right", 4},
9413   },
9414   /*.func_impl_=*/gSearchSortedFuncImpl,
9415   /*.enable_dispatch_ =*/true,
9416   /*.is_view_ =*/false,
9417 };
9418 
9419 SelectFuncImpl gSelectFuncImpl;
9420 OpDef gSelect = {
9421   /*.name_=*/"Select",
9422   /*.args_=*/ {
9423 
9424         {/*.arg_name_=*/"condition", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9425         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
9426         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
9427   },
9428   /* .returns_ = */ {
9429     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9430                 /*.inplace_input_index_=*/-1},
9431   },
9432   /*.signatures_ =*/ {
9433 
9434   },
9435   /*.indexes_ =*/ {
9436     {"condition", 0},
9437     {"input", 1},
9438     {"other", 2},
9439   },
9440   /*.func_impl_=*/gSelectFuncImpl,
9441   /*.enable_dispatch_ =*/true,
9442   /*.is_view_ =*/false,
9443 };
9444 
9445 SequenceConcatFuncImpl gSequenceConcatFuncImpl;
9446 OpDef gSequenceConcat = {
9447   /*.name_=*/"SequenceConcat",
9448   /*.args_=*/ {
9449 
9450         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
9451         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9452   },
9453   /* .returns_ = */ {
9454     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9455                 /*.inplace_input_index_=*/-1},
9456   },
9457   /*.signatures_ =*/ {
9458 
9459   },
9460   /*.indexes_ =*/ {
9461     {"x", 0},
9462     {"axis", 1},
9463   },
9464   /*.func_impl_=*/gSequenceConcatFuncImpl,
9465   /*.enable_dispatch_ =*/false,
9466   /*.is_view_ =*/false,
9467 };
9468 
9469 ShapeFuncImpl gShapeFuncImpl;
9470 OpDef gShape = {
9471   /*.name_=*/"Shape",
9472   /*.args_=*/ {
9473 
9474         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9475   },
9476   /* .returns_ = */ {
9477     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TUPLE_INT,
9478                 /*.inplace_input_index_=*/-1},
9479   },
9480   /*.signatures_ =*/ {
9481 
9482   },
9483   /*.indexes_ =*/ {
9484     {"input_x", 0},
9485   },
9486   /*.func_impl_=*/gShapeFuncImpl,
9487   /*.enable_dispatch_ =*/false,
9488   /*.is_view_ =*/false,
9489 };
9490 
9491 SigmoidGradFuncImpl gSigmoidGradFuncImpl;
9492 OpDef gSigmoidGrad = {
9493   /*.name_=*/"SigmoidGrad",
9494   /*.args_=*/ {
9495 
9496         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9497         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9498   },
9499   /* .returns_ = */ {
9500     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9501                 /*.inplace_input_index_=*/-1},
9502   },
9503   /*.signatures_ =*/ {
9504 
9505   },
9506   /*.indexes_ =*/ {
9507     {"y", 0},
9508     {"dy", 1},
9509   },
9510   /*.func_impl_=*/gSigmoidGradFuncImpl,
9511   /*.enable_dispatch_ =*/true,
9512   /*.is_view_ =*/false,
9513 };
9514 
9515 SigmoidFuncImpl gSigmoidFuncImpl;
9516 OpDef gSigmoid = {
9517   /*.name_=*/"Sigmoid",
9518   /*.args_=*/ {
9519 
9520         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9521   },
9522   /* .returns_ = */ {
9523     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9524                 /*.inplace_input_index_=*/-1},
9525   },
9526   /*.signatures_ =*/ {
9527 
9528   },
9529   /*.indexes_ =*/ {
9530     {"input", 0},
9531   },
9532   /*.func_impl_=*/gSigmoidFuncImpl,
9533   /*.enable_dispatch_ =*/true,
9534   /*.is_view_ =*/false,
9535 };
9536 
9537 SignFuncImpl gSignFuncImpl;
9538 OpDef gSign = {
9539   /*.name_=*/"Sign",
9540   /*.args_=*/ {
9541 
9542         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9543   },
9544   /* .returns_ = */ {
9545     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9546                 /*.inplace_input_index_=*/-1},
9547   },
9548   /*.signatures_ =*/ {
9549 
9550   },
9551   /*.indexes_ =*/ {
9552     {"input", 0},
9553   },
9554   /*.func_impl_=*/gSignFuncImpl,
9555   /*.enable_dispatch_ =*/true,
9556   /*.is_view_ =*/false,
9557 };
9558 
9559 SiLUGradFuncImpl gSiLUGradFuncImpl;
9560 OpDef gSiLUGrad = {
9561   /*.name_=*/"SiLUGrad",
9562   /*.args_=*/ {
9563 
9564         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9565         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9566   },
9567   /* .returns_ = */ {
9568     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9569                 /*.inplace_input_index_=*/-1},
9570   },
9571   /*.signatures_ =*/ {
9572 
9573   },
9574   /*.indexes_ =*/ {
9575     {"dout", 0},
9576     {"x", 1},
9577   },
9578   /*.func_impl_=*/gSiLUGradFuncImpl,
9579   /*.enable_dispatch_ =*/true,
9580   /*.is_view_ =*/false,
9581 };
9582 
9583 SiLUFuncImpl gSiLUFuncImpl;
9584 OpDef gSiLU = {
9585   /*.name_=*/"SiLU",
9586   /*.args_=*/ {
9587 
9588         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9589   },
9590   /* .returns_ = */ {
9591     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9592                 /*.inplace_input_index_=*/-1},
9593   },
9594   /*.signatures_ =*/ {
9595 
9596   },
9597   /*.indexes_ =*/ {
9598     {"input", 0},
9599   },
9600   /*.func_impl_=*/gSiLUFuncImpl,
9601   /*.enable_dispatch_ =*/true,
9602   /*.is_view_ =*/false,
9603 };
9604 
9605 SinFuncImpl gSinFuncImpl;
9606 OpDef gSin = {
9607   /*.name_=*/"Sin",
9608   /*.args_=*/ {
9609 
9610         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9611   },
9612   /* .returns_ = */ {
9613     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9614                 /*.inplace_input_index_=*/-1},
9615   },
9616   /*.signatures_ =*/ {
9617 
9618   },
9619   /*.indexes_ =*/ {
9620     {"input", 0},
9621   },
9622   /*.func_impl_=*/gSinFuncImpl,
9623   /*.enable_dispatch_ =*/true,
9624   /*.is_view_ =*/false,
9625 };
9626 
9627 SincFuncImpl gSincFuncImpl;
9628 OpDef gSinc = {
9629   /*.name_=*/"Sinc",
9630   /*.args_=*/ {
9631 
9632         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9633   },
9634   /* .returns_ = */ {
9635     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9636                 /*.inplace_input_index_=*/-1},
9637   },
9638   /*.signatures_ =*/ {
9639 
9640   },
9641   /*.indexes_ =*/ {
9642     {"input", 0},
9643   },
9644   /*.func_impl_=*/gSincFuncImpl,
9645   /*.enable_dispatch_ =*/false,
9646   /*.is_view_ =*/false,
9647 };
9648 
9649 SinhFuncImpl gSinhFuncImpl;
9650 OpDef gSinh = {
9651   /*.name_=*/"Sinh",
9652   /*.args_=*/ {
9653 
9654         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9655   },
9656   /* .returns_ = */ {
9657     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9658                 /*.inplace_input_index_=*/-1},
9659   },
9660   /*.signatures_ =*/ {
9661 
9662   },
9663   /*.indexes_ =*/ {
9664     {"input", 0},
9665   },
9666   /*.func_impl_=*/gSinhFuncImpl,
9667   /*.enable_dispatch_ =*/false,
9668   /*.is_view_ =*/false,
9669 };
9670 
9671 SliceExtFuncImpl gSliceExtFuncImpl;
9672 OpDef gSliceExt = {
9673   /*.name_=*/"SliceExt",
9674   /*.args_=*/ {
9675 
9676         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9677         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9678         {/*.arg_name_=*/"start", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9679         {/*.arg_name_=*/"end", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9680         {/*.arg_name_=*/"step", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9681   },
9682   /* .returns_ = */ {
9683     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9684                 /*.inplace_input_index_=*/-1},
9685   },
9686   /*.signatures_ =*/ {
9687 
9688   },
9689   /*.indexes_ =*/ {
9690     {"input", 0},
9691     {"dim", 1},
9692     {"start", 2},
9693     {"end", 3},
9694     {"step", 4},
9695   },
9696   /*.func_impl_=*/gSliceExtFuncImpl,
9697   /*.enable_dispatch_ =*/true,
9698   /*.is_view_ =*/true,
9699 };
9700 
9701 SoftmaxBackwardFuncImpl gSoftmaxBackwardFuncImpl;
9702 OpDef gSoftmaxBackward = {
9703   /*.name_=*/"SoftmaxBackward",
9704   /*.args_=*/ {
9705 
9706         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9707         {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9708         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9709   },
9710   /* .returns_ = */ {
9711     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9712                 /*.inplace_input_index_=*/-1},
9713   },
9714   /*.signatures_ =*/ {
9715 
9716   },
9717   /*.indexes_ =*/ {
9718     {"dout", 0},
9719     {"out", 1},
9720     {"dim", 2},
9721   },
9722   /*.func_impl_=*/gSoftmaxBackwardFuncImpl,
9723   /*.enable_dispatch_ =*/true,
9724   /*.is_view_ =*/false,
9725 };
9726 
9727 SoftmaxFuncImpl gSoftmaxFuncImpl;
9728 OpDef gSoftmax = {
9729   /*.name_=*/"Softmax",
9730   /*.args_=*/ {
9731 
9732         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9733         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT}, /*.is_optional_=*/false},
9734   },
9735   /* .returns_ = */ {
9736     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9737                 /*.inplace_input_index_=*/-1},
9738   },
9739   /*.signatures_ =*/ {
9740 
9741   },
9742   /*.indexes_ =*/ {
9743     {"input", 0},
9744     {"axis", 1},
9745   },
9746   /*.func_impl_=*/gSoftmaxFuncImpl,
9747   /*.enable_dispatch_ =*/true,
9748   /*.is_view_ =*/false,
9749 };
9750 
9751 SoftplusExtFuncImpl gSoftplusExtFuncImpl;
9752 OpDef gSoftplusExt = {
9753   /*.name_=*/"SoftplusExt",
9754   /*.args_=*/ {
9755 
9756         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9757         {/*.arg_name_=*/"beta", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9758         {/*.arg_name_=*/"threshold", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9759   },
9760   /* .returns_ = */ {
9761     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9762                 /*.inplace_input_index_=*/-1},
9763   },
9764   /*.signatures_ =*/ {
9765 
9766   },
9767   /*.indexes_ =*/ {
9768     {"input", 0},
9769     {"beta", 1},
9770     {"threshold", 2},
9771   },
9772   /*.func_impl_=*/gSoftplusExtFuncImpl,
9773   /*.enable_dispatch_ =*/true,
9774   /*.is_view_ =*/false,
9775 };
9776 
9777 SoftplusGradExtFuncImpl gSoftplusGradExtFuncImpl;
9778 OpDef gSoftplusGradExt = {
9779   /*.name_=*/"SoftplusGradExt",
9780   /*.args_=*/ {
9781 
9782         {/*.arg_name_=*/"dout", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9783         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9784         {/*.arg_name_=*/"beta", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9785         {/*.arg_name_=*/"threshold", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9786   },
9787   /* .returns_ = */ {
9788     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9789                 /*.inplace_input_index_=*/-1},
9790   },
9791   /*.signatures_ =*/ {
9792 
9793   },
9794   /*.indexes_ =*/ {
9795     {"dout", 0},
9796     {"x", 1},
9797     {"beta", 2},
9798     {"threshold", 3},
9799   },
9800   /*.func_impl_=*/gSoftplusGradExtFuncImpl,
9801   /*.enable_dispatch_ =*/true,
9802   /*.is_view_ =*/false,
9803 };
9804 
9805 SolveTriangularFuncImpl gSolveTriangularFuncImpl;
9806 OpDef gSolveTriangular = {
9807   /*.name_=*/"SolveTriangular",
9808   /*.args_=*/ {
9809 
9810         {/*.arg_name_=*/"a", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9811         {/*.arg_name_=*/"b", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9812         {/*.arg_name_=*/"trans", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9813         {/*.arg_name_=*/"lower", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9814         {/*.arg_name_=*/"unit_diagonal", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9815   },
9816   /* .returns_ = */ {
9817     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9818                 /*.inplace_input_index_=*/-1},
9819   },
9820   /*.signatures_ =*/ {
9821 
9822   },
9823   /*.indexes_ =*/ {
9824     {"a", 0},
9825     {"b", 1},
9826     {"trans", 2},
9827     {"lower", 3},
9828     {"unit_diagonal", 4},
9829   },
9830   /*.func_impl_=*/gSolveTriangularFuncImpl,
9831   /*.enable_dispatch_ =*/false,
9832   /*.is_view_ =*/false,
9833 };
9834 
9835 SortExtFuncImpl gSortExtFuncImpl;
9836 OpDef gSortExt = {
9837   /*.name_=*/"SortExt",
9838   /*.args_=*/ {
9839 
9840         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9841         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9842         {/*.arg_name_=*/"descending", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9843         {/*.arg_name_=*/"stable", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9844   },
9845   /* .returns_ = */ {
9846     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9847                 /*.inplace_input_index_=*/-1},
9848     {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR,
9849                 /*.inplace_input_index_=*/-1},
9850   },
9851   /*.signatures_ =*/ {
9852 
9853   },
9854   /*.indexes_ =*/ {
9855     {"input", 0},
9856     {"dim", 1},
9857     {"descending", 2},
9858     {"stable", 3},
9859   },
9860   /*.func_impl_=*/gSortExtFuncImpl,
9861   /*.enable_dispatch_ =*/true,
9862   /*.is_view_ =*/false,
9863 };
9864 
9865 SplitFuncImpl gSplitFuncImpl;
9866 OpDef gSplit = {
9867   /*.name_=*/"Split",
9868   /*.args_=*/ {
9869 
9870         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9871         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9872         {/*.arg_name_=*/"output_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9873   },
9874   /* .returns_ = */ {
9875     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TUPLE_TENSOR,
9876                 /*.inplace_input_index_=*/-1},
9877   },
9878   /*.signatures_ =*/ {
9879 
9880   },
9881   /*.indexes_ =*/ {
9882     {"input_x", 0},
9883     {"axis", 1},
9884     {"output_num", 2},
9885   },
9886   /*.func_impl_=*/gSplitFuncImpl,
9887   /*.enable_dispatch_ =*/false,
9888   /*.is_view_ =*/false,
9889 };
9890 
9891 SplitTensorFuncImpl gSplitTensorFuncImpl;
9892 OpDef gSplitTensor = {
9893   /*.name_=*/"SplitTensor",
9894   /*.args_=*/ {
9895 
9896         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9897         {/*.arg_name_=*/"split_int", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9898         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9899   },
9900   /* .returns_ = */ {
9901     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TUPLE_TENSOR,
9902                 /*.inplace_input_index_=*/-1},
9903   },
9904   /*.signatures_ =*/ {
9905 
9906   },
9907   /*.indexes_ =*/ {
9908     {"input_x", 0},
9909     {"split_int", 1},
9910     {"axis", 2},
9911   },
9912   /*.func_impl_=*/gSplitTensorFuncImpl,
9913   /*.enable_dispatch_ =*/true,
9914   /*.is_view_ =*/true,
9915 };
9916 
9917 SplitWithSizeFuncImpl gSplitWithSizeFuncImpl;
9918 OpDef gSplitWithSize = {
9919   /*.name_=*/"SplitWithSize",
9920   /*.args_=*/ {
9921 
9922         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9923         {/*.arg_name_=*/"split_sections", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
9924         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9925   },
9926   /* .returns_ = */ {
9927     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TUPLE_TENSOR,
9928                 /*.inplace_input_index_=*/-1},
9929   },
9930   /*.signatures_ =*/ {
9931 
9932   },
9933   /*.indexes_ =*/ {
9934     {"input_x", 0},
9935     {"split_sections", 1},
9936     {"axis", 2},
9937   },
9938   /*.func_impl_=*/gSplitWithSizeFuncImpl,
9939   /*.enable_dispatch_ =*/true,
9940   /*.is_view_ =*/true,
9941 };
9942 
9943 SqrtGradFuncImpl gSqrtGradFuncImpl;
9944 OpDef gSqrtGrad = {
9945   /*.name_=*/"SqrtGrad",
9946   /*.args_=*/ {
9947 
9948         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9949         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9950   },
9951   /* .returns_ = */ {
9952     {/*.arg_name_=*/"z", /*.arg_dtype_=*/DT_TENSOR,
9953                 /*.inplace_input_index_=*/-1},
9954   },
9955   /*.signatures_ =*/ {
9956 
9957   },
9958   /*.indexes_ =*/ {
9959     {"dy", 0},
9960     {"y", 1},
9961   },
9962   /*.func_impl_=*/gSqrtGradFuncImpl,
9963   /*.enable_dispatch_ =*/false,
9964   /*.is_view_ =*/false,
9965 };
9966 
9967 SqrtFuncImpl gSqrtFuncImpl;
9968 OpDef gSqrt = {
9969   /*.name_=*/"Sqrt",
9970   /*.args_=*/ {
9971 
9972         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9973   },
9974   /* .returns_ = */ {
9975     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9976                 /*.inplace_input_index_=*/-1},
9977   },
9978   /*.signatures_ =*/ {
9979 
9980   },
9981   /*.indexes_ =*/ {
9982     {"x", 0},
9983   },
9984   /*.func_impl_=*/gSqrtFuncImpl,
9985   /*.enable_dispatch_ =*/true,
9986   /*.is_view_ =*/false,
9987 };
9988 
9989 SquareFuncImpl gSquareFuncImpl;
9990 OpDef gSquare = {
9991   /*.name_=*/"Square",
9992   /*.args_=*/ {
9993 
9994         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
9995   },
9996   /* .returns_ = */ {
9997     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
9998                 /*.inplace_input_index_=*/-1},
9999   },
10000   /*.signatures_ =*/ {
10001 
10002   },
10003   /*.indexes_ =*/ {
10004     {"input", 0},
10005   },
10006   /*.func_impl_=*/gSquareFuncImpl,
10007   /*.enable_dispatch_ =*/true,
10008   /*.is_view_ =*/false,
10009 };
10010 
10011 StackExtFuncImpl gStackExtFuncImpl;
10012 OpDef gStackExt = {
10013   /*.name_=*/"StackExt",
10014   /*.args_=*/ {
10015 
10016         {/*.arg_name_=*/"tensors", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
10017         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10018   },
10019   /* .returns_ = */ {
10020     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10021                 /*.inplace_input_index_=*/-1},
10022   },
10023   /*.signatures_ =*/ {
10024 
10025   },
10026   /*.indexes_ =*/ {
10027     {"tensors", 0},
10028     {"dim", 1},
10029   },
10030   /*.func_impl_=*/gStackExtFuncImpl,
10031   /*.enable_dispatch_ =*/true,
10032   /*.is_view_ =*/false,
10033 };
10034 
10035 StridedSliceFuncImpl gStridedSliceFuncImpl;
10036 OpDef gStridedSlice = {
10037   /*.name_=*/"StridedSlice",
10038   /*.args_=*/ {
10039 
10040         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10041         {/*.arg_name_=*/"begin", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
10042         {/*.arg_name_=*/"end", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
10043         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
10044         {/*.arg_name_=*/"begin_mask", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10045         {/*.arg_name_=*/"end_mask", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10046         {/*.arg_name_=*/"ellipsis_mask", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10047         {/*.arg_name_=*/"new_axis_mask", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10048         {/*.arg_name_=*/"shrink_axis_mask", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10049   },
10050   /* .returns_ = */ {
10051     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10052                 /*.inplace_input_index_=*/-1},
10053   },
10054   /*.signatures_ =*/ {
10055 
10056   },
10057   /*.indexes_ =*/ {
10058     {"input_x", 0},
10059     {"begin", 1},
10060     {"end", 2},
10061     {"strides", 3},
10062     {"begin_mask", 4},
10063     {"end_mask", 5},
10064     {"ellipsis_mask", 6},
10065     {"new_axis_mask", 7},
10066     {"shrink_axis_mask", 8},
10067   },
10068   /*.func_impl_=*/gStridedSliceFuncImpl,
10069   /*.enable_dispatch_ =*/false,
10070   /*.is_view_ =*/false,
10071 };
10072 
10073 SubExtFuncImpl gSubExtFuncImpl;
10074 OpDef gSubExt = {
10075   /*.name_=*/"SubExt",
10076   /*.args_=*/ {
10077 
10078         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
10079         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
10080         {/*.arg_name_=*/"alpha", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10081   },
10082   /* .returns_ = */ {
10083     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10084                 /*.inplace_input_index_=*/-1},
10085   },
10086   /*.signatures_ =*/ {
10087     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
10088      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
10089      Signature("alpha", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
10090   },
10091   /*.indexes_ =*/ {
10092     {"input", 0},
10093     {"other", 1},
10094     {"alpha", 2},
10095   },
10096   /*.func_impl_=*/gSubExtFuncImpl,
10097   /*.enable_dispatch_ =*/true,
10098   /*.is_view_ =*/false,
10099 };
10100 
10101 SubFuncImpl gSubFuncImpl;
10102 OpDef gSub = {
10103   /*.name_=*/"Sub",
10104   /*.args_=*/ {
10105 
10106         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
10107         {/*.arg_name_=*/"other", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_NUMBER}, /*.is_optional_=*/false},
10108   },
10109   /* .returns_ = */ {
10110     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10111                 /*.inplace_input_index_=*/-1},
10112   },
10113   /*.signatures_ =*/ {
10114     Signature("input", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
10115      Signature("other", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
10116   },
10117   /*.indexes_ =*/ {
10118     {"input", 0},
10119     {"other", 1},
10120   },
10121   /*.func_impl_=*/gSubFuncImpl,
10122   /*.enable_dispatch_ =*/true,
10123   /*.is_view_ =*/false,
10124 };
10125 
10126 SumExtFuncImpl gSumExtFuncImpl;
10127 OpDef gSumExt = {
10128   /*.name_=*/"SumExt",
10129   /*.args_=*/ {
10130 
10131         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10132         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/true},
10133         {/*.arg_name_=*/"keepdim", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10134         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
10135   },
10136   /* .returns_ = */ {
10137     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10138                 /*.inplace_input_index_=*/-1},
10139   },
10140   /*.signatures_ =*/ {
10141 
10142   },
10143   /*.indexes_ =*/ {
10144     {"input", 0},
10145     {"dim", 1},
10146     {"keepdim", 2},
10147     {"dtype", 3},
10148   },
10149   /*.func_impl_=*/gSumExtFuncImpl,
10150   /*.enable_dispatch_ =*/true,
10151   /*.is_view_ =*/false,
10152 };
10153 
10154 TanhGradFuncImpl gTanhGradFuncImpl;
10155 OpDef gTanhGrad = {
10156   /*.name_=*/"TanhGrad",
10157   /*.args_=*/ {
10158 
10159         {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10160         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10161   },
10162   /* .returns_ = */ {
10163     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
10164                 /*.inplace_input_index_=*/-1},
10165   },
10166   /*.signatures_ =*/ {
10167 
10168   },
10169   /*.indexes_ =*/ {
10170     {"y", 0},
10171     {"dy", 1},
10172   },
10173   /*.func_impl_=*/gTanhGradFuncImpl,
10174   /*.enable_dispatch_ =*/true,
10175   /*.is_view_ =*/false,
10176 };
10177 
10178 TanhFuncImpl gTanhFuncImpl;
10179 OpDef gTanh = {
10180   /*.name_=*/"Tanh",
10181   /*.args_=*/ {
10182 
10183         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10184   },
10185   /* .returns_ = */ {
10186     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10187                 /*.inplace_input_index_=*/-1},
10188   },
10189   /*.signatures_ =*/ {
10190 
10191   },
10192   /*.indexes_ =*/ {
10193     {"input", 0},
10194   },
10195   /*.func_impl_=*/gTanhFuncImpl,
10196   /*.enable_dispatch_ =*/true,
10197   /*.is_view_ =*/false,
10198 };
10199 
10200 TensorCopySlicesFuncImpl gTensorCopySlicesFuncImpl;
10201 OpDef gTensorCopySlices = {
10202   /*.name_=*/"TensorCopySlices",
10203   /*.args_=*/ {
10204 
10205         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10206         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10207         {/*.arg_name_=*/"begin", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
10208         {/*.arg_name_=*/"end", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
10209         {/*.arg_name_=*/"strides", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
10210   },
10211   /* .returns_ = */ {
10212     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10213                 /*.inplace_input_index_=*/-1},
10214   },
10215   /*.signatures_ =*/ {
10216 
10217   },
10218   /*.indexes_ =*/ {
10219     {"x", 0},
10220     {"value", 1},
10221     {"begin", 2},
10222     {"end", 3},
10223     {"strides", 4},
10224   },
10225   /*.func_impl_=*/gTensorCopySlicesFuncImpl,
10226   /*.enable_dispatch_ =*/false,
10227   /*.is_view_ =*/false,
10228 };
10229 
10230 TensorShapeFuncImpl gTensorShapeFuncImpl;
10231 OpDef gTensorShape = {
10232   /*.name_=*/"TensorShape",
10233   /*.args_=*/ {
10234 
10235         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10236   },
10237   /* .returns_ = */ {
10238     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10239                 /*.inplace_input_index_=*/-1},
10240   },
10241   /*.signatures_ =*/ {
10242 
10243   },
10244   /*.indexes_ =*/ {
10245     {"input_x", 0},
10246   },
10247   /*.func_impl_=*/gTensorShapeFuncImpl,
10248   /*.enable_dispatch_ =*/false,
10249   /*.is_view_ =*/false,
10250 };
10251 
10252 TileFuncImpl gTileFuncImpl;
10253 OpDef gTile = {
10254   /*.name_=*/"Tile",
10255   /*.args_=*/ {
10256 
10257         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10258         {/*.arg_name_=*/"dims", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
10259   },
10260   /* .returns_ = */ {
10261     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10262                 /*.inplace_input_index_=*/-1},
10263   },
10264   /*.signatures_ =*/ {
10265 
10266   },
10267   /*.indexes_ =*/ {
10268     {"input", 0},
10269     {"dims", 1},
10270   },
10271   /*.func_impl_=*/gTileFuncImpl,
10272   /*.enable_dispatch_ =*/true,
10273   /*.is_view_ =*/false,
10274 };
10275 
10276 TopkExtFuncImpl gTopkExtFuncImpl;
10277 OpDef gTopkExt = {
10278   /*.name_=*/"TopkExt",
10279   /*.args_=*/ {
10280 
10281         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10282         {/*.arg_name_=*/"k", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10283         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10284         {/*.arg_name_=*/"largest", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10285         {/*.arg_name_=*/"sorted", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10286   },
10287   /* .returns_ = */ {
10288     {/*.arg_name_=*/"values", /*.arg_dtype_=*/DT_TENSOR,
10289                 /*.inplace_input_index_=*/-1},
10290     {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR,
10291                 /*.inplace_input_index_=*/-1},
10292   },
10293   /*.signatures_ =*/ {
10294 
10295   },
10296   /*.indexes_ =*/ {
10297     {"input", 0},
10298     {"k", 1},
10299     {"dim", 2},
10300     {"largest", 3},
10301     {"sorted", 4},
10302   },
10303   /*.func_impl_=*/gTopkExtFuncImpl,
10304   /*.enable_dispatch_ =*/true,
10305   /*.is_view_ =*/false,
10306 };
10307 
10308 TopKRouterFuncImpl gTopKRouterFuncImpl;
10309 OpDef gTopKRouter = {
10310   /*.name_=*/"TopKRouter",
10311   /*.args_=*/ {
10312 
10313         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10314         {/*.arg_name_=*/"capacity", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10315         {/*.arg_name_=*/"expert_num", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10316   },
10317   /* .returns_ = */ {
10318     {/*.arg_name_=*/"dispatch_index", /*.arg_dtype_=*/DT_TENSOR,
10319                 /*.inplace_input_index_=*/-1},
10320     {/*.arg_name_=*/"combine_index", /*.arg_dtype_=*/DT_TENSOR,
10321                 /*.inplace_input_index_=*/-1},
10322   },
10323   /*.signatures_ =*/ {
10324 
10325   },
10326   /*.indexes_ =*/ {
10327     {"input", 0},
10328     {"capacity", 1},
10329     {"expert_num", 2},
10330   },
10331   /*.func_impl_=*/gTopKRouterFuncImpl,
10332   /*.enable_dispatch_ =*/false,
10333   /*.is_view_ =*/false,
10334 };
10335 
10336 TraceFuncImpl gTraceFuncImpl;
10337 OpDef gTrace = {
10338   /*.name_=*/"Trace",
10339   /*.args_=*/ {
10340 
10341         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10342   },
10343   /* .returns_ = */ {
10344     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10345                 /*.inplace_input_index_=*/-1},
10346   },
10347   /*.signatures_ =*/ {
10348 
10349   },
10350   /*.indexes_ =*/ {
10351     {"input", 0},
10352   },
10353   /*.func_impl_=*/gTraceFuncImpl,
10354   /*.enable_dispatch_ =*/false,
10355   /*.is_view_ =*/false,
10356 };
10357 
10358 TransposeFuncImpl gTransposeFuncImpl;
10359 OpDef gTranspose = {
10360   /*.name_=*/"Transpose",
10361   /*.args_=*/ {
10362 
10363         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10364         {/*.arg_name_=*/"input_perm", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10365   },
10366   /* .returns_ = */ {
10367     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10368                 /*.inplace_input_index_=*/-1},
10369   },
10370   /*.signatures_ =*/ {
10371 
10372   },
10373   /*.indexes_ =*/ {
10374     {"input", 0},
10375     {"input_perm", 1},
10376   },
10377   /*.func_impl_=*/gTransposeFuncImpl,
10378   /*.enable_dispatch_ =*/true,
10379   /*.is_view_ =*/true,
10380 };
10381 
10382 TriuFuncImpl gTriuFuncImpl;
10383 OpDef gTriu = {
10384   /*.name_=*/"Triu",
10385   /*.args_=*/ {
10386 
10387         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10388         {/*.arg_name_=*/"diagonal", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10389   },
10390   /* .returns_ = */ {
10391     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10392                 /*.inplace_input_index_=*/-1},
10393   },
10394   /*.signatures_ =*/ {
10395 
10396   },
10397   /*.indexes_ =*/ {
10398     {"input", 0},
10399     {"diagonal", 1},
10400   },
10401   /*.func_impl_=*/gTriuFuncImpl,
10402   /*.enable_dispatch_ =*/true,
10403   /*.is_view_ =*/false,
10404 };
10405 
10406 TupleToListFuncImpl gTupleToListFuncImpl;
10407 OpDef gTupleToList = {
10408   /*.name_=*/"TupleToList",
10409   /*.args_=*/ {
10410 
10411         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TUPLE_ANY, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10412   },
10413   /* .returns_ = */ {
10414     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_LIST_ANY,
10415                 /*.inplace_input_index_=*/-1},
10416   },
10417   /*.signatures_ =*/ {
10418 
10419   },
10420   /*.indexes_ =*/ {
10421     {"x", 0},
10422   },
10423   /*.func_impl_=*/gTupleToListFuncImpl,
10424   /*.enable_dispatch_ =*/false,
10425   /*.is_view_ =*/false,
10426 };
10427 
10428 TupleToTensorFuncImpl gTupleToTensorFuncImpl;
10429 OpDef gTupleToTensor = {
10430   /*.name_=*/"TupleToTensor",
10431   /*.args_=*/ {
10432 
10433         {/*.arg_name_=*/"input_tuple", /*.arg_dtype_=*/DT_TUPLE_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10434         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
10435   },
10436   /* .returns_ = */ {
10437     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10438                 /*.inplace_input_index_=*/-1},
10439   },
10440   /*.signatures_ =*/ {
10441 
10442   },
10443   /*.indexes_ =*/ {
10444     {"input_tuple", 0},
10445     {"dtype", 1},
10446   },
10447   /*.func_impl_=*/gTupleToTensorFuncImpl,
10448   /*.enable_dispatch_ =*/false,
10449   /*.is_view_ =*/false,
10450 };
10451 
10452 UniformExtFuncImpl gUniformExtFuncImpl;
10453 OpDef gUniformExt = {
10454   /*.name_=*/"UniformExt",
10455   /*.args_=*/ {
10456 
10457         {/*.arg_name_=*/"tensor", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10458         {/*.arg_name_=*/"a", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10459         {/*.arg_name_=*/"b", /*.arg_dtype_=*/DT_NUMBER, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10460         {/*.arg_name_=*/"seed", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10461         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10462   },
10463   /* .returns_ = */ {
10464     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10465                 /*.inplace_input_index_=*/-1},
10466   },
10467   /*.signatures_ =*/ {
10468 
10469   },
10470   /*.indexes_ =*/ {
10471     {"tensor", 0},
10472     {"a", 1},
10473     {"b", 2},
10474     {"seed", 3},
10475     {"offset", 4},
10476   },
10477   /*.func_impl_=*/gUniformExtFuncImpl,
10478   /*.enable_dispatch_ =*/true,
10479   /*.is_view_ =*/false,
10480 };
10481 
10482 Unique2FuncImpl gUnique2FuncImpl;
10483 OpDef gUnique2 = {
10484   /*.name_=*/"Unique2",
10485   /*.args_=*/ {
10486 
10487         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10488         {/*.arg_name_=*/"sorted", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10489         {/*.arg_name_=*/"return_inverse", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10490         {/*.arg_name_=*/"return_counts", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10491   },
10492   /* .returns_ = */ {
10493     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10494                 /*.inplace_input_index_=*/-1},
10495     {/*.arg_name_=*/"inverse_indices", /*.arg_dtype_=*/DT_TENSOR,
10496                 /*.inplace_input_index_=*/-1},
10497     {/*.arg_name_=*/"counts", /*.arg_dtype_=*/DT_TENSOR,
10498                 /*.inplace_input_index_=*/-1},
10499   },
10500   /*.signatures_ =*/ {
10501 
10502   },
10503   /*.indexes_ =*/ {
10504     {"input", 0},
10505     {"sorted", 1},
10506     {"return_inverse", 2},
10507     {"return_counts", 3},
10508   },
10509   /*.func_impl_=*/gUnique2FuncImpl,
10510   /*.enable_dispatch_ =*/true,
10511   /*.is_view_ =*/false,
10512 };
10513 
10514 UniqueDimFuncImpl gUniqueDimFuncImpl;
10515 OpDef gUniqueDim = {
10516   /*.name_=*/"UniqueDim",
10517   /*.args_=*/ {
10518 
10519         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10520         {/*.arg_name_=*/"sorted", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10521         {/*.arg_name_=*/"return_inverse", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10522         {/*.arg_name_=*/"dim", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10523   },
10524   /* .returns_ = */ {
10525     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10526                 /*.inplace_input_index_=*/-1},
10527     {/*.arg_name_=*/"inverse_indices", /*.arg_dtype_=*/DT_TENSOR,
10528                 /*.inplace_input_index_=*/-1},
10529     {/*.arg_name_=*/"counts", /*.arg_dtype_=*/DT_TENSOR,
10530                 /*.inplace_input_index_=*/-1},
10531   },
10532   /*.signatures_ =*/ {
10533 
10534   },
10535   /*.indexes_ =*/ {
10536     {"input", 0},
10537     {"sorted", 1},
10538     {"return_inverse", 2},
10539     {"dim", 3},
10540   },
10541   /*.func_impl_=*/gUniqueDimFuncImpl,
10542   /*.enable_dispatch_ =*/true,
10543   /*.is_view_ =*/false,
10544 };
10545 
10546 UnsortedSegmentSumFuncImpl gUnsortedSegmentSumFuncImpl;
10547 OpDef gUnsortedSegmentSum = {
10548   /*.name_=*/"UnsortedSegmentSum",
10549   /*.args_=*/ {
10550 
10551         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10552         {/*.arg_name_=*/"segment_ids", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10553         {/*.arg_name_=*/"num_segments", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_TENSOR}, /*.is_optional_=*/false},
10554   },
10555   /* .returns_ = */ {
10556     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10557                 /*.inplace_input_index_=*/-1},
10558   },
10559   /*.signatures_ =*/ {
10560 
10561   },
10562   /*.indexes_ =*/ {
10563     {"input_x", 0},
10564     {"segment_ids", 1},
10565     {"num_segments", 2},
10566   },
10567   /*.func_impl_=*/gUnsortedSegmentSumFuncImpl,
10568   /*.enable_dispatch_ =*/false,
10569   /*.is_view_ =*/false,
10570 };
10571 
10572 UnstackExtFuncImpl gUnstackExtFuncImpl;
10573 OpDef gUnstackExt = {
10574   /*.name_=*/"UnstackExt",
10575   /*.args_=*/ {
10576 
10577         {/*.arg_name_=*/"input_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10578         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10579   },
10580   /* .returns_ = */ {
10581     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TUPLE_TENSOR,
10582                 /*.inplace_input_index_=*/-1},
10583   },
10584   /*.signatures_ =*/ {
10585 
10586   },
10587   /*.indexes_ =*/ {
10588     {"input_x", 0},
10589     {"axis", 1},
10590   },
10591   /*.func_impl_=*/gUnstackExtFuncImpl,
10592   /*.enable_dispatch_ =*/false,
10593   /*.is_view_ =*/true,
10594 };
10595 
10596 UpsampleBilinear2DGradFuncImpl gUpsampleBilinear2DGradFuncImpl;
10597 OpDef gUpsampleBilinear2DGrad = {
10598   /*.name_=*/"UpsampleBilinear2DGrad",
10599   /*.args_=*/ {
10600 
10601         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10602         {/*.arg_name_=*/"input_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
10603         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10604         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10605         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10606   },
10607   /* .returns_ = */ {
10608     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
10609                 /*.inplace_input_index_=*/-1},
10610   },
10611   /*.signatures_ =*/ {
10612 
10613   },
10614   /*.indexes_ =*/ {
10615     {"dy", 0},
10616     {"input_size", 1},
10617     {"output_size", 2},
10618     {"scales", 3},
10619     {"align_corners", 4},
10620   },
10621   /*.func_impl_=*/gUpsampleBilinear2DGradFuncImpl,
10622   /*.enable_dispatch_ =*/true,
10623   /*.is_view_ =*/false,
10624 };
10625 
10626 UpsampleBilinear2DFuncImpl gUpsampleBilinear2DFuncImpl;
10627 OpDef gUpsampleBilinear2D = {
10628   /*.name_=*/"UpsampleBilinear2D",
10629   /*.args_=*/ {
10630 
10631         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10632         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10633         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10634         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10635   },
10636   /* .returns_ = */ {
10637     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10638                 /*.inplace_input_index_=*/-1},
10639   },
10640   /*.signatures_ =*/ {
10641 
10642   },
10643   /*.indexes_ =*/ {
10644     {"x", 0},
10645     {"output_size", 1},
10646     {"scales", 2},
10647     {"align_corners", 3},
10648   },
10649   /*.func_impl_=*/gUpsampleBilinear2DFuncImpl,
10650   /*.enable_dispatch_ =*/true,
10651   /*.is_view_ =*/false,
10652 };
10653 
10654 UpsampleLinear1DGradFuncImpl gUpsampleLinear1DGradFuncImpl;
10655 OpDef gUpsampleLinear1DGrad = {
10656   /*.name_=*/"UpsampleLinear1DGrad",
10657   /*.args_=*/ {
10658 
10659         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10660         {/*.arg_name_=*/"input_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
10661         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10662         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10663         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10664   },
10665   /* .returns_ = */ {
10666     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
10667                 /*.inplace_input_index_=*/-1},
10668   },
10669   /*.signatures_ =*/ {
10670 
10671   },
10672   /*.indexes_ =*/ {
10673     {"dy", 0},
10674     {"input_size", 1},
10675     {"output_size", 2},
10676     {"scales", 3},
10677     {"align_corners", 4},
10678   },
10679   /*.func_impl_=*/gUpsampleLinear1DGradFuncImpl,
10680   /*.enable_dispatch_ =*/true,
10681   /*.is_view_ =*/false,
10682 };
10683 
10684 UpsampleLinear1DFuncImpl gUpsampleLinear1DFuncImpl;
10685 OpDef gUpsampleLinear1D = {
10686   /*.name_=*/"UpsampleLinear1D",
10687   /*.args_=*/ {
10688 
10689         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10690         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10691         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10692         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10693   },
10694   /* .returns_ = */ {
10695     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10696                 /*.inplace_input_index_=*/-1},
10697   },
10698   /*.signatures_ =*/ {
10699 
10700   },
10701   /*.indexes_ =*/ {
10702     {"x", 0},
10703     {"output_size", 1},
10704     {"scales", 2},
10705     {"align_corners", 3},
10706   },
10707   /*.func_impl_=*/gUpsampleLinear1DFuncImpl,
10708   /*.enable_dispatch_ =*/true,
10709   /*.is_view_ =*/false,
10710 };
10711 
10712 UpsampleNearest1DGradFuncImpl gUpsampleNearest1DGradFuncImpl;
10713 OpDef gUpsampleNearest1DGrad = {
10714   /*.name_=*/"UpsampleNearest1DGrad",
10715   /*.args_=*/ {
10716 
10717         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10718         {/*.arg_name_=*/"input_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
10719         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10720         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10721   },
10722   /* .returns_ = */ {
10723     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
10724                 /*.inplace_input_index_=*/-1},
10725   },
10726   /*.signatures_ =*/ {
10727 
10728   },
10729   /*.indexes_ =*/ {
10730     {"dy", 0},
10731     {"input_size", 1},
10732     {"output_size", 2},
10733     {"scales", 3},
10734   },
10735   /*.func_impl_=*/gUpsampleNearest1DGradFuncImpl,
10736   /*.enable_dispatch_ =*/true,
10737   /*.is_view_ =*/false,
10738 };
10739 
10740 UpsampleNearest1DFuncImpl gUpsampleNearest1DFuncImpl;
10741 OpDef gUpsampleNearest1D = {
10742   /*.name_=*/"UpsampleNearest1D",
10743   /*.args_=*/ {
10744 
10745         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10746         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10747         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10748   },
10749   /* .returns_ = */ {
10750     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10751                 /*.inplace_input_index_=*/-1},
10752   },
10753   /*.signatures_ =*/ {
10754 
10755   },
10756   /*.indexes_ =*/ {
10757     {"x", 0},
10758     {"output_size", 1},
10759     {"scales", 2},
10760   },
10761   /*.func_impl_=*/gUpsampleNearest1DFuncImpl,
10762   /*.enable_dispatch_ =*/true,
10763   /*.is_view_ =*/false,
10764 };
10765 
10766 UpsampleNearest2DGradFuncImpl gUpsampleNearest2DGradFuncImpl;
10767 OpDef gUpsampleNearest2DGrad = {
10768   /*.name_=*/"UpsampleNearest2DGrad",
10769   /*.args_=*/ {
10770 
10771         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10772         {/*.arg_name_=*/"input_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
10773         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10774         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10775   },
10776   /* .returns_ = */ {
10777     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
10778                 /*.inplace_input_index_=*/-1},
10779   },
10780   /*.signatures_ =*/ {
10781 
10782   },
10783   /*.indexes_ =*/ {
10784     {"dy", 0},
10785     {"input_size", 1},
10786     {"output_size", 2},
10787     {"scales", 3},
10788   },
10789   /*.func_impl_=*/gUpsampleNearest2DGradFuncImpl,
10790   /*.enable_dispatch_ =*/true,
10791   /*.is_view_ =*/false,
10792 };
10793 
10794 UpsampleNearest2DFuncImpl gUpsampleNearest2DFuncImpl;
10795 OpDef gUpsampleNearest2D = {
10796   /*.name_=*/"UpsampleNearest2D",
10797   /*.args_=*/ {
10798 
10799         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10800         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10801         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10802   },
10803   /* .returns_ = */ {
10804     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10805                 /*.inplace_input_index_=*/-1},
10806   },
10807   /*.signatures_ =*/ {
10808 
10809   },
10810   /*.indexes_ =*/ {
10811     {"x", 0},
10812     {"output_size", 1},
10813     {"scales", 2},
10814   },
10815   /*.func_impl_=*/gUpsampleNearest2DFuncImpl,
10816   /*.enable_dispatch_ =*/true,
10817   /*.is_view_ =*/false,
10818 };
10819 
10820 UpsampleNearest3DGradFuncImpl gUpsampleNearest3DGradFuncImpl;
10821 OpDef gUpsampleNearest3DGrad = {
10822   /*.name_=*/"UpsampleNearest3DGrad",
10823   /*.args_=*/ {
10824 
10825         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10826         {/*.arg_name_=*/"input_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
10827         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10828         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10829   },
10830   /* .returns_ = */ {
10831     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
10832                 /*.inplace_input_index_=*/-1},
10833   },
10834   /*.signatures_ =*/ {
10835 
10836   },
10837   /*.indexes_ =*/ {
10838     {"dy", 0},
10839     {"input_size", 1},
10840     {"output_size", 2},
10841     {"scales", 3},
10842   },
10843   /*.func_impl_=*/gUpsampleNearest3DGradFuncImpl,
10844   /*.enable_dispatch_ =*/true,
10845   /*.is_view_ =*/false,
10846 };
10847 
10848 UpsampleNearest3DFuncImpl gUpsampleNearest3DFuncImpl;
10849 OpDef gUpsampleNearest3D = {
10850   /*.name_=*/"UpsampleNearest3D",
10851   /*.args_=*/ {
10852 
10853         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10854         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10855         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10856   },
10857   /* .returns_ = */ {
10858     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10859                 /*.inplace_input_index_=*/-1},
10860   },
10861   /*.signatures_ =*/ {
10862 
10863   },
10864   /*.indexes_ =*/ {
10865     {"x", 0},
10866     {"output_size", 1},
10867     {"scales", 2},
10868   },
10869   /*.func_impl_=*/gUpsampleNearest3DFuncImpl,
10870   /*.enable_dispatch_ =*/true,
10871   /*.is_view_ =*/false,
10872 };
10873 
10874 UpsampleTrilinear3DGradFuncImpl gUpsampleTrilinear3DGradFuncImpl;
10875 OpDef gUpsampleTrilinear3DGrad = {
10876   /*.name_=*/"UpsampleTrilinear3DGrad",
10877   /*.args_=*/ {
10878 
10879         {/*.arg_name_=*/"dy", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10880         {/*.arg_name_=*/"input_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/false},
10881         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10882         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10883         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10884   },
10885   /* .returns_ = */ {
10886     {/*.arg_name_=*/"dx", /*.arg_dtype_=*/DT_TENSOR,
10887                 /*.inplace_input_index_=*/-1},
10888   },
10889   /*.signatures_ =*/ {
10890 
10891   },
10892   /*.indexes_ =*/ {
10893     {"dy", 0},
10894     {"input_size", 1},
10895     {"output_size", 2},
10896     {"scales", 3},
10897     {"align_corners", 4},
10898   },
10899   /*.func_impl_=*/gUpsampleTrilinear3DGradFuncImpl,
10900   /*.enable_dispatch_ =*/true,
10901   /*.is_view_ =*/false,
10902 };
10903 
10904 UpsampleTrilinear3DFuncImpl gUpsampleTrilinear3DFuncImpl;
10905 OpDef gUpsampleTrilinear3D = {
10906   /*.name_=*/"UpsampleTrilinear3D",
10907   /*.args_=*/ {
10908 
10909         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10910         {/*.arg_name_=*/"output_size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT}, /*.is_optional_=*/true},
10911         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TUPLE_FLOAT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_FLOAT}, /*.is_optional_=*/true},
10912         {/*.arg_name_=*/"align_corners", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10913   },
10914   /* .returns_ = */ {
10915     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10916                 /*.inplace_input_index_=*/-1},
10917   },
10918   /*.signatures_ =*/ {
10919 
10920   },
10921   /*.indexes_ =*/ {
10922     {"x", 0},
10923     {"output_size", 1},
10924     {"scales", 2},
10925     {"align_corners", 3},
10926   },
10927   /*.func_impl_=*/gUpsampleTrilinear3DFuncImpl,
10928   /*.enable_dispatch_ =*/true,
10929   /*.is_view_ =*/false,
10930 };
10931 
10932 ViewFuncImpl gViewFuncImpl;
10933 OpDef gView = {
10934   /*.name_=*/"View",
10935   /*.args_=*/ {
10936 
10937         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10938         {/*.arg_name_=*/"shape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10939   },
10940   /* .returns_ = */ {
10941     {/*.arg_name_=*/"output", /*.arg_dtype_=*/DT_TENSOR,
10942                 /*.inplace_input_index_=*/-1},
10943   },
10944   /*.signatures_ =*/ {
10945 
10946   },
10947   /*.indexes_ =*/ {
10948     {"input", 0},
10949     {"shape", 1},
10950   },
10951   /*.func_impl_=*/gViewFuncImpl,
10952   /*.enable_dispatch_ =*/false,
10953   /*.is_view_ =*/true,
10954 };
10955 
10956 ZerosLikeExtFuncImpl gZerosLikeExtFuncImpl;
10957 OpDef gZerosLikeExt = {
10958   /*.name_=*/"ZerosLikeExt",
10959   /*.args_=*/ {
10960 
10961         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10962         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
10963   },
10964   /* .returns_ = */ {
10965     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10966                 /*.inplace_input_index_=*/-1},
10967   },
10968   /*.signatures_ =*/ {
10969 
10970   },
10971   /*.indexes_ =*/ {
10972     {"input", 0},
10973     {"dtype", 1},
10974   },
10975   /*.func_impl_=*/gZerosLikeExtFuncImpl,
10976   /*.enable_dispatch_ =*/true,
10977   /*.is_view_ =*/false,
10978 };
10979 
10980 ZerosLikeFuncImpl gZerosLikeFuncImpl;
10981 OpDef gZerosLike = {
10982   /*.name_=*/"ZerosLike",
10983   /*.args_=*/ {
10984 
10985         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
10986   },
10987   /* .returns_ = */ {
10988     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
10989                 /*.inplace_input_index_=*/-1},
10990   },
10991   /*.signatures_ =*/ {
10992 
10993   },
10994   /*.indexes_ =*/ {
10995     {"x", 0},
10996   },
10997   /*.func_impl_=*/gZerosLikeFuncImpl,
10998   /*.enable_dispatch_ =*/false,
10999   /*.is_view_ =*/false,
11000 };
11001 
11002 ZerosFuncImpl gZerosFuncImpl;
11003 OpDef gZeros = {
11004   /*.name_=*/"Zeros",
11005   /*.args_=*/ {
11006 
11007         {/*.arg_name_=*/"size", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_INT, DT_LIST_INT, DT_TENSOR}, /*.is_optional_=*/false},
11008         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11009   },
11010   /* .returns_ = */ {
11011     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
11012                 /*.inplace_input_index_=*/-1},
11013   },
11014   /*.signatures_ =*/ {
11015 
11016   },
11017   /*.indexes_ =*/ {
11018     {"size", 0},
11019     {"dtype", 1},
11020   },
11021   /*.func_impl_=*/gZerosFuncImpl,
11022   /*.enable_dispatch_ =*/true,
11023   /*.is_view_ =*/false,
11024 };
11025 
11026 DynamicQuantExtFuncImpl gDynamicQuantExtFuncImpl;
11027 OpDef gDynamicQuantExt = {
11028   /*.name_=*/"DynamicQuantExt",
11029   /*.args_=*/ {
11030 
11031         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11032         {/*.arg_name_=*/"smooth_scales", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11033   },
11034   /* .returns_ = */ {
11035     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
11036                 /*.inplace_input_index_=*/-1},
11037     {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR,
11038                 /*.inplace_input_index_=*/-1},
11039   },
11040   /*.signatures_ =*/ {
11041 
11042   },
11043   /*.indexes_ =*/ {
11044     {"x", 0},
11045     {"smooth_scales", 1},
11046   },
11047   /*.func_impl_=*/gDynamicQuantExtFuncImpl,
11048   /*.enable_dispatch_ =*/true,
11049   /*.is_view_ =*/false,
11050 };
11051 
11052 FusedInferAttentionScoreFuncImpl gFusedInferAttentionScoreFuncImpl;
11053 OpDef gFusedInferAttentionScore = {
11054   /*.name_=*/"FusedInferAttentionScore",
11055   /*.args_=*/ {
11056 
11057         {/*.arg_name_=*/"query", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11058         {/*.arg_name_=*/"key", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
11059         {/*.arg_name_=*/"value", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
11060         {/*.arg_name_=*/"pse_shift", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11061         {/*.arg_name_=*/"attn_mask", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11062         {/*.arg_name_=*/"actual_seq_lengths", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TUPLE_INT}, /*.is_optional_=*/true},
11063         {/*.arg_name_=*/"actual_seq_lengths_kv", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_INT, DT_TUPLE_INT}, /*.is_optional_=*/true},
11064         {/*.arg_name_=*/"dequant_scale1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11065         {/*.arg_name_=*/"quant_scale1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11066         {/*.arg_name_=*/"dequant_scale2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11067         {/*.arg_name_=*/"quant_scale2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11068         {/*.arg_name_=*/"quant_offset2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11069         {/*.arg_name_=*/"antiquant_scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11070         {/*.arg_name_=*/"antiquant_offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11071         {/*.arg_name_=*/"block_table", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11072         {/*.arg_name_=*/"query_padding_size", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11073         {/*.arg_name_=*/"kv_padding_size", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11074         {/*.arg_name_=*/"num_heads", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11075         {/*.arg_name_=*/"scale_value", /*.arg_dtype_=*/DT_FLOAT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11076         {/*.arg_name_=*/"pre_tokens", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11077         {/*.arg_name_=*/"next_tokens", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11078         {/*.arg_name_=*/"input_layout", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11079         {/*.arg_name_=*/"num_key_value_heads", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11080         {/*.arg_name_=*/"sparse_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11081         {/*.arg_name_=*/"inner_precise", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11082         {/*.arg_name_=*/"block_size", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11083         {/*.arg_name_=*/"antiquant_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11084         {/*.arg_name_=*/"softmax_lse_flag", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11085   },
11086   /* .returns_ = */ {
11087     {/*.arg_name_=*/"attention_out", /*.arg_dtype_=*/DT_TENSOR,
11088                 /*.inplace_input_index_=*/-1},
11089     {/*.arg_name_=*/"softmax_lse", /*.arg_dtype_=*/DT_TENSOR,
11090                 /*.inplace_input_index_=*/-1},
11091   },
11092   /*.signatures_ =*/ {
11093 
11094   },
11095   /*.indexes_ =*/ {
11096     {"query", 0},
11097     {"key", 1},
11098     {"value", 2},
11099     {"pse_shift", 3},
11100     {"attn_mask", 4},
11101     {"actual_seq_lengths", 5},
11102     {"actual_seq_lengths_kv", 6},
11103     {"dequant_scale1", 7},
11104     {"quant_scale1", 8},
11105     {"dequant_scale2", 9},
11106     {"quant_scale2", 10},
11107     {"quant_offset2", 11},
11108     {"antiquant_scale", 12},
11109     {"antiquant_offset", 13},
11110     {"block_table", 14},
11111     {"query_padding_size", 15},
11112     {"kv_padding_size", 16},
11113     {"num_heads", 17},
11114     {"scale_value", 18},
11115     {"pre_tokens", 19},
11116     {"next_tokens", 20},
11117     {"input_layout", 21},
11118     {"num_key_value_heads", 22},
11119     {"sparse_mode", 23},
11120     {"inner_precise", 24},
11121     {"block_size", 25},
11122     {"antiquant_mode", 26},
11123     {"softmax_lse_flag", 27},
11124   },
11125   /*.func_impl_=*/gFusedInferAttentionScoreFuncImpl,
11126   /*.enable_dispatch_ =*/false,
11127   /*.is_view_ =*/false,
11128 };
11129 
11130 GroupedMatmulFuncImpl gGroupedMatmulFuncImpl;
11131 OpDef gGroupedMatmul = {
11132   /*.name_=*/"GroupedMatmul",
11133   /*.args_=*/ {
11134 
11135         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
11136         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/false},
11137         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/true},
11138         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/true},
11139         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/true},
11140         {/*.arg_name_=*/"antiquant_scale", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/true},
11141         {/*.arg_name_=*/"antiquant_offset", /*.arg_dtype_=*/DT_TUPLE_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{DT_LIST_TENSOR}, /*.is_optional_=*/true},
11142         {/*.arg_name_=*/"group_list", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11143         {/*.arg_name_=*/"split_item", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11144         {/*.arg_name_=*/"group_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11145   },
11146   /* .returns_ = */ {
11147     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TUPLE_TENSOR,
11148                 /*.inplace_input_index_=*/-1},
11149   },
11150   /*.signatures_ =*/ {
11151 
11152   },
11153   /*.indexes_ =*/ {
11154     {"x", 0},
11155     {"weight", 1},
11156     {"bias", 2},
11157     {"scale", 3},
11158     {"offset", 4},
11159     {"antiquant_scale", 5},
11160     {"antiquant_offset", 6},
11161     {"group_list", 7},
11162     {"split_item", 8},
11163     {"group_type", 9},
11164   },
11165   /*.func_impl_=*/gGroupedMatmulFuncImpl,
11166   /*.enable_dispatch_ =*/true,
11167   /*.is_view_ =*/false,
11168 };
11169 
11170 KVCacheScatterUpdateFuncImpl gKVCacheScatterUpdateFuncImpl;
11171 OpDef gKVCacheScatterUpdate = {
11172   /*.name_=*/"KVCacheScatterUpdate",
11173   /*.args_=*/ {
11174 
11175         {/*.arg_name_=*/"var", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11176         {/*.arg_name_=*/"indices", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11177         {/*.arg_name_=*/"updates", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11178         {/*.arg_name_=*/"axis", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11179         {/*.arg_name_=*/"reduce", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11180   },
11181   /* .returns_ = */ {
11182     {/*.arg_name_=*/"out", /*.arg_dtype_=*/DT_TENSOR,
11183                 /*.inplace_input_index_=*/-1},
11184   },
11185   /*.signatures_ =*/ {
11186 
11187   },
11188   /*.indexes_ =*/ {
11189     {"var", 0},
11190     {"indices", 1},
11191     {"updates", 2},
11192     {"axis", 3},
11193     {"reduce", 4},
11194   },
11195   /*.func_impl_=*/gKVCacheScatterUpdateFuncImpl,
11196   /*.enable_dispatch_ =*/false,
11197   /*.is_view_ =*/false,
11198 };
11199 
11200 MatmulBiasSplitOut2FuncImpl gMatmulBiasSplitOut2FuncImpl;
11201 OpDef gMatmulBiasSplitOut2 = {
11202   /*.name_=*/"MatmulBiasSplitOut2",
11203   /*.args_=*/ {
11204 
11205         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11206         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11207         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11208         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11209   },
11210   /* .returns_ = */ {
11211     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11212                 /*.inplace_input_index_=*/-1},
11213     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11214                 /*.inplace_input_index_=*/-1},
11215   },
11216   /*.signatures_ =*/ {
11217 
11218   },
11219   /*.indexes_ =*/ {
11220     {"input", 0},
11221     {"weight", 1},
11222     {"reshape", 2},
11223     {"bias", 3},
11224   },
11225   /*.func_impl_=*/gMatmulBiasSplitOut2FuncImpl,
11226   /*.enable_dispatch_ =*/false,
11227   /*.is_view_ =*/false,
11228 };
11229 
11230 MatmulBiasSplitOut3FuncImpl gMatmulBiasSplitOut3FuncImpl;
11231 OpDef gMatmulBiasSplitOut3 = {
11232   /*.name_=*/"MatmulBiasSplitOut3",
11233   /*.args_=*/ {
11234 
11235         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11236         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11237         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11238         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11239   },
11240   /* .returns_ = */ {
11241     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11242                 /*.inplace_input_index_=*/-1},
11243     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11244                 /*.inplace_input_index_=*/-1},
11245     {/*.arg_name_=*/"output2", /*.arg_dtype_=*/DT_TENSOR,
11246                 /*.inplace_input_index_=*/-1},
11247   },
11248   /*.signatures_ =*/ {
11249 
11250   },
11251   /*.indexes_ =*/ {
11252     {"input", 0},
11253     {"weight", 1},
11254     {"reshape", 2},
11255     {"bias", 3},
11256   },
11257   /*.func_impl_=*/gMatmulBiasSplitOut3FuncImpl,
11258   /*.enable_dispatch_ =*/false,
11259   /*.is_view_ =*/false,
11260 };
11261 
11262 MatmulBiasSplitSiluOut2FuncImpl gMatmulBiasSplitSiluOut2FuncImpl;
11263 OpDef gMatmulBiasSplitSiluOut2 = {
11264   /*.name_=*/"MatmulBiasSplitSiluOut2",
11265   /*.args_=*/ {
11266 
11267         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11268         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11269         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11270         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11271   },
11272   /* .returns_ = */ {
11273     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11274                 /*.inplace_input_index_=*/-1},
11275     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11276                 /*.inplace_input_index_=*/-1},
11277   },
11278   /*.signatures_ =*/ {
11279 
11280   },
11281   /*.indexes_ =*/ {
11282     {"input", 0},
11283     {"weight", 1},
11284     {"reshape", 2},
11285     {"bias", 3},
11286   },
11287   /*.func_impl_=*/gMatmulBiasSplitSiluOut2FuncImpl,
11288   /*.enable_dispatch_ =*/false,
11289   /*.is_view_ =*/false,
11290 };
11291 
11292 MatmulSplitOut2FuncImpl gMatmulSplitOut2FuncImpl;
11293 OpDef gMatmulSplitOut2 = {
11294   /*.name_=*/"MatmulSplitOut2",
11295   /*.args_=*/ {
11296 
11297         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11298         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11299         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11300   },
11301   /* .returns_ = */ {
11302     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11303                 /*.inplace_input_index_=*/-1},
11304     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11305                 /*.inplace_input_index_=*/-1},
11306   },
11307   /*.signatures_ =*/ {
11308 
11309   },
11310   /*.indexes_ =*/ {
11311     {"input", 0},
11312     {"weight", 1},
11313     {"reshape", 2},
11314   },
11315   /*.func_impl_=*/gMatmulSplitOut2FuncImpl,
11316   /*.enable_dispatch_ =*/false,
11317   /*.is_view_ =*/false,
11318 };
11319 
11320 MatmulSplitOut3FuncImpl gMatmulSplitOut3FuncImpl;
11321 OpDef gMatmulSplitOut3 = {
11322   /*.name_=*/"MatmulSplitOut3",
11323   /*.args_=*/ {
11324 
11325         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11326         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11327         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11328   },
11329   /* .returns_ = */ {
11330     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11331                 /*.inplace_input_index_=*/-1},
11332     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11333                 /*.inplace_input_index_=*/-1},
11334     {/*.arg_name_=*/"output2", /*.arg_dtype_=*/DT_TENSOR,
11335                 /*.inplace_input_index_=*/-1},
11336   },
11337   /*.signatures_ =*/ {
11338 
11339   },
11340   /*.indexes_ =*/ {
11341     {"input", 0},
11342     {"weight", 1},
11343     {"reshape", 2},
11344   },
11345   /*.func_impl_=*/gMatmulSplitOut3FuncImpl,
11346   /*.enable_dispatch_ =*/false,
11347   /*.is_view_ =*/false,
11348 };
11349 
11350 MatmulSplitSiluOut2FuncImpl gMatmulSplitSiluOut2FuncImpl;
11351 OpDef gMatmulSplitSiluOut2 = {
11352   /*.name_=*/"MatmulSplitSiluOut2",
11353   /*.args_=*/ {
11354 
11355         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11356         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11357         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11358   },
11359   /* .returns_ = */ {
11360     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11361                 /*.inplace_input_index_=*/-1},
11362     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11363                 /*.inplace_input_index_=*/-1},
11364   },
11365   /*.signatures_ =*/ {
11366 
11367   },
11368   /*.indexes_ =*/ {
11369     {"input", 0},
11370     {"weight", 1},
11371     {"reshape", 2},
11372   },
11373   /*.func_impl_=*/gMatmulSplitSiluOut2FuncImpl,
11374   /*.enable_dispatch_ =*/false,
11375   /*.is_view_ =*/false,
11376 };
11377 
11378 MoeFinalizeRoutingFuncImpl gMoeFinalizeRoutingFuncImpl;
11379 OpDef gMoeFinalizeRouting = {
11380   /*.name_=*/"MoeFinalizeRouting",
11381   /*.args_=*/ {
11382 
11383         {/*.arg_name_=*/"expanded_x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11384         {/*.arg_name_=*/"x1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11385         {/*.arg_name_=*/"x2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11386         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11387         {/*.arg_name_=*/"scales", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11388         {/*.arg_name_=*/"expanded_row_idx", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11389         {/*.arg_name_=*/"expanded_expert_idx", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11390   },
11391   /* .returns_ = */ {
11392     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
11393                 /*.inplace_input_index_=*/-1},
11394   },
11395   /*.signatures_ =*/ {
11396 
11397   },
11398   /*.indexes_ =*/ {
11399     {"expanded_x", 0},
11400     {"x1", 1},
11401     {"x2", 2},
11402     {"bias", 3},
11403     {"scales", 4},
11404     {"expanded_row_idx", 5},
11405     {"expanded_expert_idx", 6},
11406   },
11407   /*.func_impl_=*/gMoeFinalizeRoutingFuncImpl,
11408   /*.enable_dispatch_ =*/true,
11409   /*.is_view_ =*/false,
11410 };
11411 
11412 QuantBatchMatmulFuncImpl gQuantBatchMatmulFuncImpl;
11413 OpDef gQuantBatchMatmul = {
11414   /*.name_=*/"QuantBatchMatmul",
11415   /*.args_=*/ {
11416 
11417         {/*.arg_name_=*/"x1", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11418         {/*.arg_name_=*/"x2", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11419         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11420         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11421         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11422         {/*.arg_name_=*/"transpose_x1", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11423         {/*.arg_name_=*/"transpose_x2", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11424         {/*.arg_name_=*/"dtype", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11425   },
11426   /* .returns_ = */ {
11427     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
11428                 /*.inplace_input_index_=*/-1},
11429   },
11430   /*.signatures_ =*/ {
11431     Signature("x1", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
11432      Signature("x2", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType),
11433      Signature("scale", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType1),
11434      Signature("offset", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType2),
11435      Signature("bias", SignatureEnumRW::kRWDefault,          SignatureEnumKind::kKindPositionalKeyword, nullptr, SignatureEnumDType::kDType3),
11436   },
11437   /*.indexes_ =*/ {
11438     {"x1", 0},
11439     {"x2", 1},
11440     {"scale", 2},
11441     {"offset", 3},
11442     {"bias", 4},
11443     {"transpose_x1", 5},
11444     {"transpose_x2", 6},
11445     {"dtype", 7},
11446   },
11447   /*.func_impl_=*/gQuantBatchMatmulFuncImpl,
11448   /*.enable_dispatch_ =*/true,
11449   /*.is_view_ =*/false,
11450 };
11451 
11452 QuantV2FuncImpl gQuantV2FuncImpl;
11453 OpDef gQuantV2 = {
11454   /*.name_=*/"QuantV2",
11455   /*.args_=*/ {
11456 
11457         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11458         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11459         {/*.arg_name_=*/"offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11460         {/*.arg_name_=*/"sqrt_mode", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11461         {/*.arg_name_=*/"rounding_mode", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"str_to_enum", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11462         {/*.arg_name_=*/"dst_type", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"dtype_to_type_id", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11463   },
11464   /* .returns_ = */ {
11465     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
11466                 /*.inplace_input_index_=*/-1},
11467   },
11468   /*.signatures_ =*/ {
11469 
11470   },
11471   /*.indexes_ =*/ {
11472     {"x", 0},
11473     {"scale", 1},
11474     {"offset", 2},
11475     {"sqrt_mode", 3},
11476     {"rounding_mode", 4},
11477     {"dst_type", 5},
11478   },
11479   /*.func_impl_=*/gQuantV2FuncImpl,
11480   /*.enable_dispatch_ =*/true,
11481   /*.is_view_ =*/false,
11482 };
11483 
11484 QuantbatchmatmulSplitOut2FuncImpl gQuantbatchmatmulSplitOut2FuncImpl;
11485 OpDef gQuantbatchmatmulSplitOut2 = {
11486   /*.name_=*/"QuantbatchmatmulSplitOut2",
11487   /*.args_=*/ {
11488 
11489         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11490         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11491         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11492         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11493         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11494   },
11495   /* .returns_ = */ {
11496     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11497                 /*.inplace_input_index_=*/-1},
11498     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11499                 /*.inplace_input_index_=*/-1},
11500   },
11501   /*.signatures_ =*/ {
11502 
11503   },
11504   /*.indexes_ =*/ {
11505     {"input", 0},
11506     {"weight", 1},
11507     {"reshape", 2},
11508     {"bias", 3},
11509     {"scale", 4},
11510   },
11511   /*.func_impl_=*/gQuantbatchmatmulSplitOut2FuncImpl,
11512   /*.enable_dispatch_ =*/false,
11513   /*.is_view_ =*/false,
11514 };
11515 
11516 QuantbatchmatmulSplitOut3FuncImpl gQuantbatchmatmulSplitOut3FuncImpl;
11517 OpDef gQuantbatchmatmulSplitOut3 = {
11518   /*.name_=*/"QuantbatchmatmulSplitOut3",
11519   /*.args_=*/ {
11520 
11521         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11522         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11523         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11524         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11525         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11526   },
11527   /* .returns_ = */ {
11528     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11529                 /*.inplace_input_index_=*/-1},
11530     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11531                 /*.inplace_input_index_=*/-1},
11532     {/*.arg_name_=*/"output2", /*.arg_dtype_=*/DT_TENSOR,
11533                 /*.inplace_input_index_=*/-1},
11534   },
11535   /*.signatures_ =*/ {
11536 
11537   },
11538   /*.indexes_ =*/ {
11539     {"input", 0},
11540     {"weight", 1},
11541     {"reshape", 2},
11542     {"bias", 3},
11543     {"scale", 4},
11544   },
11545   /*.func_impl_=*/gQuantbatchmatmulSplitOut3FuncImpl,
11546   /*.enable_dispatch_ =*/false,
11547   /*.is_view_ =*/false,
11548 };
11549 
11550 QuantbatchmatmulSplitSiluOut2FuncImpl gQuantbatchmatmulSplitSiluOut2FuncImpl;
11551 OpDef gQuantbatchmatmulSplitSiluOut2 = {
11552   /*.name_=*/"QuantbatchmatmulSplitSiluOut2",
11553   /*.args_=*/ {
11554 
11555         {/*.arg_name_=*/"input", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11556         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11557         {/*.arg_name_=*/"reshape", /*.arg_dtype_=*/DT_TUPLE_INT, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11558         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11559         {/*.arg_name_=*/"scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11560   },
11561   /* .returns_ = */ {
11562     {/*.arg_name_=*/"output0", /*.arg_dtype_=*/DT_TENSOR,
11563                 /*.inplace_input_index_=*/-1},
11564     {/*.arg_name_=*/"output1", /*.arg_dtype_=*/DT_TENSOR,
11565                 /*.inplace_input_index_=*/-1},
11566   },
11567   /*.signatures_ =*/ {
11568 
11569   },
11570   /*.indexes_ =*/ {
11571     {"input", 0},
11572     {"weight", 1},
11573     {"reshape", 2},
11574     {"bias", 3},
11575     {"scale", 4},
11576   },
11577   /*.func_impl_=*/gQuantbatchmatmulSplitSiluOut2FuncImpl,
11578   /*.enable_dispatch_ =*/false,
11579   /*.is_view_ =*/false,
11580 };
11581 
11582 WeightQuantBatchMatmulFuncImpl gWeightQuantBatchMatmulFuncImpl;
11583 OpDef gWeightQuantBatchMatmul = {
11584   /*.name_=*/"WeightQuantBatchMatmul",
11585   /*.args_=*/ {
11586 
11587         {/*.arg_name_=*/"x", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11588         {/*.arg_name_=*/"weight", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11589         {/*.arg_name_=*/"antiquant_scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11590         {/*.arg_name_=*/"antiquant_offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11591         {/*.arg_name_=*/"quant_scale", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11592         {/*.arg_name_=*/"quant_offset", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11593         {/*.arg_name_=*/"bias", /*.arg_dtype_=*/DT_TENSOR, /*.as_init_arg_=*/0, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/true},
11594         {/*.arg_name_=*/"transpose_x", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11595         {/*.arg_name_=*/"transpose_weight", /*.arg_dtype_=*/DT_BOOL, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11596         {/*.arg_name_=*/"antiquant_group_size", /*.arg_dtype_=*/DT_INT, /*.as_init_arg_=*/1, /*.arg_handler_=*/"", /*.cast_dtype_ =*/{}, /*.is_optional_=*/false},
11597   },
11598   /* .returns_ = */ {
11599     {/*.arg_name_=*/"y", /*.arg_dtype_=*/DT_TENSOR,
11600                 /*.inplace_input_index_=*/-1},
11601   },
11602   /*.signatures_ =*/ {
11603 
11604   },
11605   /*.indexes_ =*/ {
11606     {"x", 0},
11607     {"weight", 1},
11608     {"antiquant_scale", 2},
11609     {"antiquant_offset", 3},
11610     {"quant_scale", 4},
11611     {"quant_offset", 5},
11612     {"bias", 6},
11613     {"transpose_x", 7},
11614     {"transpose_weight", 8},
11615     {"antiquant_group_size", 9},
11616   },
11617   /*.func_impl_=*/gWeightQuantBatchMatmulFuncImpl,
11618   /*.enable_dispatch_ =*/true,
11619   /*.is_view_ =*/false,
11620 };
11621 
11622 std::unordered_map<std::string, OpDefPtr> gOpDefTable = {
11623   {"ACosGrad", &gACosGrad},
11624   {"AbsGrad", &gAbsGrad},
11625   {"Abs", &gAbs},
11626   {"ACos", &gACos},
11627   {"AcoshGrad", &gAcoshGrad},
11628   {"Acosh", &gAcosh},
11629   {"AdamWeightDecay", &gAdamWeightDecay},
11630   {"AdamW", &gAdamW},
11631   {"AddExt", &gAddExt},
11632   {"AddLayerNormV2", &gAddLayerNormV2},
11633   {"Add", &gAdd},
11634   {"Addcdiv", &gAddcdiv},
11635   {"Addcmul", &gAddcmul},
11636   {"Addmm", &gAddmm},
11637   {"AddN", &gAddN},
11638   {"Angle", &gAngle},
11639   {"ApplyCamePart1", &gApplyCamePart1},
11640   {"ApplyCamePart2", &gApplyCamePart2},
11641   {"ApplyCamePart3", &gApplyCamePart3},
11642   {"ApplyCamePart4", &gApplyCamePart4},
11643   {"ApplyRotaryPosEmb", &gApplyRotaryPosEmb},
11644   {"Arange", &gArange},
11645   {"ArgMaxExt", &gArgMaxExt},
11646   {"Argmax", &gArgmax},
11647   {"ArgMaxWithValue", &gArgMaxWithValue},
11648   {"Argmin", &gArgmin},
11649   {"ArgMinWithValue", &gArgMinWithValue},
11650   {"AsinGrad", &gAsinGrad},
11651   {"Asin", &gAsin},
11652   {"AsinhGrad", &gAsinhGrad},
11653   {"Asinh", &gAsinh},
11654   {"AssignAdd", &gAssignAdd},
11655   {"Assign", &gAssign},
11656   {"Atan2Ext", &gAtan2Ext},
11657   {"Atan2", &gAtan2},
11658   {"AtanGrad", &gAtanGrad},
11659   {"Atan", &gAtan},
11660   {"Atanh", &gAtanh},
11661   {"AvgPool2DGrad", &gAvgPool2DGrad},
11662   {"AvgPool2D", &gAvgPool2D},
11663   {"AvgPoolGrad", &gAvgPoolGrad},
11664   {"AvgPool", &gAvgPool},
11665   {"BatchMatMul", &gBatchMatMul},
11666   {"BatchNormExt", &gBatchNormExt},
11667   {"BatchNormGradExt", &gBatchNormGradExt},
11668   {"BatchNormGradGrad", &gBatchNormGradGrad},
11669   {"BatchNormGrad", &gBatchNormGrad},
11670   {"BatchNormGradWithActivation", &gBatchNormGradWithActivation},
11671   {"BatchNorm", &gBatchNorm},
11672   {"BatchNormWithActivation", &gBatchNormWithActivation},
11673   {"BatchNormWithAddAndActivation", &gBatchNormWithAddAndActivation},
11674   {"Betainc", &gBetainc},
11675   {"BiasAddGrad", &gBiasAddGrad},
11676   {"BiasAdd", &gBiasAdd},
11677   {"BinaryCrossEntropyGrad", &gBinaryCrossEntropyGrad},
11678   {"BinaryCrossEntropy", &gBinaryCrossEntropy},
11679   {"BinaryCrossEntropyWithLogitsBackward", &gBinaryCrossEntropyWithLogitsBackward},
11680   {"BCEWithLogitsLoss", &gBCEWithLogitsLoss},
11681   {"BatchMatMulExt", &gBatchMatMulExt},
11682   {"BoolNot", &gBoolNot},
11683   {"BroadcastTo", &gBroadcastTo},
11684   {"Cast", &gCast},
11685   {"Ceil", &gCeil},
11686   {"CeLU", &gCeLU},
11687   {"CholeskyGrad", &gCholeskyGrad},
11688   {"CholeskyInverse", &gCholeskyInverse},
11689   {"Cholesky", &gCholesky},
11690   {"Chunk", &gChunk},
11691   {"ClampScalar", &gClampScalar},
11692   {"ClampTensor", &gClampTensor},
11693   {"Col2ImExt", &gCol2ImExt},
11694   {"Col2ImGrad", &gCol2ImGrad},
11695   {"Complex", &gComplex},
11696   {"Concat", &gConcat},
11697   {"Conj", &gConj},
11698   {"ConstantPadND", &gConstantPadND},
11699   {"Contiguous", &gContiguous},
11700   {"ConvolutionGrad", &gConvolutionGrad},
11701   {"Convolution", &gConvolution},
11702   {"Copy", &gCopy},
11703   {"Correlate", &gCorrelate},
11704   {"Cos", &gCos},
11705   {"Cosh", &gCosh},
11706   {"CumProd", &gCumProd},
11707   {"CumSum", &gCumSum},
11708   {"Cummax", &gCummax},
11709   {"Cummin", &gCummin},
11710   {"CumsumExt", &gCumsumExt},
11711   {"DCT", &gDCT},
11712   {"DecoderKVCache", &gDecoderKVCache},
11713   {"Dense", &gDense},
11714   {"Diag", &gDiag},
11715   {"Diagonal", &gDiagonal},
11716   {"Div", &gDiv},
11717   {"DivMod", &gDivMod},
11718   {"Dot", &gDot},
11719   {"DropoutDoMaskExt", &gDropoutDoMaskExt},
11720   {"DropoutExt", &gDropoutExt},
11721   {"DropoutGenMaskExt", &gDropoutGenMaskExt},
11722   {"DropoutGradExt", &gDropoutGradExt},
11723   {"Dropout", &gDropout},
11724   {"Eig", &gEig},
11725   {"EluExt", &gEluExt},
11726   {"EluGradExt", &gEluGradExt},
11727   {"EluGrad", &gEluGrad},
11728   {"Elu", &gElu},
11729   {"EmbeddingDenseBackward", &gEmbeddingDenseBackward},
11730   {"Embedding", &gEmbedding},
11731   {"Equal", &gEqual},
11732   {"Erf", &gErf},
11733   {"Erfc", &gErfc},
11734   {"Erfinv", &gErfinv},
11735   {"Exp", &gExp},
11736   {"ExpandDims", &gExpandDims},
11737   {"Expm1", &gExpm1},
11738   {"ExtractImagePatches", &gExtractImagePatches},
11739   {"Eye", &gEye},
11740   {"FastGeLUGrad", &gFastGeLUGrad},
11741   {"FastGeLU", &gFastGeLU},
11742   {"FFNExt", &gFFNExt},
11743   {"FFT2", &gFFT2},
11744   {"FFT", &gFFT},
11745   {"FFTShapeCopy", &gFFTShapeCopy},
11746   {"FFTWithSize", &gFFTWithSize},
11747   {"FFTN", &gFFTN},
11748   {"FFTShift", &gFFTShift},
11749   {"FillScalar", &gFillScalar},
11750   {"FillTensor", &gFillTensor},
11751   {"FlashAttentionScoreGrad", &gFlashAttentionScoreGrad},
11752   {"FlashAttentionScore", &gFlashAttentionScore},
11753   {"FlattenExt", &gFlattenExt},
11754   {"Flatten", &gFlatten},
11755   {"FloorDiv", &gFloorDiv},
11756   {"FloorMod", &gFloorMod},
11757   {"Floor", &gFloor},
11758   {"GatherDGradV2", &gGatherDGradV2},
11759   {"GatherD", &gGatherD},
11760   {"GatherNd", &gGatherNd},
11761   {"Gather", &gGather},
11762   {"Gcd", &gGcd},
11763   {"GeLUGrad", &gGeLUGrad},
11764   {"GeLU", &gGeLU},
11765   {"Generator", &gGenerator},
11766   {"Geqrf", &gGeqrf},
11767   {"GreaterEqual", &gGreaterEqual},
11768   {"Greater", &gGreater},
11769   {"GridSampler2DGrad", &gGridSampler2DGrad},
11770   {"GridSampler2D", &gGridSampler2D},
11771   {"GridSampler3DGrad", &gGridSampler3DGrad},
11772   {"GridSampler3D", &gGridSampler3D},
11773   {"GroupNormGrad", &gGroupNormGrad},
11774   {"GroupNorm", &gGroupNorm},
11775   {"HShrinkGrad", &gHShrinkGrad},
11776   {"HShrink", &gHShrink},
11777   {"HSigmoidGrad", &gHSigmoidGrad},
11778   {"HSigmoid", &gHSigmoid},
11779   {"HSwishGrad", &gHSwishGrad},
11780   {"HSwish", &gHSwish},
11781   {"Identity", &gIdentity},
11782   {"IFFT2", &gIFFT2},
11783   {"IFFT", &gIFFT},
11784   {"IFFTN", &gIFFTN},
11785   {"IFFTShift", &gIFFTShift},
11786   {"Im2ColExt", &gIm2ColExt},
11787   {"IndexAddExt", &gIndexAddExt},
11788   {"IndexSelect", &gIndexSelect},
11789   {"IRFFTGrad", &gIRFFTGrad},
11790   {"IRFFT", &gIRFFT},
11791   {"IsClose", &gIsClose},
11792   {"IsFinite", &gIsFinite},
11793   {"LayerNormExt", &gLayerNormExt},
11794   {"LayerNormGradExt", &gLayerNormGradExt},
11795   {"LayerNormGradGrad", &gLayerNormGradGrad},
11796   {"LayerNormGrad", &gLayerNormGrad},
11797   {"LayerNormGradV3", &gLayerNormGradV3},
11798   {"LayerNorm", &gLayerNorm},
11799   {"LayerNormV3", &gLayerNormV3},
11800   {"LeakyReLUExt", &gLeakyReLUExt},
11801   {"LeakyReLUGradExt", &gLeakyReLUGradExt},
11802   {"LessEqual", &gLessEqual},
11803   {"Less", &gLess},
11804   {"LinSpaceExt", &gLinSpaceExt},
11805   {"LinSpace", &gLinSpace},
11806   {"ListToTuple", &gListToTuple},
11807   {"Log1p", &gLog1p},
11808   {"LogMatrixDeterminant", &gLogMatrixDeterminant},
11809   {"Log", &gLog},
11810   {"LogSoftmaxGrad", &gLogSoftmaxGrad},
11811   {"LogSoftmax", &gLogSoftmax},
11812   {"LogicalAnd", &gLogicalAnd},
11813   {"LogicalNot", &gLogicalNot},
11814   {"LogicalOr", &gLogicalOr},
11815   {"LogicalXor", &gLogicalXor},
11816   {"LogitGrad", &gLogitGrad},
11817   {"Logit", &gLogit},
11818   {"MaskedFill", &gMaskedFill},
11819   {"MatMulExt", &gMatMulExt},
11820   {"MatMul", &gMatMul},
11821   {"MatrixDeterminant", &gMatrixDeterminant},
11822   {"MatrixExp", &gMatrixExp},
11823   {"MatrixInverseExt", &gMatrixInverseExt},
11824   {"Max", &gMax},
11825   {"MaxPoolGradWithIndices", &gMaxPoolGradWithIndices},
11826   {"MaxPoolGradWithMask", &gMaxPoolGradWithMask},
11827   {"MaxPoolWithIndices", &gMaxPoolWithIndices},
11828   {"MaxPoolWithMask", &gMaxPoolWithMask},
11829   {"MaximumGradGrad", &gMaximumGradGrad},
11830   {"MaximumGrad", &gMaximumGrad},
11831   {"Maximum", &gMaximum},
11832   {"MeanExt", &gMeanExt},
11833   {"Min", &gMin},
11834   {"MinimumGrad", &gMinimumGrad},
11835   {"Minimum", &gMinimum},
11836   {"Mul", &gMul},
11837   {"Mv", &gMv},
11838   {"NanToNum", &gNanToNum},
11839   {"Neg", &gNeg},
11840   {"NextAfter", &gNextAfter},
11841   {"NLLLossGrad", &gNLLLossGrad},
11842   {"NLLLoss", &gNLLLoss},
11843   {"NonZeroExt", &gNonZeroExt},
11844   {"NonZero", &gNonZero},
11845   {"Norm", &gNorm},
11846   {"NormalFloatFloat", &gNormalFloatFloat},
11847   {"NormalFloatTensor", &gNormalFloatTensor},
11848   {"NormalTensorFloat", &gNormalTensorFloat},
11849   {"NormalTensorTensor", &gNormalTensorTensor},
11850   {"NotEqual", &gNotEqual},
11851   {"NPUClearFloatStatusV2", &gNPUClearFloatStatusV2},
11852   {"NPUGetFloatStatusV2", &gNPUGetFloatStatusV2},
11853   {"OneHotExt", &gOneHotExt},
11854   {"OneHot", &gOneHot},
11855   {"OnesLikeExt", &gOnesLikeExt},
11856   {"OnesLike", &gOnesLike},
11857   {"Ones", &gOnes},
11858   {"PagedAttentionMask", &gPagedAttentionMask},
11859   {"PagedAttention", &gPagedAttention},
11860   {"Pow", &gPow},
11861   {"PReLUGrad", &gPReLUGrad},
11862   {"PReLU", &gPReLU},
11863   {"ProdExt", &gProdExt},
11864   {"PromptKVCache", &gPromptKVCache},
11865   {"Qr", &gQr},
11866   {"RandExt", &gRandExt},
11867   {"RandLikeExt", &gRandLikeExt},
11868   {"RandpermV2", &gRandpermV2},
11869   {"Range", &gRange},
11870   {"Rank", &gRank},
11871   {"RealDiv", &gRealDiv},
11872   {"Real", &gReal},
11873   {"ReciprocalGrad", &gReciprocalGrad},
11874   {"Reciprocal", &gReciprocal},
11875   {"ReduceAll", &gReduceAll},
11876   {"ReduceAny", &gReduceAny},
11877   {"ReduceMax", &gReduceMax},
11878   {"ReduceMean", &gReduceMean},
11879   {"ReduceMin", &gReduceMin},
11880   {"ReduceProd", &gReduceProd},
11881   {"ReduceStd", &gReduceStd},
11882   {"ReduceSum", &gReduceSum},
11883   {"ReflectionPad1DGrad", &gReflectionPad1DGrad},
11884   {"ReflectionPad1D", &gReflectionPad1D},
11885   {"ReflectionPad2DGrad", &gReflectionPad2DGrad},
11886   {"ReflectionPad2D", &gReflectionPad2D},
11887   {"ReflectionPad3DGrad", &gReflectionPad3DGrad},
11888   {"ReflectionPad3D", &gReflectionPad3D},
11889   {"ReLU6Grad", &gReLU6Grad},
11890   {"ReLU6", &gReLU6},
11891   {"ReluGrad", &gReluGrad},
11892   {"ReLU", &gReLU},
11893   {"RepeatInterleaveGrad", &gRepeatInterleaveGrad},
11894   {"RepeatInterleaveInt", &gRepeatInterleaveInt},
11895   {"RepeatInterleaveTensor", &gRepeatInterleaveTensor},
11896   {"ReplicationPad1DGrad", &gReplicationPad1DGrad},
11897   {"ReplicationPad1D", &gReplicationPad1D},
11898   {"ReplicationPad2DGrad", &gReplicationPad2DGrad},
11899   {"ReplicationPad2D", &gReplicationPad2D},
11900   {"ReplicationPad3DGrad", &gReplicationPad3DGrad},
11901   {"ReplicationPad3D", &gReplicationPad3D},
11902   {"ReshapeAndCache", &gReshapeAndCache},
11903   {"Reshape", &gReshape},
11904   {"ResizeBicubicGrad", &gResizeBicubicGrad},
11905   {"ResizeBicubic", &gResizeBicubic},
11906   {"ResizeBilinearGrad", &gResizeBilinearGrad},
11907   {"ResizeBilinearV2", &gResizeBilinearV2},
11908   {"ResizeD", &gResizeD},
11909   {"ResizeLinear1DGrad", &gResizeLinear1DGrad},
11910   {"ResizeLinear1D", &gResizeLinear1D},
11911   {"ResizeNearestNeighborGrad", &gResizeNearestNeighborGrad},
11912   {"ResizeNearestNeighbor", &gResizeNearestNeighbor},
11913   {"ResizeNearestNeighborV2Grad", &gResizeNearestNeighborV2Grad},
11914   {"ResizeNearestNeighborV2", &gResizeNearestNeighborV2},
11915   {"ReverseV2", &gReverseV2},
11916   {"RFFTGrad", &gRFFTGrad},
11917   {"RFFT", &gRFFT},
11918   {"RightShift", &gRightShift},
11919   {"RmsNormGrad", &gRmsNormGrad},
11920   {"RmsNorm", &gRmsNorm},
11921   {"Roll", &gRoll},
11922   {"Round", &gRound},
11923   {"RsqrtGrad", &gRsqrtGrad},
11924   {"Rsqrt", &gRsqrt},
11925   {"ScalarAdd", &gScalarAdd},
11926   {"ScalarBool", &gScalarBool},
11927   {"ScalarCast", &gScalarCast},
11928   {"ScalarDiv", &gScalarDiv},
11929   {"ScalarEq", &gScalarEq},
11930   {"ScalarFloorDiv", &gScalarFloorDiv},
11931   {"ScalarGe", &gScalarGe},
11932   {"ScalarGt", &gScalarGt},
11933   {"ScalarLe", &gScalarLe},
11934   {"ScalarLog", &gScalarLog},
11935   {"ScalarLt", &gScalarLt},
11936   {"ScalarMod", &gScalarMod},
11937   {"ScalarMul", &gScalarMul},
11938   {"ScalarPow", &gScalarPow},
11939   {"ScalarSub", &gScalarSub},
11940   {"ScalarToTensor", &gScalarToTensor},
11941   {"ScalarUadd", &gScalarUadd},
11942   {"ScalarUsub", &gScalarUsub},
11943   {"ScatterAddExt", &gScatterAddExt},
11944   {"ScatterNd", &gScatterNd},
11945   {"Scatter", &gScatter},
11946   {"SearchSorted", &gSearchSorted},
11947   {"Select", &gSelect},
11948   {"SequenceConcat", &gSequenceConcat},
11949   {"Shape", &gShape},
11950   {"SigmoidGrad", &gSigmoidGrad},
11951   {"Sigmoid", &gSigmoid},
11952   {"Sign", &gSign},
11953   {"SiLUGrad", &gSiLUGrad},
11954   {"SiLU", &gSiLU},
11955   {"Sin", &gSin},
11956   {"Sinc", &gSinc},
11957   {"Sinh", &gSinh},
11958   {"SliceExt", &gSliceExt},
11959   {"SoftmaxBackward", &gSoftmaxBackward},
11960   {"Softmax", &gSoftmax},
11961   {"SoftplusExt", &gSoftplusExt},
11962   {"SoftplusGradExt", &gSoftplusGradExt},
11963   {"SolveTriangular", &gSolveTriangular},
11964   {"SortExt", &gSortExt},
11965   {"Split", &gSplit},
11966   {"SplitTensor", &gSplitTensor},
11967   {"SplitWithSize", &gSplitWithSize},
11968   {"SqrtGrad", &gSqrtGrad},
11969   {"Sqrt", &gSqrt},
11970   {"Square", &gSquare},
11971   {"StackExt", &gStackExt},
11972   {"StridedSlice", &gStridedSlice},
11973   {"SubExt", &gSubExt},
11974   {"Sub", &gSub},
11975   {"SumExt", &gSumExt},
11976   {"TanhGrad", &gTanhGrad},
11977   {"Tanh", &gTanh},
11978   {"TensorCopySlices", &gTensorCopySlices},
11979   {"TensorShape", &gTensorShape},
11980   {"Tile", &gTile},
11981   {"TopkExt", &gTopkExt},
11982   {"TopKRouter", &gTopKRouter},
11983   {"Trace", &gTrace},
11984   {"Transpose", &gTranspose},
11985   {"Triu", &gTriu},
11986   {"TupleToList", &gTupleToList},
11987   {"TupleToTensor", &gTupleToTensor},
11988   {"UniformExt", &gUniformExt},
11989   {"Unique2", &gUnique2},
11990   {"UniqueDim", &gUniqueDim},
11991   {"UnsortedSegmentSum", &gUnsortedSegmentSum},
11992   {"UnstackExt", &gUnstackExt},
11993   {"UpsampleBilinear2DGrad", &gUpsampleBilinear2DGrad},
11994   {"UpsampleBilinear2D", &gUpsampleBilinear2D},
11995   {"UpsampleLinear1DGrad", &gUpsampleLinear1DGrad},
11996   {"UpsampleLinear1D", &gUpsampleLinear1D},
11997   {"UpsampleNearest1DGrad", &gUpsampleNearest1DGrad},
11998   {"UpsampleNearest1D", &gUpsampleNearest1D},
11999   {"UpsampleNearest2DGrad", &gUpsampleNearest2DGrad},
12000   {"UpsampleNearest2D", &gUpsampleNearest2D},
12001   {"UpsampleNearest3DGrad", &gUpsampleNearest3DGrad},
12002   {"UpsampleNearest3D", &gUpsampleNearest3D},
12003   {"UpsampleTrilinear3DGrad", &gUpsampleTrilinear3DGrad},
12004   {"UpsampleTrilinear3D", &gUpsampleTrilinear3D},
12005   {"View", &gView},
12006   {"ZerosLikeExt", &gZerosLikeExt},
12007   {"ZerosLike", &gZerosLike},
12008   {"Zeros", &gZeros},
12009   {"DynamicQuantExt", &gDynamicQuantExt},
12010   {"FusedInferAttentionScore", &gFusedInferAttentionScore},
12011   {"GroupedMatmul", &gGroupedMatmul},
12012   {"KVCacheScatterUpdate", &gKVCacheScatterUpdate},
12013   {"MatmulBiasSplitOut2", &gMatmulBiasSplitOut2},
12014   {"MatmulBiasSplitOut3", &gMatmulBiasSplitOut3},
12015   {"MatmulBiasSplitSiluOut2", &gMatmulBiasSplitSiluOut2},
12016   {"MatmulSplitOut2", &gMatmulSplitOut2},
12017   {"MatmulSplitOut3", &gMatmulSplitOut3},
12018   {"MatmulSplitSiluOut2", &gMatmulSplitSiluOut2},
12019   {"MoeFinalizeRouting", &gMoeFinalizeRouting},
12020   {"QuantBatchMatmul", &gQuantBatchMatmul},
12021   {"QuantV2", &gQuantV2},
12022   {"QuantbatchmatmulSplitOut2", &gQuantbatchmatmulSplitOut2},
12023   {"QuantbatchmatmulSplitOut3", &gQuantbatchmatmulSplitOut3},
12024   {"QuantbatchmatmulSplitSiluOut2", &gQuantbatchmatmulSplitSiluOut2},
12025   {"WeightQuantBatchMatmul", &gWeightQuantBatchMatmul},
12026 };
12027 }  // namespace mindspore::ops
12028