SuperAPI AI 工具集

ascendc-operator-precision-eval

数据与分析

查看项目

更新于 10-15 19:58

技能介绍

用途:对已编译安装的 AscendC 算子做系统化精度评估,生成测试用例、执行并输出结构化精度报告。

主要能力:测试用例由常规 shape 测试与边界值测试两部分组成,每个用例遍历算子支持的全部 dtype;用例总数 =(shape 数 + 边界值数)× dtype 数,要求 ≥30。判定采用 MERE(平均相对误差)与 MARE(最大相对误差),相对误差 = abs(actual-golden)/(abs(golden)+1e-7),通过条件为 MERE < Threshold 且 MARE < 10×Threshold;float16、bfloat16、float32 的 Threshold 分别为 2⁻¹⁰、2⁻⁷、2⁻¹³。辅助指标含 MaxAbsErr、MeanAbsErr、CosineSim。

使用方式:流程为加载用例文档与信息收集、用例适配、测试脚本生成、执行、报告生成。优先读取 csrc/ops/<op_name>/test/<op_name>-test-cases.md 提取 SUPPORTED_DTYPES、TEST_SHAPES、BOUNDARY_VALUES 等;不存在时自行设计并在报告注明。脚本由 templates/ 模板替换占位符生成到 csrc/ops/<op_name>/test/。执行前需 source /usr/local/Ascend/ascend-toolkit/set_env.sh,运行 python3 -m pytest csrc/ops/<op_name>/test/test_<op_name>_precision.py -v --tb=short,再运行报告脚本。

适用场景:AscendC 算子开发完成后的精度验证与误差分析。

限制:前置要求算子已编译安装并通过基本功能测试,且已知算子名称、调用方式、输入域与支持 dtype;精度问题无法靠阈值调整解决时需转用 ascendc-operator-precision-debug 流程;执行后必须在对话中展示总览、失败摘要与关键发现,不能只给报告路径。