SuperAPI AI 工具集

external-gitcode-ascend-ascendc-operator-precision-debug

编程与开发

查看项目

更新于 10-15 17:19

技能介绍

用途:AscendC 算子精度问题调试与根因定位,适用于精度测试失败(allclose 不通过、结果偏差、输出全零/NaN 等)场景。

主要能力:按由浅入深五阶段定位根因——Phase 1 误差分析(收集失败用例 shape、dtype、MaxAbsErr/MeanAbsErr/CosineSim,基于 scripts/debug_precision_template.py 创建 csrc/ops/<op_name>/test/debug_<op_name>_precision.py 分析误差统计、首个错误元素、错误分布、特殊值);Phase 2 代码审查(读取 op_host/<op_name>.cpp、op_kernel/<op_name>.cpp、design.md,按基本正确性、搬运与对齐、Tiling 与多核、API 陷阱、边界情况五层清单排查);Phase 3 实验隔离(block_dim→1、PipeBarrier<PIPE_ALL>、固定/规律输入、缩小 shape);Phase 4 插桩定位(AscendC::printf 与 AscendC::DumpTensor,仅 0 核打印、同步后再读、FP16 先转 float);Phase 5 修复验证。

使用方式:按阶段执行,误差特征匹配时按需加载 examples 下对应案例(如 fp16-no-upcast.md、gm-offset-error.md 等),不要一次性加载全部。

限制:PIPE_ALL 仅用于实验隔离,不可作为最终方案;修复后须移除调试插桩并跑完整精度测试;最多 3 轮,仍失败应报告用户。