1load("@fbsource//xplat/executorch/backends:backends.bzl", "get_all_cpu_backend_targets") 2load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 3 4# Aten ops with portable kernel 5MODELS_ATEN_OPS_LEAN_MODE_GENERATED_LIB = [ 6 "//executorch/kernels/portable:generated_lib", 7 "//executorch/kernels/quantized:generated_lib", 8] 9 10PORTABLE_MODULE_DEPS = [ 11 "//executorch/runtime/kernel:operator_registry", 12 "//executorch/runtime/executor:program", 13 "//executorch/devtools/bundled_program/schema:bundled_program_schema_fbs", 14 "//executorch/extension/aten_util:aten_bridge", 15 "//executorch/devtools/bundled_program:runtime", 16 "//executorch/extension/data_loader:buffer_data_loader", 17 "//executorch/extension/data_loader:mmap_data_loader", 18 "//executorch/extension/memory_allocator:malloc_memory_allocator", 19 "//executorch/runtime/executor/test:test_backend_compiler_lib", 20 "//executorch/devtools/etdump:etdump_flatcc", 21] + get_all_cpu_backend_targets() 22 23ATEN_MODULE_DEPS = [ 24 "//executorch/runtime/kernel:operator_registry", 25 "//executorch/runtime/executor:program_aten", 26 "//executorch/runtime/core/exec_aten:lib", 27 "//executorch/devtools/bundled_program/schema:bundled_program_schema_fbs", 28 "//executorch/extension/data_loader:buffer_data_loader", 29 "//executorch/extension/data_loader:mmap_data_loader", 30 "//executorch/extension/memory_allocator:malloc_memory_allocator", 31 "//executorch/devtools/bundled_program:runtime_aten", 32 "//executorch/runtime/executor/test:test_backend_compiler_lib_aten", 33 "//executorch/devtools/etdump:etdump_flatcc", 34] 35 36# Generated lib for all ATen ops with aten kernel used by models in model inventory 37MODELS_ATEN_OPS_ATEN_MODE_GENERATED_LIB = [ 38 "//executorch/kernels/quantized:generated_lib_aten", 39 "//executorch/kernels/aten:generated_lib", 40] 41 42def executorch_pybindings(python_module_name, srcs = [], cppdeps = [], visibility = ["//executorch/..."], types = [], compiler_flags = []): 43 runtime.cxx_python_extension( 44 name = python_module_name, 45 srcs = [ 46 "//executorch/extension/pybindings:pybindings.cpp", 47 ] + srcs, 48 types = types, 49 base_module = "executorch.extension.pybindings", 50 compiler_flags = compiler_flags, 51 preprocessor_flags = [ 52 "-DEXECUTORCH_PYTHON_MODULE_NAME={}".format(python_module_name), 53 ], 54 deps = [ 55 "//executorch/exir:_warnings", 56 "//executorch/runtime/core:core", 57 ] + cppdeps, 58 external_deps = [ 59 "pybind11", 60 "libtorch_python", 61 ], 62 use_static_deps = True, 63 _is_external_target = bool(visibility != ["//executorch/..."]), 64 visibility = visibility, 65 ) 66