SDK GTI SDK (Gyrfalcon Technology Inc.'s Artificial Intelligence network Software Development Kit)包括用于GTI系列芯片解决方案的硬件驱动库和支 持库,可用于构建定制的AI网络和推理应用程序。 此文档是适用于5.0及更高版本的SDK,5.0以下的版本请访问旧的wiki:NCC S1 SDK内容 GTI SDK分为: Linux x86_64包:支持Linux x86_64和Android (armeabi-v7a和arm64-v8a) Linux armv7l包:支持Linux armv7l Linux aarch64包:支持Linux aarch64 Windows10 x84_64包(不做支持) 每个包中包含对应CPU架构的系统的App demo和所需的模型与数据,可在"Apps" 目录中找到。 Tools目录会有如芯片测试、模型解包打包等工具。 节点与设置 SPR 2801S 板载的SPR 2801S的节点为"/dev/sgx"(USB连接的NPU,x为一整数,由系统分配 ),GTI SDK v5.x需要将"max_sectors"设置为"2048"。 可以通过以下参考命令 临时设置: # 需要root权限 find /sys/devices/ -name max_sectors -exec sh -c 'echo 2048 > "$1"' _ {} \; chmod 777 /dev/sg* 或者参考下文的 自动设置 。 SPR 5801S SPR 5801S的节点为"/dev/bus/usb/00x/00x"(x为一整数,每次开机都会变), 具体的节点通过"lsusb"可找到,如: firefly@firefly:~$ lsusb Bus 006 Device 002: ID 300c:5801 Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 003: ID 1c4f:0016 SiGma Micro Bus 001 Device 002: ID 1a40:0201 Terminus Technology Inc. FE 2.1 7-port Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 其中ID为300c:5801的usb即为SPR 5801s设备,可知道此时的设备节点为 "/dev/bus/usb/006/002"。 可以通过以下参考命令临时设置权限: chmod 777 /dev/bus/usb/* -R 或者参考下文的 自动设置 。 自动设置 Linux 在Linux下通过udev可以设置GTI NPU默认的权限和属性,规则文件在Lib/Linux/ 对应的CPU架构下可找到,如Lib/Linux/aarch64。 将规则文件复制到 "/etc/udev/rules.d/",然后执行"udevadm control --reload-rules && udevadm trigger"或者重启。 如: sudo cp Lib/Linux/aarch64/*.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules sudo udevadm trigger # 或 sudo reboot 通过此设置系统会自动设置GTI NPU的权限,不需要手动去设置了。 Android 待添加...