pytorch / pytorch/executorch

qnn_executor_runner - mismatch in the skel files ?

Open
#15,978 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

hi,

im testing qnn_executor_runner on s25 ultra,
a Snapdragon 8 Gen 4 processor.

it seems qnn backend choses libQnnHtpV79Skel.so as the backend

but these messages seem to point to some mismatch ? it tries to call hmx_v73_convf16 ?
i.e. shouldnt it call hmx_v79_convf16 ?

V b037a:4006: CDSP0:[R]: Process "/frpc/f05c4930 qnn_executor_ru" crashed in thread "nn_3e56a57b" due to TLBMISS RW occurrence
2025-11-25 16:48:18.994 2314-2320 adsprpc cdsprpcd V b037a:4006: CDSP0:[R]: Crashed Shared Object "./libQnnHtpV79Skel.so" load address : 0x01000000
2025-11-25 16:48:18.994 2314-2320 adsprpc cdsprpcd V b037a:4006: CDSP0:[R]: [<015E5C3C>] hmx_v73_convf16_NxN_stride1+0x3C53C: (./libQnnHtpV79Skel.so)
2025-11-25 16:48:18.994 2314-2320 adsprpc cdsprpcd V b037a:4006: CDSP0:[R]: [<015E5C38>] hmx_v73_convf16_NxN_stride1+0x3C538: (./libQnnHtpV79Skel.so)
2025-11-25 16:48:18.994 2314-2320 adsprpc cdsprpcd V b037a:4006: CDSP0:[R]: [<015E5D74>] hmx_v73_convf16_NxN_stride1+0x3C674: (./libQnnHtpV79Skel.so)
2025-11-25 16:48:18.994 2314-2320 adsprpc cdsprpcd V b037a:4006: CDSP0:[R]: [<01546168>] continue_execution_bkgrnd_thread+0xA8: (./libQnnHtpV79Skel.so)
2025-11-25 16:48:18.994 2314-2320 adsprpc cdsprpcd V b037a:4006: CDSP0:[R]: [<0120EC94>] _ZN5Graph18exec_bkgrnd_workerEP12HexagonNNEnvPS_N9GraphData8ListTypeEN4hnnx3OsSE+0xD4: (./libQnnHtpV79Skel.so)
2025-11-25 16:48:18.994 2314-2320 adsprpc cdsprpcd V b037a:4006: CDSP0:[R]: [<01219EA0>] _ZNK5Graph31ubwcd_get_corresponding_surfaceEPKv+0x9E0: (./libQnnHtpV79Skel.so)

and output from adb shell
#./qnn_executor_runner --model_path ./my_model_fp16.pte --input_list_path ./raw_list.txt

[INFO] [Qnn ExecuTorch]: Deserializing processed data using QnnContextCustomProtocol
[INFO] [Qnn ExecuTorch]: create QNN Logger with log_level 1
[INFO] [Qnn ExecuTorch]: Initialize Qnn backend parameters for Qnn executorch backend type 2
[INFO] [Qnn ExecuTorch]: Caching: Caching is in RESTORE MODE.
[INFO] [Qnn ExecuTorch]: QnnContextCustomProtocol expected magic number: 0x5678abcd but get: 0x2000000
[INFO] [Qnn ExecuTorch]: Running level=1 optimization.
I 00:00:00.150474 executorch:qnn_executor_runner.cpp:313] Method loaded.
E 00:00:00.156807 executorch:method.cpp:1274] Output 0 is memory planned, or is a constant. Cannot override the existing data pointer.
I 00:00:00.156838 executorch:qnn_executor_runner.cpp:373] ignoring error from set_output_data_ptr(): 0x2
E 00:00:00.157118 executorch:method.cpp:1274] Output 1 is memory planned, or is a constant. Cannot override the existing data pointer.
I 00:00:00.157144 executorch:qnn_executor_runner.cpp:373] ignoring error from set_output_data_ptr(): 0x2
E 00:00:00.158031 executorch:method.cpp:1274] Output 2 is memory planned, or is a constant. Cannot override the existing data pointer.
I 00:00:00.158057 executorch:qnn_executor_runner.cpp:373] ignoring error from set_output_data_ptr(): 0x2
I 00:00:00.158069 executorch:qnn_executor_runner.cpp:376] Inputs prepared.
I 00:00:00.158198 executorch:qnn_executor_runner.cpp:382] Number of inputs: 1
I 00:00:00.178327 executorch:qnn_executor_runner.cpp:490] Perform 0 inference for warming up
I 00:00:00.178343 executorch:qnn_executor_runner.cpp:496] Start inference (0)
[ERROR] [Qnn ExecuTorch]: QnnDsp DspTransport call failed, error 0x00000010

[ERROR] [Qnn ExecuTorch]: QnnDsp Error from rpc transport

[ERROR] [Qnn ExecuTorch]: QnnDsp Graph forward failed in execution with err 1003

[ERROR] [Qnn ExecuTorch]: qnn_graph_execute failed. Error 1003
E 00:00:00.192908 executorch:QnnExecuTorchBackend.cpp:176] Fail to execute graph
E 00:00:00.192912 executorch:method.cpp:1426] CALL_DELEGATE execute failed at instruction 0: 0x1
I 00:00:00.192924 executorch:qnn_executor_runner.cpp:514] 1 inference took 14.576000 ms, avg 14.576000 ms
F 00:00:00.192943 executorch:qnn_executor_runner.cpp:519] In function main(), assert failed (status == Error::Ok): Execution of method forward failed with status 0x1
Aborted

cc @cccclai @winskuo-quic @shewu-quic @haowhsu-quic @DannyYuyang-quic @cbilgin

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.

Research direction

Start with qnn_executor_runner.cpp and reproduce the shown command on the Snapdragon 8 Gen 4 device, comparing the QNN transport error with the DSP crash trace. Determine whether libQnnHtpV79Skel.so calling hmx_v73_convf16 is expected, and document the cause and resolution of the failed inference.

Written by the indexing model from the issue text.

Assessment

Domain
machine-learning, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.