用途:验证 Triton 算子在 NPU 上的数值精度,与 PyTorch 参考实现对比,输出标准化精度报告。核心原则是精度是算子正确性的底线,验证通过前不做性能优化。
主要能力:按 dtype 设定误差阈值并判定。float16 阈值 2⁻¹⁰≈9.77e-4,MARE 上限 9.77e-3;float32 阈值 2⁻¹³≈1.22e-4,MARE 上限 1.22e-3;bfloat16 阈值 2⁻⁷≈7.81e-3,MARE 上限 7.81e-2;整型与 bool 要求完全相等。判定条件为 MERE < 阈值 且 MARE < 10 × 阈值,其中 MERE 为平均相对误差,MARE 为最大相对误差。
使用方式:先编写 Torch 参考实现,再编写覆盖多种 shape × dtype × 边界情况的测试用例,在 NPU 上分别执行 Triton 算子与参考实现,用 test_common.validate_cmp() 比对。编写测试前必须完整阅读 scripts/test_common.py。精度报告写入算子目录下 precision_report.md,评估脚本写入 precision_eval.py,可参考 examples/ 目录格式。
适用场景:Triton 算子开发中的正确性验证与回归检查。
限制与反模式:不提供 Torch 参考实现不做验证;不使用错误阈值;不只用 rtol/atol 判定;归约操作需升精度到 FP32;不只测单一 dtype/shape;不跳过非对齐维度等边界情况;精度通过前不做性能优化。具体安装命令与依赖暂未提供。