算子UT测试
使用说明
- 测试算子代码的正确性,验证输入输出结果与设计的一致性。
- UT侧重于保证算子程序能够正常运行,选取的场景组合应能覆盖算子代码的所有分支(一般来说覆盖率要达到100%),从而降低不同场景下算子代码的编译失败率。
当前MindStudio支持进行算子功能实现代码(*.py)以及算子原型定义(*.h,*.cc)的UT测试,详细测试方法可参见《MindStudio 用户指南》中的“算子开发 > UT测试”章节。
基于MindStudio的UT测试可获取dump文件,使用msopgen工具生成并查看算子仿真流水图文件。
命令行方式下,暂不支持进行算子实现的UT测试。
查看算子仿真流水图
- MindStudio已进行算子的UT测试,可获取供解析的dump文件,路径如下所示:
- MindStudio配置运行信息时选择的“Simulator_Performance”:TBE算子工程目录/out/model/ca/{op_type}/{op_type}_pre_static_test_{case_name}
- MindStudio配置运行信息时选择的“Simulator_TMModel”:TBE算子工程目录/out/model/tm/{op_type}/{op_type}_pre_static_test_{case_name}
- 使用msopgen工具生成算子仿真流水图文件。进入msopgen工具所在目录执行如下命令,详细参数说明请参见表1。
cd /usr/local/Ascend/ascend-toolkit/latest/python/site-packages/bin ./msopgen sim -c core0 -d xx/out/model/ca/add/add_pre_static_test_add_auto_case_name_1 -out ./output_data -subc cubecore0
“/usr/local/Ascend”为root用户安装toolkit包默认路径,请根据实际环境进行替换。
表1 参数说明 参数名称
参数描述
是否必选
sim
用于性能仿真相关操作。
是
-c,--core-id
核编号。
配置芯片号,如:core0。
是
-d,--dump-dir
dump文件路径,可配置为绝对路径或者相对路径。
说明:支持MindStudio运行UT测试时配置为“Simulator_Performance”和“Simulator_TMModel”生成的dump文件。
是
-subc,--subcore_id
子核编号,支持展示单个子核。
dump文件名带有veccore{id}或cubecore{id}时,需配置此参数指定待解析的dump文件。如文件名为core0.veccore0.instr_log.dump,“veccore0”即为subcore id。
说明:仅Atlas A2训练系列产品需配置该参数。
否
-out,--output
生成算子仿真流水图文件的路径,可配置为绝对路径或者相对路径,并且工具执行用户具有可读写权限。
是
- 查看算子仿真流水图。
可以在Chrome浏览器中输入“chrome://tracing”地址,将获取到的dump2trace_core0.json文件拖到空白处打开,通过键盘上的快捷键(w:放大,s:缩小,a:左移,d:右移)进行查看,如下图所示,关键字段如表2所示。
图1 dump2trace_core0.json文件