基于MindStudio进行算子开发的工程创建方式请参见《MindStudio 用户指南》中的“自定义算子开发 > 工程创建”章节。
算子工程主要目录结构如下所示,请在对应目录下进行算子交付件的开发。
当前版本MindStudio不支持原始框架为Caffe的自定义算子开发。
├── cmake //编译相关公共文件存放目录
├── framework //算子插件实现文件目录
│ ├── tf_plugin //存放tensorflow框架的算子插件文件及编译规则文件,若“Plugin Framework”为“PYTORCH”,不会生成此目录
│ │ ├── tensorflow_xx_plugin.cc //xx为算子类型,TBE算子示例为add,AI CPU算子为reshape_cust
│ │ ├── CMakeLists.txt //编译规则文件,会被上级目录中的CMakeLists.txt文件调用
│ └── onnx_plugin //原始框架类型为ONNX时生成的算子适配插件代码所在目录
│ ├── CMakeLists.txt
│ └── conv2_d_plugin.cc //算子适配插件实现文件
│ ├── CMakeLists.txt //编译规则文件,会被算子工程根目录中的CMakeLists.txt文件调用
├── op_proto //算子IR定义文件目录
│ ├── xx.cc //xx为算子类型,TBE算子示例为add,AI CPU算子为reshape_cust
│ ├── xx.h //xx为算子类型,TBE算子示例为add,AI CPU算子为reshape_cust
│ ├── CMakeLists.txt //编译规则文件,会被算子工程根目录的CMakeLists.txt文件调用
├── scripts //工程相关脚本
├── tbe //TBE算子文件目录
│ ├── impl //算子实现文件目录
│ │ ├── xx.py
│ ├── op_info_cfg //算子信息库文件目录
│ │ ├── ai_core
│ │ │ ├── {soc_version} //对应昇腾AI处理器版本目录下存放算子信息库定义文件xx.ini
│ │ │ │ ├── xx.ini
├── .project //工程信息文件,包含工程类型、工程描述、运行目标设备类型以及ADK版本
├── CMakeLists.txt
├── MyOperator.iml