如何把导出的NPU case code 编译成android平台的可执行文件?

Hi jasonl:
这个问题有办法定位吗?如何解决?这会影响我们对方案的评估。

你要确定libjpeg_t.so 有没有编译进去,我们也是用这个sdk 编译出来的啊

HI:
我不太明白您的意思,vxIdentifyGraphInputsAndOutputs和libjpeg_t.so有什么关系,请问有确认这版aml_npu_sdk_6.4.0.10中android sdk是没问题的吗?

Hi:
还有你们测试ok的android固件是那版的?我在vim3_pie_v200319这版固件验证,把两个.so放到vendor/lib,能成功找到,但libovxlib.so还要找vxIdentifyGraphInputsAndOutputs的实现,希望我们是在讨论同一个问题。

链接:https://pan.baidu.com/s/1dJw5W2stCc1sJvCDPJ5Wnw
提取码:5ch5
你用我编的执行文件试下把

您好,我在運行可執行檔的時候也遇到一些問題。我是把兩個.so文件放在/system/lib下面的。但是還是會報錯說找不到一些庫。請問可以提供相關的庫給我們嗎?

1|console:/ # vnn_inception
CANNOT LINK EXECUTABLE “vnn_inception”: library “libpthread.so.0” not found
1|console:/ #
1|console:/ #

你用0624 的固件试下,这个执行文件在0624 上跑过

感謝您的建議,我燒入0624的固件現在可以跑起來了。請問0624版本的固件和191122版本的固件有什麼不同?是否可以提供Android SDK裡的相關修改,因為我們需要編譯我們自己的image,謝謝!

@freda 191122的版本和0622的版本的NPU的驱动是不一样的,使用SDK时,驱动和库要使用对应的版本

我是 OPEN AI LAB 的 Tengine 团队一员,目前 Tengine 已经支持一筐可以跑 NPU 的模型。
初步性能可以看知乎 Tengine 支持 AML、RK NPU 第1篇
不同的是我们使用的 ovxlib 是较高版本的,无法和 VIM3/VIM3L 默认匹配。NPU 部分开源还在计划中。使用 Tengine 的局限比 nbg 小得多,也方便的多。如果项目不急,可以等等或关注 Tengine

具体就是 galcore.ko 和 libovxlib.so,以及其他一些 libovxlib 关联的 so. 在板上可以用 readelf libovxlib.so -d 看到.

论坛的 @ larrylart 同学的站内贴 里面提供的 github 指出了这些 so,在封装你们自己的 image 时注意这些就行。
见:https://github.com/larrylart/codrive/tree/master/hw_sampling/vim3_npu/lib

你好,你们的ovxlib版本是多少的?我们目前有一个新的版本还没有更新出来。

6.4.2.1, 低于此版本不记得的某一个以上 op 是有 bug 的。
低于 6.4.1.0 (似乎是这个版本号),API 是不可用的。

6.4.2.1这个版本我们是计划这个月更新的。

嗯,更新了就可以不用替换了。
此外 vulkan 有计划吗?我们测试过 S922X(ODROID) 的 Mali G52,性能还是很强的。对于一些用户来说,可以并行跑俩条 pipeline 是很有意义的。

vulkan你说的是linux的还是Android的呢?

Linux 的,尽管从反馈上看是 Android 目前仍然是主力,但由于一些原因,Linux 被问的比较多。

vulkan目前在linux上是没有的,似乎有一些license的问题。

我替換了相關的庫,但是跑起來報了一個Create graph fail.的錯誤,請問這個是什麼原因引起的?或者你這邊可以提供適配191122版本的NPU SDK?

vnn_inceptionv3 inception_v3.nb goldfish_299x299.jpg <
D [vsi_nn_kernel_backend_register:50]INIT backends map minimum
E [vnn_CreateInceptionV3:171]Create graph fail.
E [vnn_CreateNeuralNetwork:174]CHECK PTR 174
E [main:207]CHECK PTR 207
255|console:/cache #

@freda 安卓这边的你要问 @jasonl