|
23 | 23 | #include <executorch/extension/data_loader/buffer_data_loader.h> |
24 | 24 | #include <executorch/extension/data_loader/mmap_data_loader.h> |
25 | 25 | #include <executorch/extension/memory_allocator/malloc_memory_allocator.h> |
| 26 | +#include <executorch/runtime/backend/interface.h> |
26 | 27 | #include <executorch/runtime/core/data_loader.h> |
27 | 28 | #include <executorch/runtime/core/exec_aten/util/scalar_type_util.h> |
28 | 29 | #include <executorch/runtime/executor/method.h> |
@@ -91,6 +92,8 @@ using ::executorch::runtime::DataLoader; |
91 | 92 | using ::executorch::runtime::Error; |
92 | 93 | using ::executorch::runtime::EValue; |
93 | 94 | using ::executorch::runtime::EventTracerDebugLogLevel; |
| 95 | +using ::executorch::runtime::get_backend_name; |
| 96 | +using ::executorch::runtime::get_num_registered_backends; |
94 | 97 | using ::executorch::runtime::get_registered_kernels; |
95 | 98 | using ::executorch::runtime::HierarchicalAllocator; |
96 | 99 | using ::executorch::runtime::Kernel; |
@@ -975,6 +978,18 @@ py::list get_operator_names() { |
975 | 978 | return res; |
976 | 979 | } |
977 | 980 |
|
| 981 | +py::list get_registered_backend_names() { |
| 982 | + size_t n_of_registered_backends = get_num_registered_backends(); |
| 983 | + py::list res; |
| 984 | + for (size_t i = 0; i < n_of_registered_backends; i++) { |
| 985 | + auto backend_name_res = get_backend_name(i); |
| 986 | + THROW_IF_ERROR(backend_name_res.error(), "Failed to get backend name"); |
| 987 | + auto backend_name = backend_name_res.get(); |
| 988 | + res.append(backend_name); |
| 989 | + } |
| 990 | + return res; |
| 991 | +} |
| 992 | + |
978 | 993 | } // namespace |
979 | 994 |
|
980 | 995 | PYBIND11_MODULE(EXECUTORCH_PYTHON_MODULE_NAME, m) { |
@@ -1028,6 +1043,10 @@ PYBIND11_MODULE(EXECUTORCH_PYTHON_MODULE_NAME, m) { |
1028 | 1043 | prof_result.num_bytes); |
1029 | 1044 | }, |
1030 | 1045 | call_guard); |
| 1046 | + m.def( |
| 1047 | + "_get_registered_backend_names", |
| 1048 | + &get_registered_backend_names, |
| 1049 | + call_guard); |
1031 | 1050 | m.def("_get_operator_names", &get_operator_names); |
1032 | 1051 | m.def("_create_profile_block", &create_profile_block, call_guard); |
1033 | 1052 | m.def( |
|
0 commit comments