| 
 | 1 | +(home)=  | 
 | 2 | +# Welcome to the ExecuTorch Documentation  | 
 | 3 | + | 
 | 4 | +**ExecuTorch** is PyTorch's solution to training and inference on the  | 
 | 5 | +Edge.  | 
 | 6 | + | 
 | 7 | +## Key Value Propositions  | 
 | 8 | + | 
 | 9 | +- **Portability:** Compatibility with a wide variety of computing  | 
 | 10 | +  platforms, from high-end mobile phones to highly constrained  | 
 | 11 | +  embedded systems and microcontrollers.  | 
 | 12 | +- **Productivity:** Enabling developers to use the same toolchains and  | 
 | 13 | +  Developer Tools from PyTorch model authoring and conversion, to  | 
 | 14 | +  debugging and deployment to a wide variety of platforms.  | 
 | 15 | +- **Performance:** Providing end users with a seamless and  | 
 | 16 | +  high-performance experience due to a lightweight runtime and  | 
 | 17 | +  utilizing full hardware capabilities such as CPUs, NPUs, and DSPs.  | 
 | 18 | + | 
 | 19 | +ExecuTorch provides support for:  | 
 | 20 | + | 
 | 21 | +* **Strong Model Support** LLMs (Large Language Models),  | 
 | 22 | +  CV (Computer Vision), ASR (Automatic Speech Recognition), TTS (Text To Speech)  | 
 | 23 | +* **All Major Platforms** Android, Mac, Linux, Windows  | 
 | 24 | +* **Rich Acceleration Support** Apple, Arm, Cadence, MediaTek,  | 
 | 25 | +  Qualcomm, Vulkan, XNNPACK  | 
 | 26 | + | 
 | 27 | +### Documentation Navigation  | 
 | 28 | +#### Introduction  | 
 | 29 | +- [Overview](intro-overview)  | 
 | 30 | +- [How it Works](intro-how-it-works)  | 
 | 31 | +- [Getting Started with Architecture](getting-started-architecture)  | 
 | 32 | +- [Concepts](concepts)  | 
 | 33 | +#### Usage  | 
 | 34 | +- [Getting Started](getting-started)  | 
 | 35 | +- [Using Executorch Export](using-executorch-export)  | 
 | 36 | +- [Using Executorch on Android](using-executorch-android)  | 
 | 37 | +- [Using Executorch on iOS](using-executorch-ios)  | 
 | 38 | +- [Using Executorch with C++](using-executorch-cpp)  | 
 | 39 | +- [Runtime Integration](using-executorch-runtime-integration)  | 
 | 40 | +- [Troubleshooting](using-executorch-troubleshooting)  | 
 | 41 | +- [Building from Source](using-executorch-building-from-source)  | 
 | 42 | +- [FAQs](using-executorch-faqs)  | 
 | 43 | +#### Examples  | 
 | 44 | +- [Android Demo Apps](https://github.com/pytorch-labs/executorch-examples/tree/main/dl3/android/DeepLabV3Demo#executorch-android-demo-app)  | 
 | 45 | +- [iOS Demo Apps](demo-apps-ios.md)  | 
 | 46 | +#### Backends  | 
 | 47 | +- [Overview](backends-overview)  | 
 | 48 | +- [XNNPACK](backends-xnnpack)  | 
 | 49 | +- [Core ML](backends-coreml)  | 
 | 50 | +- [MPS](backends-mps)  | 
 | 51 | +- [Vulkan](backends-vulkan)  | 
 | 52 | +- [ARM Ethos-U](backends-arm-ethos-u)  | 
 | 53 | +- [Qualcomm](backends-qualcomm)  | 
 | 54 | +- [MediaTek](backends-mediatek)  | 
 | 55 | +- [Cadence](backends-cadence)  | 
 | 56 | +#### Developer Tools  | 
 | 57 | +- [Overview](devtools-overview)  | 
 | 58 | +- [Bundled IO](bundled-io)  | 
 | 59 | +- [ETRecord](etrecord)  | 
 | 60 | +- [ETDump](etdump)  | 
 | 61 | +- [Runtime Profiling](runtime-profiling)  | 
 | 62 | +- [Model Debugging](model-debugging)  | 
 | 63 | +- [Model Inspector](model-inspector)  | 
 | 64 | +- [Memory Planning Inspection](memory-planning-inspection)  | 
 | 65 | +- [Delegate Debugging](delegate-debugging)  | 
 | 66 | +- [Tutorial](devtools-tutorial)  | 
 | 67 | +#### Runtime  | 
 | 68 | +- [Overview](runtime-overview)  | 
 | 69 | +- [Extension Module](extension-module)  | 
 | 70 | +- [Extension Tensor](extension-tensor)  | 
 | 71 | +- [Running a Model (C++ Tutorial)](running-a-model-cpp-tutorial)  | 
 | 72 | +- [Backend Delegate Implementation and Linking](runtime-backend-delegate-implementation-and-linking)  | 
 | 73 | +- [Platform Abstraction Layer](runtime-platform-abstraction-layer)  | 
 | 74 | +#### Portable C++ Programming  | 
 | 75 | +- [PTE File Format](pte-file-format)  | 
 | 76 | +#### API Reference  | 
 | 77 | +- [Export to Executorch API Reference](export-to-executorch-api-reference)  | 
 | 78 | +- [Executorch Runtime API Reference](executorch-runtime-api-reference)  | 
 | 79 | +- [Runtime Python API Reference](runtime-python-api-reference)  | 
 | 80 | +- [API Life Cycle](api-life-cycle)  | 
 | 81 | +- [Javadoc](https://pytorch.org/executorch/main/javadoc/)  | 
 | 82 | +#### Quantization  | 
 | 83 | +- [Overview](quantization-overview)  | 
 | 84 | +#### Kernel Library  | 
 | 85 | +- [Overview](kernel-library-overview)  | 
 | 86 | +- [Custom ATen Kernel](kernel-library-custom-aten-kernel)  | 
 | 87 | +- [Selective Build](kernel-library-selective-build)  | 
 | 88 | +#### Working with LLMs  | 
 | 89 | +- [Llama](llm/llama)  | 
 | 90 | +- [Llama on Android](llm/llama-demo-android)  | 
 | 91 | +- [Llama on iOS](llm/llama-demo-ios)  | 
 | 92 | +- [Llama on Android via Qualcomm backend](llm/build-run-llama3-qualcomm-ai-engine-direct-backend)  | 
 | 93 | +- [Intro to LLMs in Executorch](llm/getting-started)  | 
 | 94 | +#### Backend Development  | 
 | 95 | +- [Delegates Integration](backend-delegates-integration)  | 
 | 96 | +- [XNNPACK Reference](backend-delegates-xnnpack-reference)  | 
 | 97 | +- [Dependencies](backend-delegates-dependencies)  | 
 | 98 | +- [Compiler Delegate and Partitioner](compiler-delegate-and-partitioner)  | 
 | 99 | +- [Debug Backend Delegate](debug-backend-delegate)  | 
 | 100 | +#### IR Specification  | 
 | 101 | +- [EXIR](ir-exir)  | 
 | 102 | +- [Ops Set Definition](ir-ops-set-definition)  | 
 | 103 | +#### Compiler Entry Points  | 
 | 104 | +- [Backend Dialect](compiler-backend-dialect)  | 
 | 105 | +- [Custom Compiler Passes](compiler-custom-compiler-passes)  | 
 | 106 | +- [Memory Planning](compiler-memory-planning)  | 
 | 107 | +#### Contributing  | 
 | 108 | +- [Contributing](contributing)  | 
 | 109 | + | 
 | 110 | +```{toctree}  | 
 | 111 | +:glob:  | 
 | 112 | +:maxdepth: 1  | 
 | 113 | +:caption: Introduction  | 
 | 114 | +:hidden:  | 
 | 115 | +
  | 
 | 116 | +intro-overview  | 
 | 117 | +intro-how-it-works  | 
 | 118 | +getting-started-architecture  | 
 | 119 | +concepts  | 
 | 120 | +```  | 
 | 121 | + | 
 | 122 | +```{toctree}  | 
 | 123 | +:glob:  | 
 | 124 | +:maxdepth: 1  | 
 | 125 | +:caption: Usage  | 
 | 126 | +:hidden:  | 
 | 127 | +
  | 
 | 128 | +getting-started  | 
 | 129 | +using-executorch-export  | 
 | 130 | +using-executorch-android  | 
 | 131 | +using-executorch-ios  | 
 | 132 | +using-executorch-cpp  | 
 | 133 | +using-executorch-runtime-integration  | 
 | 134 | +using-executorch-troubleshooting  | 
 | 135 | +using-executorch-building-from-source  | 
 | 136 | +using-executorch-faqs  | 
 | 137 | +```  | 
 | 138 | + | 
 | 139 | +```{toctree}  | 
 | 140 | +:glob:  | 
 | 141 | +:maxdepth: 1  | 
 | 142 | +:caption: Examples  | 
 | 143 | +:hidden:  | 
 | 144 | +
  | 
 | 145 | +Building an ExecuTorch Android Demo App <https://github.com/pytorch-labs/executorch-examples/tree/main/dl3/android/DeepLabV3Demo#executorch-android-demo-app>  | 
 | 146 | +demo-apps-ios.md  | 
 | 147 | +```  | 
 | 148 | + | 
 | 149 | +```{toctree}  | 
 | 150 | +:glob:  | 
 | 151 | +:maxdepth: 1  | 
 | 152 | +:caption: Backends  | 
 | 153 | +:hidden:  | 
 | 154 | +
  | 
 | 155 | +backends-overview  | 
 | 156 | +backends-xnnpack  | 
 | 157 | +backends-coreml  | 
 | 158 | +backends-mps  | 
 | 159 | +backends-vulkan  | 
 | 160 | +backends-arm-ethos-u  | 
 | 161 | +backends-qualcomm  | 
 | 162 | +backends-mediatek  | 
 | 163 | +backends-cadence  | 
 | 164 | +```  | 
 | 165 | + | 
 | 166 | +```{toctree}  | 
 | 167 | +:glob:  | 
 | 168 | +:maxdepth: 1  | 
 | 169 | +:caption: Developer Tools  | 
 | 170 | +:hidden:  | 
 | 171 | +
  | 
 | 172 | +devtools-overview  | 
 | 173 | +bundled-io  | 
 | 174 | +etrecord  | 
 | 175 | +etdump  | 
 | 176 | +runtime-profiling  | 
 | 177 | +model-debugging  | 
 | 178 | +model-inspector  | 
 | 179 | +memory-planning-inspection  | 
 | 180 | +delegate-debugging  | 
 | 181 | +devtools-tutorial  | 
 | 182 | +```  | 
 | 183 | + | 
 | 184 | +```{toctree}  | 
 | 185 | +:glob:  | 
 | 186 | +:maxdepth: 1  | 
 | 187 | +:caption: Runtime  | 
 | 188 | +:hidden:  | 
 | 189 | +
  | 
 | 190 | +runtime-overview  | 
 | 191 | +extension-module  | 
 | 192 | +extension-tensor  | 
 | 193 | +running-a-model-cpp-tutorial  | 
 | 194 | +runtime-backend-delegate-implementation-and-linking  | 
 | 195 | +runtime-platform-abstraction-layer  | 
 | 196 | +portable-cpp-programming  | 
 | 197 | +pte-file-format  | 
 | 198 | +```  | 
 | 199 | + | 
 | 200 | +```{toctree}  | 
 | 201 | +:glob:  | 
 | 202 | +:maxdepth: 1  | 
 | 203 | +:caption: API Reference  | 
 | 204 | +:hidden:  | 
 | 205 | +
  | 
 | 206 | +export-to-executorch-api-reference  | 
 | 207 | +executorch-runtime-api-reference  | 
 | 208 | +runtime-python-api-reference  | 
 | 209 | +api-life-cycle  | 
 | 210 | +Javadoc <https://pytorch.org/executorch/main/javadoc/>  | 
 | 211 | +```  | 
 | 212 | + | 
 | 213 | +```{toctree}  | 
 | 214 | +:glob:  | 
 | 215 | +:maxdepth: 1  | 
 | 216 | +:caption: Quantization  | 
 | 217 | +:hidden:  | 
 | 218 | +
  | 
 | 219 | +quantization-overview  | 
 | 220 | +```  | 
 | 221 | + | 
 | 222 | +```{toctree}  | 
 | 223 | +:glob:  | 
 | 224 | +:maxdepth: 1  | 
 | 225 | +:caption: Kernel Library  | 
 | 226 | +:hidden:  | 
 | 227 | +
  | 
 | 228 | +kernel-library-overview  | 
 | 229 | +kernel-library-custom-aten-kernel  | 
 | 230 | +kernel-library-selective-build  | 
 | 231 | +```  | 
 | 232 | + | 
 | 233 | +```{toctree}  | 
 | 234 | +:glob:  | 
 | 235 | +:maxdepth: 2  | 
 | 236 | +:caption: Working with LLMs  | 
 | 237 | +:hidden:  | 
 | 238 | +
  | 
 | 239 | +Llama <llm/llama>  | 
 | 240 | +Llama on Android <llm/llama-demo-android>  | 
 | 241 | +Llama on iOS <llm/llama-demo-ios>  | 
 | 242 | +Llama on Android via Qualcomm backend <llm/build-run-llama3-qualcomm-ai-engine-direct-backend>  | 
 | 243 | +Intro to LLMs in Executorch <llm/getting-started>  | 
 | 244 | +```  | 
 | 245 | + | 
 | 246 | +```{toctree}  | 
 | 247 | +:glob:  | 
 | 248 | +:maxdepth: 1  | 
 | 249 | +:caption: Backend Development  | 
 | 250 | +:hidden:  | 
 | 251 | +
  | 
 | 252 | +backend-delegates-integration  | 
 | 253 | +backend-delegates-xnnpack-reference  | 
 | 254 | +backend-delegates-dependencies  | 
 | 255 | +compiler-delegate-and-partitioner  | 
 | 256 | +debug-backend-delegate  | 
 | 257 | +```  | 
 | 258 | + | 
 | 259 | +```{toctree}  | 
 | 260 | +:glob:  | 
 | 261 | +:maxdepth: 1  | 
 | 262 | +:caption: IR Specification  | 
 | 263 | +:hidden:  | 
 | 264 | +
  | 
 | 265 | +ir-exir  | 
 | 266 | +ir-ops-set-definition  | 
 | 267 | +```  | 
 | 268 | + | 
 | 269 | +```{toctree}  | 
 | 270 | +:glob:  | 
 | 271 | +:maxdepth: 1  | 
 | 272 | +:caption: Compiler Entry Points  | 
 | 273 | +:hidden:  | 
 | 274 | +
  | 
 | 275 | +compiler-backend-dialect  | 
 | 276 | +compiler-custom-compiler-passes  | 
 | 277 | +compiler-memory-planning  | 
 | 278 | +```  | 
 | 279 | + | 
 | 280 | +```{toctree}  | 
 | 281 | +:glob:  | 
 | 282 | +:maxdepth: 1  | 
 | 283 | +:caption: Contributing  | 
 | 284 | +:hidden:  | 
 | 285 | +
  | 
 | 286 | +contributing  | 
 | 287 | +```  | 
0 commit comments