完成算子分析&原型定义后,可使用msOpGen工具生成自定义算子工程,并进行编译部署,具体流程请参考图1。
具有如下功能:
msOpGen目前已支持的功能如下:包括算子工程创建、算子实现(Host侧&Kernel侧)、算子工程编译部署以及解析算子仿真流水图文件等。
执行如下命令,参数说明请参见表2。
${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。例如,若安装的Ascend-cann-toolkit软件包,则安装后文件存储路径为:$HOME/Ascend/ascend-toolkit/latest。
${INSTALL_DIR}/python/site-packages/bin/msopgen gen -i {*.json} -f {framework type} -c {Compute Resource} -lan cpp -out {Output Path}
参数名称 |
参数描述 |
是否必选 |
---|---|---|
gen |
用于生成算子开发交付件。 |
是 |
-i,--input |
算子原型定义文件(.json)路径,可配置为绝对路径或者相对路径。工具执行用户需要有此路径的可读权限。 |
是 |
-f,--framework |
框架类型。
说明:
|
否 |
-c,--compute_unit |
说明:
AI处理器的型号<soc_version>请通过如下方式获取:
基于同系列的AI处理器型号创建的算子工程,其基础功能(基于该工程进行算子开发、编译和部署)通用。
|
是 |
-out,--output |
生成文件所在路径,可配置为绝对路径或者相对路径,并且工具执行用户具有可读写权限。 若不配置,则默认生成在执行命令的当前路径。 |
否 |
-m,--mode |
生成交付件模式。
默认值:0。 |
否 |
-op,--operator |
配置算子的类型,如:Conv2DTik。 若不配置此参数,当算子原型定义文件中存在多个算子时,工具会提示用户选择算子。 |
否 |
-lan,--language |
算子编码语言。
默认值:py。 |
否 |
参数名称 |
参数描述 |
说明 |
---|---|---|
compile |
编译TBE&AI CPU算子工程时使用。 |
具体请参见《TBE&AI CPU算子开发指南》中“算子编译部署 > 算子交付件独立编译”章节。 |