pytorch / pytorch/executorch

Support exporting QNN models with Python wheels out-of-the-box

Open
#9,474 1 comment 2 reactions 1 assignee View on GitHub

@cccclai is already working on this.

Since Mar 20, 2025.

module: build/install partner: qualcomm
Dominant language
Python
Stars
5k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
581

Description

As part of https://github.com/pytorch/executorch/issues/9019, we recently added CoreML export support "out of the box" for the executorch pip package: https://github.com/pytorch/executorch/pull/9483. Developers can now export to CoreML backend, by just pip installing executorch — previously this required cloning the ExecuTorch repo, and building everything from source. We anticipate this to encourage ET adopting for CoreML.

We want to provide the same developer experience when exporting models to Android on Qualcomm chips.

Currently, this requires developers to manually download the QNN SDK, clone the ExecuTorch repo, and build everything from source. Similar to CoreML, we should bundle this requirement into ExecuTorch. Given the QNN library is currently only distributed as a zip file, here are some potential next steps:

  • [Option 1] [Preferred] Ideally, Qualcomm should provide the SDK through pip so we can just include that as a dependency. This is what we currently do with CoreML
  • [Option 2] [Preferred] While we wait for Qualcomm, we can temporarily bundle the library into executorch. This will require permission from Qualcomm
  • [Option 3] [Not ideal] At the very least, we should automate downloading the SDK in the build script

cc @larryliu0820 @cccclai @winskuo-quic @shewu-quic @cbilgin @lucylq

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.