4
4
"CXX" ,
5
5
)
6
6
load ("@fbsource//xplat/executorch/build:runtime_wrapper.bzl" , "runtime" )
7
+ load ("@fbsource//xplat/executorch/codegen:codegen.bzl" , "executorch_generated_lib" )
7
8
load ("@fbsource//xplat/executorch/extension/pybindings:pybindings.bzl" , "MODELS_ATEN_OPS_ATEN_MODE_GENERATED_LIB" , "MODELS_ATEN_OPS_LEAN_MODE_GENERATED_LIB" )
8
9
9
10
def define_common_targets ():
@@ -13,11 +14,34 @@ def define_common_targets():
13
14
TARGETS and BUCK files that call this function.
14
15
"""
15
16
16
- # Test driver for models, uses all portable kernels.
17
- for aten_mode in (True , False ):
17
+ executorch_generated_lib (
18
+ name = "generated_op_lib_for_runner" ,
19
+ deps = [
20
+ "//executorch/kernels/optimized:optimized_operators" ,
21
+ "//executorch/kernels/optimized:optimized_oplist" ,
22
+ "//executorch/kernels/portable:executorch_aten_ops" ,
23
+ "//executorch/kernels/portable:executorch_custom_ops" ,
24
+ "//executorch/kernels/portable:operators" ,
25
+ ],
26
+ custom_ops_aten_kernel_deps = [
27
+ "//executorch/kernels/portable:operators_aten" ,
28
+ ],
29
+ functions_yaml_target = "//executorch/kernels/optimized:optimized.yaml" ,
30
+ custom_ops_yaml_target = "//executorch/kernels/portable:custom_ops.yaml" ,
31
+ fallback_yaml_target = "//executorch/kernels/portable:functions.yaml" ,
32
+ define_static_targets = True ,
33
+ )
34
+
35
+ # Test driver for models, uses one of the following kernels:
36
+ # (1) all portable kernels
37
+ # (2) aten kernels
38
+ # (3) optimized kernels, with portable kernels as fallback
39
+ for kernel_mode in ["portable" , "aten" , "optimized" ]:
40
+ aten_mode = kernel_mode == "aten"
18
41
aten_suffix = ("_aten" if aten_mode else "" )
42
+ binary_name = "executor_runner" if kernel_mode == "portable" else ("executor_runner_" + kernel_mode )
19
43
runtime .cxx_binary (
20
- name = "executor_runner" + aten_suffix ,
44
+ name = binary_name ,
21
45
srcs = ["executor_runner.cpp" ],
22
46
deps = [
23
47
"//executorch/runtime/executor/test:test_backend_compiler_lib" + aten_suffix ,
@@ -31,7 +55,9 @@ def define_common_targets():
31
55
] + (MODELS_ATEN_OPS_ATEN_MODE_GENERATED_LIB if aten_mode else [
32
56
"//executorch/configurations:executor_cpu_optimized" ,
33
57
"//executorch/kernels/quantized:generated_lib" ,
34
- ] + MODELS_ATEN_OPS_LEAN_MODE_GENERATED_LIB ),
58
+ ] + (MODELS_ATEN_OPS_LEAN_MODE_GENERATED_LIB if kernel_mode == "portable" else [
59
+ ":generated_op_lib_for_runner" ,
60
+ ])),
35
61
preprocessor_flags = ["-DUSE_ATEN_LIB" ] if aten_mode else [],
36
62
external_deps = [
37
63
"gflags" ,
0 commit comments