Skip to content

Commit 86d3ba8

Browse files
committed
Add backends
Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags:
1 parent a3d518c commit 86d3ba8

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

CONTRIBUTING.md

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,41 @@ For Apple, please refer to the [iOS documentation](docs/source/using-executorch-
2424

2525
executorch
2626
├── <a href="backends">backends</a> - Backend delegate implementations for various hardware targets. Each backend uses partitioner to split the graph into subgraphs that can be executed on specific hardware, quantizer to optimize model precision, and runtime components to execute the graph on target hardware. For details refer to the <a href="docs/source/backend-delegates-integration.md">backend documentation</a> and the <a href="docs/source/using-executorch-export.md">Export and Lowering tutorial</a> for more information.
27+
│ ├── <a href="backends/apple">apple</a> - Apple-specific backends.
28+
│ │ ├── <a href="backends/apple/coreml">coreml</a> - CoreML backend for Apple devices. See <a href="docs/source/backends-coreml.md">doc</a>.
29+
│ │ └── <a href="backends/apple/mps">mps</a> - Metal Performance Shaders backend for Apple devices. See <a href="docs/source/backends-mps.md">doc</a>.
30+
│ ├── <a href="backends/arm">arm</a> - ARM architecture backends. See <a href="docs/source/backends-arm-ethos-u.md">doc</a>.
31+
│ ├── <a href="backends/cadence">cadence</a> - Cadence-specific backends. See <a href="docs/source/backends-cadence.md">doc</a>.
32+
│ ├── <a href="backends/example">example</a> - Example backend implementations.
33+
│ ├── <a href="backends/mediatek">mediatek</a> - MediaTek-specific backends. See <a href="docs/source/backends-mediatek.md">doc</a>.
34+
│ ├── <a href="backends/openvino">openvino</a> - OpenVINO backend for Intel hardware.
35+
│ ├── <a href="backends/qualcomm">qualcomm</a> - Qualcomm-specific backends. See <a href="docs/source/backends-qualcomm.md">doc</a>.
36+
│ ├── <a href="backends/transforms">transforms</a> - Transformations for backend optimization.
37+
│ ├── <a href="backends/vulkan">vulkan</a> - Vulkan backend for cross-platform GPU support. See <a href="docs/source/backends-vulkan.md">doc</a>.
38+
│ └── <a href="backends/xnnpack">xnnpack</a> - XNNPACK backend for optimized neural network operations. See <a href="docs/source/backends-xnnpack.md">doc</a>.
2739
├── <a href="codegen">codegen</a> - Tooling to autogenerate bindings between kernels and the runtime.
2840
├── <a href="configurations">configurations</a> - Configuration files.
41+
├── <a href="devtools">devtools</a> - Model profiling, debugging, and inspection. Please refer to the <a href="docs/source/devtools-overview.md">tools documentation</a> for more information.
42+
│ ├── <a href="devtools/bundled_program">bundled_program</a> - a tool for validating ExecuTorch model. See <a href="docs/source/bundled-io.md">doc</a>.
43+
│ ├── <a href="devtools/etdump">etdump</a> - ETDump - a format for saving profiling and debugging data from runtime. See <a href="docs/source/etdump.md">doc</a>.
44+
│ ├── <a href="devtools/etrecord">etrecord</a> - ETRecord - AOT debug artifact for ExecuTorch. See <a href="https://pytorch.org/executorch/main/etrecord.html">doc</a>.
45+
│ ├── <a href="devtools/inspector">inspector</a> - Python API to inspect ETDump and ETRecord. See <a href="https://pytorch.org/executorch/main/model-inspector.html">doc</a>.
46+
│ └── <a href="devtools/visualization">visualization</a> - Visualization tools for representing model structure and performance metrics.
2947
├── <a href="docs">docs</a> - Static docs tooling and documentation source files.
3048
├── <a href="examples">examples</a> - Examples of various user flows, such as model export, delegates, and runtime execution.
3149
├── <a href="exir">exir</a> - Ahead-of-time library: model capture and lowering APIs. EXport Intermediate Representation (EXIR) is a format for representing the result of <a href="https://pytorch.org/docs/main/export.ir_spec.html">torch.export</a>. This directory contains utilities and passes for lowering the EXIR graphs into different <a href="/docs/source/ir-exir.md">dialects</a> and eventually suitable to run on target hardware.
3250
│ ├── <a href="exir/_serialize">_serialize</a> - Serialize final export artifact.
3351
│ ├── <a href="exir/backend">backend</a> - Backend delegate ahead of time APIs.
3452
│ ├── <a href="exir/capture">capture</a> - Program capture.
35-
│ ├── <a href="exir/dialects">dialects</a> - Op sets for various dialects in the export process.
53+
│ ├── <a href="exir/dialects">dialects</a> - Op sets for various dialects in the export process. Please refer to the <a href="/docs/source/ir-exir.md">EXIR spec</a> and the <a href="/docs/source/compiler-backend-dialect.md">backend dialect</a> doc for more details.
3654
│ ├── <a href="exir/emit">emit</a> - Conversion from ExportedProgram to ExecuTorch execution instructions.
3755
│ ├── <a href="exir/operator">operator</a> - Operator node manipulation utilities.
3856
│ ├── <a href="exir/passes">passes</a> - Built-in compiler passes.
3957
│ ├── <a href="exir/program">program</a> - Export artifacts.
4058
│ ├── <a href="exir/serde">serde</a> - Graph module serialization/deserialization.
4159
│ ├── <a href="exir/verification">verification</a> - IR verification.
4260
├── <a href="extension">extension</a> - Extensions built on top of the runtime.
43-
│ ├── <a href="extension/android">android</a> - ExecuTorch wrappers for Android apps. Please refer to the <a href="docs/source/using-executorch-android.md">Android documentation</a> for more information.
61+
│ ├── <a href="extension/android">android</a> - ExecuTorch wrappers for Android apps. Please refer to the <a href="docs/source/using-executorch-android.md">Android documentation</a> and <a href="https://pytorch.org/executorch/main/javadoc/">Javadoc</a> for more information.
4462
│ ├── <a href="extension/apple">apple</a> - ExecuTorch wrappers for iOS apps. Please refer to the <a href="docs/source/using-executorch-ios.md">iOS documentation</a> and <a href="https://pytorch.org/executorch/stable/apple-runtime.html">how to integrate into Apple platform</a> for more information.
4563
│ ├── <a href="extension/aten_util">aten_util</a> - Converts to and from PyTorch ATen types.
4664
│ ├── <a href="extension/data_loader">data_loader</a> - 1st party data loader implementations.
@@ -51,10 +69,10 @@ executorch
5169
│ ├── <a href="extension/memory_allocator">memory_allocator</a> - 1st party memory allocator implementations.
5270
│ ├── <a href="extension/module">module</a> - A simplified C++ wrapper for the runtime. An abstraction that deserializes and executes an ExecuTorch artifact (.pte file). Refer to the <a href="docs/source/extension-module.md">module documentation</a> for more information.
5371
│ ├── <a href="extension/parallel">parallel</a> - C++ threadpool integration.
54-
│ ├── <a href="extension/pybindings">pybindings</a> - Python API for executorch runtime.
72+
│ ├── <a href="extension/pybindings">pybindings</a> - Python API for executorch runtime. This is powering up the <a href="https://pytorch.org/executorch/main/runtime-python-api-reference.html">runtime Python API</a> for ExecuTorch.
5573
│ ├── <a href="extension/pytree">pytree</a> - C++ and Python flattening and unflattening lib for pytrees.
5674
│ ├── <a href="extension/runner_util">runner_util</a> - Helpers for writing C++ PTE-execution tools.
57-
│ ├── <a href="extension/tensor">tensor</a> - Tensor maker and <code>TensorPtr</code>, details in <a href="/docs/source/extension-tensor.md">this documentation</a>.
75+
│ ├── <a href="extension/tensor">tensor</a> - Tensor maker and <code>TensorPtr</code>, details in <a href="/docs/source/extension-tensor.md">this documentation</a>. For how to use <code>TensorPtr</code> and <code>Module</code>, please refer to the <a href="/docs/source/using-executorch-cpp.md">"Using ExecuTorch with C++"</a> doc.
5876
│ ├── <a href="extension/testing_util">testing_util</a> - Helpers for writing C++ tests.
5977
│ ├── <a href="extension/threadpool">threadpool</a> - Threadpool.
6078
│ └── <a href="extension/training">training</a> - Experimental libraries for on-device training.
@@ -68,16 +86,15 @@ executorch
6886
├── <a href="runtime">runtime</a> - Core C++ runtime. These components are used to execute the ExecuTorch program. Please refer to the <a href="docs/source/runtime-overview.md">runtime documentation</a> for more information.
6987
│ ├── <a href="runtime/backend">backend</a> - Backend delegate runtime APIs.
7088
│ ├── <a href="runtime/core">core</a> - Core structures used across all levels of the runtime. Basic components such as <code>Tensor</code>, <code>EValue</code>, <code>Error</code> and <code>Result</code> etc.
71-
│ ├── <a href="runtime/executor">executor</a> - Model loading, initialization, and execution. Runtime components that execute the ExecuTorch program, such as <code>Program</code>, <code>Method</code>. Refer to the <a href="docs/source/executorch-runtime-api-reference.rst">runtime API documentation</a> for more information.
89+
│ ├── <a href="runtime/executor">executor</a> - Model loading, initialization, and execution. Runtime components that execute the ExecuTorch program, such as <code>Program</code>, <code>Method</code>. Refer to the <a href="https://pytorch.org/executorch/main/executorch-runtime-api-reference.html">runtime API documentation</a> for more information.
7290
│ ├── <a href="runtime/kernel">kernel</a> - Kernel registration and management.
7391
│ └── <a href="runtime/platform">platform</a> - Layer between architecture specific code and portable C++.
7492
├── <a href="schema">schema</a> - ExecuTorch PTE file format flatbuffer schemas.
7593
├── <a href="scripts">scripts</a> - Utility scripts for building libs, size management, dependency management, etc.
94+
├── <a href="shim">shim</a> - Compatibility layer between OSS and Internal builds.
7695
├── <a href="test">test</a> - Broad scoped end-to-end tests.
7796
├── <a href="third-party">third-party</a> - Third-party dependencies.
78-
├── <a href="tools">tools</a> - Development tool management. Please refer to the <a href="docs/source/devtools-overview.md">tools documentation</a> for more information.
79-
├── <a href="devtools">devtools</a> - Model profiling, debugging, and introspection.
80-
├── <a href="shim">shim</a> - Compatibility layer between OSS and Internal builds.
97+
├── <a href="tools">tools</a> - Tools for building ExecuTorch from source, for different built tools (CMake, Buck).
8198
└── <a href="util">util</a> - Various helpers and scripts.
8299
</pre>
83100

0 commit comments

Comments
 (0)