pytorch/executorch

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 50 minutes ago
Added to GitGenius on January 31st, 2026
Created on February 25th, 2022
Open Issues & Pull Requests: 1,266 (-1)
Number of forks: 1,119
Total Stargazers: 4,943 (+0)
Total Subscribers: 76 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.4 hours
Mean response time: 16.0 days
90th percentile: 22.4 days
Tracked items: 2,169

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 85% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 63% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 914
New in 7 days: 17
Closed in 7 days: 10
Avg open age: 238 days
Stale 30+ days: 848
Stale 90+ days: 755

Recent activity

Opened in 7 days: 16
Closed in 7 days: 4
Comments in 7 days: 17
Events in 7 days: 97

Top labels

  • triaged (954)
  • module: qnn (166)
  • module: build/install (147)
  • partner: qualcomm (146)
  • partner: arm (128)
  • module: xnnpack (127)
  • module: user experience (122)
  • module: kernels (109)

Detailed Description

ExecuTorch is PyTorch's unified runtime for deploying machine learning models directly on edge devices, ranging from smartphones and tablets to embedded systems and microcontrollers. The project addresses the challenge of running AI inference on-device while maintaining privacy, performance, and portability without requiring manual C++ rewrites or vendor lock-in. The framework powers production deployments across Meta's family of applications including Instagram, WhatsApp, Quest 3, and Ray-Ban Meta Smart Glasses, demonstrating its maturity and real-world viability at scale.

The core workflow follows an ahead-of-time compilation approach. Users export PyTorch models using torch.export() to capture the model graph, then compile the model through quantization and optimization passes before partitioning to hardware-specific backends, producing a standardized .pte binary file. This compiled model is then executed on-device through a lightweight C++ runtime with a 50KB base footprint. The architecture uses a standardized Core ATen operator set, allowing partitioners to delegate computationally intensive subgraphs to specialized hardware accelerators like NPUs and GPUs while maintaining CPU fallback capabilities.

ExecuTorch supports deployment across multiple platforms and hardware backends. On Android, it integrates with XNNPACK, Vulkan, Qualcomm, MediaTek, and Samsung Exynos. iOS deployment leverages XNNPACK, CoreML, and the Neural Engine. Linux and Windows support includes XNNPACK, OpenVINO, and experimental CUDA acceleration. Embedded and microcontroller deployments can use XNNPACK, ARM Ethos-U, NXP, and Cadence DSP. This multi-backend approach enables developers to export a single model and switch hardware targets with minimal code changes.

The repository demonstrates significant community engagement and active maintenance.

ExecuTorch provides comprehensive tooling for production deployment including quantization support via torchao for 8-bit, 4-bit, and dynamic quantization, memory planning for ahead-of-time allocation optimization, and developer tools such as the ETDump profiler and ETRecord inspector. The framework supports selective builds to minimize binary size by stripping unused operators, custom operator extension for domain-specific kernels, and dynamic shape handling with bounded ranges. The project includes extensive examples covering large language models like Llama 3.2, Qwen 3, and Phi-4-mini, multimodal models including Llava for vision-language tasks and Voxtral for audio-language capabilities, and traditional computer vision models like MobileNetV2, DeepLabV3, and YOLO26.

The documentation ecosystem is comprehensive, with guides covering step-by-step tutorials, Colab notebooks for immediate experimentation, and detailed backend integration documentation for custom hardware support. Community engagement occurs through GitHub Discussions, a dedicated Discord server, and a contributing guide that outlines codebase structure and contribution processes. The project is distributed via PyPI, making installation straightforward for Python developers seeking to integrate on-device AI capabilities into their applications.