下载
中文
注册

工具概述

工具概述

完成算子分析&原型定义后,可使用msOpGen工具生成自定义算子工程,并进行编译部署,具体流程请参考图1

具有如下功能:

  • 基于算子原型定义输出算子工程。
  • 基于性能仿真环境生成的dump数据文件输出算子仿真流水图文件。
图1 msOpGen工具使用流程介绍

工具特性

msOpGen目前已支持的功能如下:包括算子工程创建、算子实现(Host侧&Kernel侧)、算子工程编译部署以及解析算子仿真流水图文件等。

表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}
表2 创建算子工程参数说明

参数名称

参数描述

是否必选

gen

用于生成算子开发交付件。

-i,--input

算子原型定义文件(.json)路径,可配置为绝对路径或者相对路径。工具执行用户需要有此路径的可读权限。

-f,--framework

框架类型。

  • TensorFlow框架,参数值:tf或者tensorflow
  • Caffe框架,参数值:caffe
  • PyTorch框架,参数值:pytorch
  • MindSpore框架,参数值:ms或者mindspore
  • ONNX框架,参数值:onnx
说明:
  • 所有参数值大小写不敏感。

-c,--compute_unit

  • 算子使用的计算资源。

    配置格式为:ai_core-{soc version},ai_core与{soc version}之间用中划线“-”连接。

    请根据实际昇腾AI处理器版本进行选择。

说明:

AI处理器的型号<soc_version>请通过如下方式获取:

  • 在安装昇腾AI处理器的服务器执行npu-smi info命令进行查询,获取Chip Name信息。实际配置值为AscendChip Name,例如Chip Name取值为xxxyy,实际配置值为Ascendxxxyy

基于同系列的AI处理器型号创建的算子工程,其基础功能(基于该工程进行算子开发、编译和部署)通用。

  • 针对AI CPU算子,请配置为:aicpu。

-out,--output

生成文件所在路径,可配置为绝对路径或者相对路径,并且工具执行用户具有可读写权限。

若不配置,则默认生成在执行命令的当前路径。

-m,--mode

生成交付件模式。

  • 0:创建新的算子工程,若指定的路径下已存在算子工程,则会报错退出。
  • 1:在已有的算子工程中追加算子。

默认值:0。

-op,--operator

配置算子的类型,如:Conv2DTik。

若不配置此参数,当算子原型定义文件中存在多个算子时,工具会提示用户选择算子。

-lan,--language

算子编码语言。

  • cpp:基于Ascend C编程框架,使用C/C++编程语言进行开发。
  • py:基于DSL和TIK算子编程框架,使用Python编程语言进行开发。

默认值:py。

补充说明

msOpGen工具其他参数说明可参考表3

表3 参数说明

参数名称

参数描述

说明

mi

仅供MindStudio侧使用。

机机接口,用户无需关注。

query

基于原型定义文件生成json时,存放sheet所有op。