xref: /aosp_15_r20/external/executorch/extension/llm/runner/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    runtime.cxx_library(
5*523fa7a6SAndroid Build Coastguard Worker        name = "irunner",
6*523fa7a6SAndroid Build Coastguard Worker        exported_headers = [
7*523fa7a6SAndroid Build Coastguard Worker            "irunner.h",
8*523fa7a6SAndroid Build Coastguard Worker        ],
9*523fa7a6SAndroid Build Coastguard Worker        visibility = [
10*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
11*523fa7a6SAndroid Build Coastguard Worker        ],
12*523fa7a6SAndroid Build Coastguard Worker    )
13*523fa7a6SAndroid Build Coastguard Worker
14*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
15*523fa7a6SAndroid Build Coastguard Worker        name = "stats",
16*523fa7a6SAndroid Build Coastguard Worker        exported_headers = [
17*523fa7a6SAndroid Build Coastguard Worker            "stats.h",
18*523fa7a6SAndroid Build Coastguard Worker            "util.h",
19*523fa7a6SAndroid Build Coastguard Worker        ],
20*523fa7a6SAndroid Build Coastguard Worker        visibility = [
21*523fa7a6SAndroid Build Coastguard Worker            "@EXECUTORCH_CLIENTS",
22*523fa7a6SAndroid Build Coastguard Worker        ],
23*523fa7a6SAndroid Build Coastguard Worker    )
24*523fa7a6SAndroid Build Coastguard Worker
25*523fa7a6SAndroid Build Coastguard Worker    for aten in (True, False):
26*523fa7a6SAndroid Build Coastguard Worker        aten_suffix = "_aten" if aten else ""
27*523fa7a6SAndroid Build Coastguard Worker
28*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_library(
29*523fa7a6SAndroid Build Coastguard Worker            name = "text_decoder_runner" + aten_suffix,
30*523fa7a6SAndroid Build Coastguard Worker            exported_headers = ["text_decoder_runner.h"],
31*523fa7a6SAndroid Build Coastguard Worker            srcs = ["text_decoder_runner.cpp"],
32*523fa7a6SAndroid Build Coastguard Worker            visibility = [
33*523fa7a6SAndroid Build Coastguard Worker                "@EXECUTORCH_CLIENTS",
34*523fa7a6SAndroid Build Coastguard Worker            ],
35*523fa7a6SAndroid Build Coastguard Worker            exported_deps = [
36*523fa7a6SAndroid Build Coastguard Worker                ":stats",
37*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/llm/sampler:sampler" + aten_suffix,
38*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/module:module" + aten_suffix,
39*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/tensor:tensor" + aten_suffix,
40*523fa7a6SAndroid Build Coastguard Worker            ],
41*523fa7a6SAndroid Build Coastguard Worker        )
42*523fa7a6SAndroid Build Coastguard Worker
43*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_library(
44*523fa7a6SAndroid Build Coastguard Worker            name = "text_prefiller" + aten_suffix,
45*523fa7a6SAndroid Build Coastguard Worker            exported_headers = ["text_prefiller.h"],
46*523fa7a6SAndroid Build Coastguard Worker            srcs = ["text_prefiller.cpp"],
47*523fa7a6SAndroid Build Coastguard Worker            visibility = [
48*523fa7a6SAndroid Build Coastguard Worker                "@EXECUTORCH_CLIENTS",
49*523fa7a6SAndroid Build Coastguard Worker            ],
50*523fa7a6SAndroid Build Coastguard Worker            exported_deps = [
51*523fa7a6SAndroid Build Coastguard Worker                ":text_decoder_runner" + aten_suffix,
52*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/llm/tokenizer:tokenizer_header",
53*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/module:module" + aten_suffix,
54*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/tensor:tensor" + aten_suffix,
55*523fa7a6SAndroid Build Coastguard Worker            ],
56*523fa7a6SAndroid Build Coastguard Worker        )
57*523fa7a6SAndroid Build Coastguard Worker
58*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_library(
59*523fa7a6SAndroid Build Coastguard Worker            name = "text_token_generator" + aten_suffix,
60*523fa7a6SAndroid Build Coastguard Worker            exported_headers = ["text_token_generator.h"],
61*523fa7a6SAndroid Build Coastguard Worker            visibility = [
62*523fa7a6SAndroid Build Coastguard Worker                "@EXECUTORCH_CLIENTS",
63*523fa7a6SAndroid Build Coastguard Worker            ],
64*523fa7a6SAndroid Build Coastguard Worker            exported_deps = [
65*523fa7a6SAndroid Build Coastguard Worker                ":text_decoder_runner" + aten_suffix,
66*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/llm/tokenizer:tokenizer_header",
67*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/module:module" + aten_suffix,
68*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/tensor:tensor" + aten_suffix,
69*523fa7a6SAndroid Build Coastguard Worker            ],
70*523fa7a6SAndroid Build Coastguard Worker        )
71*523fa7a6SAndroid Build Coastguard Worker
72*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_library(
73*523fa7a6SAndroid Build Coastguard Worker            name = "image_prefiller" + aten_suffix,
74*523fa7a6SAndroid Build Coastguard Worker            exported_headers = ["image_prefiller.h", "image.h"],
75*523fa7a6SAndroid Build Coastguard Worker            visibility = [
76*523fa7a6SAndroid Build Coastguard Worker                "@EXECUTORCH_CLIENTS",
77*523fa7a6SAndroid Build Coastguard Worker            ],
78*523fa7a6SAndroid Build Coastguard Worker            exported_deps = [
79*523fa7a6SAndroid Build Coastguard Worker                "//executorch/extension/module:module" + aten_suffix,
80*523fa7a6SAndroid Build Coastguard Worker            ],
81*523fa7a6SAndroid Build Coastguard Worker        )
82*523fa7a6SAndroid Build Coastguard Worker
83*523fa7a6SAndroid Build Coastguard Worker        runtime.cxx_library(
84*523fa7a6SAndroid Build Coastguard Worker            name = "runner_lib" + aten_suffix,
85*523fa7a6SAndroid Build Coastguard Worker            exported_headers = [
86*523fa7a6SAndroid Build Coastguard Worker                "multimodal_runner.h",
87*523fa7a6SAndroid Build Coastguard Worker            ],
88*523fa7a6SAndroid Build Coastguard Worker            visibility = [
89*523fa7a6SAndroid Build Coastguard Worker                "@EXECUTORCH_CLIENTS",
90*523fa7a6SAndroid Build Coastguard Worker            ],
91*523fa7a6SAndroid Build Coastguard Worker            exported_deps = [
92*523fa7a6SAndroid Build Coastguard Worker                ":image_prefiller" + aten_suffix,
93*523fa7a6SAndroid Build Coastguard Worker                ":text_decoder_runner" + aten_suffix,
94*523fa7a6SAndroid Build Coastguard Worker                ":text_prefiller" + aten_suffix,
95*523fa7a6SAndroid Build Coastguard Worker                ":text_token_generator" + aten_suffix,
96*523fa7a6SAndroid Build Coastguard Worker            ],
97*523fa7a6SAndroid Build Coastguard Worker        )
98