Developers
Download
[object Object][object Object]

展示如何使用msOpGen工具进行Ascend C自定义算子的工程创建、编译和部署,并使用msOpST工具对Ascend C自定义算子进行功能测试。

前提条件

参考《》中的“使用前准备”章节,完成msOpGen工具的使用准备。

操作步骤

  1. 参考以下json文件,准备算子原型文件(以MatmulCustom算子为例)。

    [object Object]
  2. 使用msOpGen工具执行以下命令,创建算子工程。

    [object Object]
    [object Object]
  3. 命令执行完毕,会在指定目录下生成如下算子工程目录。

    [object Object]
  4. 执行算子工程编译。

    [object Object]
  5. 进行自定义算子包部署。

    • 执行以下命令,将算子部署到CANN:

      [object Object]
    • 执行以下命令,将算子部署到自定义路径(以_xxx_/MatmulCustom/installed为例):

      [object Object]
  6. [object Object][object Object]执行以下命令,生成ST测试用例。xxx需要修改为用户实际工程路径。

    [object Object]
  7. 进行ST测试。

    1. 根据CANN包安装路径,配置以下环境变量:

      [object Object]
    2. 执行以下命令,进行ST测试,并将输出结果保存到指定路径。xxx.json为获得的测试用例:

      [object Object]
[object Object]
  • Less算子的测试用例定义文件“Less_case.json”如下所示。

    [object Object]
  • 若算子包含属性,测试用例定义文件如下所示。

    [object Object]
  • 若指定固定输入,例如ReduceSum的axes参数,测试用例定义文件如下所示。

    [object Object]
  • 若算子属性的type为data_type,测试用例定义文件如下所示。

    [object Object]
  • 若算子的输入个数不确定(动态多输入场景)。

    以AddN算子为例,属性“N”的取值为3,则需要配置3个输入描述,name分别为x0、x1、x2,即输入个数需要与属性“N”的取值匹配。

    [object Object]
  • 若算子的某个输入为常量,测试用例定义文件如下所示。

    [object Object]
  • 若算子的输入输出类型为复数,测试用例定义文件如下所示。

    [object Object]