昇腾社区首页
中文
注册

基于算子样例

命令行场景下,开发者可以直接基于Ascend开源社区中提供的自定义算子样例工程进行修改,追加自定义算子。

样例获取

单击GiteeGithub,进入Ascend samples开源仓,参见README中的“版本说明”下载配套版本的sample包,从“cplusplus/level1_single_api/4_op_dev/1_custom_op”目录中获取样例。

如无权限获取代码,请联系技术支持申请加入“Ascend”组织。

目录结构介绍

算子工程目录结构如下所示,请基于如下规则在对应目录下进行算子交付件的开发:

├── cpukernel
│   ├── impl                  //存放算子实现文件xx.h与xx.cc
│   ├── op_info_cfg
│       ├── aicpu_kernel
│           ├── xx.ini  //算子信息库定义文件xx.ini
├── framework    
│   ├── xx_plugin   //存放算子适配插件实现文件xx.cc
├── op_proto         //存放原型定义文件xx.h与xx.cc
  • 若开发者需要自定义多个AI CPU算子,需要在同一算子工程中进行实现,对应实现文件按照如上规则进行存放,并将所有自定义算子在同一工程中同时进行编译,将所有AI CPU自定义算子的实现文件编译成一个动态库文件。

    编译方法请参见算子工程编译

  • 若开发者需要同时开发AI CPU算子与TBE算子,也需要在同一算子工程中进行实现和编译,关于TBE算子的开发,请参见TBE自定义算子开发指南