xref: /aosp_15_r20/external/executorch/kernels/test/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
2*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/kernels/test:util.bzl", "codegen_function_header_wrapper", "generated_op_test", "op_test")
3*523fa7a6SAndroid Build Coastguard Worker
4*523fa7a6SAndroid Build Coastguard Workerdef _common_op_test(name, kernels):
5*523fa7a6SAndroid Build Coastguard Worker    """
6*523fa7a6SAndroid Build Coastguard Worker    Defines test targets in format of <kernel>_op_<op-name>_test
7*523fa7a6SAndroid Build Coastguard Worker    For ATen kernel testing, let's use portable functions.yaml for tested ops.
8*523fa7a6SAndroid Build Coastguard Worker    """
9*523fa7a6SAndroid Build Coastguard Worker    for kernel in kernels:
10*523fa7a6SAndroid Build Coastguard Worker        deps = [":function_header_wrapper_{}".format(kernel)]
11*523fa7a6SAndroid Build Coastguard Worker        op_test(name, kernel_name = kernel, use_kernel_prefix = True, deps = deps)
12*523fa7a6SAndroid Build Coastguard Worker
13*523fa7a6SAndroid Build Coastguard Workerdef make_example_generated_op_test_target():
14*523fa7a6SAndroid Build Coastguard Worker    """
15*523fa7a6SAndroid Build Coastguard Worker    Makes a test for kernels/test/util generated_op_test() helper
16*523fa7a6SAndroid Build Coastguard Worker    Here we use portable kernel. Try with `buck test xplat/executorch/kernels/test:op_<>_test`
17*523fa7a6SAndroid Build Coastguard Worker    """
18*523fa7a6SAndroid Build Coastguard Worker    op_test_cpp_files = native.glob(
19*523fa7a6SAndroid Build Coastguard Worker        ["op_*_test.cpp"],
20*523fa7a6SAndroid Build Coastguard Worker        # linear has no portable op.
21*523fa7a6SAndroid Build Coastguard Worker        exclude = ["op_linear_test.cpp"],
22*523fa7a6SAndroid Build Coastguard Worker    )
23*523fa7a6SAndroid Build Coastguard Worker
24*523fa7a6SAndroid Build Coastguard Worker    # The op name is from the beginning to the part without `_test.cpp` (:-9)
25*523fa7a6SAndroid Build Coastguard Worker    op_to_test = [f[:-9] for f in op_test_cpp_files]
26*523fa7a6SAndroid Build Coastguard Worker    for op_name in op_to_test:
27*523fa7a6SAndroid Build Coastguard Worker        generated_op_test(
28*523fa7a6SAndroid Build Coastguard Worker            op_name + "_test",
29*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/portable/cpu:{}".format(op_name),
30*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/portable:generated_lib_headers",
31*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/portable/test:supported_features",
32*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/test:function_header_wrapper_portable",
33*523fa7a6SAndroid Build Coastguard Worker        )
34*523fa7a6SAndroid Build Coastguard Worker
35*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets():
36*523fa7a6SAndroid Build Coastguard Worker    """Defines targets that should be shared between fbcode and xplat.
37*523fa7a6SAndroid Build Coastguard Worker
38*523fa7a6SAndroid Build Coastguard Worker    The directory containing this targets.bzl file should also contain both
39*523fa7a6SAndroid Build Coastguard Worker    TARGETS and BUCK files that call this function.
40*523fa7a6SAndroid Build Coastguard Worker    """
41*523fa7a6SAndroid Build Coastguard Worker
42*523fa7a6SAndroid Build Coastguard Worker    for aten_kernel in (True, False):
43*523fa7a6SAndroid Build Coastguard Worker        aten_suffix = "_aten" if aten_kernel else ""
44*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_library(
45*523fa7a6SAndroid Build Coastguard Worker            name = "test_util" + aten_suffix,
46*523fa7a6SAndroid Build Coastguard Worker            srcs = [
47*523fa7a6SAndroid Build Coastguard Worker                "BinaryLogicalOpTest.cpp",
48*523fa7a6SAndroid Build Coastguard Worker                "UnaryUfuncRealHBBF16ToFloatHBF16Test.cpp",
49*523fa7a6SAndroid Build Coastguard Worker            ],
50*523fa7a6SAndroid Build Coastguard Worker            exported_headers = [
51*523fa7a6SAndroid Build Coastguard Worker                "BinaryLogicalOpTest.h",
52*523fa7a6SAndroid Build Coastguard Worker                "TestUtil.h",
53*523fa7a6SAndroid Build Coastguard Worker                "UnaryUfuncRealHBBF16ToFloatHBF16Test.h",
54*523fa7a6SAndroid Build Coastguard Worker            ],
55*523fa7a6SAndroid Build Coastguard Worker            visibility = [
56*523fa7a6SAndroid Build Coastguard Worker                "//executorch/kernels/...",
57*523fa7a6SAndroid Build Coastguard Worker                "@EXECUTORCH_CLIENTS",
58*523fa7a6SAndroid Build Coastguard Worker            ],
59*523fa7a6SAndroid Build Coastguard Worker            preprocessor_flags = ["-DUSE_ATEN_LIB"] if aten_kernel else [],
60*523fa7a6SAndroid Build Coastguard Worker            exported_deps = [
61*523fa7a6SAndroid Build Coastguard Worker                ":supported_features_header",
62*523fa7a6SAndroid Build Coastguard Worker                "//executorch/runtime/core/exec_aten:lib" + aten_suffix,
63*523fa7a6SAndroid Build Coastguard Worker                "//executorch/runtime/core/exec_aten/testing_util:tensor_util" + aten_suffix,
64*523fa7a6SAndroid Build Coastguard Worker                "//executorch/runtime/kernel:kernel_includes",
65*523fa7a6SAndroid Build Coastguard Worker                "//executorch/test/utils:utils" + aten_suffix,
66*523fa7a6SAndroid Build Coastguard Worker            ],
67*523fa7a6SAndroid Build Coastguard Worker            fbcode_exported_deps = [
68*523fa7a6SAndroid Build Coastguard Worker                "//common/init:init",
69*523fa7a6SAndroid Build Coastguard Worker                "//common/gtest:gtest",
70*523fa7a6SAndroid Build Coastguard Worker            ],
71*523fa7a6SAndroid Build Coastguard Worker            xplat_exported_deps = [
72*523fa7a6SAndroid Build Coastguard Worker                "//xplat/folly:init_init",
73*523fa7a6SAndroid Build Coastguard Worker                "//third-party/googletest:gtest_main",
74*523fa7a6SAndroid Build Coastguard Worker            ],
75*523fa7a6SAndroid Build Coastguard Worker        )
76*523fa7a6SAndroid Build Coastguard Worker
77*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_test(
78*523fa7a6SAndroid Build Coastguard Worker            name = "kernel_runtime_context_test" + aten_suffix,
79*523fa7a6SAndroid Build Coastguard Worker            srcs = ["kernel_runtime_context_test.cpp"],
80*523fa7a6SAndroid Build Coastguard Worker            deps = [
81*523fa7a6SAndroid Build Coastguard Worker                "//executorch/runtime/kernel:kernel_runtime_context" + aten_suffix,
82*523fa7a6SAndroid Build Coastguard Worker            ],
83*523fa7a6SAndroid Build Coastguard Worker        )
84*523fa7a6SAndroid Build Coastguard Worker
85*523fa7a6SAndroid Build Coastguard Worker    runtime.python_binary(
86*523fa7a6SAndroid Build Coastguard Worker        name = "gen_supported_features",
87*523fa7a6SAndroid Build Coastguard Worker        main_module = "executorch.kernels.test.gen_supported_features",
88*523fa7a6SAndroid Build Coastguard Worker        deps = [
89*523fa7a6SAndroid Build Coastguard Worker            ":gen_supported_features_lib",
90*523fa7a6SAndroid Build Coastguard Worker        ],
91*523fa7a6SAndroid Build Coastguard Worker        visibility = [
92*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/...",
93*523fa7a6SAndroid Build Coastguard Worker        ],
94*523fa7a6SAndroid Build Coastguard Worker    )
95*523fa7a6SAndroid Build Coastguard Worker
96*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
97*523fa7a6SAndroid Build Coastguard Worker        name = "gen_supported_features_lib",
98*523fa7a6SAndroid Build Coastguard Worker        srcs = ["gen_supported_features.py"],
99*523fa7a6SAndroid Build Coastguard Worker        resources = [
100*523fa7a6SAndroid Build Coastguard Worker            "supported_features_header.ini",
101*523fa7a6SAndroid Build Coastguard Worker            "supported_features_definition.ini",
102*523fa7a6SAndroid Build Coastguard Worker        ],
103*523fa7a6SAndroid Build Coastguard Worker        base_module = "executorch.kernels.test",
104*523fa7a6SAndroid Build Coastguard Worker        visibility = ["//executorch/kernels/test/..."],
105*523fa7a6SAndroid Build Coastguard Worker        deps = [
106*523fa7a6SAndroid Build Coastguard Worker            "fbsource//third-party/pkg_resources:pkg_resources",
107*523fa7a6SAndroid Build Coastguard Worker            "fbsource//third-party/pypi/pyyaml:pyyaml",
108*523fa7a6SAndroid Build Coastguard Worker        ],
109*523fa7a6SAndroid Build Coastguard Worker    )
110*523fa7a6SAndroid Build Coastguard Worker
111*523fa7a6SAndroid Build Coastguard Worker    runtime.genrule(
112*523fa7a6SAndroid Build Coastguard Worker        name = "supported_feature_header_gen",
113*523fa7a6SAndroid Build Coastguard Worker        cmd = "$(exe //executorch/kernels/test:gen_supported_features) ${SRCS} > $OUT/supported_features.h",
114*523fa7a6SAndroid Build Coastguard Worker        srcs = ["supported_features.yaml"],
115*523fa7a6SAndroid Build Coastguard Worker        outs = {"supported_features.h": ["supported_features.h"]},
116*523fa7a6SAndroid Build Coastguard Worker        default_outs = ["."],
117*523fa7a6SAndroid Build Coastguard Worker    )
118*523fa7a6SAndroid Build Coastguard Worker
119*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
120*523fa7a6SAndroid Build Coastguard Worker        name = "supported_features_header",
121*523fa7a6SAndroid Build Coastguard Worker        srcs = [],
122*523fa7a6SAndroid Build Coastguard Worker        exported_headers = {"supported_features.h": ":supported_feature_header_gen[supported_features.h]"},
123*523fa7a6SAndroid Build Coastguard Worker        visibility = [
124*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/...",
125*523fa7a6SAndroid Build Coastguard Worker        ],
126*523fa7a6SAndroid Build Coastguard Worker    )
127*523fa7a6SAndroid Build Coastguard Worker
128*523fa7a6SAndroid Build Coastguard Worker    runtime.genrule(
129*523fa7a6SAndroid Build Coastguard Worker        name = "supported_feature_aten_gen",
130*523fa7a6SAndroid Build Coastguard Worker        cmd = "$(exe //executorch/kernels/test:gen_supported_features) ${SRCS} > $OUT/supported_features_aten.cpp",
131*523fa7a6SAndroid Build Coastguard Worker        srcs = ["supported_features_def_aten.yaml"],
132*523fa7a6SAndroid Build Coastguard Worker        outs = {"supported_features_aten.cpp": ["supported_features_aten.cpp"]},
133*523fa7a6SAndroid Build Coastguard Worker        default_outs = ["."],
134*523fa7a6SAndroid Build Coastguard Worker    )
135*523fa7a6SAndroid Build Coastguard Worker
136*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
137*523fa7a6SAndroid Build Coastguard Worker        name = "supported_features_aten",
138*523fa7a6SAndroid Build Coastguard Worker        srcs = [":supported_feature_aten_gen[supported_features_aten.cpp]"],
139*523fa7a6SAndroid Build Coastguard Worker        visibility = [
140*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/...",
141*523fa7a6SAndroid Build Coastguard Worker        ],
142*523fa7a6SAndroid Build Coastguard Worker        exported_deps = [
143*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/test:supported_features_header",
144*523fa7a6SAndroid Build Coastguard Worker        ],
145*523fa7a6SAndroid Build Coastguard Worker    )
146*523fa7a6SAndroid Build Coastguard Worker
147*523fa7a6SAndroid Build Coastguard Worker    TEST_SRCS = native.glob(["op_*_test.cpp"])
148*523fa7a6SAndroid Build Coastguard Worker
149*523fa7a6SAndroid Build Coastguard Worker    runtime.filegroup(
150*523fa7a6SAndroid Build Coastguard Worker        name = "test_srcs",
151*523fa7a6SAndroid Build Coastguard Worker        srcs = TEST_SRCS,
152*523fa7a6SAndroid Build Coastguard Worker        visibility = [
153*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/...",
154*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
155*523fa7a6SAndroid Build Coastguard Worker        ],
156*523fa7a6SAndroid Build Coastguard Worker    )
157*523fa7a6SAndroid Build Coastguard Worker
158*523fa7a6SAndroid Build Coastguard Worker    runtime.genrule(
159*523fa7a6SAndroid Build Coastguard Worker        name = "test_srcs_gen",
160*523fa7a6SAndroid Build Coastguard Worker        srcs = [":test_srcs"],
161*523fa7a6SAndroid Build Coastguard Worker        cmd = "cp $(location :test_srcs)/* $OUT",
162*523fa7a6SAndroid Build Coastguard Worker        outs = {f: [f] for f in TEST_SRCS},
163*523fa7a6SAndroid Build Coastguard Worker        default_outs = ["."],
164*523fa7a6SAndroid Build Coastguard Worker        visibility = [
165*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/...",
166*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
167*523fa7a6SAndroid Build Coastguard Worker        ],
168*523fa7a6SAndroid Build Coastguard Worker    )
169*523fa7a6SAndroid Build Coastguard Worker
170*523fa7a6SAndroid Build Coastguard Worker    codegen_function_header_wrapper("executorch/kernels/aten", "aten")
171*523fa7a6SAndroid Build Coastguard Worker    codegen_function_header_wrapper("executorch/kernels/portable", "portable")
172*523fa7a6SAndroid Build Coastguard Worker    codegen_function_header_wrapper("executorch/kernels/optimized", "optimized")
173*523fa7a6SAndroid Build Coastguard Worker    codegen_function_header_wrapper("executorch/kernels/quantized", "quantized")
174*523fa7a6SAndroid Build Coastguard Worker    codegen_function_header_wrapper("executorch/kernels/test/custom_kernel_example", "custom_kernel_example")
175*523fa7a6SAndroid Build Coastguard Worker
176*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op__to_dim_order_copy_test", ["aten", "portable"])
177*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_abs_test", ["aten", "portable"])
178*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_acos_test", ["aten", "portable"])
179*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_acosh_test", ["aten", "portable"])
180*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_add_test", ["aten", "portable", "optimized"])
181*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_addmm_test", ["aten", "portable"])
182*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_alias_copy_test", ["aten", "portable"])
183*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_amax_test", ["aten", "portable"])
184*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_amin_test", ["aten", "portable"])
185*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_any_test", ["aten", "portable"])
186*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_arange_test", ["aten", "portable"])
187*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_argmax_test", ["aten", "portable"])
188*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_argmin_test", ["aten", "portable"])
189*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_as_strided_copy_test", ["aten", "portable"])
190*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_asin_test", ["aten", "portable"])
191*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_asinh_test", ["aten", "portable"])
192*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_atan_test", ["aten", "portable"])
193*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_atan2_test", ["aten", "portable"])
194*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_atanh_test", ["aten", "portable"])
195*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_avg_pool2d_test", ["aten", "portable"])
196*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_bitwise_and_test", ["aten", "portable"])
197*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_bitwise_not_test", ["aten", "portable"])
198*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_bitwise_or_test", ["aten", "portable"])
199*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_bitwise_xor_test", ["aten", "portable"])
200*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_bmm_test", ["aten", "portable", "optimized"])
201*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_cat_test", ["aten", "portable"])
202*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_cdist_forward_test", ["aten", "portable"])
203*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_ceil_test", ["aten", "portable"])
204*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_clamp_test", ["aten", "portable"])
205*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_clone_test", ["aten", "portable"])
206*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_constant_pad_nd_test", ["aten", "portable"])
207*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_convolution_test", ["aten", "portable"])
208*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_convolution_backward_test", ["aten", "portable"])
209*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_copy_test", ["aten", "portable"])
210*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_cos_test", ["aten", "portable"])
211*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_cosh_test", ["aten", "portable"])
212*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_cumsum_test", ["aten", "portable"])
213*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_detach_copy_test", ["aten", "portable"])
214*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_diagonal_copy_test", ["aten", "portable"])
215*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_div_test", ["aten", "portable", "optimized"])
216*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_embedding_test", ["aten", "portable"])
217*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_empty_test", ["aten", "portable"])
218*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_eq_test", ["aten", "portable"])
219*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_erf_test", ["aten", "portable"])
220*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_exp_test", ["aten", "portable", "optimized"])
221*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_expand_copy_test", ["aten", "portable"])
222*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_expm1_test", ["aten", "portable"])
223*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_fill_test", ["aten", "portable"])
224*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_flip_test", ["aten", "portable"])
225*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_floor_divide_test", ["aten", "portable"])
226*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_floor_test", ["aten", "portable"])
227*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_fmod_test", ["aten", "portable"])
228*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_full_like_test", ["aten", "portable"])
229*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_full_test", ["aten", "portable"])
230*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_gather_test", ["aten", "portable"])
231*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_ge_test", ["aten", "portable"])
232*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_gelu_test", ["aten", "portable", "optimized"])
233*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_glu_test", ["aten", "portable"])
234*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_gt_test", ["aten", "portable"])
235*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_hardtanh_test", ["aten", "portable"])
236*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_index_put_test", ["aten", "portable"])
237*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_index_select_test", ["aten", "portable"])
238*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_index_test", ["aten", "portable"])
239*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_isinf_test", ["aten", "portable"])
240*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_isnan_test", ["aten", "portable"])
241*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_le_test", ["aten", "portable", "optimized"])
242*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_leaky_relu_test", ["aten", "portable"])
243*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_lift_fresh_copy_test", ["aten", "portable"])
244*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_linear_test", ["aten", "optimized"])
245*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_log_softmax_test", ["aten", "portable", "optimized"])
246*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_log_test", ["aten", "portable"])
247*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_log10_test", ["aten", "portable"])
248*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_log1p_test", ["aten", "portable"])
249*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_log2_test", ["aten", "portable"])
250*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_logical_and_test", ["aten", "portable"])
251*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_logical_not_test", ["aten", "portable"])
252*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_logical_or_test", ["aten", "portable"])
253*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_logical_xor_test", ["aten", "portable"])
254*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_logit_test", ["aten", "portable"])
255*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_lt_test", ["aten", "portable"])
256*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_masked_fill_test", ["aten", "portable"])
257*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_masked_scatter_test", ["aten", "portable"])
258*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_masked_select_test", ["aten", "portable"])
259*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_max_test", ["aten", "portable"])
260*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_max_pool2d_with_indices_test", ["aten", "portable"])
261*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_maximum_test", ["aten", "portable"])
262*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_mean_test", ["aten", "portable"])
263*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_min_test", ["aten", "portable"])
264*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_minimum_test", ["aten", "portable"])
265*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_mm_test", ["aten", "portable", "optimized"])
266*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_mul_test", ["aten", "portable", "optimized"])
267*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_narrow_copy_test", ["aten", "portable"])
268*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_native_batch_norm_test", ["aten", "portable"])
269*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_native_group_norm_test", ["aten", "portable"])
270*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_native_layer_norm_test", ["aten", "portable", "optimized"])
271*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_ne_test", ["aten", "portable"])
272*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_neg_test", ["aten", "portable", "optimized"])
273*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_nonzero_test", ["aten", "portable"])
274*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_ones_test", ["aten", "portable"])
275*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_pdist_forward_test", ["aten", "portable"])
276*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_permute_copy_test", ["aten", "portable"])
277*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_pixel_shuffle_test", ["aten", "portable"])
278*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_pixel_unshuffle_test", ["aten", "portable"])
279*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_pow_test", ["aten", "portable"])
280*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_prod_test", ["aten", "portable"])
281*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_reciprocal_test", ["aten", "portable"])
282*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_relu_test", ["aten", "portable"])
283*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_remainder_test", ["aten", "portable"])
284*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_repeat_test", ["aten", "portable"])
285*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_reflection_pad1d_test", ["aten", "portable"])
286*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_reflection_pad2d_test", ["aten", "portable"])
287*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_reflection_pad3d_test", ["aten", "portable"])
288*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_replication_pad1d_test", ["aten", "portable"])
289*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_replication_pad2d_test", ["aten", "portable"])
290*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_replication_pad3d_test", ["aten", "portable"])
291*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_roll_test", ["aten", "portable"])
292*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_round_test", ["aten", "portable"])
293*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_rsqrt_test", ["aten", "portable"])
294*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_rsub_test", ["aten", "portable"])
295*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_scalar_tensor_test", ["aten", "portable"])
296*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_scatter_test", ["aten", "portable"])
297*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_scatter_add_test", ["aten", "portable"])
298*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_select_scatter_test", ["aten", "portable"])
299*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_select_copy_test", ["aten", "portable"])
300*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_sigmoid_test", ["aten", "portable", "optimized"])
301*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_sign_test", ["aten", "portable"])
302*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_sin_test", ["aten", "portable"])
303*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_sinh_test", ["aten", "portable"])
304*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_slice_scatter_test", ["aten", "portable"])
305*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_slice_copy_test", ["aten", "portable"])
306*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_softmax_test", ["aten", "portable"])
307*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_split_copy_test", ["aten", "portable"])
308*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_split_with_sizes_copy_test", ["aten", "portable"])
309*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_sqrt_test", ["aten", "portable"])
310*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_squeeze_copy_test", ["aten", "portable"])
311*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_stack_test", ["aten", "portable"])
312*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_sub_test", ["aten", "portable", "optimized"])
313*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_sum_test", ["aten", "portable"])
314*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_t_copy_test", ["aten", "portable"])
315*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_tan_test", ["aten", "portable"])
316*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_tanh_test", ["aten", "portable"])
317*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_to_copy_test", ["aten", "portable"])
318*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_topk_test", ["aten", "portable"])
319*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_transpose_copy_test", ["aten", "portable"])
320*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_tril_test", ["aten", "portable"])
321*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_trunc_test", ["aten", "portable"])
322*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_unbind_copy_test", ["aten", "portable"])
323*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_unsqueeze_copy_test", ["aten", "portable"])
324*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_var_test", ["aten", "portable"])
325*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_view_copy_test", ["aten", "portable"])
326*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_where_test", ["aten", "portable"])
327*523fa7a6SAndroid Build Coastguard Worker    _common_op_test("op_zeros_test", ["aten", "portable"])
328*523fa7a6SAndroid Build Coastguard Worker
329*523fa7a6SAndroid Build Coastguard Worker    make_example_generated_op_test_target()
330