Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
common/ | 12-May-2024 | - | 134 | 71 | ||
example/ | 12-May-2024 | - | 7,028 | 5,271 | ||
figures/ | 12-May-2024 | - | ||||
frameworks/ | 12-May-2024 | - | 15,231 | 10,613 | ||
interfaces/ | 12-May-2024 | - | 2,658 | 431 | ||
test/ | 12-May-2024 | - | 31,865 | 19,660 | ||
.gitignore | D | 12-May-2024 | 178 | 20 | 16 | |
BUILD.gn | D | 12-May-2024 | 782 | 24 | 20 | |
LICENSE | D | 12-May-2024 | 10.1 KiB | 177 | 150 | |
OAT.xml | D | 12-May-2024 | 1.6 KiB | 35 | 15 | |
README_zh.md | D | 12-May-2024 | 3.4 KiB | 65 | 46 | |
bundle.json | D | 12-May-2024 | 1.5 KiB | 50 | 50 | |
neural-network-runtime-guidelines.md | D | 12-May-2024 | 20.7 KiB | 491 | 392 |
README_zh.md
1# Neural Network Runtime 2 3## 简介 4 5Neural Network Runtime(NNRt, 神经网络运行时)是面向AI领域的跨芯片推理计算运行时,作为中间桥梁连通上层AI推理框架和底层加速芯片,实现AI模型的跨芯片推理计算。 6 7如图1所示,NNRt开放北向Native接口供AI推理框架接入,当前NNRt对接了系统内置的[MindSpore Lite](https://gitee.com/openharmony/third_party_mindspore)推理框架。同时NNRt开放南向HDI接口,供端侧AI加速芯片(如NPU、DSP等)接入OpenHarmony硬件生态。AI应用通过AI推理框架和NNRt能直接使用底层芯片加速推理计算。 8 9Neural Network Runtime与MindSpore Lite使用MindIR统一模型的中间表达,减少中间过程不必要的模型转换,使得模型传递更加高效。 10 11通常,AI应用、AI推理引擎、Neural Network Runtime处在同一个进程下,芯片驱动运行在另一个进程下,两者之间需要借助进程间通信(IPC)传递模型和计算数据。Neural Network Runtime根据HDI接口实现了HDI客户端,相应的,芯片厂商需要根据HDI接口实现并开放HDI服务。 12 13**图1** Neural Network Runtime架构图 14!["Neural Network Runtime架构图"](./figures/neural_network_runtime_intro.png) 15 16## 目录 17 18```text 19/foundation/ai/neural_network_runtime 20├── common # 公共功能 21├── figures # README引用的图片目录 22├── example # 开发样例目录 23│ ├── deep_learning_framework # 应用/推理框架开发样例存放目录 24│ └── drivers # 设备驱动开发样例存放目录 25├── frameworks 26│ └── native # 框架代码存放目录 27│ └── ops # 算子头文件和实现存放目录 28├── interfaces # 接口存放目录 29│ ├── innerkits # 系统内部接口文件存放目录 30│ └── kits # 对外开放接口文件存放目录 31└── test # 测试用例存放目录 32 ├── system_test # 系统测试用例存放目录 33 └── unittest # 单元测试用例存放目录 34``` 35 36## 编译构建 37 38在OpenHarmony源码根目录下,调用以下指令,单独编译Neural Network Runtime。 39```shell 40./build.sh --product-name rk3568 --ccache --build-target neural_network_runtime --jobs 4 41``` 42> **说明:** 43--product-name:产品名称,例如Hi3516DV300、rk3568等。 44--ccache:编译时使用缓存功能。 45--build-target: 编译的部件名称。 46--jobs:编译的线程数,可加速编译。 47 48## 说明 49 50### 接口说明 51 52Native接口文档请参考:[Native接口](https://gitee.com/openharmony-sig/interface_native_header/pulls/182)。 53 54HDI接口文档请参考:[HDI接口](https://gitee.com/openharmony-sig/interface_native_header/pulls/179)。 55 56### 使用说明 57 58- AI推理引擎/应用开发请参考:[Neural Network Runtime应用开发指导](./neural-network-runtime-guidelines.md)。 59- AI加速芯片驱动/设备开发请参考:[Neural Network Runtime设备开发指导](./example/drivers/README_zh.md)。 60 61## 相关仓 62 63- [**neural_network_runtime**](https://gitee.com/openharmony-sig/neural_network_runtime) 64- [third_party_mindspore](https://gitee.com/openharmony/third_party_mindspore) 65