1load("@fbcode_macros//build_defs:python_library.bzl", "python_library") 2load("@fbcode_macros//build_defs:python_unittest.bzl", "python_unittest") 3 4oncall("executorch") 5 6python_library( 7 name = "backend_with_compiler_demo", 8 srcs = [ 9 "backend_with_compiler_demo.py", 10 ], 11 visibility = [ 12 "//executorch/...", 13 "//executorch/test/...", 14 ], 15 deps = [ 16 "//caffe2:torch", 17 "//executorch/exir/backend:backend_details", 18 "//executorch/exir/backend:compile_spec_schema", 19 "//executorch/exir/dialects:lib", 20 ], 21) 22 23python_library( 24 name = "backend_with_delegate_mapping_demo", 25 srcs = [ 26 "backend_with_delegate_mapping_demo.py", 27 ], 28 visibility = [ 29 "//executorch/...", 30 "//executorch/test/...", 31 ], 32 deps = [ 33 "//caffe2:torch", 34 "//executorch/exir/backend:backend_details", 35 "//executorch/exir/backend:compile_spec_schema", 36 "//executorch/exir/backend:utils", 37 "//executorch/exir/dialects:lib", 38 ], 39) 40 41python_library( 42 name = "qnn_backend_demo", 43 srcs = [ 44 "qnn_backend_demo.py", 45 ], 46 visibility = [ 47 "//executorch/...", 48 "//executorch/test/...", 49 ], 50 deps = [ 51 "//executorch/exir/backend:backend_details", 52 "//executorch/exir/backend:compile_spec_schema", 53 ], 54) 55 56python_library( 57 name = "hta_partitioner_demo", 58 srcs = [ 59 "hta_partitioner_demo.py", 60 ], 61 visibility = [ 62 "//executorch/...", 63 "//executorch/test/...", 64 ], 65 deps = [ 66 ":qnn_backend_demo", 67 "//caffe2:torch", 68 "//executorch/exir:lib", 69 "//executorch/exir/backend:partitioner", 70 "//executorch/exir/backend:utils", 71 "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", 72 ], 73) 74 75python_library( 76 name = "op_partitioner_demo", 77 srcs = [ 78 "op_partitioner_demo.py", 79 ], 80 visibility = [ 81 "//executorch/...", 82 "//executorch/test/...", 83 ], 84 deps = [ 85 "fbcode//caffe2:torch", 86 "fbcode//executorch/exir:graph_module", 87 "fbcode//executorch/exir/backend:compile_spec_schema", 88 "fbcode//executorch/exir/backend:partitioner", 89 "fbcode//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", 90 "fbcode//executorch/exir/backend/test:backend_with_compiler_demo", 91 "fbcode//executorch/exir/backend/test/demos/rpc:executor_backend_preprocess", 92 "fbcode//executorch/exir/dialects:lib", 93 ], 94) 95 96python_library( 97 name = "example_backends", 98 deps = [ 99 ":backend_with_compiler_demo", 100 ":qnn_backend_demo", 101 ], 102) 103 104python_unittest( 105 name = "test_backends", 106 srcs = [ 107 "test_backends.py", 108 ], 109 preload_deps = [ 110 "//executorch/kernels/portable:custom_ops_generated_lib", 111 "//executorch/kernels/quantized:custom_ops_generated_lib", 112 "//executorch/runtime/executor/test:test_backend_compiler_lib", 113 ], 114 deps = [ 115 ":backend_with_compiler_demo", 116 ":hta_partitioner_demo", 117 ":op_partitioner_demo", 118 ":qnn_backend_demo", 119 "//caffe2:torch", 120 "//caffe2/functorch:functorch_src", 121 "//executorch/exir:delegate", 122 "//executorch/exir:graph_module", 123 "//executorch/exir:lib", 124 "//executorch/exir:lowered_backend_module", 125 "//executorch/exir:print_program", 126 "//executorch/exir:schema", 127 "//executorch/exir/backend:backend_api", 128 "//executorch/exir/backend:compile_spec_schema", 129 "//executorch/exir/backend:partitioner", 130 "//executorch/exir/dialects:lib", 131 "//executorch/extension/pybindings:portable_lib", # @manual 132 "//executorch/extension/pytree:pylib", 133 ], 134) 135 136python_unittest( 137 name = "test_debug_handle_map", 138 srcs = [ 139 "test_debug_handle_map.py", 140 ], 141 deps = [ 142 "fbsource//third-party/pypi/hypothesis:hypothesis", 143 ":op_partitioner_demo", 144 ":qnn_backend_demo", 145 "//caffe2:torch", 146 "//executorch/exir:delegate", 147 "//executorch/exir:lib", 148 "//executorch/exir/backend:backend_api", 149 "//executorch/exir/tests:models", 150 ], 151) 152 153python_unittest( 154 name = "test_backends_lifted", 155 srcs = [ 156 "test_backends_lifted.py", 157 ], 158 preload_deps = [ 159 "//executorch/kernels/portable:custom_ops_generated_lib", 160 "//executorch/kernels/quantized:custom_ops_generated_lib", 161 "//executorch/runtime/executor/test:test_backend_compiler_lib", 162 ], 163 deps = [ 164 ":backend_with_compiler_demo", 165 ":hta_partitioner_demo", 166 ":op_partitioner_demo", 167 ":qnn_backend_demo", 168 "//caffe2:torch", 169 "//caffe2/functorch:functorch_src", 170 "//executorch/exir:delegate", 171 "//executorch/exir:graph_module", 172 "//executorch/exir:lib", 173 "//executorch/exir:lowered_backend_module", 174 "//executorch/exir:print_program", 175 "//executorch/exir:schema", 176 "//executorch/exir/backend:backend_api", 177 "//executorch/exir/backend:compile_spec_schema", 178 "//executorch/exir/backend:partitioner", 179 "//executorch/exir/dialects:lib", 180 "//executorch/extension/pybindings:portable_lib", # @manual 181 "//executorch/extension/pytree:pylib", 182 ], 183) 184 185python_unittest( 186 name = "test_lowered_backend_module", 187 srcs = [ 188 "test_lowered_backend_module.py", 189 ], 190 preload_deps = [ 191 "//executorch/runtime/executor/test:test_backend_compiler_lib", 192 ], 193 supports_static_listing = True, 194 deps = [ 195 "fbsource//third-party/pypi/hypothesis:hypothesis", 196 ":backend_with_compiler_demo", 197 ":qnn_backend_demo", 198 "//caffe2:torch", 199 "//executorch/exir:lib", 200 "//executorch/exir:schema", 201 "//executorch/exir/backend:backend_api", 202 "//executorch/exir/backend:compile_spec_schema", 203 "//executorch/exir/tests:models", 204 "//executorch/extension/pybindings:portable_lib", # @manual 205 "//executorch/kernels/portable:custom_ops_generated_lib", 206 "//executorch/kernels/quantized:custom_ops_generated_lib", 207 ], 208) 209 210python_unittest( 211 name = "test_graph_partition", 212 srcs = [ 213 "test_graph_partition.py", 214 ], 215 visibility = [ 216 "//executorch/...", 217 "//executorch/test/...", 218 ], 219 deps = [ 220 "//caffe2:torch", 221 "//executorch/exir:lib", 222 "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", 223 "//executorch/exir/dialects:lib", 224 ], 225) 226 227python_unittest( 228 name = "test_backends_nested", 229 srcs = [ 230 "test_backends_nested.py", 231 ], 232 preload_deps = [ 233 "//executorch/kernels/portable:custom_ops_generated_lib", 234 "//executorch/kernels/quantized:custom_ops_generated_lib", 235 ], 236 deps = [ 237 ":op_partitioner_demo", 238 "//caffe2:torch", 239 "//caffe2/functorch:functorch_src", 240 "//executorch/exir:delegate", 241 "//executorch/exir:graph_module", 242 "//executorch/exir:lib", 243 "//executorch/exir:lowered_backend_module", 244 "//executorch/exir/backend:backend_api", 245 "//executorch/exir/backend:backend_details", 246 "//executorch/exir/backend:compile_spec_schema", 247 "//executorch/exir/backend:partitioner", 248 "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", 249 "//executorch/runtime/executor/test:test_backend_compiler_lib", 250 ], 251) 252 253python_unittest( 254 name = "test_delegate_map_builder", 255 srcs = [ 256 "test_delegate_map_builder.py", 257 ], 258 deps = [ 259 ":backend_with_delegate_mapping_demo", 260 "//caffe2:torch", 261 "//executorch/exir:lib", 262 "//executorch/exir/backend:backend_api", 263 "//executorch/exir/backend:utils", 264 ], 265) 266 267python_unittest( 268 name = "test_utils", 269 srcs = [ 270 "test_utils.py", 271 ], 272 deps = [ 273 ":op_partitioner_demo", 274 "//caffe2:torch", 275 "//executorch/exir:lib", 276 "//executorch/exir/backend:backend_api", 277 "//executorch/exir/backend:partitioner", 278 "//executorch/exir/backend:utils", 279 "//executorch/exir/dialects:lib", 280 "//executorch/extension/pybindings:portable_lib", # @manual 281 "//executorch/runtime/executor/test:test_backend_compiler_lib", 282 ], 283) 284 285python_unittest( 286 name = "test_partitioner", 287 srcs = [ 288 "test_partitioner.py", 289 ], 290 preload_deps = [ 291 "//executorch/exir/backend/test/demos/rpc:executor_backend_register", 292 ], 293 deps = [ 294 ":op_partitioner_demo", 295 "//caffe2:torch", 296 "//executorch/exir:lib", 297 "//executorch/exir/backend:backend_details", 298 "//executorch/exir/backend:partitioner", 299 "//executorch/exir/backend:utils", 300 "//executorch/exir/backend/canonical_partitioners:canonical_partitioner_lib", 301 "//executorch/exir/backend/test/demos/rpc:executor_backend_partitioner", 302 "//executorch/exir/backend/test/demos/rpc:executor_backend_preprocess", 303 "//executorch/exir/dialects:lib", 304 "//executorch/exir/tests:models", 305 "//executorch/extension/pybindings:portable_lib", # @manual 306 "//executorch/extension/pytree:pylib", 307 "//executorch/runtime/executor/test:test_backend_compiler_lib", 308 ], 309) 310 311python_unittest( 312 name = "test_passes", 313 srcs = [ 314 "test_passes.py", 315 ], 316 deps = [ 317 "//caffe2:torch", 318 "//executorch/exir:lib", 319 "//executorch/exir/backend/canonical_partitioners:duplicate_constant_node_pass", 320 ], 321) 322 323python_unittest( 324 name = "test_compatibility", 325 srcs = [ 326 "test_compatibility.py", 327 ], 328 preload_deps = [ 329 "//executorch/runtime/executor/test:test_backend_compiler_lib", 330 ], 331 deps = [ 332 ":backend_with_compiler_demo", 333 "//caffe2:torch", 334 "//executorch/exir:lib", 335 "//executorch/exir/_serialize:lib", 336 "//executorch/exir/backend:backend_api", 337 "//executorch/exir/backend:compile_spec_schema", 338 "//executorch/extension/pybindings:portable_lib", # @manual 339 ], 340) 341