下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

基于算子样例

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

样例获取

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

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

目录结构介绍

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

├── custom.proto    // 原始框架为Caffe的自定义算子的proto定义文件    
├── build.sh       //  工程编译入口脚本 
├── cpukernel      // AI CPU算子实现文件及信息库文件所在目录
│   ├── impl                  //存放算子实现文件xx.h与xx.cc
│   ├── op_info_cfg
│       ├── aicpu_kernel
│           ├── xx.ini  //算子信息库定义文件xx.ini
├── framework      //算子插件实现文件目录,框架为“PYTORCH”的算子无需关注
│   ├── CMakeLists.txt
│   ├── caffe_plugin    //Caffe算子适配插件实现代码及CMakeLists文件所在目录
│       ├── CMakeLists.txt 
│       ├── xx_plugin.cc 
│   ├── tf_plugin    //TensorFlow算子适配插件实现代码及CMakeLists文件所在目录
│       ├── CMakeLists.txt 
│       ├── xx_plugin.cc 
│   ├── onnx_plugin    //ONNX算子适配插件实现代码及CMakeLists文件所在目录
│       ├── CMakeLists.txt 
│       ├── xx_plugin.cc 
│   ├── tf_scope_fusion_pass    //Parser Scope融合规则实现代码及CMakeLists文件所在目录
│       └── xx_pass.h
│       └── xx_pass.cc
│       └── CMakeLists.txt
├── op_proto     //算子原型定义文件及CMakeLists文件所在目录   
│   ├── xx.h
│   ├── xx.cc
│   ├── CMakeLists.txt   //算子IR定义文件的CMakeLists.txt,会被算子工程的CMakeLists.txt调用
├── tbe 
│   ├── CMakeLists.txt   
│   ├── custom_impl    //算子实现文件目录
│   │      ├── xx.py
│   │      ├── __init__.py      //Python中的package标识文件
│   ├── op_info_cfg   //算子信息库文件目录
│       └── ai_core
│           ├── {Soc Version}           //昇腾AI处理器类型
│               ├── xx.ini
│   ├── testcase   
│       ├── tf1.15_test  //基于TensorFlow 1.15的算子测试文件目录,此目录下代码仅支持在昇腾910 AI处理器上运行
│           ├── op_name                      //单算子网络测试代码
│              ├── tf_xx.py
│       ├── tf2.6_test  //基于TensorFlow 2.6的算子测试文件目录,此目录下代码仅支持在昇腾910 AI处理器上运行
│           ├── op_name                      //单算子网络测试代码
│              ├── tf_xx.py
├── cmake 
│   ├── config.cmake
│   ├── util                // 编译相关公共文件存放目录
│       ├── makeself       //编译相关公共文件存放目录
├── scripts     //自定义算子工程打包相关脚本
├── tools

PyTorch框架的适配代码不在此算子工程中,需要基于PyTorch框架源码进行适配代码的开发,详情请参见适配插件开发(PyTorch框架)

  • 若开发者需要自定义多个算子,需要在同一算子工程中进行实现,对应实现文件按照如上规则进行存放,并将所有自定义算子在同一工程中同时进行编译。

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

  • 样例工程中同时包含了原始框架为TensorFlowCaffe的TBE算子与AI CPU算子样例,算子工程编译部署时,会将所有样例工程中的算子部署到算子库中。若样例算子与用户算子冲突,请自行删除对应目录下的样例算子。
  • 关于TensorFlow的Parser Scope融合规则开发的详细介绍,请参见TensorFlow Parser Scope融合规则开发指南
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词