基于MindStudio

基于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