展示如何使用msOpGen工具进行Ascend C自定义算子的工程创建、编译和部署,并使用msOpST工具对Ascend C自定义算子进行功能测试。
前提条件
参考《》中的“使用前准备”章节,完成msOpGen工具的使用准备。
操作步骤
参考以下json文件,准备算子原型文件(以MatmulCustom算子为例)。
[object Object]使用msOpGen工具执行以下命令,创建算子工程。
[object Object]
[object Object]命令执行完毕,会在指定目录下生成如下算子工程目录。
[object Object]执行算子工程编译。
[object Object]进行自定义算子包部署。
执行以下命令,将算子部署到CANN:
[object Object]执行以下命令,将算子部署到自定义路径(以_xxx_/MatmulCustom/installed为例):
[object Object]
[object Object][object Object]执行以下命令,生成ST测试用例。xxx需要修改为用户实际工程路径。
[object Object]进行ST测试。
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]