Compressor算子测试框架
功能说明
基于pytest测试框架,实现Compressor算子的功能验证:
- CPU侧:复现算子功能用以生成golden数据
- NPU侧:通过torch_npu进行算子直调获取实际数据
- 精度对比:进行CPU与NPU结果的精度对比验证算子功能
当前实现范围
参数限制
- 支持D为128/512。
- 支持H为1K~10K,512对齐。
- 支持cmp_ratio为4/128。支持如下三种情况:
- C4A: D=512, coff=2, cmp_ratio=4;
- C4Li: D=128, coff=2, cmp_ratio=4;
- C128A: D=512, coff=1, cmp_ratio=128。
- 支持rotary_mode为2,Rope计算模式为interleave。
环境配置
前置要求
1、 确认torch_npu为最新版本
2、 参考Attention融合算子Experimental使用说明激活CANN包和自定义算子包
custom包调用
支持custom包调用
文件结构
pytest文件结构说明
- test_run.sh # 执行脚本
- compressor_golden.py # cpu侧算子golden实现以及cpu golden与npu结果精度对比
- pytest.ini # 创建ci单算子和graph图模式的测试标记
单用例测试:
- test_compressor_single.py # 测试单用例运行主程序
- compressor_operator_single.py # CPU侧算子逻辑实现获取golden与npu算子直调
- test_compressor_paramset.py # 单用例入参配置
批量用例测试:
- test_compressor_batch.py # 用例批量测试主程序并生成excel文件保存结果
- ./batch/compressor_pt_loadprocess.py # 读取pt文件并调用算子获取npu输出
- ./batch/compressor_pt_save.py # 读取excel表格批量生成用例pt文件
使用方法
在pytest文件夹路径下执行:
运行测试用例
单用例调测
1、手动配置test_compressor_paramset.py的参数
2、执行指令:
bash test_run.sh single
用例的批量生成与测试
1、excel路径下存放用例excel表格
2、test_run.sh中设置读取的用例excel表格路径和pt文件存放路径
3、执行指令:
bash test_run.sh batch