Closed
Description
Title
Error: input 3 is none
when running Llama example in QNN ExecuTorch on Android
Description
I followed the instructions in the [Llama2 README](https://github.com/pytorch/executorch/blob/main/examples/qualcomm/oss_scripts/llama2/README.md) to run the llama.py
script using QNN ExecuTorch on Android. The execution process fails with the error input 3 is none
, and metadata seems to be read from the model twice during execution.
Steps to Reproduce
-
Environment setup:
- QNN SDK version: 2.26.0.240828
- Platform: Qualcomm SM8650
- Android NDK: r26d
-
Run the following command:
python llama.py -b executorch/build-android -s 112dhb -m SM8650 \ --ptq 16a4w --checkpoint stories110M.pt --params params.json \ --tokenizer_model tokenizer.model --tokenizer_bin tokenizer.bin \ --prompt "what is python?" \ --pre_gen_pte executorch/examples/qualcomm/oss_scripts/llama2/llama2_qnn/
LOG
I 00:00:00.001788 executorch:runner.cpp:65] Creating LLaMa runner: model_path=llama2_qnn.pte, tokenizer_path=tokenizer.bin
[INFO] [Qnn ExecuTorch]: create QNN Logger with log_level 2
[WARNING] [Qnn ExecuTorch]: <W> Initializing HtpProvider
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
[INFO] [Qnn ExecuTorch]: Initialize Qnn backend parameters for Qnn executorch backend type 2
[INFO] [Qnn ExecuTorch]: Caching: Caching is in RESTORE MODE.
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
[INFO] [Qnn ExecuTorch]: Running level=3 optimization.
I 00:00:00.269470 executorch:runner.cpp:80] Reading metadata from model
I 00:00:00.269729 executorch:runner.cpp:139] get_vocab_size: 32000
I 00:00:00.269816 executorch:runner.cpp:139] get_bos_id: 1
I 00:00:00.269872 executorch:runner.cpp:139] get_eos_id: 2
I 00:00:00.269926 executorch:runner.cpp:139] get_n_bos: 1
I 00:00:00.269977 executorch:runner.cpp:139] get_n_eos: 1
I 00:00:00.270026 executorch:runner.cpp:139] get_max_seq_len: 1024
I 00:00:00.270081 executorch:runner.cpp:139] get_head_dim: 64
I 00:00:00.270129 executorch:runner.cpp:139] get_dim: 768
[INFO] [Qnn ExecuTorch]: Destroy Qnn backend parameters
[INFO] [Qnn ExecuTorch]: Destroy Qnn context
[INFO] [Qnn ExecuTorch]: Destroy Qnn device
[INFO] [Qnn ExecuTorch]: Destroy Qnn backend
[WARNING] [Qnn ExecuTorch]: <W> qnnOpPackageManager: hexagon unload op package function pointer is nullptr!
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
[INFO] [Qnn ExecuTorch]: create QNN Logger with log_level 2
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
[INFO] [Qnn ExecuTorch]: Initialize Qnn backend parameters for Qnn executorch backend type 2
[INFO] [Qnn ExecuTorch]: Caching: Caching is in RESTORE MODE.
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
[INFO] [Qnn ExecuTorch]: Running level=3 optimization.
I 00:00:14.273970 executorch:runner.cpp:80] Reading metadata from model
I 00:00:14.274117 executorch:runner.cpp:139] get_vocab_size: 32000
I 00:00:14.274138 executorch:runner.cpp:139] get_bos_id: 1
I 00:00:14.274154 executorch:runner.cpp:139] get_eos_id: 2
I 00:00:14.274169 executorch:runner.cpp:139] get_n_bos: 1
I 00:00:14.274186 executorch:runner.cpp:139] get_n_eos: 1
I 00:00:14.274203 executorch:runner.cpp:139] get_max_seq_len: 1024
I 00:00:14.274217 executorch:runner.cpp:139] get_head_dim: 64
I 00:00:14.274230 executorch:runner.cpp:139] get_dim: 768
E 00:00:14.286718 executorch:module.cpp:185] input 3 is none
[INFO] [Qnn ExecuTorch]: Destroy Qnn backend parameters
[INFO] [Qnn ExecuTorch]: Destroy Qnn context
[INFO] [Qnn ExecuTorch]: Destroy Qnn device
[INFO] [Qnn ExecuTorch]: Destroy Qnn backend
[WARNING] [Qnn ExecuTorch]: <W> qnnOpPackageManager: hexagon unload op package function pointer is nullptr!
[WARNING] [Qnn ExecuTorch]: <W> Function not called, PrepareLib isn't loaded!
/data/local/tmp/jds/executorch/single_llama/outputs/: 1 file pulled.
Results[0]:
Finish the running pre_gen_pte from /home/jds/executorch/examples/qualcomm/oss_scripts/llama2/llama2_qnn/
So I found there is no output in my output file.
adb logcat
BTW I also notice that there is some fastrpc error: (maybe I don't have the root)
01-11 14:54:55.560 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:3592: Error 0xd: open_shell failed for domain 3 search paths used are /dsp/, /vendor/dsp/, /vendor/dsp/xdsp/ (errno Permission denied)
01-11 14:54:55.599 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /odm/lib/rfsa/adsp : errno is Permission denied
01-11 14:54:55.599 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /vendor/lib/rfsa/adsp/ : errno is Permission denied
01-11 14:54:55.599 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /system/vendor/lib/rfsa/adsp : errno is Permission denied
01-11 14:54:55.599 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /vendor/lib64/rfs/dsp : errno is Permission denied
01-11 14:54:55.599 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /vendor/lib/rfsa/adsp : errno is Permission denied
01-11 14:54:55.610 9667 9669 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0xd: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x1f050100
01-11 14:54:55.639 9667 9669 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0xd: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x1f050100
01-11 14:54:55.640 9667 9669 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0x2: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x13050100
01-11 14:54:55.656 9667 9669 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0xd: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x1f050100
01-11 14:54:55.657 9667 9669 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0x2: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x13050100
01-11 14:54:55.712 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:1473: Error 0x80000414: remote_handle64_invoke failed for handle 0xb4000079eace8210, method 3 on domain 3 (sc 0x3010100) (errno Success)
01-11 14:54:55.909 9667 9671 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/fastrpc_notif.c:57:Error 0xc: notif_fastrpc_thread FastRPC notification worker thread exited for domain 3 (errno Success), notif_domain_deinit started 0
01-11 14:54:55.926 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:3592: Error 0xd: open_shell failed for domain 3 search paths used are /dsp/, /vendor/dsp/, /vendor/dsp/xdsp/ (errno Permission denied)
01-11 14:54:55.959 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /odm/lib/rfsa/adsp : errno is Permission denied
01-11 14:54:55.959 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /vendor/lib/rfsa/adsp/ : errno is Permission denied
01-11 14:54:55.959 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /system/vendor/lib/rfsa/adsp : errno is Permission denied
01-11 14:54:55.959 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /vendor/lib64/rfs/dsp : errno is Permission denied
01-11 14:54:55.959 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/log_config.c:605:Error : Unable to add watcher for folder /vendor/lib/rfsa/adsp : errno is Permission denied
01-11 14:54:55.969 9667 9674 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0xd: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x1f050100
01-11 14:54:55.993 9667 9674 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0xd: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x1f050100
01-11 14:54:55.993 9667 9674 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0x2: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x13050100
01-11 14:54:56.007 9667 9674 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0xd: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x1f050100
01-11 14:54:56.008 9667 9674 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/mod_table.c:863: Error 0x2: open_mod_table_handle_invoke failed for handle:0x63df7da8, sc:0x13050100
01-11 14:54:56.053 9667 9667 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:1473: Error 0x80000414: remote_handle64_invoke failed for handle 0xb4000079eacc04c0, method 3 on domain 3 (sc 0x3010100) (errno Success)
01-11 14:55:16.853 9667 9676 E qnn_llama_runner: vendor/qcom/proprietary/adsprpc/src/fastrpc_notif.c:57:Error 0xc: notif_fastrpc_thread FastRPC notification worker thread exited for domain 3 (errno Success), notif_domain_deinit started 0
I wonder if it is necessary to get the root to deploy our model?