Functions.h 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371
  1. #pragma once
  2. // @generated by torchgen/gen.py from Functions.h
  3. #ifdef TORCH_ASSERT_NO_OPERATORS
  4. #error This change adds a dependency on native_functions.yaml, \
  5. meaning the file will need to be re-compiled every time an operator \
  6. is changed or added. Consider if your change would be better placed in \
  7. another file, or if a more specific header might achieve the same goal. \
  8. See NOTE: [Tensor vs. TensorBase]
  9. #endif
  10. #if defined(AT_PER_OPERATOR_HEADERS) && defined(TORCH_ASSERT_ONLY_METHOD_OPERATORS)
  11. #error This change adds a dependency on all pytorch operators, meaning the \
  12. file will need to be re-compiled every time an operator is changed or added. \
  13. Consider including a specific operator from <ATen/ops/{my_operator}.h> and \
  14. see NOTE [TORCH_ASSERT_ONLY_METHOD_OPERATORS].
  15. #endif
  16. // NOTE: [TORCH_ASSERT_ONLY_METHOD_OPERATORS]
  17. //
  18. // In ATen, certain generated headers files include the definitions of
  19. // every single operator in PyTorch. Unfortunately this means every
  20. // time an operator signature is updated or changed in
  21. // native_functions.yaml, you (and every other PyTorch developer) need
  22. // to recompile every source file that includes any of these headers.
  23. //
  24. // To break up these header dependencies, and improve incremental
  25. // build times for all PyTorch developers. These headers are split
  26. // into per-operator headers in the `ATen/ops` folder. This limits
  27. // incremental builds to only changes to methods of `Tensor`, or files
  28. // that use the specific operator being changed. With `at::sum` as an
  29. // example, you should include
  30. //
  31. // <ATen/ops/sum.h> // instead of ATen/Functions.h
  32. // <ATen/ops/sum_native.h> // instead of ATen/NativeFunctions.h
  33. // <ATen/ops/sum_ops.h> // instead of ATen/Operators.h
  34. // <ATen/ops/sum_cpu_dispatch.h> // instead of ATen/CPUFunctions.h
  35. //
  36. // However, even if you're careful to use this in your own code.
  37. // `Functions.h` might be included indirectly through another header
  38. // without you realising. To avoid this, you can add
  39. //
  40. // #define TORCH_ASSERT_ONLY_METHOD_OPERATORS
  41. //
  42. // to the top of your source file. This way any time the non-specific
  43. // headers are included, the compiler will error out.
  44. //
  45. // Also, be aware that `ops` are not available in all build
  46. // configurations (namely fb-internal) so you must guard these
  47. // includes with `#ifdef AT_PER_OPERATOR_HEADERS`. e.g.
  48. //
  49. // #ifndef AT_PER_OPERATOR_HEADERS
  50. // #include <ATen/Functions.h>
  51. // #else
  52. // #include <ATen/ops/sum.h>
  53. // #endif
  54. #include <ATen/Context.h>
  55. #include <ATen/DeviceGuard.h>
  56. #include <ATen/TensorUtils.h>
  57. #include <ATen/TracerMode.h>
  58. #include <ATen/core/Generator.h>
  59. #include <ATen/core/Reduction.h>
  60. #include <c10/core/SymInt.h>
  61. #include <ATen/core/Tensor.h>
  62. #include <c10/core/Scalar.h>
  63. #include <c10/core/Storage.h>
  64. #include <c10/core/TensorOptions.h>
  65. #include <c10/util/Deprecated.h>
  66. #include <c10/util/Optional.h>
  67. #include <c10/util/OptionalArrayRef.h>
  68. #include <ATen/ops/from_blob.h>
  69. #include <ATen/ops/tensor.h>
  70. #include <ATen/ops/_adaptive_avg_pool2d.h>
  71. #include <ATen/ops/_adaptive_avg_pool2d_backward.h>
  72. #include <ATen/ops/_adaptive_avg_pool3d.h>
  73. #include <ATen/ops/_adaptive_avg_pool3d_backward.h>
  74. #include <ATen/ops/_add_batch_dim.h>
  75. #include <ATen/ops/_add_relu.h>
  76. #include <ATen/ops/_addmm_activation.h>
  77. #include <ATen/ops/_aminmax.h>
  78. #include <ATen/ops/_amp_foreach_non_finite_check_and_unscale.h>
  79. #include <ATen/ops/_amp_update_scale.h>
  80. #include <ATen/ops/_assert_async.h>
  81. #include <ATen/ops/_assert_tensor_metadata.h>
  82. #include <ATen/ops/_autocast_to_full_precision.h>
  83. #include <ATen/ops/_autocast_to_reduced_precision.h>
  84. #include <ATen/ops/_backward.h>
  85. #include <ATen/ops/_batch_norm_impl_index.h>
  86. #include <ATen/ops/_batch_norm_impl_index_backward.h>
  87. #include <ATen/ops/_cast_Byte.h>
  88. #include <ATen/ops/_cast_Char.h>
  89. #include <ATen/ops/_cast_Double.h>
  90. #include <ATen/ops/_cast_Float.h>
  91. #include <ATen/ops/_cast_Half.h>
  92. #include <ATen/ops/_cast_Int.h>
  93. #include <ATen/ops/_cast_Long.h>
  94. #include <ATen/ops/_cast_Short.h>
  95. #include <ATen/ops/_cdist_backward.h>
  96. #include <ATen/ops/_cdist_forward.h>
  97. #include <ATen/ops/_cholesky_solve_helper.h>
  98. #include <ATen/ops/_choose_qparams_per_tensor.h>
  99. #include <ATen/ops/_chunk_grad_outputs_efficient_attention.h>
  100. #include <ATen/ops/_coalesce.h>
  101. #include <ATen/ops/_coalesced.h>
  102. #include <ATen/ops/_compute_linear_combination.h>
  103. #include <ATen/ops/_conj.h>
  104. #include <ATen/ops/_conj_copy.h>
  105. #include <ATen/ops/_conj_physical.h>
  106. #include <ATen/ops/_conv_depthwise2d.h>
  107. #include <ATen/ops/_convert_indices_from_coo_to_csr.h>
  108. #include <ATen/ops/_convert_indices_from_csr_to_coo.h>
  109. #include <ATen/ops/_convolution.h>
  110. #include <ATen/ops/_convolution_double_backward.h>
  111. #include <ATen/ops/_convolution_mode.h>
  112. #include <ATen/ops/_copy_from.h>
  113. #include <ATen/ops/_copy_from_and_resize.h>
  114. #include <ATen/ops/_ctc_loss.h>
  115. #include <ATen/ops/_ctc_loss_backward.h>
  116. #include <ATen/ops/_cudnn_ctc_loss.h>
  117. #include <ATen/ops/_cudnn_init_dropout_state.h>
  118. #include <ATen/ops/_cudnn_rnn.h>
  119. #include <ATen/ops/_cudnn_rnn_backward.h>
  120. #include <ATen/ops/_cudnn_rnn_flatten_weight.h>
  121. #include <ATen/ops/_cufft_clear_plan_cache.h>
  122. #include <ATen/ops/_cufft_get_plan_cache_max_size.h>
  123. #include <ATen/ops/_cufft_get_plan_cache_size.h>
  124. #include <ATen/ops/_cufft_set_plan_cache_max_size.h>
  125. #include <ATen/ops/_cummax_helper.h>
  126. #include <ATen/ops/_cummin_helper.h>
  127. #include <ATen/ops/_debug_has_internal_overlap.h>
  128. #include <ATen/ops/_dimI.h>
  129. #include <ATen/ops/_dimV.h>
  130. #include <ATen/ops/_dim_arange.h>
  131. #include <ATen/ops/_dirichlet_grad.h>
  132. #include <ATen/ops/_efficient_attention_backward.h>
  133. #include <ATen/ops/_efficient_attention_forward.h>
  134. #include <ATen/ops/_efficientzerotensor.h>
  135. #include <ATen/ops/_embedding_bag.h>
  136. #include <ATen/ops/_embedding_bag_backward.h>
  137. #include <ATen/ops/_embedding_bag_dense_backward.h>
  138. #include <ATen/ops/_embedding_bag_forward_only.h>
  139. #include <ATen/ops/_embedding_bag_per_sample_weights_backward.h>
  140. #include <ATen/ops/_embedding_bag_sparse_backward.h>
  141. #include <ATen/ops/_empty_affine_quantized.h>
  142. #include <ATen/ops/_empty_per_channel_affine_quantized.h>
  143. #include <ATen/ops/_euclidean_dist.h>
  144. #include <ATen/ops/_fake_quantize_learnable_per_channel_affine.h>
  145. #include <ATen/ops/_fake_quantize_learnable_per_channel_affine_backward.h>
  146. #include <ATen/ops/_fake_quantize_learnable_per_tensor_affine.h>
  147. #include <ATen/ops/_fake_quantize_learnable_per_tensor_affine_backward.h>
  148. #include <ATen/ops/_fake_quantize_per_tensor_affine_cachemask_tensor_qparams.h>
  149. #include <ATen/ops/_fft_c2c.h>
  150. #include <ATen/ops/_fft_c2r.h>
  151. #include <ATen/ops/_fft_r2c.h>
  152. #include <ATen/ops/_flash_attention_backward.h>
  153. #include <ATen/ops/_flash_attention_forward.h>
  154. #include <ATen/ops/_foobar.h>
  155. #include <ATen/ops/_foreach_abs.h>
  156. #include <ATen/ops/_foreach_acos.h>
  157. #include <ATen/ops/_foreach_add.h>
  158. #include <ATen/ops/_foreach_addcdiv.h>
  159. #include <ATen/ops/_foreach_addcmul.h>
  160. #include <ATen/ops/_foreach_asin.h>
  161. #include <ATen/ops/_foreach_atan.h>
  162. #include <ATen/ops/_foreach_ceil.h>
  163. #include <ATen/ops/_foreach_clamp_max.h>
  164. #include <ATen/ops/_foreach_clamp_min.h>
  165. #include <ATen/ops/_foreach_cos.h>
  166. #include <ATen/ops/_foreach_cosh.h>
  167. #include <ATen/ops/_foreach_div.h>
  168. #include <ATen/ops/_foreach_erf.h>
  169. #include <ATen/ops/_foreach_erfc.h>
  170. #include <ATen/ops/_foreach_exp.h>
  171. #include <ATen/ops/_foreach_expm1.h>
  172. #include <ATen/ops/_foreach_floor.h>
  173. #include <ATen/ops/_foreach_frac.h>
  174. #include <ATen/ops/_foreach_lerp.h>
  175. #include <ATen/ops/_foreach_lgamma.h>
  176. #include <ATen/ops/_foreach_log.h>
  177. #include <ATen/ops/_foreach_log10.h>
  178. #include <ATen/ops/_foreach_log1p.h>
  179. #include <ATen/ops/_foreach_log2.h>
  180. #include <ATen/ops/_foreach_maximum.h>
  181. #include <ATen/ops/_foreach_minimum.h>
  182. #include <ATen/ops/_foreach_mul.h>
  183. #include <ATen/ops/_foreach_neg.h>
  184. #include <ATen/ops/_foreach_norm.h>
  185. #include <ATen/ops/_foreach_reciprocal.h>
  186. #include <ATen/ops/_foreach_round.h>
  187. #include <ATen/ops/_foreach_sigmoid.h>
  188. #include <ATen/ops/_foreach_sin.h>
  189. #include <ATen/ops/_foreach_sinh.h>
  190. #include <ATen/ops/_foreach_sqrt.h>
  191. #include <ATen/ops/_foreach_sub.h>
  192. #include <ATen/ops/_foreach_tan.h>
  193. #include <ATen/ops/_foreach_tanh.h>
  194. #include <ATen/ops/_foreach_trunc.h>
  195. #include <ATen/ops/_foreach_zero.h>
  196. #include <ATen/ops/_fused_adam.h>
  197. #include <ATen/ops/_fused_adamw.h>
  198. #include <ATen/ops/_fused_dropout.h>
  199. #include <ATen/ops/_fused_moving_avg_obs_fq_helper.h>
  200. #include <ATen/ops/_fused_sdp_choice.h>
  201. #include <ATen/ops/_fw_primal.h>
  202. #include <ATen/ops/_fw_primal_copy.h>
  203. #include <ATen/ops/_gather_sparse_backward.h>
  204. #include <ATen/ops/_grid_sampler_2d_cpu_fallback.h>
  205. #include <ATen/ops/_grid_sampler_2d_cpu_fallback_backward.h>
  206. #include <ATen/ops/_has_compatible_shallow_copy_type.h>
  207. #include <ATen/ops/_has_same_storage_numel.h>
  208. #include <ATen/ops/_histogramdd_bin_edges.h>
  209. #include <ATen/ops/_histogramdd_from_bin_cts.h>
  210. #include <ATen/ops/_histogramdd_from_bin_tensors.h>
  211. #include <ATen/ops/_index_put_impl.h>
  212. #include <ATen/ops/_indices.h>
  213. #include <ATen/ops/_indices_copy.h>
  214. #include <ATen/ops/_is_all_true.h>
  215. #include <ATen/ops/_is_any_true.h>
  216. #include <ATen/ops/_is_zerotensor.h>
  217. #include <ATen/ops/_linalg_check_errors.h>
  218. #include <ATen/ops/_linalg_det.h>
  219. #include <ATen/ops/_linalg_eigh.h>
  220. #include <ATen/ops/_linalg_slogdet.h>
  221. #include <ATen/ops/_linalg_solve_ex.h>
  222. #include <ATen/ops/_linalg_svd.h>
  223. #include <ATen/ops/_local_scalar_dense.h>
  224. #include <ATen/ops/_log_softmax.h>
  225. #include <ATen/ops/_log_softmax_backward_data.h>
  226. #include <ATen/ops/_logcumsumexp.h>
  227. #include <ATen/ops/_lstm_mps.h>
  228. #include <ATen/ops/_lu_with_info.h>
  229. #include <ATen/ops/_make_dual.h>
  230. #include <ATen/ops/_make_dual_copy.h>
  231. #include <ATen/ops/_make_per_channel_quantized_tensor.h>
  232. #include <ATen/ops/_make_per_tensor_quantized_tensor.h>
  233. #include <ATen/ops/_masked_scale.h>
  234. #include <ATen/ops/_masked_softmax.h>
  235. #include <ATen/ops/_masked_softmax_backward.h>
  236. #include <ATen/ops/_mkldnn_reshape.h>
  237. #include <ATen/ops/_mkldnn_transpose.h>
  238. #include <ATen/ops/_mps_convolution.h>
  239. #include <ATen/ops/_mps_convolution_transpose.h>
  240. #include <ATen/ops/_native_batch_norm_legit.h>
  241. #include <ATen/ops/_native_decoder_only_multi_head_attention.h>
  242. #include <ATen/ops/_native_multi_head_attention.h>
  243. #include <ATen/ops/_neg_view.h>
  244. #include <ATen/ops/_neg_view_copy.h>
  245. #include <ATen/ops/_nested_from_padded.h>
  246. #include <ATen/ops/_nested_from_padded_and_nested_example.h>
  247. #include <ATen/ops/_nested_select_backward.h>
  248. #include <ATen/ops/_nested_sum_backward.h>
  249. #include <ATen/ops/_nested_tensor_from_mask.h>
  250. #include <ATen/ops/_nested_tensor_from_mask_left_aligned.h>
  251. #include <ATen/ops/_nested_tensor_from_tensor_list.h>
  252. #include <ATen/ops/_nested_tensor_offsets.h>
  253. #include <ATen/ops/_nested_tensor_size.h>
  254. #include <ATen/ops/_nested_tensor_softmax_with_shape.h>
  255. #include <ATen/ops/_nested_tensor_strides.h>
  256. #include <ATen/ops/_nested_view_from_buffer.h>
  257. #include <ATen/ops/_nested_view_from_buffer_copy.h>
  258. #include <ATen/ops/_new_zeros_with_same_feature_meta.h>
  259. #include <ATen/ops/_nnpack_available.h>
  260. #include <ATen/ops/_nnpack_spatial_convolution.h>
  261. #include <ATen/ops/_nnz.h>
  262. #include <ATen/ops/_pack_padded_sequence.h>
  263. #include <ATen/ops/_pack_padded_sequence_backward.h>
  264. #include <ATen/ops/_pad_circular.h>
  265. #include <ATen/ops/_pad_enum.h>
  266. #include <ATen/ops/_pad_packed_sequence.h>
  267. #include <ATen/ops/_pdist_backward.h>
  268. #include <ATen/ops/_pdist_forward.h>
  269. #include <ATen/ops/_pin_memory.h>
  270. #include <ATen/ops/_prelu_kernel.h>
  271. #include <ATen/ops/_prelu_kernel_backward.h>
  272. #include <ATen/ops/_remove_batch_dim.h>
  273. #include <ATen/ops/_reshape_alias.h>
  274. #include <ATen/ops/_reshape_alias_copy.h>
  275. #include <ATen/ops/_reshape_copy.h>
  276. #include <ATen/ops/_reshape_from_tensor.h>
  277. #include <ATen/ops/_resize_output.h>
  278. #include <ATen/ops/_rowwise_prune.h>
  279. #include <ATen/ops/_sample_dirichlet.h>
  280. #include <ATen/ops/_saturate_weight_to_fp16.h>
  281. #include <ATen/ops/_scaled_dot_product_attention.h>
  282. #include <ATen/ops/_scaled_dot_product_attention_math.h>
  283. #include <ATen/ops/_scaled_dot_product_efficient_attention.h>
  284. #include <ATen/ops/_scaled_dot_product_efficient_attention_backward.h>
  285. #include <ATen/ops/_scaled_dot_product_flash_attention.h>
  286. #include <ATen/ops/_scaled_dot_product_flash_attention_backward.h>
  287. #include <ATen/ops/_segment_reduce_backward.h>
  288. #include <ATen/ops/_shape_as_tensor.h>
  289. #include <ATen/ops/_slow_conv2d_backward.h>
  290. #include <ATen/ops/_slow_conv2d_forward.h>
  291. #include <ATen/ops/_sobol_engine_draw.h>
  292. #include <ATen/ops/_sobol_engine_ff.h>
  293. #include <ATen/ops/_sobol_engine_initialize_state.h>
  294. #include <ATen/ops/_sobol_engine_scramble.h>
  295. #include <ATen/ops/_softmax.h>
  296. #include <ATen/ops/_softmax_backward_data.h>
  297. #include <ATen/ops/_sparse_addmm.h>
  298. #include <ATen/ops/_sparse_broadcast_to.h>
  299. #include <ATen/ops/_sparse_broadcast_to_copy.h>
  300. #include <ATen/ops/_sparse_bsc_tensor_unsafe.h>
  301. #include <ATen/ops/_sparse_bsr_tensor_unsafe.h>
  302. #include <ATen/ops/_sparse_compressed_tensor_unsafe.h>
  303. #include <ATen/ops/_sparse_coo_tensor_unsafe.h>
  304. #include <ATen/ops/_sparse_coo_tensor_with_dims.h>
  305. #include <ATen/ops/_sparse_coo_tensor_with_dims_and_tensors.h>
  306. #include <ATen/ops/_sparse_csc_tensor_unsafe.h>
  307. #include <ATen/ops/_sparse_csr_prod.h>
  308. #include <ATen/ops/_sparse_csr_sum.h>
  309. #include <ATen/ops/_sparse_csr_tensor_unsafe.h>
  310. #include <ATen/ops/_sparse_log_softmax.h>
  311. #include <ATen/ops/_sparse_log_softmax_backward_data.h>
  312. #include <ATen/ops/_sparse_mm.h>
  313. #include <ATen/ops/_sparse_mm_reduce_impl.h>
  314. #include <ATen/ops/_sparse_mm_reduce_impl_backward.h>
  315. #include <ATen/ops/_sparse_softmax.h>
  316. #include <ATen/ops/_sparse_softmax_backward_data.h>
  317. #include <ATen/ops/_sparse_sparse_matmul.h>
  318. #include <ATen/ops/_sparse_sum.h>
  319. #include <ATen/ops/_sparse_sum_backward.h>
  320. #include <ATen/ops/_spdiags.h>
  321. #include <ATen/ops/_stack.h>
  322. #include <ATen/ops/_standard_gamma.h>
  323. #include <ATen/ops/_standard_gamma_grad.h>
  324. #include <ATen/ops/_test_ambiguous_defaults.h>
  325. #include <ATen/ops/_test_autograd_multiple_dispatch.h>
  326. #include <ATen/ops/_test_autograd_multiple_dispatch_view.h>
  327. #include <ATen/ops/_test_autograd_multiple_dispatch_view_copy.h>
  328. #include <ATen/ops/_test_check_tensor.h>
  329. #include <ATen/ops/_test_optional_filled_intlist.h>
  330. #include <ATen/ops/_test_optional_floatlist.h>
  331. #include <ATen/ops/_test_optional_intlist.h>
  332. #include <ATen/ops/_test_serialization_subcmul.h>
  333. #include <ATen/ops/_test_string_default.h>
  334. #include <ATen/ops/_test_warn_in_autograd.h>
  335. #include <ATen/ops/_thnn_differentiable_gru_cell_backward.h>
  336. #include <ATen/ops/_thnn_differentiable_lstm_cell_backward.h>
  337. #include <ATen/ops/_thnn_fused_gru_cell.h>
  338. #include <ATen/ops/_thnn_fused_gru_cell_backward.h>
  339. #include <ATen/ops/_thnn_fused_lstm_cell.h>
  340. #include <ATen/ops/_thnn_fused_lstm_cell_backward.h>
  341. #include <ATen/ops/_thnn_fused_lstm_cell_backward_impl.h>
  342. #include <ATen/ops/_to_copy.h>
  343. #include <ATen/ops/_to_cpu.h>
  344. #include <ATen/ops/_to_dense.h>
  345. #include <ATen/ops/_transform_bias_rescale_qkv.h>
  346. #include <ATen/ops/_transformer_decoder_only_layer_fwd.h>
  347. #include <ATen/ops/_transformer_encoder_layer_fwd.h>
  348. #include <ATen/ops/_trilinear.h>
  349. #include <ATen/ops/_triton_multi_head_attention.h>
  350. #include <ATen/ops/_triton_scaled_dot_attention.h>
  351. #include <ATen/ops/_unique.h>
  352. #include <ATen/ops/_unique2.h>
  353. #include <ATen/ops/_unpack_dual.h>
  354. #include <ATen/ops/_unsafe_view.h>
  355. #include <ATen/ops/_upsample_bicubic2d_aa.h>
  356. #include <ATen/ops/_upsample_bicubic2d_aa_backward.h>
  357. #include <ATen/ops/_upsample_bilinear2d_aa.h>
  358. #include <ATen/ops/_upsample_bilinear2d_aa_backward.h>
  359. #include <ATen/ops/_upsample_nearest_exact1d.h>
  360. #include <ATen/ops/_upsample_nearest_exact1d_backward.h>
  361. #include <ATen/ops/_upsample_nearest_exact2d.h>
  362. #include <ATen/ops/_upsample_nearest_exact2d_backward.h>
  363. #include <ATen/ops/_upsample_nearest_exact3d.h>
  364. #include <ATen/ops/_upsample_nearest_exact3d_backward.h>
  365. #include <ATen/ops/_use_cudnn_ctc_loss.h>
  366. #include <ATen/ops/_use_cudnn_rnn_flatten_weight.h>
  367. #include <ATen/ops/_validate_compressed_sparse_indices.h>
  368. #include <ATen/ops/_validate_sparse_bsc_tensor_args.h>
  369. #include <ATen/ops/_validate_sparse_bsr_tensor_args.h>
  370. #include <ATen/ops/_validate_sparse_compressed_tensor_args.h>
  371. #include <ATen/ops/_validate_sparse_coo_tensor_args.h>
  372. #include <ATen/ops/_validate_sparse_csc_tensor_args.h>
  373. #include <ATen/ops/_validate_sparse_csr_tensor_args.h>
  374. #include <ATen/ops/_values.h>
  375. #include <ATen/ops/_values_copy.h>
  376. #include <ATen/ops/_version.h>
  377. #include <ATen/ops/_weight_norm.h>
  378. #include <ATen/ops/_weight_norm_differentiable_backward.h>
  379. #include <ATen/ops/_weight_norm_interface.h>
  380. #include <ATen/ops/_weight_norm_interface_backward.h>
  381. #include <ATen/ops/abs.h>
  382. #include <ATen/ops/absolute.h>
  383. #include <ATen/ops/acos.h>
  384. #include <ATen/ops/acosh.h>
  385. #include <ATen/ops/adaptive_avg_pool1d.h>
  386. #include <ATen/ops/adaptive_avg_pool2d.h>
  387. #include <ATen/ops/adaptive_avg_pool3d.h>
  388. #include <ATen/ops/adaptive_avg_pool3d_backward.h>
  389. #include <ATen/ops/adaptive_max_pool1d.h>
  390. #include <ATen/ops/adaptive_max_pool2d.h>
  391. #include <ATen/ops/adaptive_max_pool2d_backward.h>
  392. #include <ATen/ops/adaptive_max_pool3d.h>
  393. #include <ATen/ops/adaptive_max_pool3d_backward.h>
  394. #include <ATen/ops/add.h>
  395. #include <ATen/ops/addbmm.h>
  396. #include <ATen/ops/addcdiv.h>
  397. #include <ATen/ops/addcmul.h>
  398. #include <ATen/ops/addmm.h>
  399. #include <ATen/ops/addmv.h>
  400. #include <ATen/ops/addr.h>
  401. #include <ATen/ops/adjoint.h>
  402. #include <ATen/ops/affine_grid_generator.h>
  403. #include <ATen/ops/affine_grid_generator_backward.h>
  404. #include <ATen/ops/alias.h>
  405. #include <ATen/ops/alias_copy.h>
  406. #include <ATen/ops/align_as.h>
  407. #include <ATen/ops/align_tensors.h>
  408. #include <ATen/ops/align_to.h>
  409. #include <ATen/ops/all.h>
  410. #include <ATen/ops/allclose.h>
  411. #include <ATen/ops/alpha_dropout.h>
  412. #include <ATen/ops/amax.h>
  413. #include <ATen/ops/amin.h>
  414. #include <ATen/ops/aminmax.h>
  415. #include <ATen/ops/and.h>
  416. #include <ATen/ops/angle.h>
  417. #include <ATen/ops/any.h>
  418. #include <ATen/ops/arange.h>
  419. #include <ATen/ops/arccos.h>
  420. #include <ATen/ops/arccosh.h>
  421. #include <ATen/ops/arcsin.h>
  422. #include <ATen/ops/arcsinh.h>
  423. #include <ATen/ops/arctan.h>
  424. #include <ATen/ops/arctan2.h>
  425. #include <ATen/ops/arctanh.h>
  426. #include <ATen/ops/argmax.h>
  427. #include <ATen/ops/argmin.h>
  428. #include <ATen/ops/argsort.h>
  429. #include <ATen/ops/argwhere.h>
  430. #include <ATen/ops/as_strided.h>
  431. #include <ATen/ops/as_strided_copy.h>
  432. #include <ATen/ops/as_strided_scatter.h>
  433. #include <ATen/ops/asin.h>
  434. #include <ATen/ops/asinh.h>
  435. #include <ATen/ops/atan.h>
  436. #include <ATen/ops/atan2.h>
  437. #include <ATen/ops/atanh.h>
  438. #include <ATen/ops/atleast_1d.h>
  439. #include <ATen/ops/atleast_2d.h>
  440. #include <ATen/ops/atleast_3d.h>
  441. #include <ATen/ops/avg_pool1d.h>
  442. #include <ATen/ops/avg_pool2d.h>
  443. #include <ATen/ops/avg_pool2d_backward.h>
  444. #include <ATen/ops/avg_pool3d.h>
  445. #include <ATen/ops/avg_pool3d_backward.h>
  446. #include <ATen/ops/baddbmm.h>
  447. #include <ATen/ops/bartlett_window.h>
  448. #include <ATen/ops/batch_norm.h>
  449. #include <ATen/ops/batch_norm_backward_elemt.h>
  450. #include <ATen/ops/batch_norm_backward_reduce.h>
  451. #include <ATen/ops/batch_norm_elemt.h>
  452. #include <ATen/ops/batch_norm_gather_stats.h>
  453. #include <ATen/ops/batch_norm_gather_stats_with_counts.h>
  454. #include <ATen/ops/batch_norm_stats.h>
  455. #include <ATen/ops/batch_norm_update_stats.h>
  456. #include <ATen/ops/bernoulli.h>
  457. #include <ATen/ops/bilinear.h>
  458. #include <ATen/ops/binary_cross_entropy.h>
  459. #include <ATen/ops/binary_cross_entropy_backward.h>
  460. #include <ATen/ops/binary_cross_entropy_with_logits.h>
  461. #include <ATen/ops/bincount.h>
  462. #include <ATen/ops/binomial.h>
  463. #include <ATen/ops/bitwise_and.h>
  464. #include <ATen/ops/bitwise_left_shift.h>
  465. #include <ATen/ops/bitwise_not.h>
  466. #include <ATen/ops/bitwise_or.h>
  467. #include <ATen/ops/bitwise_right_shift.h>
  468. #include <ATen/ops/bitwise_xor.h>
  469. #include <ATen/ops/blackman_window.h>
  470. #include <ATen/ops/block_diag.h>
  471. #include <ATen/ops/bmm.h>
  472. #include <ATen/ops/broadcast_tensors.h>
  473. #include <ATen/ops/broadcast_to.h>
  474. #include <ATen/ops/bucketize.h>
  475. #include <ATen/ops/can_cast.h>
  476. #include <ATen/ops/cartesian_prod.h>
  477. #include <ATen/ops/cat.h>
  478. #include <ATen/ops/cauchy.h>
  479. #include <ATen/ops/ccol_indices.h>
  480. #include <ATen/ops/ccol_indices_copy.h>
  481. #include <ATen/ops/cdist.h>
  482. #include <ATen/ops/ceil.h>
  483. #include <ATen/ops/celu.h>
  484. #include <ATen/ops/chain_matmul.h>
  485. #include <ATen/ops/chalf.h>
  486. #include <ATen/ops/channel_shuffle.h>
  487. #include <ATen/ops/cholesky.h>
  488. #include <ATen/ops/cholesky_inverse.h>
  489. #include <ATen/ops/cholesky_solve.h>
  490. #include <ATen/ops/choose_qparams_optimized.h>
  491. #include <ATen/ops/chunk.h>
  492. #include <ATen/ops/clamp.h>
  493. #include <ATen/ops/clamp_max.h>
  494. #include <ATen/ops/clamp_min.h>
  495. #include <ATen/ops/clip.h>
  496. #include <ATen/ops/clone.h>
  497. #include <ATen/ops/coalesce.h>
  498. #include <ATen/ops/col2im.h>
  499. #include <ATen/ops/col_indices.h>
  500. #include <ATen/ops/col_indices_copy.h>
  501. #include <ATen/ops/column_stack.h>
  502. #include <ATen/ops/combinations.h>
  503. #include <ATen/ops/complex.h>
  504. #include <ATen/ops/concat.h>
  505. #include <ATen/ops/concatenate.h>
  506. #include <ATen/ops/conj.h>
  507. #include <ATen/ops/conj_physical.h>
  508. #include <ATen/ops/constant_pad_nd.h>
  509. #include <ATen/ops/contiguous.h>
  510. #include <ATen/ops/conv1d.h>
  511. #include <ATen/ops/conv2d.h>
  512. #include <ATen/ops/conv3d.h>
  513. #include <ATen/ops/conv_depthwise3d.h>
  514. #include <ATen/ops/conv_tbc.h>
  515. #include <ATen/ops/conv_tbc_backward.h>
  516. #include <ATen/ops/conv_transpose1d.h>
  517. #include <ATen/ops/conv_transpose2d.h>
  518. #include <ATen/ops/conv_transpose3d.h>
  519. #include <ATen/ops/convolution.h>
  520. #include <ATen/ops/convolution_backward.h>
  521. #include <ATen/ops/convolution_backward_overrideable.h>
  522. #include <ATen/ops/convolution_overrideable.h>
  523. #include <ATen/ops/copy.h>
  524. #include <ATen/ops/copy_sparse_to_sparse.h>
  525. #include <ATen/ops/copysign.h>
  526. #include <ATen/ops/corrcoef.h>
  527. #include <ATen/ops/cos.h>
  528. #include <ATen/ops/cosh.h>
  529. #include <ATen/ops/cosine_embedding_loss.h>
  530. #include <ATen/ops/cosine_similarity.h>
  531. #include <ATen/ops/count_nonzero.h>
  532. #include <ATen/ops/cov.h>
  533. #include <ATen/ops/cross.h>
  534. #include <ATen/ops/cross_entropy_loss.h>
  535. #include <ATen/ops/crow_indices.h>
  536. #include <ATen/ops/crow_indices_copy.h>
  537. #include <ATen/ops/ctc_loss.h>
  538. #include <ATen/ops/cudnn_affine_grid_generator.h>
  539. #include <ATen/ops/cudnn_affine_grid_generator_backward.h>
  540. #include <ATen/ops/cudnn_batch_norm.h>
  541. #include <ATen/ops/cudnn_batch_norm_backward.h>
  542. #include <ATen/ops/cudnn_convolution.h>
  543. #include <ATen/ops/cudnn_convolution_add_relu.h>
  544. #include <ATen/ops/cudnn_convolution_relu.h>
  545. #include <ATen/ops/cudnn_convolution_transpose.h>
  546. #include <ATen/ops/cudnn_grid_sampler.h>
  547. #include <ATen/ops/cudnn_grid_sampler_backward.h>
  548. #include <ATen/ops/cudnn_is_acceptable.h>
  549. #include <ATen/ops/cummax.h>
  550. #include <ATen/ops/cummaxmin_backward.h>
  551. #include <ATen/ops/cummin.h>
  552. #include <ATen/ops/cumprod.h>
  553. #include <ATen/ops/cumprod_backward.h>
  554. #include <ATen/ops/cumsum.h>
  555. #include <ATen/ops/cumulative_trapezoid.h>
  556. #include <ATen/ops/data.h>
  557. #include <ATen/ops/deg2rad.h>
  558. #include <ATen/ops/dense_dim.h>
  559. #include <ATen/ops/dequantize.h>
  560. #include <ATen/ops/det.h>
  561. #include <ATen/ops/detach.h>
  562. #include <ATen/ops/detach_copy.h>
  563. #include <ATen/ops/diag.h>
  564. #include <ATen/ops/diag_embed.h>
  565. #include <ATen/ops/diagflat.h>
  566. #include <ATen/ops/diagonal.h>
  567. #include <ATen/ops/diagonal_backward.h>
  568. #include <ATen/ops/diagonal_copy.h>
  569. #include <ATen/ops/diagonal_scatter.h>
  570. #include <ATen/ops/diff.h>
  571. #include <ATen/ops/digamma.h>
  572. #include <ATen/ops/dist.h>
  573. #include <ATen/ops/div.h>
  574. #include <ATen/ops/divide.h>
  575. #include <ATen/ops/dot.h>
  576. #include <ATen/ops/dropout.h>
  577. #include <ATen/ops/dsplit.h>
  578. #include <ATen/ops/dstack.h>
  579. #include <ATen/ops/einsum.h>
  580. #include <ATen/ops/elu.h>
  581. #include <ATen/ops/elu_backward.h>
  582. #include <ATen/ops/embedding.h>
  583. #include <ATen/ops/embedding_backward.h>
  584. #include <ATen/ops/embedding_bag.h>
  585. #include <ATen/ops/embedding_dense_backward.h>
  586. #include <ATen/ops/embedding_renorm.h>
  587. #include <ATen/ops/embedding_sparse_backward.h>
  588. #include <ATen/ops/empty.h>
  589. #include <ATen/ops/empty_like.h>
  590. #include <ATen/ops/empty_quantized.h>
  591. #include <ATen/ops/empty_strided.h>
  592. #include <ATen/ops/eq.h>
  593. #include <ATen/ops/equal.h>
  594. #include <ATen/ops/erf.h>
  595. #include <ATen/ops/erfc.h>
  596. #include <ATen/ops/erfinv.h>
  597. #include <ATen/ops/exp.h>
  598. #include <ATen/ops/exp2.h>
  599. #include <ATen/ops/expand.h>
  600. #include <ATen/ops/expand_as.h>
  601. #include <ATen/ops/expand_copy.h>
  602. #include <ATen/ops/expm1.h>
  603. #include <ATen/ops/exponential.h>
  604. #include <ATen/ops/eye.h>
  605. #include <ATen/ops/fake_quantize_per_channel_affine.h>
  606. #include <ATen/ops/fake_quantize_per_channel_affine_cachemask.h>
  607. #include <ATen/ops/fake_quantize_per_channel_affine_cachemask_backward.h>
  608. #include <ATen/ops/fake_quantize_per_tensor_affine.h>
  609. #include <ATen/ops/fake_quantize_per_tensor_affine_cachemask.h>
  610. #include <ATen/ops/fake_quantize_per_tensor_affine_cachemask_backward.h>
  611. #include <ATen/ops/fbgemm_linear_fp16_weight.h>
  612. #include <ATen/ops/fbgemm_linear_fp16_weight_fp32_activation.h>
  613. #include <ATen/ops/fbgemm_linear_int8_weight.h>
  614. #include <ATen/ops/fbgemm_linear_int8_weight_fp32_activation.h>
  615. #include <ATen/ops/fbgemm_linear_quantize_weight.h>
  616. #include <ATen/ops/fbgemm_pack_gemm_matrix_fp16.h>
  617. #include <ATen/ops/fbgemm_pack_quantized_matrix.h>
  618. #include <ATen/ops/feature_alpha_dropout.h>
  619. #include <ATen/ops/feature_dropout.h>
  620. #include <ATen/ops/fft_fft.h>
  621. #include <ATen/ops/fft_fft2.h>
  622. #include <ATen/ops/fft_fftfreq.h>
  623. #include <ATen/ops/fft_fftn.h>
  624. #include <ATen/ops/fft_fftshift.h>
  625. #include <ATen/ops/fft_hfft.h>
  626. #include <ATen/ops/fft_hfft2.h>
  627. #include <ATen/ops/fft_hfftn.h>
  628. #include <ATen/ops/fft_ifft.h>
  629. #include <ATen/ops/fft_ifft2.h>
  630. #include <ATen/ops/fft_ifftn.h>
  631. #include <ATen/ops/fft_ifftshift.h>
  632. #include <ATen/ops/fft_ihfft.h>
  633. #include <ATen/ops/fft_ihfft2.h>
  634. #include <ATen/ops/fft_ihfftn.h>
  635. #include <ATen/ops/fft_irfft.h>
  636. #include <ATen/ops/fft_irfft2.h>
  637. #include <ATen/ops/fft_irfftn.h>
  638. #include <ATen/ops/fft_rfft.h>
  639. #include <ATen/ops/fft_rfft2.h>
  640. #include <ATen/ops/fft_rfftfreq.h>
  641. #include <ATen/ops/fft_rfftn.h>
  642. #include <ATen/ops/fill.h>
  643. #include <ATen/ops/fill_diagonal.h>
  644. #include <ATen/ops/fix.h>
  645. #include <ATen/ops/flatten.h>
  646. #include <ATen/ops/flatten_dense_tensors.h>
  647. #include <ATen/ops/flip.h>
  648. #include <ATen/ops/fliplr.h>
  649. #include <ATen/ops/flipud.h>
  650. #include <ATen/ops/float_power.h>
  651. #include <ATen/ops/floor.h>
  652. #include <ATen/ops/floor_divide.h>
  653. #include <ATen/ops/fmax.h>
  654. #include <ATen/ops/fmin.h>
  655. #include <ATen/ops/fmod.h>
  656. #include <ATen/ops/frac.h>
  657. #include <ATen/ops/fractional_max_pool2d.h>
  658. #include <ATen/ops/fractional_max_pool2d_backward.h>
  659. #include <ATen/ops/fractional_max_pool3d.h>
  660. #include <ATen/ops/fractional_max_pool3d_backward.h>
  661. #include <ATen/ops/frexp.h>
  662. #include <ATen/ops/frobenius_norm.h>
  663. #include <ATen/ops/from_file.h>
  664. #include <ATen/ops/full.h>
  665. #include <ATen/ops/full_like.h>
  666. #include <ATen/ops/fused_moving_avg_obs_fake_quant.h>
  667. #include <ATen/ops/gather.h>
  668. #include <ATen/ops/gather_backward.h>
  669. #include <ATen/ops/gcd.h>
  670. #include <ATen/ops/ge.h>
  671. #include <ATen/ops/gelu.h>
  672. #include <ATen/ops/gelu_backward.h>
  673. #include <ATen/ops/geometric.h>
  674. #include <ATen/ops/geqrf.h>
  675. #include <ATen/ops/ger.h>
  676. #include <ATen/ops/glu.h>
  677. #include <ATen/ops/glu_backward.h>
  678. #include <ATen/ops/glu_backward_jvp.h>
  679. #include <ATen/ops/glu_jvp.h>
  680. #include <ATen/ops/gradient.h>
  681. #include <ATen/ops/greater.h>
  682. #include <ATen/ops/greater_equal.h>
  683. #include <ATen/ops/grid_sampler.h>
  684. #include <ATen/ops/grid_sampler_2d.h>
  685. #include <ATen/ops/grid_sampler_2d_backward.h>
  686. #include <ATen/ops/grid_sampler_3d.h>
  687. #include <ATen/ops/grid_sampler_3d_backward.h>
  688. #include <ATen/ops/group_norm.h>
  689. #include <ATen/ops/gru.h>
  690. #include <ATen/ops/gru_cell.h>
  691. #include <ATen/ops/gt.h>
  692. #include <ATen/ops/hamming_window.h>
  693. #include <ATen/ops/hann_window.h>
  694. #include <ATen/ops/hardshrink.h>
  695. #include <ATen/ops/hardshrink_backward.h>
  696. #include <ATen/ops/hardsigmoid.h>
  697. #include <ATen/ops/hardsigmoid_backward.h>
  698. #include <ATen/ops/hardswish.h>
  699. #include <ATen/ops/hardswish_backward.h>
  700. #include <ATen/ops/hardtanh.h>
  701. #include <ATen/ops/hardtanh_backward.h>
  702. #include <ATen/ops/heaviside.h>
  703. #include <ATen/ops/hinge_embedding_loss.h>
  704. #include <ATen/ops/histc.h>
  705. #include <ATen/ops/histogram.h>
  706. #include <ATen/ops/histogramdd.h>
  707. #include <ATen/ops/hsplit.h>
  708. #include <ATen/ops/hspmm.h>
  709. #include <ATen/ops/hstack.h>
  710. #include <ATen/ops/huber_loss.h>
  711. #include <ATen/ops/huber_loss_backward.h>
  712. #include <ATen/ops/hypot.h>
  713. #include <ATen/ops/i0.h>
  714. #include <ATen/ops/igamma.h>
  715. #include <ATen/ops/igammac.h>
  716. #include <ATen/ops/im2col.h>
  717. #include <ATen/ops/imag.h>
  718. #include <ATen/ops/index.h>
  719. #include <ATen/ops/index_add.h>
  720. #include <ATen/ops/index_copy.h>
  721. #include <ATen/ops/index_fill.h>
  722. #include <ATen/ops/index_put.h>
  723. #include <ATen/ops/index_reduce.h>
  724. #include <ATen/ops/index_select.h>
  725. #include <ATen/ops/index_select_backward.h>
  726. #include <ATen/ops/indices.h>
  727. #include <ATen/ops/indices_copy.h>
  728. #include <ATen/ops/infinitely_differentiable_gelu_backward.h>
  729. #include <ATen/ops/inner.h>
  730. #include <ATen/ops/instance_norm.h>
  731. #include <ATen/ops/int_repr.h>
  732. #include <ATen/ops/inverse.h>
  733. #include <ATen/ops/is_coalesced.h>
  734. #include <ATen/ops/is_complex.h>
  735. #include <ATen/ops/is_conj.h>
  736. #include <ATen/ops/is_distributed.h>
  737. #include <ATen/ops/is_floating_point.h>
  738. #include <ATen/ops/is_inference.h>
  739. #include <ATen/ops/is_leaf.h>
  740. #include <ATen/ops/is_neg.h>
  741. #include <ATen/ops/is_nonzero.h>
  742. #include <ATen/ops/is_pinned.h>
  743. #include <ATen/ops/is_same_size.h>
  744. #include <ATen/ops/is_set_to.h>
  745. #include <ATen/ops/is_signed.h>
  746. #include <ATen/ops/is_vulkan_available.h>
  747. #include <ATen/ops/isclose.h>
  748. #include <ATen/ops/isfinite.h>
  749. #include <ATen/ops/isin.h>
  750. #include <ATen/ops/isinf.h>
  751. #include <ATen/ops/isnan.h>
  752. #include <ATen/ops/isneginf.h>
  753. #include <ATen/ops/isposinf.h>
  754. #include <ATen/ops/isreal.h>
  755. #include <ATen/ops/istft.h>
  756. #include <ATen/ops/item.h>
  757. #include <ATen/ops/kaiser_window.h>
  758. #include <ATen/ops/kl_div.h>
  759. #include <ATen/ops/kron.h>
  760. #include <ATen/ops/kthvalue.h>
  761. #include <ATen/ops/l1_loss.h>
  762. #include <ATen/ops/layer_norm.h>
  763. #include <ATen/ops/lcm.h>
  764. #include <ATen/ops/ldexp.h>
  765. #include <ATen/ops/le.h>
  766. #include <ATen/ops/leaky_relu.h>
  767. #include <ATen/ops/leaky_relu_backward.h>
  768. #include <ATen/ops/lerp.h>
  769. #include <ATen/ops/less.h>
  770. #include <ATen/ops/less_equal.h>
  771. #include <ATen/ops/lgamma.h>
  772. #include <ATen/ops/lift.h>
  773. #include <ATen/ops/lift_fresh.h>
  774. #include <ATen/ops/lift_fresh_copy.h>
  775. #include <ATen/ops/linalg_cholesky.h>
  776. #include <ATen/ops/linalg_cholesky_ex.h>
  777. #include <ATen/ops/linalg_cond.h>
  778. #include <ATen/ops/linalg_cross.h>
  779. #include <ATen/ops/linalg_det.h>
  780. #include <ATen/ops/linalg_diagonal.h>
  781. #include <ATen/ops/linalg_eig.h>
  782. #include <ATen/ops/linalg_eigh.h>
  783. #include <ATen/ops/linalg_eigvals.h>
  784. #include <ATen/ops/linalg_eigvalsh.h>
  785. #include <ATen/ops/linalg_householder_product.h>
  786. #include <ATen/ops/linalg_inv.h>
  787. #include <ATen/ops/linalg_inv_ex.h>
  788. #include <ATen/ops/linalg_ldl_factor.h>
  789. #include <ATen/ops/linalg_ldl_factor_ex.h>
  790. #include <ATen/ops/linalg_ldl_solve.h>
  791. #include <ATen/ops/linalg_lstsq.h>
  792. #include <ATen/ops/linalg_lu.h>
  793. #include <ATen/ops/linalg_lu_factor.h>
  794. #include <ATen/ops/linalg_lu_factor_ex.h>
  795. #include <ATen/ops/linalg_lu_solve.h>
  796. #include <ATen/ops/linalg_matmul.h>
  797. #include <ATen/ops/linalg_matrix_exp.h>
  798. #include <ATen/ops/linalg_matrix_norm.h>
  799. #include <ATen/ops/linalg_matrix_power.h>
  800. #include <ATen/ops/linalg_matrix_rank.h>
  801. #include <ATen/ops/linalg_multi_dot.h>
  802. #include <ATen/ops/linalg_norm.h>
  803. #include <ATen/ops/linalg_pinv.h>
  804. #include <ATen/ops/linalg_qr.h>
  805. #include <ATen/ops/linalg_slogdet.h>
  806. #include <ATen/ops/linalg_solve.h>
  807. #include <ATen/ops/linalg_solve_ex.h>
  808. #include <ATen/ops/linalg_solve_triangular.h>
  809. #include <ATen/ops/linalg_svd.h>
  810. #include <ATen/ops/linalg_svdvals.h>
  811. #include <ATen/ops/linalg_tensorinv.h>
  812. #include <ATen/ops/linalg_tensorsolve.h>
  813. #include <ATen/ops/linalg_vander.h>
  814. #include <ATen/ops/linalg_vecdot.h>
  815. #include <ATen/ops/linalg_vector_norm.h>
  816. #include <ATen/ops/linear.h>
  817. #include <ATen/ops/linear_backward.h>
  818. #include <ATen/ops/linspace.h>
  819. #include <ATen/ops/log.h>
  820. #include <ATen/ops/log10.h>
  821. #include <ATen/ops/log1p.h>
  822. #include <ATen/ops/log2.h>
  823. #include <ATen/ops/log_normal.h>
  824. #include <ATen/ops/log_sigmoid.h>
  825. #include <ATen/ops/log_sigmoid_backward.h>
  826. #include <ATen/ops/log_sigmoid_forward.h>
  827. #include <ATen/ops/log_softmax.h>
  828. #include <ATen/ops/logaddexp.h>
  829. #include <ATen/ops/logaddexp2.h>
  830. #include <ATen/ops/logcumsumexp.h>
  831. #include <ATen/ops/logdet.h>
  832. #include <ATen/ops/logical_and.h>
  833. #include <ATen/ops/logical_not.h>
  834. #include <ATen/ops/logical_or.h>
  835. #include <ATen/ops/logical_xor.h>
  836. #include <ATen/ops/logit.h>
  837. #include <ATen/ops/logit_backward.h>
  838. #include <ATen/ops/logspace.h>
  839. #include <ATen/ops/logsumexp.h>
  840. #include <ATen/ops/lshift.h>
  841. #include <ATen/ops/lstm.h>
  842. #include <ATen/ops/lstm_cell.h>
  843. #include <ATen/ops/lstm_mps_backward.h>
  844. #include <ATen/ops/lt.h>
  845. #include <ATen/ops/lu_solve.h>
  846. #include <ATen/ops/lu_unpack.h>
  847. #include <ATen/ops/mH.h>
  848. #include <ATen/ops/mT.h>
  849. #include <ATen/ops/margin_ranking_loss.h>
  850. #include <ATen/ops/masked_fill.h>
  851. #include <ATen/ops/masked_scatter.h>
  852. #include <ATen/ops/masked_select.h>
  853. #include <ATen/ops/masked_select_backward.h>
  854. #include <ATen/ops/matmul.h>
  855. #include <ATen/ops/matmul_backward.h>
  856. #include <ATen/ops/matrix_H.h>
  857. #include <ATen/ops/matrix_exp.h>
  858. #include <ATen/ops/matrix_exp_backward.h>
  859. #include <ATen/ops/matrix_power.h>
  860. #include <ATen/ops/max.h>
  861. #include <ATen/ops/max_pool1d.h>
  862. #include <ATen/ops/max_pool1d_with_indices.h>
  863. #include <ATen/ops/max_pool2d.h>
  864. #include <ATen/ops/max_pool2d_backward.h>
  865. #include <ATen/ops/max_pool2d_with_indices.h>
  866. #include <ATen/ops/max_pool2d_with_indices_backward.h>
  867. #include <ATen/ops/max_pool3d.h>
  868. #include <ATen/ops/max_pool3d_with_indices.h>
  869. #include <ATen/ops/max_pool3d_with_indices_backward.h>
  870. #include <ATen/ops/max_unpool2d.h>
  871. #include <ATen/ops/max_unpool3d.h>
  872. #include <ATen/ops/maximum.h>
  873. #include <ATen/ops/mean.h>
  874. #include <ATen/ops/median.h>
  875. #include <ATen/ops/meshgrid.h>
  876. #include <ATen/ops/min.h>
  877. #include <ATen/ops/minimum.h>
  878. #include <ATen/ops/miopen_batch_norm.h>
  879. #include <ATen/ops/miopen_batch_norm_backward.h>
  880. #include <ATen/ops/miopen_convolution.h>
  881. #include <ATen/ops/miopen_convolution_add_relu.h>
  882. #include <ATen/ops/miopen_convolution_relu.h>
  883. #include <ATen/ops/miopen_convolution_transpose.h>
  884. #include <ATen/ops/miopen_depthwise_convolution.h>
  885. #include <ATen/ops/miopen_rnn.h>
  886. #include <ATen/ops/miopen_rnn_backward.h>
  887. #include <ATen/ops/mish.h>
  888. #include <ATen/ops/mish_backward.h>
  889. #include <ATen/ops/mkldnn_adaptive_avg_pool2d.h>
  890. #include <ATen/ops/mkldnn_adaptive_avg_pool2d_backward.h>
  891. #include <ATen/ops/mkldnn_convolution.h>
  892. #include <ATen/ops/mkldnn_linear.h>
  893. #include <ATen/ops/mkldnn_linear_backward.h>
  894. #include <ATen/ops/mkldnn_linear_backward_input.h>
  895. #include <ATen/ops/mkldnn_linear_backward_weights.h>
  896. #include <ATen/ops/mkldnn_max_pool2d.h>
  897. #include <ATen/ops/mkldnn_max_pool2d_backward.h>
  898. #include <ATen/ops/mkldnn_max_pool3d.h>
  899. #include <ATen/ops/mkldnn_max_pool3d_backward.h>
  900. #include <ATen/ops/mkldnn_reorder_conv2d_weight.h>
  901. #include <ATen/ops/mkldnn_reorder_conv3d_weight.h>
  902. #include <ATen/ops/mkldnn_rnn_layer.h>
  903. #include <ATen/ops/mkldnn_rnn_layer_backward.h>
  904. #include <ATen/ops/mm.h>
  905. #include <ATen/ops/mode.h>
  906. #include <ATen/ops/moveaxis.h>
  907. #include <ATen/ops/movedim.h>
  908. #include <ATen/ops/mps_convolution_backward.h>
  909. #include <ATen/ops/mps_convolution_transpose_backward.h>
  910. #include <ATen/ops/mse_loss.h>
  911. #include <ATen/ops/mse_loss_backward.h>
  912. #include <ATen/ops/msort.h>
  913. #include <ATen/ops/mul.h>
  914. #include <ATen/ops/multi_margin_loss.h>
  915. #include <ATen/ops/multi_margin_loss_backward.h>
  916. #include <ATen/ops/multilabel_margin_loss.h>
  917. #include <ATen/ops/multilabel_margin_loss_backward.h>
  918. #include <ATen/ops/multilabel_margin_loss_forward.h>
  919. #include <ATen/ops/multinomial.h>
  920. #include <ATen/ops/multiply.h>
  921. #include <ATen/ops/mv.h>
  922. #include <ATen/ops/mvlgamma.h>
  923. #include <ATen/ops/nan_to_num.h>
  924. #include <ATen/ops/nanmean.h>
  925. #include <ATen/ops/nanmedian.h>
  926. #include <ATen/ops/nanquantile.h>
  927. #include <ATen/ops/nansum.h>
  928. #include <ATen/ops/narrow.h>
  929. #include <ATen/ops/narrow_copy.h>
  930. #include <ATen/ops/native_batch_norm.h>
  931. #include <ATen/ops/native_batch_norm_backward.h>
  932. #include <ATen/ops/native_channel_shuffle.h>
  933. #include <ATen/ops/native_dropout.h>
  934. #include <ATen/ops/native_dropout_backward.h>
  935. #include <ATen/ops/native_group_norm.h>
  936. #include <ATen/ops/native_group_norm_backward.h>
  937. #include <ATen/ops/native_layer_norm.h>
  938. #include <ATen/ops/native_layer_norm_backward.h>
  939. #include <ATen/ops/native_norm.h>
  940. #include <ATen/ops/ne.h>
  941. #include <ATen/ops/neg.h>
  942. #include <ATen/ops/negative.h>
  943. #include <ATen/ops/nested_to_padded_tensor.h>
  944. #include <ATen/ops/new_empty.h>
  945. #include <ATen/ops/new_empty_strided.h>
  946. #include <ATen/ops/new_full.h>
  947. #include <ATen/ops/new_ones.h>
  948. #include <ATen/ops/new_zeros.h>
  949. #include <ATen/ops/nextafter.h>
  950. #include <ATen/ops/nll_loss.h>
  951. #include <ATen/ops/nll_loss2d.h>
  952. #include <ATen/ops/nll_loss2d_backward.h>
  953. #include <ATen/ops/nll_loss2d_forward.h>
  954. #include <ATen/ops/nll_loss_backward.h>
  955. #include <ATen/ops/nll_loss_forward.h>
  956. #include <ATen/ops/nll_loss_nd.h>
  957. #include <ATen/ops/nonzero.h>
  958. #include <ATen/ops/nonzero_numpy.h>
  959. #include <ATen/ops/norm.h>
  960. #include <ATen/ops/norm_except_dim.h>
  961. #include <ATen/ops/normal.h>
  962. #include <ATen/ops/not_equal.h>
  963. #include <ATen/ops/nuclear_norm.h>
  964. #include <ATen/ops/numpy_T.h>
  965. #include <ATen/ops/one_hot.h>
  966. #include <ATen/ops/ones.h>
  967. #include <ATen/ops/ones_like.h>
  968. #include <ATen/ops/or.h>
  969. #include <ATen/ops/orgqr.h>
  970. #include <ATen/ops/ormqr.h>
  971. #include <ATen/ops/outer.h>
  972. #include <ATen/ops/output_nr.h>
  973. #include <ATen/ops/pad.h>
  974. #include <ATen/ops/pad_sequence.h>
  975. #include <ATen/ops/pairwise_distance.h>
  976. #include <ATen/ops/pdist.h>
  977. #include <ATen/ops/permute.h>
  978. #include <ATen/ops/permute_copy.h>
  979. #include <ATen/ops/pin_memory.h>
  980. #include <ATen/ops/pinverse.h>
  981. #include <ATen/ops/pixel_shuffle.h>
  982. #include <ATen/ops/pixel_unshuffle.h>
  983. #include <ATen/ops/poisson.h>
  984. #include <ATen/ops/poisson_nll_loss.h>
  985. #include <ATen/ops/polar.h>
  986. #include <ATen/ops/polygamma.h>
  987. #include <ATen/ops/positive.h>
  988. #include <ATen/ops/pow.h>
  989. #include <ATen/ops/prelu.h>
  990. #include <ATen/ops/prod.h>
  991. #include <ATen/ops/promote_types.h>
  992. #include <ATen/ops/put.h>
  993. #include <ATen/ops/q_per_channel_axis.h>
  994. #include <ATen/ops/q_per_channel_scales.h>
  995. #include <ATen/ops/q_per_channel_zero_points.h>
  996. #include <ATen/ops/q_scale.h>
  997. #include <ATen/ops/q_zero_point.h>
  998. #include <ATen/ops/qr.h>
  999. #include <ATen/ops/qscheme.h>
  1000. #include <ATen/ops/quantile.h>
  1001. #include <ATen/ops/quantize_per_channel.h>
  1002. #include <ATen/ops/quantize_per_tensor.h>
  1003. #include <ATen/ops/quantize_per_tensor_dynamic.h>
  1004. #include <ATen/ops/quantized_batch_norm.h>
  1005. #include <ATen/ops/quantized_gru_cell.h>
  1006. #include <ATen/ops/quantized_lstm_cell.h>
  1007. #include <ATen/ops/quantized_max_pool1d.h>
  1008. #include <ATen/ops/quantized_max_pool2d.h>
  1009. #include <ATen/ops/quantized_rnn_relu_cell.h>
  1010. #include <ATen/ops/quantized_rnn_tanh_cell.h>
  1011. #include <ATen/ops/rad2deg.h>
  1012. #include <ATen/ops/rand.h>
  1013. #include <ATen/ops/rand_like.h>
  1014. #include <ATen/ops/randint.h>
  1015. #include <ATen/ops/randint_like.h>
  1016. #include <ATen/ops/randn.h>
  1017. #include <ATen/ops/randn_like.h>
  1018. #include <ATen/ops/random.h>
  1019. #include <ATen/ops/randperm.h>
  1020. #include <ATen/ops/range.h>
  1021. #include <ATen/ops/ravel.h>
  1022. #include <ATen/ops/real.h>
  1023. #include <ATen/ops/reciprocal.h>
  1024. #include <ATen/ops/record_stream.h>
  1025. #include <ATen/ops/refine_names.h>
  1026. #include <ATen/ops/reflection_pad1d.h>
  1027. #include <ATen/ops/reflection_pad1d_backward.h>
  1028. #include <ATen/ops/reflection_pad2d.h>
  1029. #include <ATen/ops/reflection_pad2d_backward.h>
  1030. #include <ATen/ops/reflection_pad3d.h>
  1031. #include <ATen/ops/reflection_pad3d_backward.h>
  1032. #include <ATen/ops/relu.h>
  1033. #include <ATen/ops/relu6.h>
  1034. #include <ATen/ops/remainder.h>
  1035. #include <ATen/ops/rename.h>
  1036. #include <ATen/ops/renorm.h>
  1037. #include <ATen/ops/repeat.h>
  1038. #include <ATen/ops/repeat_interleave.h>
  1039. #include <ATen/ops/replication_pad1d.h>
  1040. #include <ATen/ops/replication_pad1d_backward.h>
  1041. #include <ATen/ops/replication_pad2d.h>
  1042. #include <ATen/ops/replication_pad2d_backward.h>
  1043. #include <ATen/ops/replication_pad3d.h>
  1044. #include <ATen/ops/replication_pad3d_backward.h>
  1045. #include <ATen/ops/requires_grad.h>
  1046. #include <ATen/ops/reshape.h>
  1047. #include <ATen/ops/reshape_as.h>
  1048. #include <ATen/ops/resize.h>
  1049. #include <ATen/ops/resize_as.h>
  1050. #include <ATen/ops/resize_as_sparse.h>
  1051. #include <ATen/ops/resolve_conj.h>
  1052. #include <ATen/ops/resolve_neg.h>
  1053. #include <ATen/ops/result_type.h>
  1054. #include <ATen/ops/retain_grad.h>
  1055. #include <ATen/ops/retains_grad.h>
  1056. #include <ATen/ops/rnn_relu.h>
  1057. #include <ATen/ops/rnn_relu_cell.h>
  1058. #include <ATen/ops/rnn_tanh.h>
  1059. #include <ATen/ops/rnn_tanh_cell.h>
  1060. #include <ATen/ops/roll.h>
  1061. #include <ATen/ops/rot90.h>
  1062. #include <ATen/ops/round.h>
  1063. #include <ATen/ops/row_indices.h>
  1064. #include <ATen/ops/row_indices_copy.h>
  1065. #include <ATen/ops/row_stack.h>
  1066. #include <ATen/ops/rrelu.h>
  1067. #include <ATen/ops/rrelu_with_noise.h>
  1068. #include <ATen/ops/rrelu_with_noise_backward.h>
  1069. #include <ATen/ops/rshift.h>
  1070. #include <ATen/ops/rsqrt.h>
  1071. #include <ATen/ops/rsub.h>
  1072. #include <ATen/ops/scalar_tensor.h>
  1073. #include <ATen/ops/scaled_dot_product_attention.h>
  1074. #include <ATen/ops/scatter.h>
  1075. #include <ATen/ops/scatter_add.h>
  1076. #include <ATen/ops/scatter_reduce.h>
  1077. #include <ATen/ops/searchsorted.h>
  1078. #include <ATen/ops/segment_reduce.h>
  1079. #include <ATen/ops/select.h>
  1080. #include <ATen/ops/select_backward.h>
  1081. #include <ATen/ops/select_copy.h>
  1082. #include <ATen/ops/select_scatter.h>
  1083. #include <ATen/ops/selu.h>
  1084. #include <ATen/ops/set.h>
  1085. #include <ATen/ops/set_data.h>
  1086. #include <ATen/ops/sgn.h>
  1087. #include <ATen/ops/sigmoid.h>
  1088. #include <ATen/ops/sigmoid_backward.h>
  1089. #include <ATen/ops/sign.h>
  1090. #include <ATen/ops/signbit.h>
  1091. #include <ATen/ops/silu.h>
  1092. #include <ATen/ops/silu_backward.h>
  1093. #include <ATen/ops/sin.h>
  1094. #include <ATen/ops/sinc.h>
  1095. #include <ATen/ops/sinh.h>
  1096. #include <ATen/ops/size.h>
  1097. #include <ATen/ops/slice.h>
  1098. #include <ATen/ops/slice_backward.h>
  1099. #include <ATen/ops/slice_copy.h>
  1100. #include <ATen/ops/slice_scatter.h>
  1101. #include <ATen/ops/slogdet.h>
  1102. #include <ATen/ops/slow_conv3d.h>
  1103. #include <ATen/ops/slow_conv3d_forward.h>
  1104. #include <ATen/ops/slow_conv_dilated2d.h>
  1105. #include <ATen/ops/slow_conv_dilated3d.h>
  1106. #include <ATen/ops/slow_conv_transpose2d.h>
  1107. #include <ATen/ops/slow_conv_transpose3d.h>
  1108. #include <ATen/ops/smm.h>
  1109. #include <ATen/ops/smooth_l1_loss.h>
  1110. #include <ATen/ops/smooth_l1_loss_backward.h>
  1111. #include <ATen/ops/soft_margin_loss.h>
  1112. #include <ATen/ops/soft_margin_loss_backward.h>
  1113. #include <ATen/ops/softmax.h>
  1114. #include <ATen/ops/softplus.h>
  1115. #include <ATen/ops/softplus_backward.h>
  1116. #include <ATen/ops/softshrink.h>
  1117. #include <ATen/ops/softshrink_backward.h>
  1118. #include <ATen/ops/sort.h>
  1119. #include <ATen/ops/sparse_bsc_tensor.h>
  1120. #include <ATen/ops/sparse_bsr_tensor.h>
  1121. #include <ATen/ops/sparse_compressed_tensor.h>
  1122. #include <ATen/ops/sparse_coo_tensor.h>
  1123. #include <ATen/ops/sparse_csc_tensor.h>
  1124. #include <ATen/ops/sparse_csr_tensor.h>
  1125. #include <ATen/ops/sparse_dim.h>
  1126. #include <ATen/ops/sparse_mask.h>
  1127. #include <ATen/ops/sparse_resize.h>
  1128. #include <ATen/ops/sparse_resize_and_clear.h>
  1129. #include <ATen/ops/sparse_sampled_addmm.h>
  1130. #include <ATen/ops/special_airy_ai.h>
  1131. #include <ATen/ops/special_bessel_j0.h>
  1132. #include <ATen/ops/special_bessel_j1.h>
  1133. #include <ATen/ops/special_bessel_y0.h>
  1134. #include <ATen/ops/special_bessel_y1.h>
  1135. #include <ATen/ops/special_chebyshev_polynomial_t.h>
  1136. #include <ATen/ops/special_chebyshev_polynomial_u.h>
  1137. #include <ATen/ops/special_chebyshev_polynomial_v.h>
  1138. #include <ATen/ops/special_chebyshev_polynomial_w.h>
  1139. #include <ATen/ops/special_digamma.h>
  1140. #include <ATen/ops/special_entr.h>
  1141. #include <ATen/ops/special_erf.h>
  1142. #include <ATen/ops/special_erfc.h>
  1143. #include <ATen/ops/special_erfcx.h>
  1144. #include <ATen/ops/special_erfinv.h>
  1145. #include <ATen/ops/special_exp2.h>
  1146. #include <ATen/ops/special_expit.h>
  1147. #include <ATen/ops/special_expm1.h>
  1148. #include <ATen/ops/special_gammainc.h>
  1149. #include <ATen/ops/special_gammaincc.h>
  1150. #include <ATen/ops/special_gammaln.h>
  1151. #include <ATen/ops/special_hermite_polynomial_h.h>
  1152. #include <ATen/ops/special_hermite_polynomial_he.h>
  1153. #include <ATen/ops/special_i0.h>
  1154. #include <ATen/ops/special_i0e.h>
  1155. #include <ATen/ops/special_i1.h>
  1156. #include <ATen/ops/special_i1e.h>
  1157. #include <ATen/ops/special_laguerre_polynomial_l.h>
  1158. #include <ATen/ops/special_legendre_polynomial_p.h>
  1159. #include <ATen/ops/special_log1p.h>
  1160. #include <ATen/ops/special_log_ndtr.h>
  1161. #include <ATen/ops/special_log_softmax.h>
  1162. #include <ATen/ops/special_logit.h>
  1163. #include <ATen/ops/special_logsumexp.h>
  1164. #include <ATen/ops/special_modified_bessel_i0.h>
  1165. #include <ATen/ops/special_modified_bessel_i1.h>
  1166. #include <ATen/ops/special_modified_bessel_k0.h>
  1167. #include <ATen/ops/special_modified_bessel_k1.h>
  1168. #include <ATen/ops/special_multigammaln.h>
  1169. #include <ATen/ops/special_ndtr.h>
  1170. #include <ATen/ops/special_ndtri.h>
  1171. #include <ATen/ops/special_polygamma.h>
  1172. #include <ATen/ops/special_psi.h>
  1173. #include <ATen/ops/special_round.h>
  1174. #include <ATen/ops/special_scaled_modified_bessel_k0.h>
  1175. #include <ATen/ops/special_scaled_modified_bessel_k1.h>
  1176. #include <ATen/ops/special_shifted_chebyshev_polynomial_t.h>
  1177. #include <ATen/ops/special_shifted_chebyshev_polynomial_u.h>
  1178. #include <ATen/ops/special_shifted_chebyshev_polynomial_v.h>
  1179. #include <ATen/ops/special_shifted_chebyshev_polynomial_w.h>
  1180. #include <ATen/ops/special_sinc.h>
  1181. #include <ATen/ops/special_softmax.h>
  1182. #include <ATen/ops/special_spherical_bessel_j0.h>
  1183. #include <ATen/ops/special_xlog1py.h>
  1184. #include <ATen/ops/special_xlogy.h>
  1185. #include <ATen/ops/special_zeta.h>
  1186. #include <ATen/ops/split.h>
  1187. #include <ATen/ops/split_copy.h>
  1188. #include <ATen/ops/split_with_sizes.h>
  1189. #include <ATen/ops/split_with_sizes_copy.h>
  1190. #include <ATen/ops/sqrt.h>
  1191. #include <ATen/ops/square.h>
  1192. #include <ATen/ops/squeeze.h>
  1193. #include <ATen/ops/squeeze_copy.h>
  1194. #include <ATen/ops/sspaddmm.h>
  1195. #include <ATen/ops/stack.h>
  1196. #include <ATen/ops/std.h>
  1197. #include <ATen/ops/std_mean.h>
  1198. #include <ATen/ops/stft.h>
  1199. #include <ATen/ops/stride.h>
  1200. #include <ATen/ops/sub.h>
  1201. #include <ATen/ops/subtract.h>
  1202. #include <ATen/ops/sum.h>
  1203. #include <ATen/ops/sum_to_size.h>
  1204. #include <ATen/ops/svd.h>
  1205. #include <ATen/ops/swapaxes.h>
  1206. #include <ATen/ops/swapdims.h>
  1207. #include <ATen/ops/t.h>
  1208. #include <ATen/ops/t_copy.h>
  1209. #include <ATen/ops/take.h>
  1210. #include <ATen/ops/take_along_dim.h>
  1211. #include <ATen/ops/tan.h>
  1212. #include <ATen/ops/tanh.h>
  1213. #include <ATen/ops/tanh_backward.h>
  1214. #include <ATen/ops/tensor_split.h>
  1215. #include <ATen/ops/tensordot.h>
  1216. #include <ATen/ops/thnn_conv2d.h>
  1217. #include <ATen/ops/threshold.h>
  1218. #include <ATen/ops/threshold_backward.h>
  1219. #include <ATen/ops/tile.h>
  1220. #include <ATen/ops/to.h>
  1221. #include <ATen/ops/to_dense.h>
  1222. #include <ATen/ops/to_dense_backward.h>
  1223. #include <ATen/ops/to_mkldnn.h>
  1224. #include <ATen/ops/to_mkldnn_backward.h>
  1225. #include <ATen/ops/to_padded_tensor.h>
  1226. #include <ATen/ops/to_sparse.h>
  1227. #include <ATen/ops/to_sparse_bsc.h>
  1228. #include <ATen/ops/to_sparse_bsr.h>
  1229. #include <ATen/ops/to_sparse_csc.h>
  1230. #include <ATen/ops/to_sparse_csr.h>
  1231. #include <ATen/ops/topk.h>
  1232. #include <ATen/ops/trace.h>
  1233. #include <ATen/ops/trace_backward.h>
  1234. #include <ATen/ops/transpose.h>
  1235. #include <ATen/ops/transpose_copy.h>
  1236. #include <ATen/ops/trapezoid.h>
  1237. #include <ATen/ops/trapz.h>
  1238. #include <ATen/ops/triangular_solve.h>
  1239. #include <ATen/ops/tril.h>
  1240. #include <ATen/ops/tril_indices.h>
  1241. #include <ATen/ops/triplet_margin_loss.h>
  1242. #include <ATen/ops/triu.h>
  1243. #include <ATen/ops/triu_indices.h>
  1244. #include <ATen/ops/true_divide.h>
  1245. #include <ATen/ops/trunc.h>
  1246. #include <ATen/ops/type_as.h>
  1247. #include <ATen/ops/unbind.h>
  1248. #include <ATen/ops/unbind_copy.h>
  1249. #include <ATen/ops/unflatten.h>
  1250. #include <ATen/ops/unflatten_dense_tensors.h>
  1251. #include <ATen/ops/unfold.h>
  1252. #include <ATen/ops/unfold_backward.h>
  1253. #include <ATen/ops/unfold_copy.h>
  1254. #include <ATen/ops/uniform.h>
  1255. #include <ATen/ops/unique_consecutive.h>
  1256. #include <ATen/ops/unique_dim.h>
  1257. #include <ATen/ops/unique_dim_consecutive.h>
  1258. #include <ATen/ops/unsafe_chunk.h>
  1259. #include <ATen/ops/unsafe_split.h>
  1260. #include <ATen/ops/unsafe_split_with_sizes.h>
  1261. #include <ATen/ops/unsqueeze.h>
  1262. #include <ATen/ops/unsqueeze_copy.h>
  1263. #include <ATen/ops/upsample_bicubic2d.h>
  1264. #include <ATen/ops/upsample_bicubic2d_backward.h>
  1265. #include <ATen/ops/upsample_bilinear2d.h>
  1266. #include <ATen/ops/upsample_bilinear2d_backward.h>
  1267. #include <ATen/ops/upsample_linear1d.h>
  1268. #include <ATen/ops/upsample_linear1d_backward.h>
  1269. #include <ATen/ops/upsample_nearest1d.h>
  1270. #include <ATen/ops/upsample_nearest1d_backward.h>
  1271. #include <ATen/ops/upsample_nearest2d.h>
  1272. #include <ATen/ops/upsample_nearest2d_backward.h>
  1273. #include <ATen/ops/upsample_nearest3d.h>
  1274. #include <ATen/ops/upsample_nearest3d_backward.h>
  1275. #include <ATen/ops/upsample_trilinear3d.h>
  1276. #include <ATen/ops/upsample_trilinear3d_backward.h>
  1277. #include <ATen/ops/value_selecting_reduction_backward.h>
  1278. #include <ATen/ops/values.h>
  1279. #include <ATen/ops/values_copy.h>
  1280. #include <ATen/ops/vander.h>
  1281. #include <ATen/ops/var.h>
  1282. #include <ATen/ops/var_mean.h>
  1283. #include <ATen/ops/vdot.h>
  1284. #include <ATen/ops/view.h>
  1285. #include <ATen/ops/view_as.h>
  1286. #include <ATen/ops/view_as_complex.h>
  1287. #include <ATen/ops/view_as_complex_copy.h>
  1288. #include <ATen/ops/view_as_real.h>
  1289. #include <ATen/ops/view_as_real_copy.h>
  1290. #include <ATen/ops/view_copy.h>
  1291. #include <ATen/ops/vsplit.h>
  1292. #include <ATen/ops/vstack.h>
  1293. #include <ATen/ops/where.h>
  1294. #include <ATen/ops/xlogy.h>
  1295. #include <ATen/ops/xor.h>
  1296. #include <ATen/ops/zero.h>
  1297. #include <ATen/ops/zeros.h>
  1298. #include <ATen/ops/zeros_like.h>
  1299. namespace at {
  1300. // Special C++ only overloads for std()-like functions (See gh-40287)
  1301. // These are needed because int -> bool conversion takes precedence over int -> IntArrayRef
  1302. // So, for example std(0) would select the std(unbiased=False) overload
  1303. TORCH_API inline Tensor var(const Tensor& self, int dim) {
  1304. return at::var(self, IntArrayRef{dim});
  1305. }
  1306. TORCH_API inline std::tuple<Tensor, Tensor> var_mean(const Tensor& self, int dim) {
  1307. return at::var_mean(self, IntArrayRef{dim});
  1308. }
  1309. TORCH_API inline Tensor std(const Tensor& self, int dim) {
  1310. return at::std(self, IntArrayRef{dim});
  1311. }
  1312. TORCH_API inline std::tuple<Tensor, Tensor> std_mean(const Tensor& self, int dim) {
  1313. return at::std_mean(self, IntArrayRef{dim});
  1314. }
  1315. inline int64_t numel(const Tensor& tensor) {
  1316. return tensor.numel();
  1317. }
  1318. inline int64_t size(const Tensor& tensor, int64_t dim) {
  1319. return tensor.size(dim);
  1320. }
  1321. inline int64_t stride(const Tensor& tensor, int64_t dim) {
  1322. return tensor.stride(dim);
  1323. }
  1324. inline bool is_complex(const Tensor& tensor) {
  1325. return tensor.is_complex();
  1326. }
  1327. inline bool is_floating_point(const Tensor& tensor) {
  1328. return tensor.is_floating_point();
  1329. }
  1330. inline bool is_signed(const Tensor& tensor) {
  1331. return tensor.is_signed();
  1332. }
  1333. inline bool is_inference(const Tensor& tensor) {
  1334. return tensor.is_inference();
  1335. }
  1336. inline bool _is_zerotensor(const Tensor& tensor) {
  1337. return tensor._is_zerotensor();
  1338. }
  1339. inline bool is_conj(const Tensor& tensor) {
  1340. return tensor.is_conj();
  1341. }
  1342. inline Tensor conj(const Tensor& tensor) {
  1343. return tensor.conj();
  1344. }
  1345. inline bool is_neg(const Tensor& tensor) {
  1346. return tensor.is_neg();
  1347. }
  1348. }