xref: /aosp_15_r20/external/executorch/backends/transforms/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
2*523fa7a6SAndroid Build Coastguard Worker
3*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets():
4*523fa7a6SAndroid Build Coastguard Worker    """Defines targets that should be shared between fbcode and xplat.
5*523fa7a6SAndroid Build Coastguard Worker    The directory containing this targets.bzl file should also contain both
6*523fa7a6SAndroid Build Coastguard Worker    TARGETS and BUCK files that call this function.
7*523fa7a6SAndroid Build Coastguard Worker    """
8*523fa7a6SAndroid Build Coastguard Worker
9*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
10*523fa7a6SAndroid Build Coastguard Worker        name = "lib",
11*523fa7a6SAndroid Build Coastguard Worker        srcs = [
12*523fa7a6SAndroid Build Coastguard Worker            "__init__.py",
13*523fa7a6SAndroid Build Coastguard Worker        ],
14*523fa7a6SAndroid Build Coastguard Worker        visibility = [
15*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
16*523fa7a6SAndroid Build Coastguard Worker        ],
17*523fa7a6SAndroid Build Coastguard Worker        deps = [
18*523fa7a6SAndroid Build Coastguard Worker            ":addmm_mm_to_linear",
19*523fa7a6SAndroid Build Coastguard Worker        ],
20*523fa7a6SAndroid Build Coastguard Worker    )
21*523fa7a6SAndroid Build Coastguard Worker
22*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
23*523fa7a6SAndroid Build Coastguard Worker        name = "addmm_mm_to_linear",
24*523fa7a6SAndroid Build Coastguard Worker        srcs = ["addmm_mm_to_linear.py"],
25*523fa7a6SAndroid Build Coastguard Worker        visibility = [
26*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
27*523fa7a6SAndroid Build Coastguard Worker        ],
28*523fa7a6SAndroid Build Coastguard Worker        deps = [
29*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
30*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
31*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:sym_util",
32*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
33*523fa7a6SAndroid Build Coastguard Worker        ],
34*523fa7a6SAndroid Build Coastguard Worker    )
35*523fa7a6SAndroid Build Coastguard Worker
36*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
37*523fa7a6SAndroid Build Coastguard Worker        name = "decompose_sdpa",
38*523fa7a6SAndroid Build Coastguard Worker        srcs = ["decompose_sdpa.py"],
39*523fa7a6SAndroid Build Coastguard Worker        visibility = [
40*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
41*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
42*523fa7a6SAndroid Build Coastguard Worker        ],
43*523fa7a6SAndroid Build Coastguard Worker        deps = [
44*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
45*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
46*523fa7a6SAndroid Build Coastguard Worker        ],
47*523fa7a6SAndroid Build Coastguard Worker    )
48*523fa7a6SAndroid Build Coastguard Worker
49*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
50*523fa7a6SAndroid Build Coastguard Worker        name = "fuse_batch_norm_with_conv",
51*523fa7a6SAndroid Build Coastguard Worker        srcs = ["fuse_batch_norm_with_conv.py"],
52*523fa7a6SAndroid Build Coastguard Worker        visibility = [
53*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
54*523fa7a6SAndroid Build Coastguard Worker        ],
55*523fa7a6SAndroid Build Coastguard Worker        deps = [
56*523fa7a6SAndroid Build Coastguard Worker            ":utils",
57*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
58*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
59*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:sym_util",
60*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
61*523fa7a6SAndroid Build Coastguard Worker        ],
62*523fa7a6SAndroid Build Coastguard Worker    )
63*523fa7a6SAndroid Build Coastguard Worker
64*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
65*523fa7a6SAndroid Build Coastguard Worker        name = "fuse_conv_with_clamp",
66*523fa7a6SAndroid Build Coastguard Worker        srcs = ["fuse_conv_with_clamp.py"],
67*523fa7a6SAndroid Build Coastguard Worker        visibility = [
68*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
69*523fa7a6SAndroid Build Coastguard Worker        ],
70*523fa7a6SAndroid Build Coastguard Worker        deps = [
71*523fa7a6SAndroid Build Coastguard Worker            ":utils",
72*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
73*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/vulkan:custom_ops_lib",
74*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
75*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:sym_util",
76*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
77*523fa7a6SAndroid Build Coastguard Worker        ],
78*523fa7a6SAndroid Build Coastguard Worker    )
79*523fa7a6SAndroid Build Coastguard Worker
80*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
81*523fa7a6SAndroid Build Coastguard Worker        name = "fuse_dequant_linear",
82*523fa7a6SAndroid Build Coastguard Worker        srcs = ["fuse_dequant_linear.py"],
83*523fa7a6SAndroid Build Coastguard Worker        visibility = [
84*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
85*523fa7a6SAndroid Build Coastguard Worker        ],
86*523fa7a6SAndroid Build Coastguard Worker        deps = [
87*523fa7a6SAndroid Build Coastguard Worker            ":utils",
88*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
89*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
90*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:sym_util",
91*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
92*523fa7a6SAndroid Build Coastguard Worker        ],
93*523fa7a6SAndroid Build Coastguard Worker    )
94*523fa7a6SAndroid Build Coastguard Worker
95*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
96*523fa7a6SAndroid Build Coastguard Worker        name = "view_copy_to_squeeze_unsqueeze",
97*523fa7a6SAndroid Build Coastguard Worker        srcs = ["view_copy_to_squeeze_unsqueeze.py"],
98*523fa7a6SAndroid Build Coastguard Worker        visibility = [
99*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
100*523fa7a6SAndroid Build Coastguard Worker        ],
101*523fa7a6SAndroid Build Coastguard Worker        deps = [
102*523fa7a6SAndroid Build Coastguard Worker            ":utils",
103*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
104*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
105*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
106*523fa7a6SAndroid Build Coastguard Worker        ],
107*523fa7a6SAndroid Build Coastguard Worker    )
108*523fa7a6SAndroid Build Coastguard Worker
109*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
110*523fa7a6SAndroid Build Coastguard Worker        name = "fuse_view_copy",
111*523fa7a6SAndroid Build Coastguard Worker        srcs = ["fuse_view_copy.py"],
112*523fa7a6SAndroid Build Coastguard Worker        visibility = [
113*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
114*523fa7a6SAndroid Build Coastguard Worker        ],
115*523fa7a6SAndroid Build Coastguard Worker        deps = [
116*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
117*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
118*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
119*523fa7a6SAndroid Build Coastguard Worker        ],
120*523fa7a6SAndroid Build Coastguard Worker    )
121*523fa7a6SAndroid Build Coastguard Worker
122*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
123*523fa7a6SAndroid Build Coastguard Worker        name = "remove_clone_ops",
124*523fa7a6SAndroid Build Coastguard Worker        srcs = ["remove_clone_ops.py"],
125*523fa7a6SAndroid Build Coastguard Worker        visibility = [
126*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
127*523fa7a6SAndroid Build Coastguard Worker        ],
128*523fa7a6SAndroid Build Coastguard Worker        deps = [
129*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
130*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
131*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
132*523fa7a6SAndroid Build Coastguard Worker        ],
133*523fa7a6SAndroid Build Coastguard Worker    )
134*523fa7a6SAndroid Build Coastguard Worker
135*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
136*523fa7a6SAndroid Build Coastguard Worker        name = "mean_to_sum_div",
137*523fa7a6SAndroid Build Coastguard Worker        srcs = ["mean_to_sum_div.py"],
138*523fa7a6SAndroid Build Coastguard Worker        visibility = [
139*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
140*523fa7a6SAndroid Build Coastguard Worker        ],
141*523fa7a6SAndroid Build Coastguard Worker        deps = [
142*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
143*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
144*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:sym_util",
145*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
146*523fa7a6SAndroid Build Coastguard Worker        ],
147*523fa7a6SAndroid Build Coastguard Worker    )
148*523fa7a6SAndroid Build Coastguard Worker
149*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
150*523fa7a6SAndroid Build Coastguard Worker        name = "utils",
151*523fa7a6SAndroid Build Coastguard Worker        srcs = ["utils.py"],
152*523fa7a6SAndroid Build Coastguard Worker        deps = [
153*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
154*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:lib",
155*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_manager",
156*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib",
157*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/dialects:lib",
158*523fa7a6SAndroid Build Coastguard Worker            "//pytorch/ao:torchao",  # @manual
159*523fa7a6SAndroid Build Coastguard Worker        ],
160*523fa7a6SAndroid Build Coastguard Worker    )
161*523fa7a6SAndroid Build Coastguard Worker
162*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
163*523fa7a6SAndroid Build Coastguard Worker        name = "duplicate_dynamic_quant_chain",
164*523fa7a6SAndroid Build Coastguard Worker        srcs = ["duplicate_dynamic_quant_chain.py"],
165*523fa7a6SAndroid Build Coastguard Worker        visibility = [
166*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
167*523fa7a6SAndroid Build Coastguard Worker            "//executorch/examples/...",
168*523fa7a6SAndroid Build Coastguard Worker            "//executorch/extension/llm/...",
169*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
170*523fa7a6SAndroid Build Coastguard Worker        ],
171*523fa7a6SAndroid Build Coastguard Worker        deps = [
172*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
173*523fa7a6SAndroid Build Coastguard Worker        ],
174*523fa7a6SAndroid Build Coastguard Worker    )
175*523fa7a6SAndroid Build Coastguard Worker
176*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
177*523fa7a6SAndroid Build Coastguard Worker        name = "convert_dtype_pass",
178*523fa7a6SAndroid Build Coastguard Worker        srcs = [
179*523fa7a6SAndroid Build Coastguard Worker            "convert_dtype_pass.py",
180*523fa7a6SAndroid Build Coastguard Worker        ],
181*523fa7a6SAndroid Build Coastguard Worker        visibility = [
182*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/...",
183*523fa7a6SAndroid Build Coastguard Worker        ],
184*523fa7a6SAndroid Build Coastguard Worker        deps = [
185*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
186*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:pass_base",
187*523fa7a6SAndroid Build Coastguard Worker        ],
188*523fa7a6SAndroid Build Coastguard Worker    )
189*523fa7a6SAndroid Build Coastguard Worker
190*523fa7a6SAndroid Build Coastguard Worker    runtime.python_test(
191*523fa7a6SAndroid Build Coastguard Worker        name = "test_duplicate_dynamic_quant_chain",
192*523fa7a6SAndroid Build Coastguard Worker        srcs = [
193*523fa7a6SAndroid Build Coastguard Worker            "test/test_duplicate_dynamic_quant_chain.py",
194*523fa7a6SAndroid Build Coastguard Worker        ],
195*523fa7a6SAndroid Build Coastguard Worker        deps = [
196*523fa7a6SAndroid Build Coastguard Worker            "fbsource//third-party/pypi/expecttest:expecttest",  # @manual
197*523fa7a6SAndroid Build Coastguard Worker            ":duplicate_dynamic_quant_chain",
198*523fa7a6SAndroid Build Coastguard Worker            "//caffe2:torch",
199*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:lib",
200*523fa7a6SAndroid Build Coastguard Worker        ],
201*523fa7a6SAndroid Build Coastguard Worker    )
202