blob: e685f4cebedb5fda7eb58d9de20e9aac4c27782f [file] [log] [blame]
.. _home:
Welcome to the ExecuTorch Documentation
=======================================
.. important::
This is a preview version of ExecuTorch and should be used for testing
and evaluation purposes only. It is not recommended for use in production
settings. We welcome any feedback, suggestions, and bug reports from the
community to help us improve the technology. Please use the `PyTorch
Forums <https://discuss.pytorch.org/c/executorch>`__ for discussion and
feedback about ExecuTorch using the **ExecuTorch** category, and our `GitHub
repository <https://github.com/pytorch/executorch/issues>`__ for bug
reporting.
.. raw:: html
<div class="et-page-column-row">
<div class="et-page-column1"><p><strong>ExecuTorch</strong> is a PyTorch platform that provides infrastructure to run PyTorch programs everywhere from AR/VR wearables to standard on-device iOS and Android mobile deployments. One of the main goals for ExecuTorch is to enable wider customization and deployment capabilities of the PyTorch programs.</p>
<p>ExecuTorch heavily relies on such PyTorch technologies as <a href="https://pytorch.org/docs/stable/torch.compiler.html">torch.compile</a> and <a href="https://pytorch.org/docs/main/export.html">torch.export</a>. If you are not familiar with these APIs, you might want to read about them in the PyTorch documentation before diving into the ExecuTorch documentation.</p></div>
<div class="et-page-column2"><img src="_static/img/ExecuTorch-Logo-cropped.svg" alt="ExecuTorch logo" title="ExecuTorch logo"></div>
</div>
The ExecuTorch source is hosted on GitHub at
https://github.com/pytorch/executorch.
Getting Started
~~~~~~~~~~~~~~~
Topics in this section will help you get started with ExecuTorch.
.. grid:: 3
.. grid-item-card:: :octicon:`file-code;1em`
What is ExecuTorch?
:img-top: _static/img/card-background.svg
:link: intro-overview.html
:link-type: url
A gentle introduction to ExecuTorch. In this section,
you will learn about main features of ExecuTorch
and how you can use them in your projects.
.. grid-item-card:: :octicon:`file-code;1em`
Getting started with ExecuTorch
:img-top: _static/img/card-background.svg
:link: getting-started-setup.html
:link-type: url
A step-by-step tutorial on how to get started with
ExecuTorch.
.. grid-item-card:: :octicon:`file-code;1em`
ExecuTorch Intermediate Representation API
:img-top: _static/img/card-background.svg
:link: ir-exir.html
:link-type: url
Learn about EXIR, a graph-based intermediate
representation (IR) of PyTorch programs.
.. toctree::
:glob:
:maxdepth: 1
:caption: Introduction
:hidden:
intro-overview
concepts
intro-how-it-works
.. toctree::
:glob:
:maxdepth: 1
:caption: Getting Started
:hidden:
getting-started-architecture
getting-started-setup
runtime-build-and-cross-compilation
.. toctree::
:glob:
:maxdepth: 1
:caption: Tutorials
:hidden:
tutorials/export-to-executorch-tutorial
running-a-model-cpp-tutorial
tutorials/sdk-integration-tutorial
demo-apps-ios
demo-apps-android
examples-end-to-end-to-lower-model-to-delegate
tutorial-xnnpack-delegate-lowering
..
Alphabetical by backend name. Be sure to keep the same order in the
customcarditem entries below.
executorch-arm-delegate-tutorial
build-run-coreml
build-run-mps
build-run-qualcomm-ai-engine-direct-backend
build-run-xtensa
.. toctree::
:glob:
:maxdepth: 1
:caption: Exporting to ExecuTorch
:hidden:
export-overview
.. toctree::
:glob:
:maxdepth: 1
:caption: API Reference
:hidden:
export-to-executorch-api-reference
executorch-runtime-api-reference
.. toctree::
:glob:
:maxdepth: 1
:caption: IR Specification
:hidden:
ir-exir
ir-ops-set-definition
.. toctree::
:glob:
:maxdepth: 1
:caption: Compiler Entry Points
:hidden:
compiler-delegate-and-partitioner
compiler-backend-dialect
compiler-custom-compiler-passes
compiler-memory-planning
.. toctree::
:glob:
:maxdepth: 1
:caption: Runtime
:hidden:
runtime-overview
runtime-backend-delegate-implementation-and-linking
runtime-platform-abstraction-layer
portable-cpp-programming
pte-file-format
.. toctree::
:glob:
:maxdepth: 1
:caption: Quantization
:hidden:
quantization-overview
.. toctree::
:glob:
:maxdepth: 1
:caption: Kernel Library
:hidden:
kernel-library-overview
kernel-library-custom-aten-kernel
kernel-library-selective-build
.. toctree::
:glob:
:maxdepth: 1
:caption: Backend Delegates
:hidden:
native-delegates-executorch-xnnpack-delegate
backend-delegates-integration
backend-delegates-dependencies
.. toctree::
:glob:
:maxdepth: 1
:caption: SDK
:hidden:
sdk-overview
sdk-bundled-io
sdk-etrecord
sdk-etdump
sdk-profiling
sdk-debugging
sdk-inspector
sdk-delegate-integration
sdk-tutorial
Tutorials and Examples
~~~~~~~~~~~~~~~~~~~~~~
Ready to experiment? Check out some of the
ExecuTorch tutorials.
.. customcardstart::
.. customcarditem::
:header: Exporting to ExecuTorch Tutorial
:card_description: A tutorial for exporting a model and lowering a it to be runnable on the ExecuTorch runtime.
:image: _static/img/generic-pytorch-logo.png
:link: tutorials/export-to-executorch-tutorial.html
:tags: Export,Delegation,Quantization
.. customcarditem::
:header: Running an ExecuTorch Model C++ Tutorial
:card_description: A tutorial for setting up memory pools, loading a model, setting inputs, executing the model, and retrieving outputs on device.
:image: _static/img/generic-pytorch-logo.png
:link: running-a-model-cpp-tutorial.html
:tags:
.. customcarditem::
:header: Using the ExecuTorch SDK to Profile a Model
:card_description: A tutorial for using the ExecuTorch SDK to profile and analyze a model with linkage back to source code.
:image: _static/img/generic-pytorch-logo.png
:link: tutorials/sdk-integration-tutorial.html
:tags: SDK
.. customcarditem::
:header: Building an ExecuTorch iOS Demo App
:card_description: A demo tutorial that explains how to build ExecuTorch into iOS frameworks and run an iOS app.
:image: _static/img/demo_ios_app.jpg
:link: demo-apps-ios.html
:tags: Delegation,iOS
.. customcarditem::
:header: Building an ExecuTorch Android Demo App
:card_description: A demo tutorial that explains how to build ExecuTorch into a JNI library and build an Android app.
:image: _static/img/android_app.png
:link: demo-apps-android.html
:tags: Delegation,Android
.. customcarditem::
:header: Lowering a Model as a Delegate
:card_description: An end-to-end example showing how to lower a model as a delegate
:image: _static/img/generic-pytorch-logo.png
:link: examples-end-to-end-to-lower-model-to-delegate.html
:tags: Export,Delegation
..
First-party backends that are good intros for readers.
.. customcarditem::
:header: Building and Running ExecuTorch with XNNPACK Backend
:card_description: A demo tutorial for lowering and exporting models with the XNNPACK Backend
:image: _static/img/generic-pytorch-logo.png
:link: tutorial-xnnpack-delegate-lowering.html
:tags: Export,Backend,Delegation,Quantization,XNNPACK
..
Alphabetical by backend name. Be sure to keep the same order in the Tutorials
toctree entry above.
.. customcarditem::
:header: Building and Running ExecuTorch with ARM Ethos-U Backend
:card_description: A tutorial that walks you through the process of building ExecuTorch with ARM Ethos-U Backend
:image: _static/img/generic-pytorch-logo.png
:link: executorch-arm-delegate-tutorial.html
:tags: Export,Backend,Delegation,ARM,Ethos-U
.. customcarditem::
:header: Building and Running ExecuTorch with CoreML Backend
:card_description: A tutorial that walks you through the process of building ExecuTorch with CoreML Backend
:image: _static/img/generic-pytorch-logo.png
:link: build-run-coreml.html
:tags: Export,Backend,Delegation,CoreML
.. customcarditem::
:header: Building and Running ExecuTorch with MPS Backend
:card_description: A tutorial that walks you through the process of building ExecuTorch with MPSGraph Backend
:image: _static/img/generic-pytorch-logo.png
:link: build-run-mps.html
:tags: Export,Backend,Delegation,MPS,MPSGraph
.. customcarditem::
:header: Building and Running ExecuTorch with Qualcomm AI Engine Direct Backend
:card_description: A tutorial that walks you through the process of building ExecuTorch with Qualcomm AI Engine Direct Backend
:image: _static/img/generic-pytorch-logo.png
:link: build-run-qualcomm-ai-engine-direct-backend.html
:tags: Export,Backend,Delegation,QNN
.. customcarditem::
:header: Building and Running ExecuTorch on Xtensa HiFi4 DSP
:card_description: A tutorial that walks you through the process of building ExecuTorch for an Xtensa Hifi4 DSP using custom operators
:image: _static/img/generic-pytorch-logo.png
:link: build-run-xtensa.html
:tags: Export,Custom-Operators,DSP,Xtensa
.. customcardend::