Hello,
I am trying to benchmark my dlc model on a OnePlus 6T using snpe_bench.py. The benchmarking works fine on the CPU and GPU but does not run on the DSP. I get the following trace:
ERROR - snpebm.snpebm_device: ['The selected runtime is not available on this platform. Continue anyway to observe the failure at network creation time.']
ERROR - snpebm.snpebm_device: ['Detected Symphony redirected with a file, using standard error for all debugging output', '\x1b[36mA tf45f9494 /home/host/build/arm-android-clang6.0/SecondParty/symphony/src/symphony/src/lib/internal/soc/qti_soc_freqs.h:28 Unable to read from /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies\x1b[0m', '\x1b[36mA tf45f9494 /home/host/build/arm-android-clang6.0/SecondParty/symphony/src/symphony/src/lib/internal/soc/topology.c:450 [WARNING] Unable to determine the GPU topology. All power control for GPU will be silently ignored.\x1b[0m', 'error_code=500; error_message=Target runtime is not available. No viable runtimes available.; error_component=Host Runtime; line_no=311; thread_id=-195062636']
Digging into adb logcat I get the following error messages:
D /data/local/tmp/snpebm/artifacts/arm-android-clang6.0/bin/snpe-net-run: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/fastrpc_apps_user.c:1638: Error 0x68: apps_dev_init failed. domain 3, errno Permission denied
D /data/local/tmp/snpebm/artifacts/arm-android-clang6.0/bin/snpe-net-run: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/fastrpc_apps_user.c:1722: Error 68: open dev -1 for domain 3 failed
D /data/local/tmp/snpebm/artifacts/arm-android-clang6.0/bin/snpe-net-run: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/fastrpc_apps_user.c:958: Error 3b: remote handle64 open failed. name file:///libsnpe_dsp_v65_domains_v2_skel.so?snpe_dsp_domains_v2_skel_handle_invoke&_modver=1.0&_dom=cdsp
D /data/local/tmp/snpebm/artifacts/arm-android-clang6.0/bin/snpe-net-run: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/fastrpc_apps_user.c:550: Error 1d: verify local handle failed. handle 0xff8e1458
D /data/local/tmp/snpebm/artifacts/arm-android-clang6.0/bin/snpe-net-run: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/fastrpc_apps_user.c:565: Error 1d: get domain from handle failed. handle 0xff8e1480
D /data/local/tmp/snpebm/artifacts/arm-android-clang6.0/bin/snpe-net-run: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/fastrpc_apps_user.c:873: Error 1d: remote handle64 invoke failed. domain 3, handle 0xff8e14c0, sc 7000100, pra 0xff8e14e8
V /data/local/tmp/snpebm/artifacts/arm-android-clang6.0/bin/snpe-net-run: vendor/qcom/proprietary/commonsys-intf/adsprpc/src/fastrpc_apps_user.c:1463: fastrpc_shell_3 load failed 45, searching...
E libc : Access denied finding property "vendor.fastrpc.process.attrs"
E libc : Access denied finding property "vendor.fastrpc.debug.trace"
E adsprpc : src/rpcmem_android.c:180:rpcmem: use of RPCMEM_HEAP_DEFAULT/RPCMEM_DEFAULT_HEAP is deprecated,
E adsprpc : please use RPCMEM_HEAP_ID_SYSTEM for SMMU memory and RPCMEM_HEAP_ID_CONTIG for CMA memory
E adsprpc : src/rpcmem_android.c:377::Error: 8000046b: 0 < rpcmem_ionfd
E adsprpc : src/rpcmem_android.c:417:Error 0x8000046b (errno 0xd): rpc contig allocation failed. size 0xd57cc, heap_mask 0x2000000, flags 0x80000000
E adsprpc : src/rpcmem_android.c:197::error: -2147482517: 0 == (nErr = rpcmem_contig_alloc(m, heap_mask, rpc_flags, ion_flags, size, &po))
E adsprpc : src/rpcmem_android.c:222:Error 0x8000046b: ION mem alloc failed for size 0xd57cc, heapid -1, flags 0x80000000
There seems to be some issue with adsprpc. I have followed the steps here https://developer.qualcomm.com/docs/snpe/dsp_runtime.html and set up the ADSP_LIBRARY_PATH environment. I have also verified that all the directories in the path exist. I'm not sure what could be the cause of the error.
Any help would be appreciated. Thank you.
Hi, BlueFish6543:
Has this problem been solved? I has the same problem.
thanks.
I saw the error related message from fastrpc guide file.( Page 27)
https://usermanual.wiki/Pdf/80N70392FASTRPCDEBUGGUIDE.399075392/view
The guide file pointed out this error occurs because the GLINK/SMD channel was not opened for the channel (aDSP/cDSP/mDSP). Check whether the DSP is up and running without any issues.
But I still don't know how to deal with it.
Any solution for this yet? I'm getting the same exact problem when trying to run on DSP. CPU and GPU run fine.
In my case, it is because of the OS type. Try running snpe_benchmark.py with -t "android-aarch64"