pytorch/executorch

On-device AI across mobile, embedded and edge for PyTorch

What it solves

ExecuTorch provides a unified, PyTorch-native way to deploy AI models locally on edge devices. It eliminates the complexity of converting models to different formats for every single piece of hardware, allowing developers to run high-performance inference on everything from smartphones and laptops to wearables and microcontrollers.

How it works

ExecuTorch uses a torch.export workflow to capture a PyTorch model and then optimizes it for a specific target. This process creates a backend-specific .pte file that can be executed by a lightweight runtime. The system allows for partitioned hardware acceleration, where specific parts of the model graph are delegated to a GPU, NPU, or DSP, while keeping portable CPU kernels as a fallback.

Who it’s for

It is designed for AI engineers and embedded systems developers who need to run PyTorch models on-device without sacrificing performance or native PyTorch integration.

Highlights

  • Broad Hardware Support: Supports Android, iOS, macOS, Linux, Windows, WebAssembly, and embedded systems like Arm Cortex-M and Arduino.
  • PyTorch-Native: Works directly from torch.export, maintaining source mappings for easier debugging.
  • Right-Sized Runtime: Allows selective builds to include only the necessary operators and kernels, reducing the binary size for constrained devices.
  • Diverse Workload Support: Optimized for local LLMs, voice (speech recognition/synthesis), multimodal models, and computer vision.
  • Enterprise Scale: Powers on-device AI for Meta's apps like Instagram, WhatsApp, and Facebook.

Related

  • Project
  • Project
  • Project
  • Project
  • Project