xref: /aosp_15_r20/external/executorch/examples/xnnpack/targets.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "get_oss_build_kwargs", "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
6*523fa7a6SAndroid Build Coastguard Worker    The directory containing this targets.bzl file should also contain both
7*523fa7a6SAndroid Build Coastguard Worker    TARGETS and BUCK files that call this function.
8*523fa7a6SAndroid Build Coastguard Worker    """
9*523fa7a6SAndroid Build Coastguard Worker
10*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
11*523fa7a6SAndroid Build Coastguard Worker        name = "models",
12*523fa7a6SAndroid Build Coastguard Worker        srcs = [
13*523fa7a6SAndroid Build Coastguard Worker            "__init__.py",
14*523fa7a6SAndroid Build Coastguard Worker        ],
15*523fa7a6SAndroid Build Coastguard Worker        visibility = [
16*523fa7a6SAndroid Build Coastguard Worker            "//executorch/examples/xnnpack/...",
17*523fa7a6SAndroid Build Coastguard Worker        ],
18*523fa7a6SAndroid Build Coastguard Worker        deps = [
19*523fa7a6SAndroid Build Coastguard Worker            "//executorch/examples/models:models",  # @manual
20*523fa7a6SAndroid Build Coastguard Worker        ],
21*523fa7a6SAndroid Build Coastguard Worker    )
22*523fa7a6SAndroid Build Coastguard Worker
23*523fa7a6SAndroid Build Coastguard Worker    runtime.python_library(
24*523fa7a6SAndroid Build Coastguard Worker        name = "xnnpack_aot_lib",
25*523fa7a6SAndroid Build Coastguard Worker        srcs = [
26*523fa7a6SAndroid Build Coastguard Worker            "aot_compiler.py",
27*523fa7a6SAndroid Build Coastguard Worker        ],
28*523fa7a6SAndroid Build Coastguard Worker        deps = [
29*523fa7a6SAndroid Build Coastguard Worker            ":models",
30*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/xnnpack/partition:xnnpack_partitioner",
31*523fa7a6SAndroid Build Coastguard Worker            "//executorch/extension/export_util:export_util",
32*523fa7a6SAndroid Build Coastguard Worker            "//executorch/examples/xnnpack/quantization:quant_utils",
33*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir:lib",
34*523fa7a6SAndroid Build Coastguard Worker            "//executorch/exir/backend:backend_api",
35*523fa7a6SAndroid Build Coastguard Worker            "//executorch/devtools:lib",
36*523fa7a6SAndroid Build Coastguard Worker        ],
37*523fa7a6SAndroid Build Coastguard Worker    )
38*523fa7a6SAndroid Build Coastguard Worker
39*523fa7a6SAndroid Build Coastguard Worker    runtime.python_binary(
40*523fa7a6SAndroid Build Coastguard Worker        name = "aot_compiler",
41*523fa7a6SAndroid Build Coastguard Worker        main_module = "executorch.examples.xnnpack.aot_compiler",
42*523fa7a6SAndroid Build Coastguard Worker        resources = {
43*523fa7a6SAndroid Build Coastguard Worker            "//executorch/examples/models/llama/params:params": "params",
44*523fa7a6SAndroid Build Coastguard Worker        },
45*523fa7a6SAndroid Build Coastguard Worker        deps = [
46*523fa7a6SAndroid Build Coastguard Worker            ":xnnpack_aot_lib",
47*523fa7a6SAndroid Build Coastguard Worker        ],
48*523fa7a6SAndroid Build Coastguard Worker        visibility = [
49*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
50*523fa7a6SAndroid Build Coastguard Worker        ],
51*523fa7a6SAndroid Build Coastguard Worker    )
52*523fa7a6SAndroid Build Coastguard Worker
53*523fa7a6SAndroid Build Coastguard Worker    # executor_runner for XNNPACK Backend and portable kernels.
54*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_binary(
55*523fa7a6SAndroid Build Coastguard Worker        name = "xnn_executor_runner",
56*523fa7a6SAndroid Build Coastguard Worker        deps = [
57*523fa7a6SAndroid Build Coastguard Worker            "//executorch/examples/portable/executor_runner:executor_runner_lib",
58*523fa7a6SAndroid Build Coastguard Worker            "//executorch/backends/xnnpack:xnnpack_backend",
59*523fa7a6SAndroid Build Coastguard Worker            "//executorch/kernels/portable:generated_lib",
60*523fa7a6SAndroid Build Coastguard Worker        ],
61*523fa7a6SAndroid Build Coastguard Worker        define_static_target = True,
62*523fa7a6SAndroid Build Coastguard Worker        **get_oss_build_kwargs()
63*523fa7a6SAndroid Build Coastguard Worker    )
64