load("@fbcode_macros//build_defs:python_library.bzl", "python_library") load("@fbcode_macros//build_defs:python_unittest.bzl", "python_unittest") oncall("executorch") python_library( name = "backend_with_compiler_demo", srcs = [ "backend_with_compiler_demo.py", ], visibility = [ "//executorch/...", "//executorch/test/...", ], deps = [ "//caffe2:torch", "//executorch/exir/backend:backend_details", "//executorch/exir/backend:compile_spec_schema", "//executorch/exir/dialects:lib", ], ) python_library( name = "backend_with_delegate_mapping_demo", srcs = [ "backend_with_delegate_mapping_demo.py", ], visibility = [ "//executorch/...", "//executorch/test/...", ], deps = [ "//caffe2:torch", "//executorch/exir/backend:backend_details", "//executorch/exir/backend:compile_spec_schema", "//executorch/exir/backend:utils", "//executorch/exir/dialects:lib", ], ) python_library( name = "qnn_backend_demo", srcs = [ "qnn_backend_demo.py", ], visibility = [ "//executorch/...", "//executorch/test/...", ], deps = [ "//executorch/exir/backend:backend_details", "//executorch/exir/backend:compile_spec_schema", ], ) python_library( name = "hta_partitioner_demo", srcs = [ "hta_partitioner_demo.py", ], visibility = [ "//executorch/...", "//executorch/test/...", ], deps = [ ":qnn_backend_demo", "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir/backend:partitioner", "//executorch/exir/backend:utils", "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", ], ) python_library( name = "op_partitioner_demo", srcs = [ "op_partitioner_demo.py", ], visibility = [ "//executorch/...", "//executorch/test/...", ], deps = [ "fbcode//caffe2:torch", "fbcode//executorch/exir:graph_module", "fbcode//executorch/exir/backend:compile_spec_schema", "fbcode//executorch/exir/backend:partitioner", "fbcode//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", "fbcode//executorch/exir/backend/test:backend_with_compiler_demo", "fbcode//executorch/exir/backend/test/demos/rpc:executor_backend_preprocess", "fbcode//executorch/exir/dialects:lib", ], ) python_library( name = "example_backends", deps = [ ":backend_with_compiler_demo", ":qnn_backend_demo", ], ) python_unittest( name = "test_backends", srcs = [ "test_backends.py", ], preload_deps = [ "//executorch/kernels/portable:custom_ops_generated_lib", "//executorch/kernels/quantized:custom_ops_generated_lib", "//executorch/runtime/executor/test:test_backend_compiler_lib", ], deps = [ ":backend_with_compiler_demo", ":hta_partitioner_demo", ":op_partitioner_demo", ":qnn_backend_demo", "//caffe2:torch", "//caffe2/functorch:functorch_src", "//executorch/exir:delegate", "//executorch/exir:graph_module", "//executorch/exir:lib", "//executorch/exir:lowered_backend_module", "//executorch/exir:print_program", "//executorch/exir:schema", "//executorch/exir/backend:backend_api", "//executorch/exir/backend:compile_spec_schema", "//executorch/exir/backend:partitioner", "//executorch/exir/dialects:lib", "//executorch/extension/pybindings:portable_lib", # @manual "//executorch/extension/pytree:pylib", ], ) python_unittest( name = "test_debug_handle_map", srcs = [ "test_debug_handle_map.py", ], deps = [ "fbsource//third-party/pypi/hypothesis:hypothesis", ":op_partitioner_demo", ":qnn_backend_demo", "//caffe2:torch", "//executorch/exir:delegate", "//executorch/exir:lib", "//executorch/exir/backend:backend_api", "//executorch/exir/tests:models", ], ) python_unittest( name = "test_backends_lifted", srcs = [ "test_backends_lifted.py", ], preload_deps = [ "//executorch/kernels/portable:custom_ops_generated_lib", "//executorch/kernels/quantized:custom_ops_generated_lib", "//executorch/runtime/executor/test:test_backend_compiler_lib", ], deps = [ ":backend_with_compiler_demo", ":hta_partitioner_demo", ":op_partitioner_demo", ":qnn_backend_demo", "//caffe2:torch", "//caffe2/functorch:functorch_src", "//executorch/exir:delegate", "//executorch/exir:graph_module", "//executorch/exir:lib", "//executorch/exir:lowered_backend_module", "//executorch/exir:print_program", "//executorch/exir:schema", "//executorch/exir/backend:backend_api", "//executorch/exir/backend:compile_spec_schema", "//executorch/exir/backend:partitioner", "//executorch/exir/dialects:lib", "//executorch/extension/pybindings:portable_lib", # @manual "//executorch/extension/pytree:pylib", ], ) python_unittest( name = "test_lowered_backend_module", srcs = [ "test_lowered_backend_module.py", ], preload_deps = [ "//executorch/runtime/executor/test:test_backend_compiler_lib", ], supports_static_listing = True, deps = [ "fbsource//third-party/pypi/hypothesis:hypothesis", ":backend_with_compiler_demo", ":qnn_backend_demo", "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir:schema", "//executorch/exir/backend:backend_api", "//executorch/exir/backend:compile_spec_schema", "//executorch/exir/tests:models", "//executorch/extension/pybindings:portable_lib", # @manual "//executorch/kernels/portable:custom_ops_generated_lib", "//executorch/kernels/quantized:custom_ops_generated_lib", ], ) python_unittest( name = "test_graph_partition", srcs = [ "test_graph_partition.py", ], visibility = [ "//executorch/...", "//executorch/test/...", ], deps = [ "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", "//executorch/exir/dialects:lib", ], ) python_unittest( name = "test_backends_nested", srcs = [ "test_backends_nested.py", ], preload_deps = [ "//executorch/kernels/portable:custom_ops_generated_lib", "//executorch/kernels/quantized:custom_ops_generated_lib", ], deps = [ ":op_partitioner_demo", "//caffe2:torch", "//caffe2/functorch:functorch_src", "//executorch/exir:delegate", "//executorch/exir:graph_module", "//executorch/exir:lib", "//executorch/exir:lowered_backend_module", "//executorch/exir/backend:backend_api", "//executorch/exir/backend:backend_details", "//executorch/exir/backend:compile_spec_schema", "//executorch/exir/backend:partitioner", "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", "//executorch/runtime/executor/test:test_backend_compiler_lib", ], ) python_unittest( name = "test_delegate_map_builder", srcs = [ "test_delegate_map_builder.py", ], deps = [ ":backend_with_delegate_mapping_demo", "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir/backend:backend_api", "//executorch/exir/backend:utils", ], ) python_unittest( name = "test_utils", srcs = [ "test_utils.py", ], deps = [ ":op_partitioner_demo", "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir/backend:backend_api", "//executorch/exir/backend:partitioner", "//executorch/exir/backend:utils", "//executorch/exir/dialects:lib", "//executorch/extension/pybindings:portable_lib", # @manual "//executorch/runtime/executor/test:test_backend_compiler_lib", ], ) python_unittest( name = "test_partitioner", srcs = [ "test_partitioner.py", ], preload_deps = [ "//executorch/exir/backend/test/demos/rpc:executor_backend_register", ], deps = [ ":op_partitioner_demo", "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir/backend:backend_details", "//executorch/exir/backend:partitioner", "//executorch/exir/backend:utils", "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", "//executorch/exir/backend/test/demos/rpc:executor_backend_partitioner", "//executorch/exir/backend/test/demos/rpc:executor_backend_preprocess", "//executorch/exir/dialects:lib", "//executorch/exir/tests:models", "//executorch/extension/pybindings:portable_lib", # @manual "//executorch/extension/pytree:pylib", "//executorch/runtime/executor/test:test_backend_compiler_lib", ], ) python_unittest( name = "test_passes", srcs = [ "test_passes.py", ], deps = [ "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir/backend/canonical_partitioners:duplicate_constant_node_pass", ], ) python_unittest( name = "test_compatibility", srcs = [ "test_compatibility.py", ], preload_deps = [ "//executorch/runtime/executor/test:test_backend_compiler_lib", ], deps = [ ":backend_with_compiler_demo", "//caffe2:torch", "//executorch/exir:lib", "//executorch/exir/_serialize:lib", "//executorch/exir/backend:backend_api", "//executorch/exir/backend:compile_spec_schema", "//executorch/extension/pybindings:portable_lib", # @manual ], )