Skip to content

Commit 2d70a98

Browse files
JacobSzwejbkafacebook-github-bot
authored andcommitted
directory structure docs
Summary: First pass at docs. This is probably enough for PP can do deeper for MVP Reviewed By: digantdesai, cccclai Differential Revision: D47881211 fbshipit-source-id: a161962b0c85b8a9aaa20d2080e1e0b3603c76c6
1 parent 6731515 commit 2d70a98

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,56 @@ Compared to the legacy Lite Interpreter, there are some major benefits:
4444
- [Delegate to a backend](/docs/website/docs/tutorials/backend_delegate.md)
4545
- [Executorch Google Colab](https://colab.research.google.com/drive/1oJBt3fj_Tr3FE7L9RdUgSKK9XzJfUv4F#scrollTo=fC4CB3kFhHPJ)
4646

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+
4798
## License
4899
ExecuTorch is BSD licensed, as found in the LICENSE file.

0 commit comments

Comments
 (0)