# 算子入图概述

图模式是神经网络模型的一种运行模式，在图模式下开发者首先将模型的计算过程构造成一张图，然后通过GE将图下发到Kirin硬件执行。相对于单个算子依次下发的方式，图模式下，GE可以通过计算图优化、多流并行、内存复用、模型下沉等技术手段，加速模型执行效率，减少模型内存占用。

算子入图的开发流程如下图所示，算子工程创建完成后，基于工程代码框架完成算子原型定义、Kernel侧算子实现、Host侧Tiling实现并完成算子入图开发，通过工程编译脚本完成算子的编译部署，之后即可基于图IR执行算子，比如单算子模型执行或者IR构图的方式调用自定义算子。该开发流程以工程化算子开发为基础，除了需要提供算子实现中的算子实现文件外，还需要额外交付算子入图的代码文件。

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