前几天我写了这个一代的SDK的内容(好像是两天前),但是意犹未尽,隔靴搔痒,今天继续深入挖掘。
intel NCS 1代SDK<-----传送门
右边是安装的脚本,左边是下载的安装文件,也就是依赖的so库
继续看
API的枚举信息,其实我喜欢C了变得,比CPP纯粹好多
对应的结果
最后返回的结果
v1的API不多,就这几个
初始化的函数里面其实是在USB的接口处做文章
不管怎么说都是一个USB的设备
看一个USB设备的写操作,通过trasfer函数发送出去
#define USB_MAX_PACKET_SIZE 1024 * 1024 * 10
以及USB rule的安装
可以写一个简单的demo,调用函数来寻找注册到的设备:
函数的实现
在内部重新的对函数堆栈进行清空
到返回值是OK就可以继续执行以下的程序了。
Python的demo就很简单了
不过这个是V1的API,功能很弱:
https://movidius.github.io/ncsdk/ncapi/ncapi2/c_api/readme.html
V2就可以使用了
这个东西的原理大概是,在通用的计算机上构建一个图神经网络模型,就好像是水管一样,真真正正的的耗算力的地方是将数据注入,NCS其实工作就是把这个图模型放到芯片上去单独的运行。这也就是频繁的出现Graph的原因。