算子入图概述
图模式是神经网络模型的一种运行模式,在图模式下开发者首先将模型的计算过程构造成一张图,然后通过GE将图下发到Kirin硬件执行。相对于单个算子依次下发的方式,图模式下,GE可以通过计算图优化、多流并行、内存复用、模型下沉等技术手段,加速模型执行效率,减少模型内存占用。
算子入图的开发流程如下图所示,算子工程创建完成后,基于工程代码框架完成算子原型定义、Kernel侧算子实现、Host侧Tiling实现并完成算子入图开发,通过工程编译脚本完成算子的编译部署,之后即可基于图IR执行算子,比如单算子模型执行或者IR构图的方式调用自定义算子。该开发流程以工程化算子开发为基础,除了需要提供算子实现中的算子实现文件外,还需要额外交付算子入图的代码文件。

-
环境准备。
-
算子实现。
- 算子原型定义实现。通过原型定义来描述算子输入输出、属性等信息以及算子在AI处理器上相关实现信息,并关联Tiling实现等函数。
- Kernel侧算子实现和Host侧Tiling实现请参考算子实现;工程化算子开发,支持开发者调用Tiling API基于DDK提供的编程框架进行Tiling开发,Kernel侧也提供对应的接口方便开发者获取Tiling参数,具体内容请参考Kernel侧算子实现和Host侧Tiling实现,由此而带来的额外约束也在上述章节说明。
-
开发流程。算子入图场景下,需要提供shape推导等算子入图适配函数的实现。
-
算子编译安装。通过工程编译脚本完成算子的编译安装。
-
图编译和图执行。基于图IR执行算子,比如单算子模型执行或者IR构图的方式调用自定义算子。
HarmonyOS Next暂不支持图编译与图执行,仅支持通过AI框架算子适配方式集成算子。