@@ -44,5 +44,56 @@ Compared to the legacy Lite Interpreter, there are some major benefits:
44
44
- [ Delegate to a backend] ( /docs/website/docs/tutorials/backend_delegate.md )
45
45
- [ Executorch Google Colab] ( https://colab.research.google.com/drive/1oJBt3fj_Tr3FE7L9RdUgSKK9XzJfUv4F#scrollTo=fC4CB3kFhHPJ )
46
46
47
+ ## Directory Structure [ WIP]
48
+
49
+ executorch
50
+ ├── backends # 1st party backend implementations.
51
+ | ├── xnnpack
52
+ | ├── vulkan
53
+ | ├── backend_api.py # TODO move to exir/backend
54
+ | ├── backend_details.py # TODO move to exir/backend
55
+ | ├── partioner.py # TODO move to exir/backend
56
+ ├── build # Utilities for managing the build system.
57
+ ├── bundled_program # Utilities for attaching reference inputs and outputs to models. TODO move to extension
58
+ ├── codegen # Tooling to autogenerate bindings between kernels and the runtime. TODO move to tool
59
+ ├── configurations # TODO delete this
60
+ ├── docs # Static docs tooling
61
+ ├── examples # Examples of various user flows, such as model export and delegates.
62
+ | ├── export
63
+ | ├── models
64
+ ├── exir # Ahead of time library, model capture and lowering apis.
65
+ | ├── capture # Program capture.
66
+ | ├── dialects # Op sets for various dialects in the export process.
67
+ | ├── emit # Conversion from ExportedProgram to Executorch execution instructions.
68
+ | ├── program # Export artifacts.
69
+ | ├── serialize # Serialize final export artifact.
70
+ ├── extension # Extensions built on top of the runtime.
71
+ | ├── aten_util
72
+ | ├── data_loader # 1st party data loader implementations.
73
+ | ├── memory_allocator # 1st party memory allocator implementations.
74
+ | ├── pybindings # Python api for executorch runtime.
75
+ | ├── pytree # C++ and Python flattening and unflattening lib for pytrees.
76
+ | ├── testing_util
77
+ ├── kernels # 1st party kernel implementations.
78
+ | ├── aten
79
+ | ├── optimized
80
+ | ├── portable # Reference implementations of ATen operators.
81
+ | ├── prim_ops # Special ops used in executorch runtime for control flow and symbolic primitives.
82
+ | ├── quantized
83
+ ├── profiler # Utilities for profiling. TODO delete in favor of ETDump in sdk/
84
+ ├── runtime # core cpp runtime of executorch
85
+ | ├── backend # Backend definition and registration.
86
+ | ├── core # Core structures used across all levels of the runtime
87
+ | ├── executor # Model loading, initalization, and execution.
88
+ | ├── kernel # Kernel registration and management.
89
+ | ├── platform # Layer between architecture specific code and user calls.
90
+ ├── schema # Executorch program definition, TODO move under serialization/
91
+ ├── scripts # Utility scripts for size management, dependency management, etc.
92
+ ├── sdk # Model profiling, debugging, and introspection: NOT READY YET FOR OSS USE
93
+ ├── shim # Compatibility layer between OSS and Internal builds
94
+ ├── test # Broad scoped end2end tests
95
+ ├── third-party # third-party dependencies
96
+ ├── util # TODO delete this
97
+
47
98
## License
48
99
ExecuTorch is BSD licensed, as found in the LICENSE file.
0 commit comments