(beta)INDUCTOR_ASCEND_CHECK_ACCURACY
功能描述
INDUCTOR_ASCEND_CHECK_ACCURACY是Ascend Extension for PyTorch提供的精度校验工具,仅在torch.compile图编译后端为“Inductor”且模式为“Triton”时自动检测融合算子的数值精度。
该工具可捕获融合算子对应的FX子图,生成独立可执行的单算子测试用例,并在相同输入条件下比对eager与Triton的输出差异。当差异超出预设阈值时,自动输出精度校验失败日志及诊断信息,辅助开发者快速定位精度问题。
配置示例
示例一:启用精度工具,使用默认精度阈值配置
export INDUCTOR_ASCEND_CHECK_ACCURACY=1
表 1 默认精度阈值
| 数据类型 | 相对误差rtol | 绝对误差atol |
|---|---|---|
| float32 | 1.3e-6 | 1e-5 |
| float16 | 1e-3 | 1e-5 |
| bfloat16 | 1.6e-2 | 1e-5 |
| 其他 | 1.3e-6 | 1e-5 |
示例二:启用精度工具,并设置精度对比阈值
export INDUCTOR_ASCEND_CHECK_ACCURACY=1
# 设置精度对比时相对误差阈值为1e-6,绝对误差阈值为1e-7
export INDUCTOR_ASCEND_CHECK_ACCURACY_RTOL_ATOL="rtol=1e-6,atol=1e-7"
Caution
如需根据不同数据类型(如float32、float16、bfloat16等)配置不同的精度阈值,请手动修改源码config中的acc_comp_tol字典。
使用约束
-
此环境变量仅可在PyTorch2.7.1版本使用。
-
在torch.compile图编译后端为“Inductor”且模式为“Triton”(环境变量TORCHINDUCTOR_NPU_BACKEND为空或者“default”)时可使用此环境变量。
支持的型号
- Atlas A2 训练系列产品
- Atlas A3 训练系列产品