@@ -37,47 +37,59 @@ We recommend using the latest release tag from the
37
37
executorch
38
38
├── backends # Backend delegate implementations.
39
39
├── build # Utilities for managing the build system.
40
- ├── bundled_program # Utilities for attaching reference inputs and outputs to models.
41
40
├── codegen # Tooling to autogenerate bindings between kernels and the runtime.
42
41
├── configurations
43
- ├── docs # Static docs tooling
42
+ ├── docs # Static docs tooling.
44
43
├── examples # Examples of various user flows, such as model export, delegates, and runtime execution.
45
- ├── exir # Ahead of time library, model capture and lowering apis .
44
+ ├── exir # Ahead-of- time library: model capture and lowering APIs .
46
45
| ├── _serialize # Serialize final export artifact.
47
46
| ├── backend # Backend delegate ahead of time APIs
48
47
| ├── capture # Program capture.
49
48
| ├── dialects # Op sets for various dialects in the export process.
50
49
| ├── emit # Conversion from ExportedProgram to ExecuTorch execution instructions.
50
+ | ├── operator # Operator node manipulation utilities.
51
51
| ├── passes # Built-in compiler passes.
52
52
| ├── program # Export artifacts.
53
+ | ├── serde # Graph module
54
+ serialization/deserialization.
53
55
| ├── verification # IR verification.
54
56
├── extension # Extensions built on top of the runtime.
55
- | ├── aten_util
57
+ | ├── android # ExecuTorch wrappers for Android apps.
58
+ | ├── apple # ExecuTorch wrappers for iOS apps.
59
+ | ├── aten_util # Converts to and from PyTorch ATen types.
56
60
| ├── data_loader # 1st party data loader implementations.
61
+ | ├── evalue_util # Helpers for working with EValue objects.
62
+ | ├── gguf_util # Tools to convert from the GGUF format.
63
+ | ├── kernel_util # Helpers for registering kernels.
57
64
| ├── memory_allocator # 1st party memory allocator implementations.
58
- | ├── pybindings # Python api for executorch runtime.
65
+ | ├── module # A simplified C++ wrapper for the runtime.
66
+ | ├── parallel # C++ threadpool integration.
67
+ | ├── pybindings # Python API for executorch runtime.
59
68
| ├── pytree # C++ and Python flattening and unflattening lib for pytrees.
60
- | ├── testing_util
69
+ | ├── runner_util # Helpers for writing C++ PTE-execution
70
+ tools.
71
+ | ├── testing_util # Helpers for writing C++ tests.
61
72
├── kernels # 1st party kernel implementations.
62
73
| ├── aten
63
74
| ├── optimized
64
75
| ├── portable # Reference implementations of ATen operators.
65
76
| ├── prim_ops # Special ops used in executorch runtime for control flow and symbolic primitives.
66
77
| ├── quantized
67
- ├── profiler # Utilities for profiling.
68
- ├── runtime # Core cpp runtime
69
- | ├── backend # Backend delegate runtime APIs
70
- | ├── core # Core structures used across all levels of the runtime
78
+ ├── profiler # Utilities for profiling runtime execution .
79
+ ├── runtime # Core C++ runtime.
80
+ | ├── backend # Backend delegate runtime APIs.
81
+ | ├── core # Core structures used across all levels of the runtime.
71
82
| ├── executor # Model loading, initalization, and execution.
72
83
| ├── kernel # Kernel registration and management.
73
- | ├── platform # Layer between architecture specific code and user calls.
74
- ├── schema # ExecuTorch program definition
84
+ | ├── platform # Layer between architecture specific code and portable C++.
85
+ ├── schema # ExecuTorch PTE file format flatbuffer
86
+ schemas.
75
87
├── scripts # Utility scripts for size management, dependency management, etc.
76
88
├── sdk # Model profiling, debugging, and introspection.
77
89
├── shim # Compatibility layer between OSS and Internal builds
78
- ├── test # Broad scoped end2end tests
79
- ├── third-party # Third-party dependencies
80
- ├── util
90
+ ├── test # Broad scoped end-to-end tests.
91
+ ├── third-party # Third-party dependencies.
92
+ ├── util # Various helpers and scripts.
81
93
```
82
94
83
95
## License
0 commit comments