Simplify qualcomm qnn backend setup
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5k
- Forks
- 1.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 581
Description
🚀 The feature, motivation and pitch
As we try to move to a place where QNN SDK does not need to be downloaded, explicitly, from user, we want the setup to be simplified as well. At the moment we need to do two things. 1 setup QNN_SDK_ROOT and 2 change LD_LIBRARY_PATH https://github.com/pytorch/executorch/blob/main/docs/source/backends-qualcomm.md#setup-environment-variables. Neither of the two should be needed. Specifically the second part. If QNN_SDK_ROOT is already available why do we not use that to set this path. Specifically change https://github.com/pytorch/executorch/blob/main/backends/qualcomm/utils/utils.py#L1036 to query the QNN_SDK_ROOT to set the path. SImilar to here https://github.com/pytorch/executorch/blob/main/backends/qualcomm/utils/utils.py#L1176.
However, more importantly, I would like users to not even have to setup QNN_SDK_ROOT. When we get to a point where SDK is downloaded automatically, we should set this path ourselves.
cc: @cccclai @shewu-quic
Alternatives
No response
Additional context
No response
RFC (Optional)
No response
cc @cccclai @cbilgin
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in backends/qualcomm/utils/utils.py at the referenced locations around lines 1036 and 1176, then read the setup instructions in docs/source/backends-qualcomm.md. Determine how the current environment variables are consumed and define completion for both deriving the library path from QNN_SDK_ROOT and the longer-term automatic SDK setup, without leaving the setup behavior ambiguous.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot, machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100