UT(Unit Test:单元测试)是开发人员进行算子代码验证的手段之一,主要目的是:
- 测试算子代码的正确性,验证输入输出结果与设计的一致性。
- UT侧重于保证算子程序能够正常运行,选取的场景组合应能覆盖算子代码的所有分支(一般来说覆盖率要达到100%),从而降低不同场景下算子代码的编译失败率。
功能描述
CANN开发套件包中提供了UT测试工具:op_ut_run,支持算子在仿真环境中进行功能验证并生成dump数据文件。
具有如下功能:
- 根据算子实现文件(*.cpp文件)运行算子测试用例定义文件(test_*_impl.py),作为算子UT测试用例的输入。
- 根据算子测试用例定义文件生成UT测试数据及测试用例执行代码,在仿真环境上执行算子测试用例。
- 根据用户定义并配置的性能仿真环境(ca)或功能仿真环境(pv)上执行算子测试用例后生成dump数据。
- 根据用户定义并配置的算子期望数据生成函数,回显期望算子输出和实际算子输出的对比测试结果。
工具路径
通过可执行文件“op_ut_run”进行UT测试,其功能和安装路径如下。
表1 op_ut_run文件介绍
文件名 |
功能 |
路径 |
op_ut_run |
UT测试工具。 |
CANN软件安装后文件存储路径中的“python/site-packages/bin”。 |
使用前提
- 使用此工具生成算子测试用例前,需要将要测试的算子部署到算子库中。
- 若在实现算子UT功能验证时使用到AI框架,请完成所需AI框架的安装。
TensorFlow框架的安装请参见。
PyTorch框架的安装请参见。
约束说明
- Atlas A2训练系列产品/Atlas 800I A2推理产品暂不支持UT测试功能。
- CentOS 7.8 arm容器暂不支持算子实现代码的UT测试功能。
- Ascend C动态shape算子暂不支持UT测试功能。
- UT测试要求gcc版本为7.5.0及以上,若gcc版本不满足要求,请升级gcc版本。