哪儿能找到aml_npu_sdk

在仓库 GitHub - khadas/aml_npu_sdk 中Linux SDK 被删除了。
哪儿能找到aml_npu_sdk? 我在NPU示例程序中,看到从需要从/usr/local/npu/sdk/include找SDK接口文件,但安装了Linux 固件(ubuntu20.04)后,并没有在系统中找到 /usr/local/npu/这个目录。如何安装npu SDK?

注:我买的是VIM3 2G内存的板子

Galcore version 6.4.0.229426

@liangbch 你好,最新的版本已经移除了这个Linux SDK,文档中对这个问题做了描述。

现所有demo都支持local编译,因此Linux SDK不再需要,已经移除。请更新代码和你的系统到最新的版本,使用最新的SDK

我是想在板子上编译使用NPU的demo程序,如 aml_npu_app 仓库下的detect_library/sample_demo_x11,但板子上的sdk在哪儿?是预先安装好了,还是需要手工安装?我板子上的操作系统是Ubuntu 20.04.3 LTS,内核是 Linux Khadas 4.9.224

@liangbch 在板子上编译不需要SDK,你编译过么?你参考文档编译了么?

按照文档,拉取了https://github.com/khadas/aml_npu_demo_binaries,但是发现里面编译后的程序在我的板子上用不了。然后试图编译源代码,拉取源代码 https://github.com/khadas/aml_npu_app,发现各种找不着。关键是文档中没有告诉去哪儿去找SDK(或许是我遗漏了某些部分)。下面说一下,我解决问题的经历。
以aml_npu_app下的detect_library/model_code/detect_yolo_v4的为例

问题1:
在build_vx.sh 脚本中,定义了VANTE_SDK_INC=/usr/share/npu/sdk/include,VIVANTE_SDK_LIB
但/usr/share/npu/sdk/include目录不存在。

我的尝式之一:
改为/usr/include, 发现形如vx_**.h 这的文件的组织到同一个目录中了,而#include语句是带有子目录的。完全不能使用。
之所有改为使用/usr/include,是我发现用命令“dpkg -L aml-npu”查找时,发现有“/usr/include/vx_api.h”

我的尝式之二:
后拉取 https://github.com/VeriSilicon/TIM-VX.git,发现只能在host端编译。
在运行cmake期间,得到一个目录aarch64_A311D_6.4.8,这可能是npu的SDK

我的尝式之二:
然后,修改VIVANTE_SDK_INC和VIVANTE_SDK_LIB,指向aarch64_A311D_6.4.8下的inlcude和lib.发现,仍有问题。

我的尝式之三:
最后,在build_vx.sh文件增加了以下定义

export OVXLIB_DIR=/home/khadas/work/TIM-VX/src/tim/vx/internal
export TIM_VX_SDK_DIR=/home/khadas/work/TIM-VX-SDK

并修改"makefile.linux"
将 “LIBS += -L$(OVXLIB_DIR)/lib -l ovxlib”
改为 “LIBS += -L$(TIM_VX_SDK_DIR)/lib -l tim-vx”

才最终编过。

@liangbch

意思是预编译的仓库运行不了么?

这个仓库编译不需要依赖,你试过什么都不改直接编译么?不能编译过?我刚刚才试过,mnakefile里面有一些定义不需要使用到,保留是方便我们调试用

不修改编不过。可能你的电脑已经安装了相应的包,所以编得过。比如,不修改直接编译,显示
COMPILE /home/lbc/work/VIM3/aml_npu_app/DDK_6.3.3.4/detect_library/model_code/detect_yolo_v4/yolo_v4.c
In file included from ./include/yolo_v4.h:4,
from yolo_v4.c:1:
./include/vnn_global.h:9:10: fatal error: vsi_nn_pub.h: 没有那个文件或目录
9 | #include “vsi_nn_pub.h”

另外。预编译后的可执行程序(运行在板子上的)依赖libge2d.so 和libion.so。我的系统没有这两个so, 不知去哪找这两个动态库。

预编译后的可执行程序来自 GitHub - khadas/aml_npu_demo_binaries

你使用的是什么版本的固件? 是最新的固件么 ?我怀疑你没有使用最新的固件

确实不是最新的。昨天试图下载最新的固件,但总是失败,只好下载旧的。今天,用另一台机器,成功的下载的新的固件,试了下,可以直接编译,不再有各种找不到文件的问题了。