xref: /aosp_15_r20/external/pytorch/torchgen/aoti/fallback_ops.py (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1# Be extra careful when you edit this file, because it affects AOTInductor ABI compatbility. See
2# https://github.com/pytorch/pytorch/blob/7e86a7c0155295539996e0cf422883571126073e/torchgen/gen.py#L2424-L2436
3# for details.
4#
5# The inductor_fallback_ops list is based on the fallback ops from torch/_inductor/lowering.py.
6# Generally speaking, it is ok to add a new op to the list, but you need to run
7# `python torchgen/gen.py --update-aoti-c-shim` in order to regenerate C shim header files.
8# But it is NOT ok to remove an existing fallback op from the list, since that will break
9# some existing AOTInductor-compiled models.
10inductor_fallback_ops = {
11    "aten._adaptive_avg_pool2d_backward.default",
12    "aten._adaptive_avg_pool2d.default",
13    "aten._adaptive_avg_pool3d.default",
14    "aten._adaptive_avg_pool3d_backward.default",
15    "aten.adaptive_max_pool2d_backward.default",
16    "aten.adaptive_max_pool2d.default",
17    "aten.adaptive_max_pool3d.default",
18    "aten.adaptive_max_pool3d_backward.default",
19    "aten.addbmm.default",
20    "aten._addmm_activation.default",
21    "aten.addmm.out",
22    "aten.addmv.default",
23    "aten.angle.default",
24    "aten.avg_pool2d_backward.default",
25    "aten.avg_pool2d.default",
26    "aten.avg_pool3d_backward.default",
27    "aten.avg_pool3d.default",
28    "aten.bernoulli_.float",
29    "aten.bernoulli_.Tensor",
30    "aten.bmm.out",
31    "aten.bucketize.Tensor",
32    "aten.cat.default",
33    "aten._cdist_backward.default",
34    "aten._cdist_forward.default",
35    "aten.cholesky_inverse.default",
36    "aten.cholesky_solve.default",
37    "aten.convolution_backward.default",
38    "aten._cudnn_rnn.default",
39    "aten._cudnn_rnn_backward.default",
40    "aten.convolution.default",
41    "aten.cummax.default",
42    "aten.cummin.default",
43    "aten.cumprod.default",
44    "aten.cumsum.default",
45    "aten._efficient_attention_backward.default",
46    "aten._efficient_attention_forward.default",
47    "aten._efficientzerotensor.default",
48    "aten._embedding_bag.default",
49    "aten._embedding_bag_dense_backward.default",
50    "aten._embedding_bag_forward_only.default",
51    "aten._embedding_bag_per_sample_weights_backward.default",
52    "aten.exponential.default",
53    "aten._fft_c2c.default",
54    "aten._fft_r2c.default",
55    "aten._flash_attention_backward.default",
56    "aten._flash_attention_forward.default",
57    "aten.fractional_max_pool2d_backward.default",
58    "aten.fractional_max_pool2d.default",
59    "aten.fractional_max_pool3d.default",
60    "aten.fractional_max_pool3d_backward.default",
61    "aten._fused_moving_avg_obs_fq_helper.default",
62    "aten._fused_moving_avg_obs_fq_helper_functional.default",
63    "aten.gcd.default",
64    "aten.geqrf.default",
65    "aten.grid_sampler_2d_backward.default",
66    "aten.histc.default",
67    "aten.histogram.bin_ct",
68    "aten._histogramdd_bin_edges.default",
69    "aten._histogramdd_from_bin_cts.default",
70    "aten.index_put.default",
71    "aten.index_reduce.default",
72    "aten.index.Tensor",
73    "aten.kthvalue.default",
74    "aten.logcumsumexp.default",
75    "aten.lu_unpack.default",
76    "aten.masked_scatter.default",
77    "aten.masked_scatter_backward.default",
78    "aten.max_pool2d_with_indices_backward.default",
79    "aten.max_pool2d_with_indices.default",
80    "aten.max_pool3d_with_indices.default",
81    "aten.max_pool3d_with_indices_backward.default",
82    "aten.max_unpool2d.default",
83    "aten.max_unpool3d.default",
84    "aten.median.default",
85    "aten.mm.out",
86    "aten.mode.default",
87    "aten.mul.Scalar",
88    "aten.mul.Tensor",
89    "aten.nanmedian.default",
90    "aten.native_dropout.default",
91    "aten.normal_functional.default",
92    "aten.nonzero.default",
93    "aten.ormqr.default",
94    "aten._pdist_backward.default",
95    "aten._pdist_forward.default",
96    "aten.polar.default",
97    "aten.pow.Scalar",
98    "aten.pow.Tensor_Scalar",
99    "aten.pow.Tensor_Tensor",
100    "aten.rand.default",
101    "aten.rand.generator",
102    "aten.randint.default",
103    "aten.randint.generator",
104    "aten.randint.low",
105    "aten.randint.low_out",
106    "aten.randn.default",
107    "aten.randn.generator",
108    "aten.randperm.default",
109    "aten.repeat_interleave.Tensor",
110    "aten.replication_pad1d_backward.default",
111    "aten.replication_pad2d_backward.default",
112    "aten.reshape.default",
113    "aten.resize_.default",
114    "aten.resize_as_.default",
115    "aten._scaled_dot_product_efficient_attention_backward.default",
116    "aten._scaled_dot_product_efficient_attention.default",
117    "aten._scaled_dot_product_flash_attention_backward.default",
118    "aten._scaled_dot_product_flash_attention.default",
119    "aten._scaled_dot_product_cudnn_attention_backward.default",
120    "aten._scaled_dot_product_cudnn_attention.default",
121    "aten._scaled_dot_product_flash_attention_for_cpu_backward.default",
122    "aten._scaled_dot_product_flash_attention_for_cpu.default",
123    "aten._scaled_mm.default",
124    "aten.scatter_reduce.two_out",
125    "aten.scatter.src_out",
126    "aten.scatter.value_out",
127    "aten.searchsorted.default",
128    "aten._segment_reduce_backward.default",
129    "aten.segment_reduce.default",
130    "aten.slice.Tensor",
131    "aten.soft_margin_loss_backward.default",
132    "aten.sort.default",
133    "aten.sort.stable",
134    "aten._sparse_coo_tensor_with_dims_and_tensors.default",
135    "aten._thnn_fused_lstm_cell.default",
136    "aten.topk.default",
137    "aten._to_sparse.default",
138    "aten.to_sparse.default",
139    "aten.triangular_solve.default",
140    "aten._trilinear.default",
141    "aten.uniform.default",
142    "aten.upsample_bicubic2d_backward.default",
143    "aten.upsample_linear1d_backward.default",
144    "aten.upsample_trilinear3d_backward.default",
145    "aten.view_as_complex.default",
146    "aten.view_as_real.default",
147    "aten.view.dtype",
148    "aten.zeros.names",
149}
150