Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ xcuserdata/
/include/
/share/
/version.py
*.csv
*_etdump

# Android
Expand Down
2 changes: 1 addition & 1 deletion backends/xnnpack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,4 +134,4 @@ create an issue on [github](https://www.github.com/pytorch/executorch/issues).
## See Also
For more information about the XNNPACK Backend, please check out the following resources:
- [XNNPACK Backend](https://pytorch.org/executorch/main/backends-xnnpack)
- [XNNPACK Backend Internals](https://pytorch.org/executorch/main/backend-delegates-xnnpack-reference)
- [XNNPACK Backend Internals](https://pytorch.org/executorch/main/backends/xnnpack/backend-delegates-xnnpack-reference)
5 changes: 0 additions & 5 deletions docs/source/backend-delegate-advanced.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@

- {doc}`backend-delegates-integration` — Learn how to integrate a backend delegate into ExecuTorch

## XNNPACK Reference

- {doc}`backend-delegates-xnnpack-reference` — Deep dive into XNNPACK delegate internals and implementation details

## Dependency Management

- {doc}`backend-delegates-dependencies` — Manage third-party dependencies for backend delegates
Expand All @@ -27,7 +23,6 @@
:maxdepth: 1
backend-delegates-integration
backend-delegates-xnnpack-reference
backend-delegates-dependencies
compiler-delegate-and-partitioner
debug-backend-delegate
1 change: 0 additions & 1 deletion docs/source/backend-development.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
:maxdepth: 1

backend-delegates-integration
backend-delegates-xnnpack-reference
backend-delegates-dependencies
compiler-delegate-and-partitioner
debug-backend-delegate
Expand Down
32 changes: 16 additions & 16 deletions docs/source/backends-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ Backends are the bridge between your exported model and the hardware it runs on.

## Choosing a Backend

| Backend | Platform(s) | Hardware Type | Typical Use Case |
|------------------------------------------|---------------------|---------------|---------------------------------|
| [XNNPACK](backends-xnnpack) | All | CPU | General-purpose, fallback |
| [Core ML](backends-coreml) | iOS, macOS | NPU/GPU | Apple devices, high performance |
| [Metal Performance Shaders](backends-mps)| iOS, macOS | GPU | Apple GPU acceleration |
| [Vulkan ](backends-vulkan) | Android | GPU | Android GPU acceleration |
| [Qualcomm](backends-qualcomm) | Android | NPU | Qualcomm SoCs |
| [MediaTek](backends-mediatek) | Android | NPU | MediaTek SoCs |
| [ARM EthosU](backends-arm-ethos-u) | Embedded | NPU | ARM MCUs |
| [ARM VGF](backends-arm-vgf) | Android | NPU | ARM platforms |
| [OpenVINO](build-run-openvino) | Embedded | CPU/GPU/NPU | Intel SoCs |
| [NXP](backends-nxp) | Embedded | NPU | NXP SoCs |
| [Cadence](backends-cadence) | Embedded | DSP | DSP-optimized workloads |
| [Samsung Exynos](backends-samsung-exynos)| Android | NPU | Samsung SoCs |
| Backend | Platform(s) | Hardware Type | Typical Use Case |
|-----------------------------------------------------------|---------------------|---------------|---------------------------------|
| [XNNPACK](/backends/xnnpack/xnnpack-overview) | All | CPU | General-purpose, fallback |
| [Core ML](backends-coreml) | iOS, macOS | NPU/GPU | Apple devices, high performance |
| [Metal Performance Shaders](backends-mps) | iOS, macOS | GPU | Apple GPU acceleration |
| [Vulkan ](backends-vulkan) | Android | GPU | Android GPU acceleration |
| [Qualcomm](backends-qualcomm) | Android | NPU | Qualcomm SoCs |
| [MediaTek](backends-mediatek) | Android | NPU | MediaTek SoCs |
| [ARM EthosU](backends-arm-ethos-u) | Embedded | NPU | ARM MCUs |
| [ARM VGF](backends-arm-vgf) | Android | NPU | ARM platforms |
| [OpenVINO](build-run-openvino) | Embedded | CPU/GPU/NPU | Intel SoCs |
| [NXP](backends-nxp) | Embedded | NPU | NXP SoCs |
| [Cadence](backends-cadence) | Embedded | DSP | DSP-optimized workloads |
| [Samsung Exynos](backends-samsung-exynos) | Android | NPU | Samsung Socs |

**Tip:** For best performance, export a `.pte` file for each backend you plan to support.

Expand All @@ -46,11 +46,11 @@ Backends are the bridge between your exported model and the hardware it runs on.
---

```{toctree}
:maxdepth: 1
:maxdepth: 3
:hidden:
:caption: Backend Overview

backends-xnnpack
backends/xnnpack/xnnpack-overview
backends-coreml
backends-mps
backends-vulkan
Expand Down
182 changes: 0 additions & 182 deletions docs/source/backends-xnnpack.md

This file was deleted.

53 changes: 53 additions & 0 deletions docs/source/backends/template/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Backend Documentation Template

This template provides a standardized structure and starting point for backend documentation. It is intended to provide a uniform experience for users while allowing for backends to customize their documentation as needed.

## Template Structure

The template includes the following files:

### Required Pages

- `backend-overview.md` - Main backend overview and introduction

### Recommended Pages

- `backend-quantization.md` - Quantization support and API documentation
- `backend-partitioner.md` - Partitioner API reference
- `op-support.csv` - Operator support data in CSV format

### Optional Pages (and Subsections)

- `backend-troubleshooting.md` - Common issues and troubleshooting guide
- `backend-op-support.rst` - Operator support documentation (RST format)
- `backend-arch-internals.md` - Architecture and internals documentation
- `tutorials/backend-tutorials.md` - Tutorial sub-section
- Use this sub-section to provide tutorials for your backend.
- Tutorials should explain how a user can accomplish a task, in a step by step manner.
- Some examples might include:
- An end to end example of lowering and running a model on a specific platform.
- `tutorials/backend-guides.md` - Guides sub-section
- Use this sub-section to provide guides or how-tos for backend-specific functionality.
- Guides should focus on providing information and building conceptual understanding, rather than giving step by step directions.
- Some examples might include:
- LLM attention management / static attention
- Performance optimization guide

## Using the Template

To use this template for a new backend:

1. Copy the entire `template` directory contents to your backend's documentation directory
2. Rename files to match your backend name (e.g., `backend-overview.md` → `mybackend-overview.md`)
3. Populate the content for your backend.

### Additional Customization

You may need to:
- Add backend-specific sections to any file
- Remove sections that don't apply to your backend
- Update the operator support CSV with your backend's supported operators
- Add backend-specific images or diagrams
- Update cross-references and links

Try to keep the landing page (`backend-overview.md`) simple and straigtforward. Use the child pages and sections to provide more detailed information.
8 changes: 8 additions & 0 deletions docs/source/backends/template/backend-arch-internals.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# {BACKEND_NAME} Architecture and Internals

This page covers internal implementation details of the backend, and is mainly aimed at contributors and heavy power users. This is an optional page for each backend and has no set structure.

Some topics to consider:
* High-level design of the backend
* Details on the lowering flow
* Internal debugging tools and techniques
13 changes: 13 additions & 0 deletions docs/source/backends/template/backend-op-support.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
================
Operator Support
================

This page lists the operators supported by the {BACKEND_NAME} backend. Operators are the building blocks of the ML model. See `IRs <https://docs.pytorch.org/docs/stable/torch.compiler_ir.html>`_ for more information on the PyTorch operator set.

{OPERATOR_SUPPORT_NOTES}

.. csv-table:: Operator Support
:file: op-support.csv
:header-rows: 1
:widths: 20 15 30 30
:align: center
Loading
Loading