1#pragma once
2
3// @generated by torchgen/gen.py from Operators.h
4
5#ifdef TORCH_ASSERT_NO_OPERATORS
6#error This change adds a dependency on native_functions.yaml, \
7 meaning the file will need to be re-compiled every time an operator \
8 is changed or added. Consider if your change would be better placed in \
9 another file, or if a more specific header might achieve the same goal. \
10 See NOTE: [Tensor vs. TensorBase]
11#endif
12
13#if defined(AT_PER_OPERATOR_HEADERS) && defined(TORCH_ASSERT_ONLY_METHOD_OPERATORS)
14#error This change adds a dependency on all pytorch operators, meaning the \
15 file will need to be re-compiled every time an operator is changed or added. \
16 Consider including a specific operator from <ATen/ops/{my_operator}_ops.h> \
17 and see NOTE [TORCH_ASSERT_ONLY_METHOD_OPERATORS].
18#endif
19
20#include <c10/core/SymInt.h>
21#include <c10/core/SymIntArrayRef.h>
22#include <c10/core/Scalar.h>
23#include <c10/core/TensorOptions.h>
24#include <c10/core/QScheme.h>
25#include <c10/util/OptionalArrayRef.h>
26#include <tuple>
27#include <vector>
28
29#include <ATen/ops/_adaptive_avg_pool2d_ops.h>
30#include <ATen/ops/_adaptive_avg_pool2d_backward_ops.h>
31#include <ATen/ops/_adaptive_avg_pool3d_ops.h>
32#include <ATen/ops/_adaptive_avg_pool3d_backward_ops.h>
33#include <ATen/ops/_add_batch_dim_ops.h>
34#include <ATen/ops/_add_relu_ops.h>
35#include <ATen/ops/_addmm_activation_ops.h>
36#include <ATen/ops/_aminmax_ops.h>
37#include <ATen/ops/_amp_foreach_non_finite_check_and_unscale_ops.h>
38#include <ATen/ops/_amp_update_scale_ops.h>
39#include <ATen/ops/_assert_async_ops.h>
40#include <ATen/ops/_assert_tensor_metadata_ops.h>
41#include <ATen/ops/_autocast_to_full_precision_ops.h>
42#include <ATen/ops/_autocast_to_reduced_precision_ops.h>
43#include <ATen/ops/_backward_ops.h>
44#include <ATen/ops/_batch_norm_impl_index_ops.h>
45#include <ATen/ops/_batch_norm_impl_index_backward_ops.h>
46#include <ATen/ops/_cast_Byte_ops.h>
47#include <ATen/ops/_cast_Char_ops.h>
48#include <ATen/ops/_cast_Double_ops.h>
49#include <ATen/ops/_cast_Float_ops.h>
50#include <ATen/ops/_cast_Half_ops.h>
51#include <ATen/ops/_cast_Int_ops.h>
52#include <ATen/ops/_cast_Long_ops.h>
53#include <ATen/ops/_cast_Short_ops.h>
54#include <ATen/ops/_cdist_backward_ops.h>
55#include <ATen/ops/_cdist_forward_ops.h>
56#include <ATen/ops/_cholesky_solve_helper_ops.h>
57#include <ATen/ops/_choose_qparams_per_tensor_ops.h>
58#include <ATen/ops/_chunk_grad_outputs_efficient_attention_ops.h>
59#include <ATen/ops/_coalesce_ops.h>
60#include <ATen/ops/_coalesced_ops.h>
61#include <ATen/ops/_compute_linear_combination_ops.h>
62#include <ATen/ops/_conj_ops.h>
63#include <ATen/ops/_conj_copy_ops.h>
64#include <ATen/ops/_conj_physical_ops.h>
65#include <ATen/ops/_conv_depthwise2d_ops.h>
66#include <ATen/ops/_convert_indices_from_coo_to_csr_ops.h>
67#include <ATen/ops/_convert_indices_from_csr_to_coo_ops.h>
68#include <ATen/ops/_convolution_ops.h>
69#include <ATen/ops/_convolution_double_backward_ops.h>
70#include <ATen/ops/_convolution_mode_ops.h>
71#include <ATen/ops/_copy_from_ops.h>
72#include <ATen/ops/_copy_from_and_resize_ops.h>
73#include <ATen/ops/_ctc_loss_ops.h>
74#include <ATen/ops/_ctc_loss_backward_ops.h>
75#include <ATen/ops/_cudnn_ctc_loss_ops.h>
76#include <ATen/ops/_cudnn_init_dropout_state_ops.h>
77#include <ATen/ops/_cudnn_rnn_ops.h>
78#include <ATen/ops/_cudnn_rnn_backward_ops.h>
79#include <ATen/ops/_cudnn_rnn_flatten_weight_ops.h>
80#include <ATen/ops/_cufft_clear_plan_cache_ops.h>
81#include <ATen/ops/_cufft_get_plan_cache_max_size_ops.h>
82#include <ATen/ops/_cufft_get_plan_cache_size_ops.h>
83#include <ATen/ops/_cufft_set_plan_cache_max_size_ops.h>
84#include <ATen/ops/_cummax_helper_ops.h>
85#include <ATen/ops/_cummin_helper_ops.h>
86#include <ATen/ops/_debug_has_internal_overlap_ops.h>
87#include <ATen/ops/_dimI_ops.h>
88#include <ATen/ops/_dimV_ops.h>
89#include <ATen/ops/_dim_arange_ops.h>
90#include <ATen/ops/_dirichlet_grad_ops.h>
91#include <ATen/ops/_efficient_attention_backward_ops.h>
92#include <ATen/ops/_efficient_attention_forward_ops.h>
93#include <ATen/ops/_efficientzerotensor_ops.h>
94#include <ATen/ops/_embedding_bag_ops.h>
95#include <ATen/ops/_embedding_bag_backward_ops.h>
96#include <ATen/ops/_embedding_bag_dense_backward_ops.h>
97#include <ATen/ops/_embedding_bag_forward_only_ops.h>
98#include <ATen/ops/_embedding_bag_per_sample_weights_backward_ops.h>
99#include <ATen/ops/_embedding_bag_sparse_backward_ops.h>
100#include <ATen/ops/_empty_affine_quantized_ops.h>
101#include <ATen/ops/_empty_per_channel_affine_quantized_ops.h>
102#include <ATen/ops/_euclidean_dist_ops.h>
103#include <ATen/ops/_fake_quantize_learnable_per_channel_affine_ops.h>
104#include <ATen/ops/_fake_quantize_learnable_per_channel_affine_backward_ops.h>
105#include <ATen/ops/_fake_quantize_learnable_per_tensor_affine_ops.h>
106#include <ATen/ops/_fake_quantize_learnable_per_tensor_affine_backward_ops.h>
107#include <ATen/ops/_fake_quantize_per_tensor_affine_cachemask_tensor_qparams_ops.h>
108#include <ATen/ops/_fft_c2c_ops.h>
109#include <ATen/ops/_fft_c2r_ops.h>
110#include <ATen/ops/_fft_r2c_ops.h>
111#include <ATen/ops/_flash_attention_backward_ops.h>
112#include <ATen/ops/_flash_attention_forward_ops.h>
113#include <ATen/ops/_foobar_ops.h>
114#include <ATen/ops/_foreach_abs_ops.h>
115#include <ATen/ops/_foreach_acos_ops.h>
116#include <ATen/ops/_foreach_add_ops.h>
117#include <ATen/ops/_foreach_addcdiv_ops.h>
118#include <ATen/ops/_foreach_addcmul_ops.h>
119#include <ATen/ops/_foreach_asin_ops.h>
120#include <ATen/ops/_foreach_atan_ops.h>
121#include <ATen/ops/_foreach_ceil_ops.h>
122#include <ATen/ops/_foreach_clamp_max_ops.h>
123#include <ATen/ops/_foreach_clamp_min_ops.h>
124#include <ATen/ops/_foreach_cos_ops.h>
125#include <ATen/ops/_foreach_cosh_ops.h>
126#include <ATen/ops/_foreach_div_ops.h>
127#include <ATen/ops/_foreach_erf_ops.h>
128#include <ATen/ops/_foreach_erfc_ops.h>
129#include <ATen/ops/_foreach_exp_ops.h>
130#include <ATen/ops/_foreach_expm1_ops.h>
131#include <ATen/ops/_foreach_floor_ops.h>
132#include <ATen/ops/_foreach_frac_ops.h>
133#include <ATen/ops/_foreach_lerp_ops.h>
134#include <ATen/ops/_foreach_lgamma_ops.h>
135#include <ATen/ops/_foreach_log_ops.h>
136#include <ATen/ops/_foreach_log10_ops.h>
137#include <ATen/ops/_foreach_log1p_ops.h>
138#include <ATen/ops/_foreach_log2_ops.h>
139#include <ATen/ops/_foreach_maximum_ops.h>
140#include <ATen/ops/_foreach_minimum_ops.h>
141#include <ATen/ops/_foreach_mul_ops.h>
142#include <ATen/ops/_foreach_neg_ops.h>
143#include <ATen/ops/_foreach_norm_ops.h>
144#include <ATen/ops/_foreach_reciprocal_ops.h>
145#include <ATen/ops/_foreach_round_ops.h>
146#include <ATen/ops/_foreach_sigmoid_ops.h>
147#include <ATen/ops/_foreach_sin_ops.h>
148#include <ATen/ops/_foreach_sinh_ops.h>
149#include <ATen/ops/_foreach_sqrt_ops.h>
150#include <ATen/ops/_foreach_sub_ops.h>
151#include <ATen/ops/_foreach_tan_ops.h>
152#include <ATen/ops/_foreach_tanh_ops.h>
153#include <ATen/ops/_foreach_trunc_ops.h>
154#include <ATen/ops/_foreach_zero_ops.h>
155#include <ATen/ops/_fused_adam_ops.h>
156#include <ATen/ops/_fused_adamw_ops.h>
157#include <ATen/ops/_fused_dropout_ops.h>
158#include <ATen/ops/_fused_moving_avg_obs_fq_helper_ops.h>
159#include <ATen/ops/_fused_sdp_choice_ops.h>
160#include <ATen/ops/_fw_primal_ops.h>
161#include <ATen/ops/_fw_primal_copy_ops.h>
162#include <ATen/ops/_gather_sparse_backward_ops.h>
163#include <ATen/ops/_grid_sampler_2d_cpu_fallback_ops.h>
164#include <ATen/ops/_grid_sampler_2d_cpu_fallback_backward_ops.h>
165#include <ATen/ops/_has_compatible_shallow_copy_type_ops.h>
166#include <ATen/ops/_has_same_storage_numel_ops.h>
167#include <ATen/ops/_histogramdd_bin_edges_ops.h>
168#include <ATen/ops/_histogramdd_from_bin_cts_ops.h>
169#include <ATen/ops/_histogramdd_from_bin_tensors_ops.h>
170#include <ATen/ops/_index_put_impl_ops.h>
171#include <ATen/ops/_indices_ops.h>
172#include <ATen/ops/_indices_copy_ops.h>
173#include <ATen/ops/_is_all_true_ops.h>
174#include <ATen/ops/_is_any_true_ops.h>
175#include <ATen/ops/_is_zerotensor_ops.h>
176#include <ATen/ops/_linalg_check_errors_ops.h>
177#include <ATen/ops/_linalg_det_ops.h>
178#include <ATen/ops/_linalg_eigh_ops.h>
179#include <ATen/ops/_linalg_slogdet_ops.h>
180#include <ATen/ops/_linalg_solve_ex_ops.h>
181#include <ATen/ops/_linalg_svd_ops.h>
182#include <ATen/ops/_local_scalar_dense_ops.h>
183#include <ATen/ops/_log_softmax_ops.h>
184#include <ATen/ops/_log_softmax_backward_data_ops.h>
185#include <ATen/ops/_logcumsumexp_ops.h>
186#include <ATen/ops/_lstm_mps_ops.h>
187#include <ATen/ops/_lu_with_info_ops.h>
188#include <ATen/ops/_make_dual_ops.h>
189#include <ATen/ops/_make_dual_copy_ops.h>
190#include <ATen/ops/_make_per_channel_quantized_tensor_ops.h>
191#include <ATen/ops/_make_per_tensor_quantized_tensor_ops.h>
192#include <ATen/ops/_masked_scale_ops.h>
193#include <ATen/ops/_masked_softmax_ops.h>
194#include <ATen/ops/_masked_softmax_backward_ops.h>
195#include <ATen/ops/_mkldnn_reshape_ops.h>
196#include <ATen/ops/_mkldnn_transpose_ops.h>
197#include <ATen/ops/_mps_convolution_ops.h>
198#include <ATen/ops/_mps_convolution_transpose_ops.h>
199#include <ATen/ops/_mps_max_pool2d_ops.h>
200#include <ATen/ops/_native_batch_norm_legit_ops.h>
201#include <ATen/ops/_native_decoder_only_multi_head_attention_ops.h>
202#include <ATen/ops/_native_multi_head_attention_ops.h>
203#include <ATen/ops/_neg_view_ops.h>
204#include <ATen/ops/_neg_view_copy_ops.h>
205#include <ATen/ops/_nested_from_padded_ops.h>
206#include <ATen/ops/_nested_from_padded_and_nested_example_ops.h>
207#include <ATen/ops/_nested_select_backward_ops.h>
208#include <ATen/ops/_nested_sum_backward_ops.h>
209#include <ATen/ops/_nested_tensor_from_mask_ops.h>
210#include <ATen/ops/_nested_tensor_from_mask_left_aligned_ops.h>
211#include <ATen/ops/_nested_tensor_from_tensor_list_ops.h>
212#include <ATen/ops/_nested_tensor_offsets_ops.h>
213#include <ATen/ops/_nested_tensor_size_ops.h>
214#include <ATen/ops/_nested_tensor_softmax_with_shape_ops.h>
215#include <ATen/ops/_nested_tensor_strides_ops.h>
216#include <ATen/ops/_nested_view_from_buffer_ops.h>
217#include <ATen/ops/_nested_view_from_buffer_copy_ops.h>
218#include <ATen/ops/_new_zeros_with_same_feature_meta_ops.h>
219#include <ATen/ops/_nnpack_available_ops.h>
220#include <ATen/ops/_nnpack_spatial_convolution_ops.h>
221#include <ATen/ops/_nnz_ops.h>
222#include <ATen/ops/_pack_padded_sequence_ops.h>
223#include <ATen/ops/_pack_padded_sequence_backward_ops.h>
224#include <ATen/ops/_pad_circular_ops.h>
225#include <ATen/ops/_pad_enum_ops.h>
226#include <ATen/ops/_pad_packed_sequence_ops.h>
227#include <ATen/ops/_pdist_backward_ops.h>
228#include <ATen/ops/_pdist_forward_ops.h>
229#include <ATen/ops/_pin_memory_ops.h>
230#include <ATen/ops/_prelu_kernel_ops.h>
231#include <ATen/ops/_prelu_kernel_backward_ops.h>
232#include <ATen/ops/_remove_batch_dim_ops.h>
233#include <ATen/ops/_reshape_alias_ops.h>
234#include <ATen/ops/_reshape_alias_copy_ops.h>
235#include <ATen/ops/_reshape_copy_ops.h>
236#include <ATen/ops/_reshape_from_tensor_ops.h>
237#include <ATen/ops/_resize_output_ops.h>
238#include <ATen/ops/_rowwise_prune_ops.h>
239#include <ATen/ops/_sample_dirichlet_ops.h>
240#include <ATen/ops/_saturate_weight_to_fp16_ops.h>
241#include <ATen/ops/_scaled_dot_product_attention_ops.h>
242#include <ATen/ops/_scaled_dot_product_attention_math_ops.h>
243#include <ATen/ops/_scaled_dot_product_efficient_attention_ops.h>
244#include <ATen/ops/_scaled_dot_product_efficient_attention_backward_ops.h>
245#include <ATen/ops/_scaled_dot_product_flash_attention_ops.h>
246#include <ATen/ops/_scaled_dot_product_flash_attention_backward_ops.h>
247#include <ATen/ops/_segment_reduce_backward_ops.h>
248#include <ATen/ops/_shape_as_tensor_ops.h>
249#include <ATen/ops/_slow_conv2d_backward_ops.h>
250#include <ATen/ops/_slow_conv2d_forward_ops.h>
251#include <ATen/ops/_sobol_engine_draw_ops.h>
252#include <ATen/ops/_sobol_engine_ff_ops.h>
253#include <ATen/ops/_sobol_engine_initialize_state_ops.h>
254#include <ATen/ops/_sobol_engine_scramble_ops.h>
255#include <ATen/ops/_softmax_ops.h>
256#include <ATen/ops/_softmax_backward_data_ops.h>
257#include <ATen/ops/_sparse_addmm_ops.h>
258#include <ATen/ops/_sparse_broadcast_to_ops.h>
259#include <ATen/ops/_sparse_broadcast_to_copy_ops.h>
260#include <ATen/ops/_sparse_bsc_tensor_unsafe_ops.h>
261#include <ATen/ops/_sparse_bsr_tensor_unsafe_ops.h>
262#include <ATen/ops/_sparse_compressed_tensor_unsafe_ops.h>
263#include <ATen/ops/_sparse_coo_tensor_unsafe_ops.h>
264#include <ATen/ops/_sparse_coo_tensor_with_dims_ops.h>
265#include <ATen/ops/_sparse_coo_tensor_with_dims_and_tensors_ops.h>
266#include <ATen/ops/_sparse_csc_tensor_unsafe_ops.h>
267#include <ATen/ops/_sparse_csr_prod_ops.h>
268#include <ATen/ops/_sparse_csr_sum_ops.h>
269#include <ATen/ops/_sparse_csr_tensor_unsafe_ops.h>
270#include <ATen/ops/_sparse_log_softmax_ops.h>
271#include <ATen/ops/_sparse_log_softmax_backward_data_ops.h>
272#include <ATen/ops/_sparse_mm_ops.h>
273#include <ATen/ops/_sparse_mm_reduce_impl_ops.h>
274#include <ATen/ops/_sparse_mm_reduce_impl_backward_ops.h>
275#include <ATen/ops/_sparse_softmax_ops.h>
276#include <ATen/ops/_sparse_softmax_backward_data_ops.h>
277#include <ATen/ops/_sparse_sparse_matmul_ops.h>
278#include <ATen/ops/_sparse_sum_ops.h>
279#include <ATen/ops/_sparse_sum_backward_ops.h>
280#include <ATen/ops/_spdiags_ops.h>
281#include <ATen/ops/_stack_ops.h>
282#include <ATen/ops/_standard_gamma_ops.h>
283#include <ATen/ops/_standard_gamma_grad_ops.h>
284#include <ATen/ops/_test_ambiguous_defaults_ops.h>
285#include <ATen/ops/_test_autograd_multiple_dispatch_ops.h>
286#include <ATen/ops/_test_autograd_multiple_dispatch_view_ops.h>
287#include <ATen/ops/_test_autograd_multiple_dispatch_view_copy_ops.h>
288#include <ATen/ops/_test_check_tensor_ops.h>
289#include <ATen/ops/_test_optional_filled_intlist_ops.h>
290#include <ATen/ops/_test_optional_floatlist_ops.h>
291#include <ATen/ops/_test_optional_intlist_ops.h>
292#include <ATen/ops/_test_serialization_subcmul_ops.h>
293#include <ATen/ops/_test_string_default_ops.h>
294#include <ATen/ops/_test_warn_in_autograd_ops.h>
295#include <ATen/ops/_thnn_differentiable_gru_cell_backward_ops.h>
296#include <ATen/ops/_thnn_differentiable_lstm_cell_backward_ops.h>
297#include <ATen/ops/_thnn_fused_gru_cell_ops.h>
298#include <ATen/ops/_thnn_fused_gru_cell_backward_ops.h>
299#include <ATen/ops/_thnn_fused_lstm_cell_ops.h>
300#include <ATen/ops/_thnn_fused_lstm_cell_backward_ops.h>
301#include <ATen/ops/_thnn_fused_lstm_cell_backward_impl_ops.h>
302#include <ATen/ops/_to_copy_ops.h>
303#include <ATen/ops/_to_cpu_ops.h>
304#include <ATen/ops/_to_dense_ops.h>
305#include <ATen/ops/_transform_bias_rescale_qkv_ops.h>
306#include <ATen/ops/_transformer_decoder_only_layer_fwd_ops.h>
307#include <ATen/ops/_transformer_encoder_layer_fwd_ops.h>
308#include <ATen/ops/_trilinear_ops.h>
309#include <ATen/ops/_triton_multi_head_attention_ops.h>
310#include <ATen/ops/_triton_scaled_dot_attention_ops.h>
311#include <ATen/ops/_unique_ops.h>
312#include <ATen/ops/_unique2_ops.h>
313#include <ATen/ops/_unpack_dual_ops.h>
314#include <ATen/ops/_unsafe_view_ops.h>
315#include <ATen/ops/_upsample_bicubic2d_aa_ops.h>
316#include <ATen/ops/_upsample_bicubic2d_aa_backward_ops.h>
317#include <ATen/ops/_upsample_bilinear2d_aa_ops.h>
318#include <ATen/ops/_upsample_bilinear2d_aa_backward_ops.h>
319#include <ATen/ops/_upsample_nearest_exact1d_ops.h>
320#include <ATen/ops/_upsample_nearest_exact1d_backward_ops.h>
321#include <ATen/ops/_upsample_nearest_exact2d_ops.h>
322#include <ATen/ops/_upsample_nearest_exact2d_backward_ops.h>
323#include <ATen/ops/_upsample_nearest_exact3d_ops.h>
324#include <ATen/ops/_upsample_nearest_exact3d_backward_ops.h>
325#include <ATen/ops/_use_cudnn_ctc_loss_ops.h>
326#include <ATen/ops/_use_cudnn_rnn_flatten_weight_ops.h>
327#include <ATen/ops/_validate_compressed_sparse_indices_ops.h>
328#include <ATen/ops/_validate_sparse_bsc_tensor_args_ops.h>
329#include <ATen/ops/_validate_sparse_bsr_tensor_args_ops.h>
330#include <ATen/ops/_validate_sparse_compressed_tensor_args_ops.h>
331#include <ATen/ops/_validate_sparse_coo_tensor_args_ops.h>
332#include <ATen/ops/_validate_sparse_csc_tensor_args_ops.h>
333#include <ATen/ops/_validate_sparse_csr_tensor_args_ops.h>
334#include <ATen/ops/_values_ops.h>
335#include <ATen/ops/_values_copy_ops.h>
336#include <ATen/ops/_version_ops.h>
337#include <ATen/ops/_weight_norm_ops.h>
338#include <ATen/ops/_weight_norm_differentiable_backward_ops.h>
339#include <ATen/ops/_weight_norm_interface_ops.h>
340#include <ATen/ops/_weight_norm_interface_backward_ops.h>
341#include <ATen/ops/abs_ops.h>
342#include <ATen/ops/absolute_ops.h>
343#include <ATen/ops/acos_ops.h>
344#include <ATen/ops/acosh_ops.h>
345#include <ATen/ops/adaptive_avg_pool1d_ops.h>
346#include <ATen/ops/adaptive_avg_pool2d_ops.h>
347#include <ATen/ops/adaptive_avg_pool3d_ops.h>
348#include <ATen/ops/adaptive_avg_pool3d_backward_ops.h>
349#include <ATen/ops/adaptive_max_pool1d_ops.h>
350#include <ATen/ops/adaptive_max_pool2d_ops.h>
351#include <ATen/ops/adaptive_max_pool2d_backward_ops.h>
352#include <ATen/ops/adaptive_max_pool3d_ops.h>
353#include <ATen/ops/adaptive_max_pool3d_backward_ops.h>
354#include <ATen/ops/add_ops.h>
355#include <ATen/ops/addbmm_ops.h>
356#include <ATen/ops/addcdiv_ops.h>
357#include <ATen/ops/addcmul_ops.h>
358#include <ATen/ops/addmm_ops.h>
359#include <ATen/ops/addmv_ops.h>
360#include <ATen/ops/addr_ops.h>
361#include <ATen/ops/adjoint_ops.h>
362#include <ATen/ops/affine_grid_generator_ops.h>
363#include <ATen/ops/affine_grid_generator_backward_ops.h>
364#include <ATen/ops/alias_ops.h>
365#include <ATen/ops/alias_copy_ops.h>
366#include <ATen/ops/align_as_ops.h>
367#include <ATen/ops/align_tensors_ops.h>
368#include <ATen/ops/align_to_ops.h>
369#include <ATen/ops/all_ops.h>
370#include <ATen/ops/allclose_ops.h>
371#include <ATen/ops/alpha_dropout_ops.h>
372#include <ATen/ops/amax_ops.h>
373#include <ATen/ops/amin_ops.h>
374#include <ATen/ops/aminmax_ops.h>
375#include <ATen/ops/and_ops.h>
376#include <ATen/ops/angle_ops.h>
377#include <ATen/ops/any_ops.h>
378#include <ATen/ops/arange_ops.h>
379#include <ATen/ops/arccos_ops.h>
380#include <ATen/ops/arccosh_ops.h>
381#include <ATen/ops/arcsin_ops.h>
382#include <ATen/ops/arcsinh_ops.h>
383#include <ATen/ops/arctan_ops.h>
384#include <ATen/ops/arctan2_ops.h>
385#include <ATen/ops/arctanh_ops.h>
386#include <ATen/ops/argmax_ops.h>
387#include <ATen/ops/argmin_ops.h>
388#include <ATen/ops/argsort_ops.h>
389#include <ATen/ops/argwhere_ops.h>
390#include <ATen/ops/as_strided_ops.h>
391#include <ATen/ops/as_strided_copy_ops.h>
392#include <ATen/ops/as_strided_scatter_ops.h>
393#include <ATen/ops/asin_ops.h>
394#include <ATen/ops/asinh_ops.h>
395#include <ATen/ops/atan_ops.h>
396#include <ATen/ops/atan2_ops.h>
397#include <ATen/ops/atanh_ops.h>
398#include <ATen/ops/atleast_1d_ops.h>
399#include <ATen/ops/atleast_2d_ops.h>
400#include <ATen/ops/atleast_3d_ops.h>
401#include <ATen/ops/avg_pool1d_ops.h>
402#include <ATen/ops/avg_pool2d_ops.h>
403#include <ATen/ops/avg_pool2d_backward_ops.h>
404#include <ATen/ops/avg_pool3d_ops.h>
405#include <ATen/ops/avg_pool3d_backward_ops.h>
406#include <ATen/ops/baddbmm_ops.h>
407#include <ATen/ops/bartlett_window_ops.h>
408#include <ATen/ops/batch_norm_ops.h>
409#include <ATen/ops/batch_norm_backward_elemt_ops.h>
410#include <ATen/ops/batch_norm_backward_reduce_ops.h>
411#include <ATen/ops/batch_norm_elemt_ops.h>
412#include <ATen/ops/batch_norm_gather_stats_ops.h>
413#include <ATen/ops/batch_norm_gather_stats_with_counts_ops.h>
414#include <ATen/ops/batch_norm_stats_ops.h>
415#include <ATen/ops/batch_norm_update_stats_ops.h>
416#include <ATen/ops/bernoulli_ops.h>
417#include <ATen/ops/bilinear_ops.h>
418#include <ATen/ops/binary_cross_entropy_ops.h>
419#include <ATen/ops/binary_cross_entropy_backward_ops.h>
420#include <ATen/ops/binary_cross_entropy_with_logits_ops.h>
421#include <ATen/ops/bincount_ops.h>
422#include <ATen/ops/binomial_ops.h>
423#include <ATen/ops/bitwise_and_ops.h>
424#include <ATen/ops/bitwise_left_shift_ops.h>
425#include <ATen/ops/bitwise_not_ops.h>
426#include <ATen/ops/bitwise_or_ops.h>
427#include <ATen/ops/bitwise_right_shift_ops.h>
428#include <ATen/ops/bitwise_xor_ops.h>
429#include <ATen/ops/blackman_window_ops.h>
430#include <ATen/ops/block_diag_ops.h>
431#include <ATen/ops/bmm_ops.h>
432#include <ATen/ops/broadcast_tensors_ops.h>
433#include <ATen/ops/broadcast_to_ops.h>
434#include <ATen/ops/bucketize_ops.h>
435#include <ATen/ops/can_cast_ops.h>
436#include <ATen/ops/cartesian_prod_ops.h>
437#include <ATen/ops/cat_ops.h>
438#include <ATen/ops/cauchy_ops.h>
439#include <ATen/ops/ccol_indices_ops.h>
440#include <ATen/ops/ccol_indices_copy_ops.h>
441#include <ATen/ops/cdist_ops.h>
442#include <ATen/ops/ceil_ops.h>
443#include <ATen/ops/celu_ops.h>
444#include <ATen/ops/chain_matmul_ops.h>
445#include <ATen/ops/chalf_ops.h>
446#include <ATen/ops/channel_shuffle_ops.h>
447#include <ATen/ops/cholesky_ops.h>
448#include <ATen/ops/cholesky_inverse_ops.h>
449#include <ATen/ops/cholesky_solve_ops.h>
450#include <ATen/ops/choose_qparams_optimized_ops.h>
451#include <ATen/ops/chunk_ops.h>
452#include <ATen/ops/clamp_ops.h>
453#include <ATen/ops/clamp_max_ops.h>
454#include <ATen/ops/clamp_min_ops.h>
455#include <ATen/ops/clip_ops.h>
456#include <ATen/ops/clone_ops.h>
457#include <ATen/ops/coalesce_ops.h>
458#include <ATen/ops/col2im_ops.h>
459#include <ATen/ops/col_indices_ops.h>
460#include <ATen/ops/col_indices_copy_ops.h>
461#include <ATen/ops/column_stack_ops.h>
462#include <ATen/ops/combinations_ops.h>
463#include <ATen/ops/complex_ops.h>
464#include <ATen/ops/concat_ops.h>
465#include <ATen/ops/concatenate_ops.h>
466#include <ATen/ops/conj_ops.h>
467#include <ATen/ops/conj_physical_ops.h>
468#include <ATen/ops/constant_pad_nd_ops.h>
469#include <ATen/ops/contiguous_ops.h>
470#include <ATen/ops/conv1d_ops.h>
471#include <ATen/ops/conv2d_ops.h>
472#include <ATen/ops/conv3d_ops.h>
473#include <ATen/ops/conv_depthwise3d_ops.h>
474#include <ATen/ops/conv_tbc_ops.h>
475#include <ATen/ops/conv_tbc_backward_ops.h>
476#include <ATen/ops/conv_transpose1d_ops.h>
477#include <ATen/ops/conv_transpose2d_ops.h>
478#include <ATen/ops/conv_transpose3d_ops.h>
479#include <ATen/ops/convolution_ops.h>
480#include <ATen/ops/convolution_backward_ops.h>
481#include <ATen/ops/convolution_backward_overrideable_ops.h>
482#include <ATen/ops/convolution_overrideable_ops.h>
483#include <ATen/ops/copy_ops.h>
484#include <ATen/ops/copy_sparse_to_sparse_ops.h>
485#include <ATen/ops/copysign_ops.h>
486#include <ATen/ops/corrcoef_ops.h>
487#include <ATen/ops/cos_ops.h>
488#include <ATen/ops/cosh_ops.h>
489#include <ATen/ops/cosine_embedding_loss_ops.h>
490#include <ATen/ops/cosine_similarity_ops.h>
491#include <ATen/ops/count_nonzero_ops.h>
492#include <ATen/ops/cov_ops.h>
493#include <ATen/ops/cross_ops.h>
494#include <ATen/ops/cross_entropy_loss_ops.h>
495#include <ATen/ops/crow_indices_ops.h>
496#include <ATen/ops/crow_indices_copy_ops.h>
497#include <ATen/ops/ctc_loss_ops.h>
498#include <ATen/ops/cudnn_affine_grid_generator_ops.h>
499#include <ATen/ops/cudnn_affine_grid_generator_backward_ops.h>
500#include <ATen/ops/cudnn_batch_norm_ops.h>
501#include <ATen/ops/cudnn_batch_norm_backward_ops.h>
502#include <ATen/ops/cudnn_convolution_ops.h>
503#include <ATen/ops/cudnn_convolution_add_relu_ops.h>
504#include <ATen/ops/cudnn_convolution_relu_ops.h>
505#include <ATen/ops/cudnn_convolution_transpose_ops.h>
506#include <ATen/ops/cudnn_grid_sampler_ops.h>
507#include <ATen/ops/cudnn_grid_sampler_backward_ops.h>
508#include <ATen/ops/cudnn_is_acceptable_ops.h>
509#include <ATen/ops/cummax_ops.h>
510#include <ATen/ops/cummaxmin_backward_ops.h>
511#include <ATen/ops/cummin_ops.h>
512#include <ATen/ops/cumprod_ops.h>
513#include <ATen/ops/cumprod_backward_ops.h>
514#include <ATen/ops/cumsum_ops.h>
515#include <ATen/ops/cumulative_trapezoid_ops.h>
516#include <ATen/ops/data_ops.h>
517#include <ATen/ops/deg2rad_ops.h>
518#include <ATen/ops/dense_dim_ops.h>
519#include <ATen/ops/dequantize_ops.h>
520#include <ATen/ops/det_ops.h>
521#include <ATen/ops/detach_ops.h>
522#include <ATen/ops/detach_copy_ops.h>
523#include <ATen/ops/diag_ops.h>
524#include <ATen/ops/diag_embed_ops.h>
525#include <ATen/ops/diagflat_ops.h>
526#include <ATen/ops/diagonal_ops.h>
527#include <ATen/ops/diagonal_backward_ops.h>
528#include <ATen/ops/diagonal_copy_ops.h>
529#include <ATen/ops/diagonal_scatter_ops.h>
530#include <ATen/ops/diff_ops.h>
531#include <ATen/ops/digamma_ops.h>
532#include <ATen/ops/dist_ops.h>
533#include <ATen/ops/div_ops.h>
534#include <ATen/ops/divide_ops.h>
535#include <ATen/ops/dot_ops.h>
536#include <ATen/ops/dropout_ops.h>
537#include <ATen/ops/dsplit_ops.h>
538#include <ATen/ops/dstack_ops.h>
539#include <ATen/ops/einsum_ops.h>
540#include <ATen/ops/elu_ops.h>
541#include <ATen/ops/elu_backward_ops.h>
542#include <ATen/ops/embedding_ops.h>
543#include <ATen/ops/embedding_backward_ops.h>
544#include <ATen/ops/embedding_bag_ops.h>
545#include <ATen/ops/embedding_dense_backward_ops.h>
546#include <ATen/ops/embedding_renorm_ops.h>
547#include <ATen/ops/embedding_sparse_backward_ops.h>
548#include <ATen/ops/empty_ops.h>
549#include <ATen/ops/empty_like_ops.h>
550#include <ATen/ops/empty_quantized_ops.h>
551#include <ATen/ops/empty_strided_ops.h>
552#include <ATen/ops/eq_ops.h>
553#include <ATen/ops/equal_ops.h>
554#include <ATen/ops/erf_ops.h>
555#include <ATen/ops/erfc_ops.h>
556#include <ATen/ops/erfinv_ops.h>
557#include <ATen/ops/exp_ops.h>
558#include <ATen/ops/exp2_ops.h>
559#include <ATen/ops/expand_ops.h>
560#include <ATen/ops/expand_as_ops.h>
561#include <ATen/ops/expand_copy_ops.h>
562#include <ATen/ops/expm1_ops.h>
563#include <ATen/ops/exponential_ops.h>
564#include <ATen/ops/eye_ops.h>
565#include <ATen/ops/fake_quantize_per_channel_affine_ops.h>
566#include <ATen/ops/fake_quantize_per_channel_affine_cachemask_ops.h>
567#include <ATen/ops/fake_quantize_per_channel_affine_cachemask_backward_ops.h>
568#include <ATen/ops/fake_quantize_per_tensor_affine_ops.h>
569#include <ATen/ops/fake_quantize_per_tensor_affine_cachemask_ops.h>
570#include <ATen/ops/fake_quantize_per_tensor_affine_cachemask_backward_ops.h>
571#include <ATen/ops/fbgemm_linear_fp16_weight_ops.h>
572#include <ATen/ops/fbgemm_linear_fp16_weight_fp32_activation_ops.h>
573#include <ATen/ops/fbgemm_linear_int8_weight_ops.h>
574#include <ATen/ops/fbgemm_linear_int8_weight_fp32_activation_ops.h>
575#include <ATen/ops/fbgemm_linear_quantize_weight_ops.h>
576#include <ATen/ops/fbgemm_pack_gemm_matrix_fp16_ops.h>
577#include <ATen/ops/fbgemm_pack_quantized_matrix_ops.h>
578#include <ATen/ops/feature_alpha_dropout_ops.h>
579#include <ATen/ops/feature_dropout_ops.h>
580#include <ATen/ops/fft_fft_ops.h>
581#include <ATen/ops/fft_fft2_ops.h>
582#include <ATen/ops/fft_fftfreq_ops.h>
583#include <ATen/ops/fft_fftn_ops.h>
584#include <ATen/ops/fft_fftshift_ops.h>
585#include <ATen/ops/fft_hfft_ops.h>
586#include <ATen/ops/fft_hfft2_ops.h>
587#include <ATen/ops/fft_hfftn_ops.h>
588#include <ATen/ops/fft_ifft_ops.h>
589#include <ATen/ops/fft_ifft2_ops.h>
590#include <ATen/ops/fft_ifftn_ops.h>
591#include <ATen/ops/fft_ifftshift_ops.h>
592#include <ATen/ops/fft_ihfft_ops.h>
593#include <ATen/ops/fft_ihfft2_ops.h>
594#include <ATen/ops/fft_ihfftn_ops.h>
595#include <ATen/ops/fft_irfft_ops.h>
596#include <ATen/ops/fft_irfft2_ops.h>
597#include <ATen/ops/fft_irfftn_ops.h>
598#include <ATen/ops/fft_rfft_ops.h>
599#include <ATen/ops/fft_rfft2_ops.h>
600#include <ATen/ops/fft_rfftfreq_ops.h>
601#include <ATen/ops/fft_rfftn_ops.h>
602#include <ATen/ops/fill_ops.h>
603#include <ATen/ops/fill_diagonal_ops.h>
604#include <ATen/ops/fix_ops.h>
605#include <ATen/ops/flatten_ops.h>
606#include <ATen/ops/flatten_dense_tensors_ops.h>
607#include <ATen/ops/flip_ops.h>
608#include <ATen/ops/fliplr_ops.h>
609#include <ATen/ops/flipud_ops.h>
610#include <ATen/ops/float_power_ops.h>
611#include <ATen/ops/floor_ops.h>
612#include <ATen/ops/floor_divide_ops.h>
613#include <ATen/ops/fmax_ops.h>
614#include <ATen/ops/fmin_ops.h>
615#include <ATen/ops/fmod_ops.h>
616#include <ATen/ops/frac_ops.h>
617#include <ATen/ops/fractional_max_pool2d_ops.h>
618#include <ATen/ops/fractional_max_pool2d_backward_ops.h>
619#include <ATen/ops/fractional_max_pool3d_ops.h>
620#include <ATen/ops/fractional_max_pool3d_backward_ops.h>
621#include <ATen/ops/frexp_ops.h>
622#include <ATen/ops/frobenius_norm_ops.h>
623#include <ATen/ops/from_file_ops.h>
624#include <ATen/ops/full_ops.h>
625#include <ATen/ops/full_like_ops.h>
626#include <ATen/ops/fused_moving_avg_obs_fake_quant_ops.h>
627#include <ATen/ops/gather_ops.h>
628#include <ATen/ops/gather_backward_ops.h>
629#include <ATen/ops/gcd_ops.h>
630#include <ATen/ops/ge_ops.h>
631#include <ATen/ops/gelu_ops.h>
632#include <ATen/ops/gelu_backward_ops.h>
633#include <ATen/ops/geometric_ops.h>
634#include <ATen/ops/geqrf_ops.h>
635#include <ATen/ops/ger_ops.h>
636#include <ATen/ops/glu_ops.h>
637#include <ATen/ops/glu_backward_ops.h>
638#include <ATen/ops/glu_backward_jvp_ops.h>
639#include <ATen/ops/glu_jvp_ops.h>
640#include <ATen/ops/gradient_ops.h>
641#include <ATen/ops/greater_ops.h>
642#include <ATen/ops/greater_equal_ops.h>
643#include <ATen/ops/grid_sampler_ops.h>
644#include <ATen/ops/grid_sampler_2d_ops.h>
645#include <ATen/ops/grid_sampler_2d_backward_ops.h>
646#include <ATen/ops/grid_sampler_3d_ops.h>
647#include <ATen/ops/grid_sampler_3d_backward_ops.h>
648#include <ATen/ops/group_norm_ops.h>
649#include <ATen/ops/gru_ops.h>
650#include <ATen/ops/gru_cell_ops.h>
651#include <ATen/ops/gt_ops.h>
652#include <ATen/ops/hamming_window_ops.h>
653#include <ATen/ops/hann_window_ops.h>
654#include <ATen/ops/hardshrink_ops.h>
655#include <ATen/ops/hardshrink_backward_ops.h>
656#include <ATen/ops/hardsigmoid_ops.h>
657#include <ATen/ops/hardsigmoid_backward_ops.h>
658#include <ATen/ops/hardswish_ops.h>
659#include <ATen/ops/hardswish_backward_ops.h>
660#include <ATen/ops/hardtanh_ops.h>
661#include <ATen/ops/hardtanh_backward_ops.h>
662#include <ATen/ops/heaviside_ops.h>
663#include <ATen/ops/hinge_embedding_loss_ops.h>
664#include <ATen/ops/histc_ops.h>
665#include <ATen/ops/histogram_ops.h>
666#include <ATen/ops/histogramdd_ops.h>
667#include <ATen/ops/hsplit_ops.h>
668#include <ATen/ops/hspmm_ops.h>
669#include <ATen/ops/hstack_ops.h>
670#include <ATen/ops/huber_loss_ops.h>
671#include <ATen/ops/huber_loss_backward_ops.h>
672#include <ATen/ops/hypot_ops.h>
673#include <ATen/ops/i0_ops.h>
674#include <ATen/ops/igamma_ops.h>
675#include <ATen/ops/igammac_ops.h>
676#include <ATen/ops/im2col_ops.h>
677#include <ATen/ops/imag_ops.h>
678#include <ATen/ops/index_ops.h>
679#include <ATen/ops/index_add_ops.h>
680#include <ATen/ops/index_copy_ops.h>
681#include <ATen/ops/index_fill_ops.h>
682#include <ATen/ops/index_put_ops.h>
683#include <ATen/ops/index_reduce_ops.h>
684#include <ATen/ops/index_select_ops.h>
685#include <ATen/ops/index_select_backward_ops.h>
686#include <ATen/ops/indices_ops.h>
687#include <ATen/ops/indices_copy_ops.h>
688#include <ATen/ops/infinitely_differentiable_gelu_backward_ops.h>
689#include <ATen/ops/inner_ops.h>
690#include <ATen/ops/instance_norm_ops.h>
691#include <ATen/ops/int_repr_ops.h>
692#include <ATen/ops/inverse_ops.h>
693#include <ATen/ops/is_coalesced_ops.h>
694#include <ATen/ops/is_complex_ops.h>
695#include <ATen/ops/is_conj_ops.h>
696#include <ATen/ops/is_distributed_ops.h>
697#include <ATen/ops/is_floating_point_ops.h>
698#include <ATen/ops/is_inference_ops.h>
699#include <ATen/ops/is_leaf_ops.h>
700#include <ATen/ops/is_neg_ops.h>
701#include <ATen/ops/is_nonzero_ops.h>
702#include <ATen/ops/is_pinned_ops.h>
703#include <ATen/ops/is_same_size_ops.h>
704#include <ATen/ops/is_set_to_ops.h>
705#include <ATen/ops/is_signed_ops.h>
706#include <ATen/ops/is_vulkan_available_ops.h>
707#include <ATen/ops/isclose_ops.h>
708#include <ATen/ops/isfinite_ops.h>
709#include <ATen/ops/isin_ops.h>
710#include <ATen/ops/isinf_ops.h>
711#include <ATen/ops/isnan_ops.h>
712#include <ATen/ops/isneginf_ops.h>
713#include <ATen/ops/isposinf_ops.h>
714#include <ATen/ops/isreal_ops.h>
715#include <ATen/ops/istft_ops.h>
716#include <ATen/ops/item_ops.h>
717#include <ATen/ops/kaiser_window_ops.h>
718#include <ATen/ops/kl_div_ops.h>
719#include <ATen/ops/kron_ops.h>
720#include <ATen/ops/kthvalue_ops.h>
721#include <ATen/ops/l1_loss_ops.h>
722#include <ATen/ops/layer_norm_ops.h>
723#include <ATen/ops/lcm_ops.h>
724#include <ATen/ops/ldexp_ops.h>
725#include <ATen/ops/le_ops.h>
726#include <ATen/ops/leaky_relu_ops.h>
727#include <ATen/ops/leaky_relu_backward_ops.h>
728#include <ATen/ops/lerp_ops.h>
729#include <ATen/ops/less_ops.h>
730#include <ATen/ops/less_equal_ops.h>
731#include <ATen/ops/lgamma_ops.h>
732#include <ATen/ops/lift_ops.h>
733#include <ATen/ops/lift_fresh_ops.h>
734#include <ATen/ops/lift_fresh_copy_ops.h>
735#include <ATen/ops/linalg_cholesky_ops.h>
736#include <ATen/ops/linalg_cholesky_ex_ops.h>
737#include <ATen/ops/linalg_cond_ops.h>
738#include <ATen/ops/linalg_cross_ops.h>
739#include <ATen/ops/linalg_det_ops.h>
740#include <ATen/ops/linalg_diagonal_ops.h>
741#include <ATen/ops/linalg_eig_ops.h>
742#include <ATen/ops/linalg_eigh_ops.h>
743#include <ATen/ops/linalg_eigvals_ops.h>
744#include <ATen/ops/linalg_eigvalsh_ops.h>
745#include <ATen/ops/linalg_householder_product_ops.h>
746#include <ATen/ops/linalg_inv_ops.h>
747#include <ATen/ops/linalg_inv_ex_ops.h>
748#include <ATen/ops/linalg_ldl_factor_ops.h>
749#include <ATen/ops/linalg_ldl_factor_ex_ops.h>
750#include <ATen/ops/linalg_ldl_solve_ops.h>
751#include <ATen/ops/linalg_lstsq_ops.h>
752#include <ATen/ops/linalg_lu_ops.h>
753#include <ATen/ops/linalg_lu_factor_ops.h>
754#include <ATen/ops/linalg_lu_factor_ex_ops.h>
755#include <ATen/ops/linalg_lu_solve_ops.h>
756#include <ATen/ops/linalg_matmul_ops.h>
757#include <ATen/ops/linalg_matrix_exp_ops.h>
758#include <ATen/ops/linalg_matrix_norm_ops.h>
759#include <ATen/ops/linalg_matrix_power_ops.h>
760#include <ATen/ops/linalg_matrix_rank_ops.h>
761#include <ATen/ops/linalg_multi_dot_ops.h>
762#include <ATen/ops/linalg_norm_ops.h>
763#include <ATen/ops/linalg_pinv_ops.h>
764#include <ATen/ops/linalg_qr_ops.h>
765#include <ATen/ops/linalg_slogdet_ops.h>
766#include <ATen/ops/linalg_solve_ops.h>
767#include <ATen/ops/linalg_solve_ex_ops.h>
768#include <ATen/ops/linalg_solve_triangular_ops.h>
769#include <ATen/ops/linalg_svd_ops.h>
770#include <ATen/ops/linalg_svdvals_ops.h>
771#include <ATen/ops/linalg_tensorinv_ops.h>
772#include <ATen/ops/linalg_tensorsolve_ops.h>
773#include <ATen/ops/linalg_vander_ops.h>
774#include <ATen/ops/linalg_vecdot_ops.h>
775#include <ATen/ops/linalg_vector_norm_ops.h>
776#include <ATen/ops/linear_ops.h>
777#include <ATen/ops/linear_backward_ops.h>
778#include <ATen/ops/linspace_ops.h>
779#include <ATen/ops/log_ops.h>
780#include <ATen/ops/log10_ops.h>
781#include <ATen/ops/log1p_ops.h>
782#include <ATen/ops/log2_ops.h>
783#include <ATen/ops/log_normal_ops.h>
784#include <ATen/ops/log_sigmoid_ops.h>
785#include <ATen/ops/log_sigmoid_backward_ops.h>
786#include <ATen/ops/log_sigmoid_forward_ops.h>
787#include <ATen/ops/log_softmax_ops.h>
788#include <ATen/ops/logaddexp_ops.h>
789#include <ATen/ops/logaddexp2_ops.h>
790#include <ATen/ops/logcumsumexp_ops.h>
791#include <ATen/ops/logdet_ops.h>
792#include <ATen/ops/logical_and_ops.h>
793#include <ATen/ops/logical_not_ops.h>
794#include <ATen/ops/logical_or_ops.h>
795#include <ATen/ops/logical_xor_ops.h>
796#include <ATen/ops/logit_ops.h>
797#include <ATen/ops/logit_backward_ops.h>
798#include <ATen/ops/logspace_ops.h>
799#include <ATen/ops/logsumexp_ops.h>
800#include <ATen/ops/lshift_ops.h>
801#include <ATen/ops/lstm_ops.h>
802#include <ATen/ops/lstm_cell_ops.h>
803#include <ATen/ops/lstm_mps_backward_ops.h>
804#include <ATen/ops/lt_ops.h>
805#include <ATen/ops/lu_solve_ops.h>
806#include <ATen/ops/lu_unpack_ops.h>
807#include <ATen/ops/mH_ops.h>
808#include <ATen/ops/mT_ops.h>
809#include <ATen/ops/margin_ranking_loss_ops.h>
810#include <ATen/ops/masked_fill_ops.h>
811#include <ATen/ops/masked_scatter_ops.h>
812#include <ATen/ops/masked_select_ops.h>
813#include <ATen/ops/masked_select_backward_ops.h>
814#include <ATen/ops/matmul_ops.h>
815#include <ATen/ops/matmul_backward_ops.h>
816#include <ATen/ops/matrix_H_ops.h>
817#include <ATen/ops/matrix_exp_ops.h>
818#include <ATen/ops/matrix_exp_backward_ops.h>
819#include <ATen/ops/matrix_power_ops.h>
820#include <ATen/ops/max_ops.h>
821#include <ATen/ops/max_pool1d_ops.h>
822#include <ATen/ops/max_pool1d_with_indices_ops.h>
823#include <ATen/ops/max_pool2d_ops.h>
824#include <ATen/ops/max_pool2d_with_indices_ops.h>
825#include <ATen/ops/max_pool2d_with_indices_backward_ops.h>
826#include <ATen/ops/max_pool3d_ops.h>
827#include <ATen/ops/max_pool3d_with_indices_ops.h>
828#include <ATen/ops/max_pool3d_with_indices_backward_ops.h>
829#include <ATen/ops/max_unpool2d_ops.h>
830#include <ATen/ops/max_unpool3d_ops.h>
831#include <ATen/ops/maximum_ops.h>
832#include <ATen/ops/mean_ops.h>
833#include <ATen/ops/median_ops.h>
834#include <ATen/ops/meshgrid_ops.h>
835#include <ATen/ops/min_ops.h>
836#include <ATen/ops/minimum_ops.h>
837#include <ATen/ops/miopen_batch_norm_ops.h>
838#include <ATen/ops/miopen_batch_norm_backward_ops.h>
839#include <ATen/ops/miopen_convolution_ops.h>
840#include <ATen/ops/miopen_convolution_add_relu_ops.h>
841#include <ATen/ops/miopen_convolution_relu_ops.h>
842#include <ATen/ops/miopen_convolution_transpose_ops.h>
843#include <ATen/ops/miopen_depthwise_convolution_ops.h>
844#include <ATen/ops/miopen_rnn_ops.h>
845#include <ATen/ops/miopen_rnn_backward_ops.h>
846#include <ATen/ops/mish_ops.h>
847#include <ATen/ops/mish_backward_ops.h>
848#include <ATen/ops/mkldnn_adaptive_avg_pool2d_ops.h>
849#include <ATen/ops/mkldnn_adaptive_avg_pool2d_backward_ops.h>
850#include <ATen/ops/mkldnn_convolution_ops.h>
851#include <ATen/ops/mkldnn_linear_ops.h>
852#include <ATen/ops/mkldnn_linear_backward_ops.h>
853#include <ATen/ops/mkldnn_linear_backward_input_ops.h>
854#include <ATen/ops/mkldnn_linear_backward_weights_ops.h>
855#include <ATen/ops/mkldnn_max_pool2d_ops.h>
856#include <ATen/ops/mkldnn_max_pool2d_backward_ops.h>
857#include <ATen/ops/mkldnn_max_pool3d_ops.h>
858#include <ATen/ops/mkldnn_max_pool3d_backward_ops.h>
859#include <ATen/ops/mkldnn_reorder_conv2d_weight_ops.h>
860#include <ATen/ops/mkldnn_reorder_conv3d_weight_ops.h>
861#include <ATen/ops/mkldnn_rnn_layer_ops.h>
862#include <ATen/ops/mkldnn_rnn_layer_backward_ops.h>
863#include <ATen/ops/mm_ops.h>
864#include <ATen/ops/mode_ops.h>
865#include <ATen/ops/moveaxis_ops.h>
866#include <ATen/ops/movedim_ops.h>
867#include <ATen/ops/mps_convolution_backward_ops.h>
868#include <ATen/ops/mps_convolution_transpose_backward_ops.h>
869#include <ATen/ops/mps_max_pool2d_backward_ops.h>
870#include <ATen/ops/mse_loss_ops.h>
871#include <ATen/ops/mse_loss_backward_ops.h>
872#include <ATen/ops/msort_ops.h>
873#include <ATen/ops/mul_ops.h>
874#include <ATen/ops/multi_margin_loss_ops.h>
875#include <ATen/ops/multi_margin_loss_backward_ops.h>
876#include <ATen/ops/multilabel_margin_loss_ops.h>
877#include <ATen/ops/multilabel_margin_loss_backward_ops.h>
878#include <ATen/ops/multilabel_margin_loss_forward_ops.h>
879#include <ATen/ops/multinomial_ops.h>
880#include <ATen/ops/multiply_ops.h>
881#include <ATen/ops/mv_ops.h>
882#include <ATen/ops/mvlgamma_ops.h>
883#include <ATen/ops/nan_to_num_ops.h>
884#include <ATen/ops/nanmean_ops.h>
885#include <ATen/ops/nanmedian_ops.h>
886#include <ATen/ops/nanquantile_ops.h>
887#include <ATen/ops/nansum_ops.h>
888#include <ATen/ops/narrow_ops.h>
889#include <ATen/ops/narrow_copy_ops.h>
890#include <ATen/ops/native_batch_norm_ops.h>
891#include <ATen/ops/native_batch_norm_backward_ops.h>
892#include <ATen/ops/native_channel_shuffle_ops.h>
893#include <ATen/ops/native_dropout_ops.h>
894#include <ATen/ops/native_dropout_backward_ops.h>
895#include <ATen/ops/native_group_norm_ops.h>
896#include <ATen/ops/native_group_norm_backward_ops.h>
897#include <ATen/ops/native_layer_norm_ops.h>
898#include <ATen/ops/native_layer_norm_backward_ops.h>
899#include <ATen/ops/native_norm_ops.h>
900#include <ATen/ops/ne_ops.h>
901#include <ATen/ops/neg_ops.h>
902#include <ATen/ops/negative_ops.h>
903#include <ATen/ops/nested_to_padded_tensor_ops.h>
904#include <ATen/ops/new_empty_ops.h>
905#include <ATen/ops/new_empty_strided_ops.h>
906#include <ATen/ops/new_full_ops.h>
907#include <ATen/ops/new_ones_ops.h>
908#include <ATen/ops/new_zeros_ops.h>
909#include <ATen/ops/nextafter_ops.h>
910#include <ATen/ops/nll_loss_ops.h>
911#include <ATen/ops/nll_loss2d_ops.h>
912#include <ATen/ops/nll_loss2d_backward_ops.h>
913#include <ATen/ops/nll_loss2d_forward_ops.h>
914#include <ATen/ops/nll_loss_backward_ops.h>
915#include <ATen/ops/nll_loss_forward_ops.h>
916#include <ATen/ops/nll_loss_nd_ops.h>
917#include <ATen/ops/nonzero_ops.h>
918#include <ATen/ops/nonzero_numpy_ops.h>
919#include <ATen/ops/norm_ops.h>
920#include <ATen/ops/norm_except_dim_ops.h>
921#include <ATen/ops/normal_ops.h>
922#include <ATen/ops/not_equal_ops.h>
923#include <ATen/ops/nuclear_norm_ops.h>
924#include <ATen/ops/numpy_T_ops.h>
925#include <ATen/ops/one_hot_ops.h>
926#include <ATen/ops/ones_ops.h>
927#include <ATen/ops/ones_like_ops.h>
928#include <ATen/ops/or_ops.h>
929#include <ATen/ops/orgqr_ops.h>
930#include <ATen/ops/ormqr_ops.h>
931#include <ATen/ops/outer_ops.h>
932#include <ATen/ops/output_nr_ops.h>
933#include <ATen/ops/pad_ops.h>
934#include <ATen/ops/pad_sequence_ops.h>
935#include <ATen/ops/pairwise_distance_ops.h>
936#include <ATen/ops/pdist_ops.h>
937#include <ATen/ops/permute_ops.h>
938#include <ATen/ops/permute_copy_ops.h>
939#include <ATen/ops/pin_memory_ops.h>
940#include <ATen/ops/pinverse_ops.h>
941#include <ATen/ops/pixel_shuffle_ops.h>
942#include <ATen/ops/pixel_unshuffle_ops.h>
943#include <ATen/ops/poisson_ops.h>
944#include <ATen/ops/poisson_nll_loss_ops.h>
945#include <ATen/ops/polar_ops.h>
946#include <ATen/ops/polygamma_ops.h>
947#include <ATen/ops/positive_ops.h>
948#include <ATen/ops/pow_ops.h>
949#include <ATen/ops/prelu_ops.h>
950#include <ATen/ops/prod_ops.h>
951#include <ATen/ops/promote_types_ops.h>
952#include <ATen/ops/put_ops.h>
953#include <ATen/ops/q_per_channel_axis_ops.h>
954#include <ATen/ops/q_per_channel_scales_ops.h>
955#include <ATen/ops/q_per_channel_zero_points_ops.h>
956#include <ATen/ops/q_scale_ops.h>
957#include <ATen/ops/q_zero_point_ops.h>
958#include <ATen/ops/qr_ops.h>
959#include <ATen/ops/qscheme_ops.h>
960#include <ATen/ops/quantile_ops.h>
961#include <ATen/ops/quantize_per_channel_ops.h>
962#include <ATen/ops/quantize_per_tensor_ops.h>
963#include <ATen/ops/quantize_per_tensor_dynamic_ops.h>
964#include <ATen/ops/quantized_batch_norm_ops.h>
965#include <ATen/ops/quantized_gru_cell_ops.h>
966#include <ATen/ops/quantized_lstm_cell_ops.h>
967#include <ATen/ops/quantized_max_pool1d_ops.h>
968#include <ATen/ops/quantized_max_pool2d_ops.h>
969#include <ATen/ops/quantized_rnn_relu_cell_ops.h>
970#include <ATen/ops/quantized_rnn_tanh_cell_ops.h>
971#include <ATen/ops/rad2deg_ops.h>
972#include <ATen/ops/rand_ops.h>
973#include <ATen/ops/rand_like_ops.h>
974#include <ATen/ops/randint_ops.h>
975#include <ATen/ops/randint_like_ops.h>
976#include <ATen/ops/randn_ops.h>
977#include <ATen/ops/randn_like_ops.h>
978#include <ATen/ops/random_ops.h>
979#include <ATen/ops/randperm_ops.h>
980#include <ATen/ops/range_ops.h>
981#include <ATen/ops/ravel_ops.h>
982#include <ATen/ops/real_ops.h>
983#include <ATen/ops/reciprocal_ops.h>
984#include <ATen/ops/record_stream_ops.h>
985#include <ATen/ops/refine_names_ops.h>
986#include <ATen/ops/reflection_pad1d_ops.h>
987#include <ATen/ops/reflection_pad1d_backward_ops.h>
988#include <ATen/ops/reflection_pad2d_ops.h>
989#include <ATen/ops/reflection_pad2d_backward_ops.h>
990#include <ATen/ops/reflection_pad3d_ops.h>
991#include <ATen/ops/reflection_pad3d_backward_ops.h>
992#include <ATen/ops/relu_ops.h>
993#include <ATen/ops/relu6_ops.h>
994#include <ATen/ops/remainder_ops.h>
995#include <ATen/ops/rename_ops.h>
996#include <ATen/ops/renorm_ops.h>
997#include <ATen/ops/repeat_ops.h>
998#include <ATen/ops/repeat_interleave_ops.h>
999#include <ATen/ops/replication_pad1d_ops.h>
1000#include <ATen/ops/replication_pad1d_backward_ops.h>
1001#include <ATen/ops/replication_pad2d_ops.h>
1002#include <ATen/ops/replication_pad2d_backward_ops.h>
1003#include <ATen/ops/replication_pad3d_ops.h>
1004#include <ATen/ops/replication_pad3d_backward_ops.h>
1005#include <ATen/ops/requires_grad_ops.h>
1006#include <ATen/ops/reshape_ops.h>
1007#include <ATen/ops/reshape_as_ops.h>
1008#include <ATen/ops/resize_ops.h>
1009#include <ATen/ops/resize_as_ops.h>
1010#include <ATen/ops/resize_as_sparse_ops.h>
1011#include <ATen/ops/resolve_conj_ops.h>
1012#include <ATen/ops/resolve_neg_ops.h>
1013#include <ATen/ops/result_type_ops.h>
1014#include <ATen/ops/retain_grad_ops.h>
1015#include <ATen/ops/retains_grad_ops.h>
1016#include <ATen/ops/rnn_relu_ops.h>
1017#include <ATen/ops/rnn_relu_cell_ops.h>
1018#include <ATen/ops/rnn_tanh_ops.h>
1019#include <ATen/ops/rnn_tanh_cell_ops.h>
1020#include <ATen/ops/roll_ops.h>
1021#include <ATen/ops/rot90_ops.h>
1022#include <ATen/ops/round_ops.h>
1023#include <ATen/ops/row_indices_ops.h>
1024#include <ATen/ops/row_indices_copy_ops.h>
1025#include <ATen/ops/row_stack_ops.h>
1026#include <ATen/ops/rrelu_ops.h>
1027#include <ATen/ops/rrelu_with_noise_ops.h>
1028#include <ATen/ops/rrelu_with_noise_backward_ops.h>
1029#include <ATen/ops/rshift_ops.h>
1030#include <ATen/ops/rsqrt_ops.h>
1031#include <ATen/ops/rsub_ops.h>
1032#include <ATen/ops/scalar_tensor_ops.h>
1033#include <ATen/ops/scaled_dot_product_attention_ops.h>
1034#include <ATen/ops/scatter_ops.h>
1035#include <ATen/ops/scatter_add_ops.h>
1036#include <ATen/ops/scatter_reduce_ops.h>
1037#include <ATen/ops/searchsorted_ops.h>
1038#include <ATen/ops/segment_reduce_ops.h>
1039#include <ATen/ops/select_ops.h>
1040#include <ATen/ops/select_backward_ops.h>
1041#include <ATen/ops/select_copy_ops.h>
1042#include <ATen/ops/select_scatter_ops.h>
1043#include <ATen/ops/selu_ops.h>
1044#include <ATen/ops/set_ops.h>
1045#include <ATen/ops/set_data_ops.h>
1046#include <ATen/ops/sgn_ops.h>
1047#include <ATen/ops/sigmoid_ops.h>
1048#include <ATen/ops/sigmoid_backward_ops.h>
1049#include <ATen/ops/sign_ops.h>
1050#include <ATen/ops/signbit_ops.h>
1051#include <ATen/ops/silu_ops.h>
1052#include <ATen/ops/silu_backward_ops.h>
1053#include <ATen/ops/sin_ops.h>
1054#include <ATen/ops/sinc_ops.h>
1055#include <ATen/ops/sinh_ops.h>
1056#include <ATen/ops/size_ops.h>
1057#include <ATen/ops/slice_ops.h>
1058#include <ATen/ops/slice_backward_ops.h>
1059#include <ATen/ops/slice_copy_ops.h>
1060#include <ATen/ops/slice_scatter_ops.h>
1061#include <ATen/ops/slogdet_ops.h>
1062#include <ATen/ops/slow_conv3d_ops.h>
1063#include <ATen/ops/slow_conv3d_forward_ops.h>
1064#include <ATen/ops/slow_conv_dilated2d_ops.h>
1065#include <ATen/ops/slow_conv_dilated3d_ops.h>
1066#include <ATen/ops/slow_conv_transpose2d_ops.h>
1067#include <ATen/ops/slow_conv_transpose3d_ops.h>
1068#include <ATen/ops/smm_ops.h>
1069#include <ATen/ops/smooth_l1_loss_ops.h>
1070#include <ATen/ops/smooth_l1_loss_backward_ops.h>
1071#include <ATen/ops/soft_margin_loss_ops.h>
1072#include <ATen/ops/soft_margin_loss_backward_ops.h>
1073#include <ATen/ops/softmax_ops.h>
1074#include <ATen/ops/softplus_ops.h>
1075#include <ATen/ops/softplus_backward_ops.h>
1076#include <ATen/ops/softshrink_ops.h>
1077#include <ATen/ops/softshrink_backward_ops.h>
1078#include <ATen/ops/sort_ops.h>
1079#include <ATen/ops/sparse_bsc_tensor_ops.h>
1080#include <ATen/ops/sparse_bsr_tensor_ops.h>
1081#include <ATen/ops/sparse_compressed_tensor_ops.h>
1082#include <ATen/ops/sparse_coo_tensor_ops.h>
1083#include <ATen/ops/sparse_csc_tensor_ops.h>
1084#include <ATen/ops/sparse_csr_tensor_ops.h>
1085#include <ATen/ops/sparse_dim_ops.h>
1086#include <ATen/ops/sparse_mask_ops.h>
1087#include <ATen/ops/sparse_resize_ops.h>
1088#include <ATen/ops/sparse_resize_and_clear_ops.h>
1089#include <ATen/ops/sparse_sampled_addmm_ops.h>
1090#include <ATen/ops/special_airy_ai_ops.h>
1091#include <ATen/ops/special_bessel_j0_ops.h>
1092#include <ATen/ops/special_bessel_j1_ops.h>
1093#include <ATen/ops/special_bessel_y0_ops.h>
1094#include <ATen/ops/special_bessel_y1_ops.h>
1095#include <ATen/ops/special_chebyshev_polynomial_t_ops.h>
1096#include <ATen/ops/special_chebyshev_polynomial_u_ops.h>
1097#include <ATen/ops/special_chebyshev_polynomial_v_ops.h>
1098#include <ATen/ops/special_chebyshev_polynomial_w_ops.h>
1099#include <ATen/ops/special_digamma_ops.h>
1100#include <ATen/ops/special_entr_ops.h>
1101#include <ATen/ops/special_erf_ops.h>
1102#include <ATen/ops/special_erfc_ops.h>
1103#include <ATen/ops/special_erfcx_ops.h>
1104#include <ATen/ops/special_erfinv_ops.h>
1105#include <ATen/ops/special_exp2_ops.h>
1106#include <ATen/ops/special_expit_ops.h>
1107#include <ATen/ops/special_expm1_ops.h>
1108#include <ATen/ops/special_gammainc_ops.h>
1109#include <ATen/ops/special_gammaincc_ops.h>
1110#include <ATen/ops/special_gammaln_ops.h>
1111#include <ATen/ops/special_hermite_polynomial_h_ops.h>
1112#include <ATen/ops/special_hermite_polynomial_he_ops.h>
1113#include <ATen/ops/special_i0_ops.h>
1114#include <ATen/ops/special_i0e_ops.h>
1115#include <ATen/ops/special_i1_ops.h>
1116#include <ATen/ops/special_i1e_ops.h>
1117#include <ATen/ops/special_laguerre_polynomial_l_ops.h>
1118#include <ATen/ops/special_legendre_polynomial_p_ops.h>
1119#include <ATen/ops/special_log1p_ops.h>
1120#include <ATen/ops/special_log_ndtr_ops.h>
1121#include <ATen/ops/special_log_softmax_ops.h>
1122#include <ATen/ops/special_logit_ops.h>
1123#include <ATen/ops/special_logsumexp_ops.h>
1124#include <ATen/ops/special_modified_bessel_i0_ops.h>
1125#include <ATen/ops/special_modified_bessel_i1_ops.h>
1126#include <ATen/ops/special_modified_bessel_k0_ops.h>
1127#include <ATen/ops/special_modified_bessel_k1_ops.h>
1128#include <ATen/ops/special_multigammaln_ops.h>
1129#include <ATen/ops/special_ndtr_ops.h>
1130#include <ATen/ops/special_ndtri_ops.h>
1131#include <ATen/ops/special_polygamma_ops.h>
1132#include <ATen/ops/special_psi_ops.h>
1133#include <ATen/ops/special_round_ops.h>
1134#include <ATen/ops/special_scaled_modified_bessel_k0_ops.h>
1135#include <ATen/ops/special_scaled_modified_bessel_k1_ops.h>
1136#include <ATen/ops/special_shifted_chebyshev_polynomial_t_ops.h>
1137#include <ATen/ops/special_shifted_chebyshev_polynomial_u_ops.h>
1138#include <ATen/ops/special_shifted_chebyshev_polynomial_v_ops.h>
1139#include <ATen/ops/special_shifted_chebyshev_polynomial_w_ops.h>
1140#include <ATen/ops/special_sinc_ops.h>
1141#include <ATen/ops/special_softmax_ops.h>
1142#include <ATen/ops/special_spherical_bessel_j0_ops.h>
1143#include <ATen/ops/special_xlog1py_ops.h>
1144#include <ATen/ops/special_xlogy_ops.h>
1145#include <ATen/ops/special_zeta_ops.h>
1146#include <ATen/ops/split_ops.h>
1147#include <ATen/ops/split_copy_ops.h>
1148#include <ATen/ops/split_with_sizes_ops.h>
1149#include <ATen/ops/split_with_sizes_copy_ops.h>
1150#include <ATen/ops/sqrt_ops.h>
1151#include <ATen/ops/square_ops.h>
1152#include <ATen/ops/squeeze_ops.h>
1153#include <ATen/ops/squeeze_copy_ops.h>
1154#include <ATen/ops/sspaddmm_ops.h>
1155#include <ATen/ops/stack_ops.h>
1156#include <ATen/ops/std_ops.h>
1157#include <ATen/ops/std_mean_ops.h>
1158#include <ATen/ops/stft_ops.h>
1159#include <ATen/ops/stride_ops.h>
1160#include <ATen/ops/sub_ops.h>
1161#include <ATen/ops/subtract_ops.h>
1162#include <ATen/ops/sum_ops.h>
1163#include <ATen/ops/sum_to_size_ops.h>
1164#include <ATen/ops/svd_ops.h>
1165#include <ATen/ops/swapaxes_ops.h>
1166#include <ATen/ops/swapdims_ops.h>
1167#include <ATen/ops/t_ops.h>
1168#include <ATen/ops/t_copy_ops.h>
1169#include <ATen/ops/take_ops.h>
1170#include <ATen/ops/take_along_dim_ops.h>
1171#include <ATen/ops/tan_ops.h>
1172#include <ATen/ops/tanh_ops.h>
1173#include <ATen/ops/tanh_backward_ops.h>
1174#include <ATen/ops/tensor_split_ops.h>
1175#include <ATen/ops/tensordot_ops.h>
1176#include <ATen/ops/thnn_conv2d_ops.h>
1177#include <ATen/ops/threshold_ops.h>
1178#include <ATen/ops/threshold_backward_ops.h>
1179#include <ATen/ops/tile_ops.h>
1180#include <ATen/ops/to_ops.h>
1181#include <ATen/ops/to_dense_ops.h>
1182#include <ATen/ops/to_dense_backward_ops.h>
1183#include <ATen/ops/to_mkldnn_ops.h>
1184#include <ATen/ops/to_mkldnn_backward_ops.h>
1185#include <ATen/ops/to_padded_tensor_ops.h>
1186#include <ATen/ops/to_sparse_ops.h>
1187#include <ATen/ops/to_sparse_bsc_ops.h>
1188#include <ATen/ops/to_sparse_bsr_ops.h>
1189#include <ATen/ops/to_sparse_csc_ops.h>
1190#include <ATen/ops/to_sparse_csr_ops.h>
1191#include <ATen/ops/topk_ops.h>
1192#include <ATen/ops/trace_ops.h>
1193#include <ATen/ops/trace_backward_ops.h>
1194#include <ATen/ops/transpose_ops.h>
1195#include <ATen/ops/transpose_copy_ops.h>
1196#include <ATen/ops/trapezoid_ops.h>
1197#include <ATen/ops/trapz_ops.h>
1198#include <ATen/ops/triangular_solve_ops.h>
1199#include <ATen/ops/tril_ops.h>
1200#include <ATen/ops/tril_indices_ops.h>
1201#include <ATen/ops/triplet_margin_loss_ops.h>
1202#include <ATen/ops/triu_ops.h>
1203#include <ATen/ops/triu_indices_ops.h>
1204#include <ATen/ops/true_divide_ops.h>
1205#include <ATen/ops/trunc_ops.h>
1206#include <ATen/ops/type_as_ops.h>
1207#include <ATen/ops/unbind_ops.h>
1208#include <ATen/ops/unbind_copy_ops.h>
1209#include <ATen/ops/unflatten_ops.h>
1210#include <ATen/ops/unflatten_dense_tensors_ops.h>
1211#include <ATen/ops/unfold_ops.h>
1212#include <ATen/ops/unfold_backward_ops.h>
1213#include <ATen/ops/unfold_copy_ops.h>
1214#include <ATen/ops/uniform_ops.h>
1215#include <ATen/ops/unique_consecutive_ops.h>
1216#include <ATen/ops/unique_dim_ops.h>
1217#include <ATen/ops/unique_dim_consecutive_ops.h>
1218#include <ATen/ops/unsafe_chunk_ops.h>
1219#include <ATen/ops/unsafe_split_ops.h>
1220#include <ATen/ops/unsafe_split_with_sizes_ops.h>
1221#include <ATen/ops/unsqueeze_ops.h>
1222#include <ATen/ops/unsqueeze_copy_ops.h>
1223#include <ATen/ops/upsample_bicubic2d_ops.h>
1224#include <ATen/ops/upsample_bicubic2d_backward_ops.h>
1225#include <ATen/ops/upsample_bilinear2d_ops.h>
1226#include <ATen/ops/upsample_bilinear2d_backward_ops.h>
1227#include <ATen/ops/upsample_linear1d_ops.h>
1228#include <ATen/ops/upsample_linear1d_backward_ops.h>
1229#include <ATen/ops/upsample_nearest1d_ops.h>
1230#include <ATen/ops/upsample_nearest1d_backward_ops.h>
1231#include <ATen/ops/upsample_nearest2d_ops.h>
1232#include <ATen/ops/upsample_nearest2d_backward_ops.h>
1233#include <ATen/ops/upsample_nearest3d_ops.h>
1234#include <ATen/ops/upsample_nearest3d_backward_ops.h>
1235#include <ATen/ops/upsample_trilinear3d_ops.h>
1236#include <ATen/ops/upsample_trilinear3d_backward_ops.h>
1237#include <ATen/ops/value_selecting_reduction_backward_ops.h>
1238#include <ATen/ops/values_ops.h>
1239#include <ATen/ops/values_copy_ops.h>
1240#include <ATen/ops/vander_ops.h>
1241#include <ATen/ops/var_ops.h>
1242#include <ATen/ops/var_mean_ops.h>
1243#include <ATen/ops/vdot_ops.h>
1244#include <ATen/ops/view_ops.h>
1245#include <ATen/ops/view_as_ops.h>
1246#include <ATen/ops/view_as_complex_ops.h>
1247#include <ATen/ops/view_as_complex_copy_ops.h>
1248#include <ATen/ops/view_as_real_ops.h>
1249#include <ATen/ops/view_as_real_copy_ops.h>
1250#include <ATen/ops/view_copy_ops.h>
1251#include <ATen/ops/vsplit_ops.h>
1252#include <ATen/ops/vstack_ops.h>
1253#include <ATen/ops/where_ops.h>
1254#include <ATen/ops/xlogy_ops.h>
1255#include <ATen/ops/xor_ops.h>
1256#include <ATen/ops/zero_ops.h>
1257#include <ATen/ops/zeros_ops.h>
1258#include <ATen/ops/zeros_like_ops.h>
1259
1260// Extension writers: do you write wrapper functions? Are you frustrated with
1261// resolving overloads of operators? Are you frustrated with dealing with
1262// pointer-to-methods and resolving overloads of pointer-to-methods?? Look no
1263// further, this is the utility for you.
1264//
1265// Given an operator schema: aten::op.overload(...
1266//
1267// Use ATEN_FN2(op, overload) to get a *function* version of the operator
1268// that is guaranteed to not be overloaded. This means that you can safely
1269// decltype(&ATEN_FN2(op, overload)) it. NB: the 2 means this macro takes 2 args.
1270//
1271// Given an operator schema without an overload name: aten::op(...
1272//
1273// Use ATEN_FN(op) to get an unambiguous *function* version of the operator.
1274//
1275// There is some interesting behavior for out= operations.
1276// ATEN_FN2(sin, out) gives a function that is *faithful* to the schema;
1277// that is, the order of arguments is exactly what it looks like in the schema.
1278
1279#define ATEN_FN2(op_name, overload) at::_ops::op_name##_##overload::call
1280#define ATEN_FN(op_name) at::_ops::op_name::call
1281
1282// Separately, ATEN_OP(op) and ATEN_OP2(op, overload) define a class containing compile-time
1283// metadata about a given aten operator.
1284// Notable data on the class includes:
1285// - ATEN_OP2(add, Tensor)::name // returns the string name: "add"
1286// - ATEN_OP2(add, Tensor)::overload_name // returns the string overload name: "Tensor"
1287// - ATEN_OP2(add, Tensor)::schema // returns the C++ schema type: at::Tensor (const at::Tensor &, const at::Tensor &, const at::Scalar &)
1288// - ATEN_OP2(add, Tensor)::schema_str // returns the string jit type: "add.Tensor(Tensor self, Tensor other, *, Scalar alpha=1) -> Tensor"
1289
1290#define ATEN_OP2(op_name, overload) at::_ops::op_name##_##overload
1291#define ATEN_OP(op_name) at::_ops::op_name
1292
1293// WARNING: Please do not call any of the ops in the _ops namespace directly.
1294// Use the ATEN_FN macros. We do not guarantee stability of the naming
1295// scheme for the functions in at::_ops
1296
1297// See Note [The ATen Operators API] for details of the at::_ops namespace
1298
1299namespace at {
1300namespace _ops {
1301
1302} // namespace _ops
1303} // namespace at
1304