Forums - snpe-net-run doesnt work on device

4 posts / 0 new
Last post
snpe-net-run doesnt work on device
anhtu.nguyen
Join Date: 22 Jun 22
Posts: 11
Posted: Sun, 2022-10-02 05:38

Hello,

I'm developing an UDO for my network to run on device (aarch64-oe-linux-gcc9.3). The implemmentation works perfectly when I tested on my host pc in x86.

When I tried to use snpe-net-run to run my network with my UDO implementation on the device (i tried all runtimes), it stated that there is no libc.so, libm.so, and libdl.so on my device. Knowing that my device is in linux and i found libc.so.6 (glibc) on my device.

 

 

 

  • Up0
  • Down0
sanjjey.a.sanjjey
Join Date: 17 May 22
Posts: 55
Posted: Sun, 2022-10-02 22:59

Hi

Try to run the snpe-net-run command, where your .so file is present. 

  • Up0
  • Down0
anhtu.nguyen
Join Date: 22 Jun 22
Posts: 11
Posted: Mon, 2022-10-03 02:57

Hi,

I think it is not this case. The libc.so, libm.so and libdl.so are the C packages and they have nothing to do with my  running because they should be dynamically linked to my .so during the compilation of UDO package. In my opinion, the problem comes from the way qualcomm compiles the packages.

More precisely: When we compile UDO package for DSP runtime, SNPE uses android-ndk to compile the Registry file (libUDO...Reg.so). The android-ndk uses his own libc, libm and libdl (called bionic libc which are more suitable for mobile device) during the compilation. On linux, we dont have bionic libc (libm or libdl) but GNU libc (libm, libdl). That's why when i do snpe-net-run with the libUDO...Reg.so, SNPE tries to find dynamic linked libraries during the compilation (bionic libc, libm and libdl) which dont exist on linux system.

My solution: Compile my own libUDO...Reg.so using cross-compiler.  

  • Up0
  • Down0
weihuan
Join Date: 12 Apr 20
Posts: 270
Posted: Sat, 2022-10-29 23:26

Dear developer,

SNPE has some scripts to check the environments. Please help to take a look at the relating SNPE docs for more details.

BR.

Wei

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.