基于MindStudio
基于MindStudio进行算子开发的工程创建方式请参见《MindStudio 用户指南》中的“算子开发 > 创建算子工程”章节。
框架为TensorFlow、PyTorch、ONNX、Caffe时的算子工程主要目录结构如下所示,请在对应目录下进行算子交付件的开发。
├── cmake //编译相关公共文件存放目录
├── cpukernel //AI CPU算子文件目录
│ ├── impl //算子实现文件目录
│ │ ├── reshape_cust_kernel.cc //算子源文件
│ │ ├── reshape_cust_kernel.h //算子头文件
│ ├── op_info_cfg //算子信息库文件目录
│ │ ├── aicpu_kernel
│ │ │ ├── reshape_cust.ini //算子信息定义文件
│ ├── CMakeLists.txt //编译规则文件,会被算子工程根目录中的CMakeLists.txt文件调用
│ ├── toolchain.cmake
├── framework //算子插件实现文件目录
│ ├── tf_plugin //原始框架为TensorFlow时生成的算子适配插件代码所在目录
│ │ ├── tensorflow_xx_plugin.cc
│ │ ├── CMakeLists.txt
│ ├── caffe_plugin //原始框架类型为Caffe时生成的算子适配插件代码所在目录
│ │ ├── caffe_xx_plugin.cc
│ │ ├── CMakeLists.txt
│ └── onnx_plugin //原始框架类型为ONNX时生成的算子适配插件代码所在目录
│ ├── CMakeLists.txt
│ └── xx_plugin.cc
│ ├── CMakeLists.txt
├── op_proto //算子原型定义文件目录
│ ├── xx.cc
│ ├── xx.h
│ ├── CMakeLists.txt
├── op_tiling //算子tiling实现文件目录,不涉及tiling实现的算子无需关注
│ ├── CMakeLists.txt
├── scripts //工程相关脚本
├── tbe //TBE算子文件目录
│ ├── impl //算子实现文件目录
│ │ ├── xx.py
│ ├── op_info_cfg //算子信息库文件目录
│ │ ├── ai_core
│ │ │ ├── {soc_version} //对应昇腾AI处理器版本目录下存放算子信息库定义文件xx.ini
│ │ │ │ ├── xx.ini
├── .project //工程信息文件,包含工程类型、工程描述、运行目标设备类型以及CANN版本
├── xx_READEME.md //介绍算子基本功能、基本信息和主要的算子工程
├── CMakeLists.txt
├── MyOperator.iml
框架为MindSpore时的工程目录结构和主要文件如下所示:
├── .idea ├── mindspore │ ├── impl //算子实现文件目录 │ │ ├── xx_impl.py //实现算子和注册算子信息 py文件 ├── op_proto │ ├── xx.py //算子原语py文件 ├── .project //工程信息文件,包含工程类型、工程描述、运行目标设备类型以及CANN版本 ├── xx_READEME.md //介绍算子基本功能、基本信息和主要的算子工程 ├── MyOperator.iml
针对AI CPU算子,当前版本不支持原始框架类型为Caffe的算子工程创建。
父主题: 工程创建