通过指定Ascend C算子的ST测试用例定义文件(.json)和实现文件kernel_name.cpp,自动生成调用核函数的上板测试框架,进行算子的测试验证,最终查看输出结果确认算子功能是否正确。
进入msopst工具所在目录生成调用kernel函数的测试代码,执行如下命令:
cd /usr/local/Ascend/ascend-toolkit/latest/python/site-packages/bin ./msopst ascendc_test -i xx/OpType_case.json -kernel xx/add_custom.cpp -out ./output_data
root用户安装toolkit包默认路径为“/usr/local/Ascend”,请根据实际环境进行替换。
参数名称 |
参数描述 |
是否必选 |
---|---|---|
ascendc_test |
生成Ascend C算子调用kernel函数的上板测试代码。 |
是 |
-i,--input |
算子测试用例定义文件(*.json文件)的路径,可配置为绝对路径或者相对路径。 说明:
|
是 |
-kernel,--kernel_file |
Ascend C算子的kernel侧实现文件(*.cpp文件)路径,可配置为绝对路径或者相对路径。 |
是 |
-out,--output |
测试框架代码输出路径,可配置为绝对路径或者相对路径,并且工具执行用户具有可读写权限。 |
否 |
{time_stamp} │ ├── OpType │ │ ├── CMakeLists.txt // 编译规则文件 │ │ ├── data │ │ │ └── xx.bin │ │ │ └── xx.bin │ │ ├── data_utils.h │ │ ├── main.cpp // 测试框架 │ │ └── run.sh // 调用测试框架的脚本文件 │ └── st_report.json //运行报表
字段 |
说明 |
||
---|---|---|---|
run_cmd |
- |
- |
命令行命令。 |
report_list |
- |
- |
报告列表,该列表中可包含多个测试用例的报告。 |
trace_detail |
- |
运行细节。 |
|
st_case_info |
测试信息,包含如下内容。
|
||
stage_result |
运行各阶段结果信息,包含如下内容。
|
||
case_name |
- |
测试名称。 |
|
status |
- |
测试结果状态,表示运行成功或者失败。 |
|
expect |
- |
期望的测试结果状态,表示期望运行成功或者失败。 |
|
summary |
- |
- |
统计测试用例的结果状态与期望结果状态对比的结果。 |
test case count |
- |
测试用例的个数。 |
|
success count |
- |
测试用例的结果状态与期望结果状态一致的个数。 |
|
failed count |
- |
测试用例的结果状态与期望结果状态不一致的个数。 |
# 指向昇腾软件包安装地址,导出环境变量 if [ ! $ASCEND_HOME_DIR ]; then export ASCEND_HOME_DIR=/usr/local/Ascend/ascend-toolkit/latest fi source $ASCEND_HOME_DIR/bin/setenv.bash
bash run.sh <kernel_name> <soc_version> <core_type> <run_mode>
参数名 |
参数介绍 |
取值 |
---|---|---|
<kernel_name> |
Ascend C算子实现文件的文件名 |
比如Add算子实现文件为add_custom.cpp,则应传入add_custom。 |
<soc_version> |
算子运行的AI处理器型号 |
Atlas 训练系列产品,配置为“ascend910” Atlas 推理系列产品(Ascend 310P处理器),配置为“ascend310p” Atlas A2训练系列产品,配置方法如下:在安装昇腾AI处理器的服务器执行npu-smi info命令进行查询,在查询到的“Name”前增加Ascend信息,例如“Name”对应取值为xxxyy,应配置为“ascendxxxyy”。 |
<core_type> |
表明算子在AiCore上或者VectorCore上运行 |
AiCore或VectorCore |
<run_mode> |
表明算子以cpu模式或npu模式运行 |
cpu或npu |