算子信息库定义
原理
算子信息库作为算子开发的交付件之一,主要体现算子在昇腾AI处理器上的具体实现规格,包括算子支持输入输出type、name等信息。网络运行时,根据算子信息库中的算子信息做基本校验,并进行算子匹配。
配置说明
进入“cpukernel/op_info_cfg/aicpu_kernel”目录,配置算子信息库文件“reshape_cust.ini”。开发者需要基于MindStudio自动生成的reshape_cust.ini文件进行修改,修改后的ReshapeCust算子的算子信息定义如下所示。
[ReshapeCust] opInfo.engine=DNN_VM_AICPU opInfo.flagPartial=False opInfo.computeCost=100 opInfo.flagAsync=False opInfo.opKernelLib=CUSTAICPUKernel opInfo.kernelSo=libcust_aicpu_kernels.so opInfo.functionName=RunCpuKernel opInfo.workspaceSize=1024
参数说明请参见表1。下表仅列出常用的算子信息库配置项,其他配置项请参见《算子开发指南》的“算子开发过程 > 算子信息库定义 > AI CPU 算子信息库”章节。
| 信息 | ReshapeCust算子配置 | 说明 | 
|---|---|---|
| [OpType] | [ReshapeCust] | 算子类型,以英文半角范括号,标识一个算子信息开始,根据算子分析,算子类型为ReshapeCust。 | 
| opInfo.engine | DNN_VM_AICPU | 配置算子调用的引擎。 AI CPU自定义算子的引擎固定为“DNN_VM_AICPU”。 | 
| opInfo.flagPartial | False | 此字段为预留字段,请保持固定值“False”。 | 
| opInfo.computeCost | 100 | 此字段为预留字段,请保持固定值“100”。 | 
| opInfo.flagAsync | False | 此字段为预留字段,请保持固定值“False”。 | 
| opInfo.opKernelLib | CUSTAICPUKernel | 配置算子调用的kernelLib。 AI CPU自定义算子调用的kernelLib固定为“CUSTAICPUKernel”。 | 
| opInfo.kernelSo | libcust_aicpu_kernels.so | 配置AI CPU算子编译生成的so的名称。 | 
| opInfo.functionName | RunCpuKernel | 配置自定义算子调用的kernel函数接口名称。 自定义算子的kernel函数接口固定为“RunCpuKernel”。 | 
| opInfo.workspaceSize | 1024 | 此字段为预留字段。 配置为内存空间,用于分配算子临时计算的内存。 单位为KB,取值范围为:0~1048576(1G)。 建议配置为:1024 |