本文介绍: 自定义算子工程是一个包含用户编写的host侧和kerne|侧算子实现文件的,用于编译和安装自定义算子run包的工程框架。CANN软件包中提供了工程创建工具msopgen,开发者可以输入算子原型定义文件生成Ascend C算子开发工程。需要编写AddCustom算子的原型定义json文件以及运行以下代码其中对这些命令进行解释:${INSTALL_DIR}为CANN软件安装后文件存储路径,根据实际环境进行替换。-i:指定算子原型定义文件add_custom.json所在路径,请根据实际情况修改。
一、自定义算子工程介绍与创建
自定义算子工程是一个包含用户编写的host侧和kerne|侧算子实现文件的,用于编译和安装自定义算子run包的工程框架。
CANN软件包中提供了工程创建工具msopgen,开发者可以输入算子原型定义文件生成Ascend C算子开发工程。
需要编写AddCustom算子的原型定义json文件以及运行以下代码
${INSTALL_DIR}/python/site-packages/bin/msopgen gen -i $HOME/sample/add_custom.json -c ai_core-<soc_version> -lan cpp -out $HOME/sample/AddCustom
其中对这些命令进行解释:
${INSTALL_DIR}为CANN软件安装后文件存储路径,根据实际环境进行替换。
-i:指定算子原型定义文件add_custom.json所在路径,请根据实际情况修改。
–c:ai_core-<soc_version>代表算子在AI Core上执行,<soc_version>为昇腾AI处理器的型号。比如我的AI处理器型号为910B,那么我这里写Ascend910B。
-lan: 参数cpp代表算子基于Ascend C编程框架,使用C++编程语言开发。
–out:生成文件所在路径,可配置为绝对路径或者相对路径,并且工具执行用户对路径具有可读写权限。若不配置,则默认生成在执行命令的当前路径。
使用msopgen工具生成AddCustom算子的开发命令之后,会在$HOME/sample目录下生成算子工程目录AddCustom,工程中包含算子实现的模板文件,编译脚本等,如下所示:
二、自定义算子工程样例演示
我是在ModelArts环境下创建了一个notebook,镜像为:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。