xref: /aosp_15_r20/external/executorch/backends/cadence/aot/functions.yaml (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Worker# Copyright (c) Meta Platforms, Inc. and affiliates.
2*523fa7a6SAndroid Build Coastguard Worker#
3*523fa7a6SAndroid Build Coastguard Worker# This yaml file contains operators that are also defined by the ATen library.
4*523fa7a6SAndroid Build Coastguard Worker# For lean mode:
5*523fa7a6SAndroid Build Coastguard Worker#   - Codegen'd target `executorch_generated_lib` will be reading all the information
6*523fa7a6SAndroid Build Coastguard Worker#     from this file, including operator schema and kernel metadata.
7*523fa7a6SAndroid Build Coastguard Worker#   - Selective build target `codegen:executorch_defined_ops` now is selecting all the
8*523fa7a6SAndroid Build Coastguard Worker#     operators in this file, by dumping all the op names into `selected_operators.yaml`.
9*523fa7a6SAndroid Build Coastguard Worker#
10*523fa7a6SAndroid Build Coastguard Worker# See the README.md file in executorch/kernels/portable for a description of the syntax used
11*523fa7a6SAndroid Build Coastguard Worker# by this file.
12*523fa7a6SAndroid Build Coastguard Worker
13*523fa7a6SAndroid Build Coastguard Worker
14*523fa7a6SAndroid Build Coastguard Worker# aten ops
15*523fa7a6SAndroid Build Coastguard Worker- op: _to_copy.out
16*523fa7a6SAndroid Build Coastguard Worker  kernels:
17*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
18*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::to_copy_out
19*523fa7a6SAndroid Build Coastguard Worker
20*523fa7a6SAndroid Build Coastguard Worker- op: _softmax.out
21*523fa7a6SAndroid Build Coastguard Worker  kernels:
22*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
23*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::softmax_out
24*523fa7a6SAndroid Build Coastguard Worker
25*523fa7a6SAndroid Build Coastguard Worker- op: add.out
26*523fa7a6SAndroid Build Coastguard Worker  kernels:
27*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
28*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::add_out
29*523fa7a6SAndroid Build Coastguard Worker
30*523fa7a6SAndroid Build Coastguard Worker- op: bmm.out
31*523fa7a6SAndroid Build Coastguard Worker  kernels:
32*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
33*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::bmm_out
34*523fa7a6SAndroid Build Coastguard Worker
35*523fa7a6SAndroid Build Coastguard Worker- op: cat.out
36*523fa7a6SAndroid Build Coastguard Worker  kernels:
37*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
38*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::cat_out
39*523fa7a6SAndroid Build Coastguard Worker
40*523fa7a6SAndroid Build Coastguard Worker- op: clone.out
41*523fa7a6SAndroid Build Coastguard Worker  kernels:
42*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
43*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::clone_out
44*523fa7a6SAndroid Build Coastguard Worker
45*523fa7a6SAndroid Build Coastguard Worker- op: div.out
46*523fa7a6SAndroid Build Coastguard Worker  kernels:
47*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
48*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::div_out
49*523fa7a6SAndroid Build Coastguard Worker
50*523fa7a6SAndroid Build Coastguard Worker- op: div.out_mode
51*523fa7a6SAndroid Build Coastguard Worker  kernels:
52*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
53*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::div_out_mode
54*523fa7a6SAndroid Build Coastguard Worker
55*523fa7a6SAndroid Build Coastguard Worker- op: embedding.out
56*523fa7a6SAndroid Build Coastguard Worker  kernels:
57*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
58*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::embedding_out
59*523fa7a6SAndroid Build Coastguard Worker
60*523fa7a6SAndroid Build Coastguard Worker- op: empty.out
61*523fa7a6SAndroid Build Coastguard Worker  kernels:
62*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
63*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::empty_out
64*523fa7a6SAndroid Build Coastguard Worker
65*523fa7a6SAndroid Build Coastguard Worker- op: expand_copy.out
66*523fa7a6SAndroid Build Coastguard Worker  kernels:
67*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
68*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::expand_copy_out
69*523fa7a6SAndroid Build Coastguard Worker
70*523fa7a6SAndroid Build Coastguard Worker- op: full.out
71*523fa7a6SAndroid Build Coastguard Worker  kernels:
72*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
73*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::full_out
74*523fa7a6SAndroid Build Coastguard Worker
75*523fa7a6SAndroid Build Coastguard Worker- op: gelu.out
76*523fa7a6SAndroid Build Coastguard Worker  kernels:
77*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
78*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::gelu_out
79*523fa7a6SAndroid Build Coastguard Worker
80*523fa7a6SAndroid Build Coastguard Worker- op: hardtanh.out
81*523fa7a6SAndroid Build Coastguard Worker  kernels:
82*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
83*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::hardtanh_out
84*523fa7a6SAndroid Build Coastguard Worker
85*523fa7a6SAndroid Build Coastguard Worker- op: max_pool2d_with_indices.out
86*523fa7a6SAndroid Build Coastguard Worker  kernels:
87*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
88*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::max_pool2d_with_indices_out
89*523fa7a6SAndroid Build Coastguard Worker
90*523fa7a6SAndroid Build Coastguard Worker- op: mean.out
91*523fa7a6SAndroid Build Coastguard Worker  kernels:
92*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
93*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::mean_dim_out
94*523fa7a6SAndroid Build Coastguard Worker
95*523fa7a6SAndroid Build Coastguard Worker- op: mul.out
96*523fa7a6SAndroid Build Coastguard Worker  kernels:
97*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
98*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::mul_out
99*523fa7a6SAndroid Build Coastguard Worker
100*523fa7a6SAndroid Build Coastguard Worker- op: mul.Scalar_out
101*523fa7a6SAndroid Build Coastguard Worker  kernels:
102*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
103*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::mul_scalar_out
104*523fa7a6SAndroid Build Coastguard Worker
105*523fa7a6SAndroid Build Coastguard Worker- op: permute_copy.out
106*523fa7a6SAndroid Build Coastguard Worker  kernels:
107*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
108*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::permute_copy_out
109*523fa7a6SAndroid Build Coastguard Worker
110*523fa7a6SAndroid Build Coastguard Worker- op: rsqrt.out
111*523fa7a6SAndroid Build Coastguard Worker  kernels:
112*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
113*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::rsqrt_out
114*523fa7a6SAndroid Build Coastguard Worker
115*523fa7a6SAndroid Build Coastguard Worker- op: sigmoid.out
116*523fa7a6SAndroid Build Coastguard Worker  kernels:
117*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
118*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::sigmoid_out
119*523fa7a6SAndroid Build Coastguard Worker
120*523fa7a6SAndroid Build Coastguard Worker- op: slice_copy.Tensor_out
121*523fa7a6SAndroid Build Coastguard Worker  kernels:
122*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
123*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::slice_copy_Tensor_out
124*523fa7a6SAndroid Build Coastguard Worker
125*523fa7a6SAndroid Build Coastguard Worker- op: split_with_sizes_copy.out
126*523fa7a6SAndroid Build Coastguard Worker  kernels:
127*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
128*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::split_with_sizes_copy_out
129*523fa7a6SAndroid Build Coastguard Worker
130*523fa7a6SAndroid Build Coastguard Worker- op: sub.out
131*523fa7a6SAndroid Build Coastguard Worker  kernels:
132*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
133*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::sub_out
134*523fa7a6SAndroid Build Coastguard Worker
135*523fa7a6SAndroid Build Coastguard Worker- op: view_copy.out
136*523fa7a6SAndroid Build Coastguard Worker  kernels:
137*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
138*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::view_copy_out
139*523fa7a6SAndroid Build Coastguard Worker
140*523fa7a6SAndroid Build Coastguard Worker- op: where.self_out
141*523fa7a6SAndroid Build Coastguard Worker  kernels:
142*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
143*523fa7a6SAndroid Build Coastguard Worker      kernel_name: torch::executor::where_out
144*523fa7a6SAndroid Build Coastguard Worker
145*523fa7a6SAndroid Build Coastguard Worker# custom ops
146*523fa7a6SAndroid Build Coastguard Worker- func: cadence::quantize_per_tensor.out(Tensor input, float scale, int zero_point, int quant_min, int quant_max, ScalarType dtype, *, Tensor(a!) out) -> Tensor(a!)
147*523fa7a6SAndroid Build Coastguard Worker  variants: function
148*523fa7a6SAndroid Build Coastguard Worker  kernels:
149*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
150*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::quantize_per_tensor_out
151*523fa7a6SAndroid Build Coastguard Worker
152*523fa7a6SAndroid Build Coastguard Worker- func: cadence::dequantize_per_tensor.out(Tensor input, float scale, int zero_point, int quant_min, int quant_max, ScalarType dtype, *, Tensor(a!) out) -> Tensor(a!)
153*523fa7a6SAndroid Build Coastguard Worker  variants: function
154*523fa7a6SAndroid Build Coastguard Worker  kernels:
155*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
156*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::dequantize_per_tensor_out
157*523fa7a6SAndroid Build Coastguard Worker
158*523fa7a6SAndroid Build Coastguard Worker- func: cadence::quantized_conv.out(Tensor input, Tensor weight, Tensor bias, int[] stride, SymInt[] padding, int[] dilation, int groups, int input_zero_point, Tensor weight_zero_point, Tensor bias_scale, float out_scale, int out_zero_point, Tensor out_multiplier, Tensor out_shift, bool channel_last=False, *, Tensor(a!) out) -> Tensor(a!)
159*523fa7a6SAndroid Build Coastguard Worker  kernels:
160*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
161*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::quantized_conv_out
162*523fa7a6SAndroid Build Coastguard Worker
163*523fa7a6SAndroid Build Coastguard Worker- func: cadence::quantized_layer_norm.out(Tensor input, Tensor in_scale, Tensor in_zero_point, int[] normalized_shape, Tensor weight, Tensor bias, float eps, float output_scale, int output_zero_point, *, Tensor(a!) out) -> Tensor(a!)
164*523fa7a6SAndroid Build Coastguard Worker  kernels:
165*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
166*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::quantized_layer_norm_out
167*523fa7a6SAndroid Build Coastguard Worker- func: cadence::quantized_layer_norm.per_tensor_out(Tensor input, float in_scale, int in_zero_point, int[] normalized_shape, Tensor weight, Tensor bias, float eps, float output_scale, int output_zero_point, *, Tensor(a!) out) -> Tensor(a!)
168*523fa7a6SAndroid Build Coastguard Worker  kernels:
169*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
170*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::quantized_layer_norm_per_tensor_out
171*523fa7a6SAndroid Build Coastguard Worker
172*523fa7a6SAndroid Build Coastguard Worker- func: cadence::quantized_linear.out(Tensor src, Tensor weight, Tensor bias, int src_zero_point, Tensor weight_zero_point, Tensor out_multiplier, Tensor out_shift, int out_zero_point, Tensor? offset, *, Tensor(a!) out) -> Tensor(a!)
173*523fa7a6SAndroid Build Coastguard Worker  kernels:
174*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
175*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::quantized_linear_out
176*523fa7a6SAndroid Build Coastguard Worker
177*523fa7a6SAndroid Build Coastguard Worker- func: cadence::quantized_relu.out(Tensor X, Tensor X_zero_point, int out_zero_point, Tensor out_multiplier, Tensor out_shift, *, Tensor(a!) out) -> Tensor(a!)
178*523fa7a6SAndroid Build Coastguard Worker  kernels:
179*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
180*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::quantized_relu_out
181*523fa7a6SAndroid Build Coastguard Worker
182*523fa7a6SAndroid Build Coastguard Worker- func: cadence::quantized_matmul.out(Tensor X, int X_zero_point, Tensor Y, int Y_zero_point, Tensor? bias, int out_multiplier, int out_shift, int out_zero_point, bool transposed, *, Tensor(a!) out) -> Tensor(a!)
183*523fa7a6SAndroid Build Coastguard Worker  kernels:
184*523fa7a6SAndroid Build Coastguard Worker    - arg_meta: null
185*523fa7a6SAndroid Build Coastguard Worker      kernel_name: impl::reference::quantized_matmul_out
186