Inv 算子交付的 golden 脚本(math/inv/tests/assets/golden.py)的 tolerance 使用 mix_tolerance(两方判据:NPU 输出 + CPU golden),而仓内声明了容差的算子中 26/32 使用 cross_check L1(三方判据:NPU 输出 + CPU golden + XPU 第三方参考),例如 abs、add_v2、bias、cast、confusion_matrix 等。
math/inv/tests/assets/golden.py
mix_tolerance
cross_check L1
# math/inv/tests/assets/golden.py 当前 tolerance = { "float16": {"standard": "mix_tolerance", "rtol": 1e-3, "atol": 1e-3}, "bfloat16": {"standard": "mix_tolerance", "rtol": 4e-3, "atol": 4e-3}, "float32": {"standard": "mix_tolerance", "rtol": 1e-4, "atol": 1e-4}, "int32": {"standard": "binary_equal"}, }
tolerance = { "float16": {"standard": "cross_check", "level": "L1"}, "bfloat16": {"standard": "cross_check", "level": "L1"}, "float32": {"standard": "cross_check", "level": "L1"}, "int32": {"standard": "binary_equal"}, }
cross_check 需要 TTK XPU Server 支持(通过 ttk.conf.yaml 配置 endpoint)。本机已验证 9098 端口 XPU Server(CPU 设备)可正常提供三方参考。
ttk.conf.yaml
使用 cross_check L1 在 Ascend950PR + XPU Server(CPU)环境下验证:L0 全量 43 例 100% PASS,覆盖全部 dtype(float32/float16/bfloat16/int32),含次正规数、rank-0 标量、2^31 容量边界、空 Tensor 等边界场景。
修复 PR:!6955
海思
/assign @JasonZhang88
Background(背景信息)
Inv 算子交付的 golden 脚本(
math/inv/tests/assets/golden.py)的 tolerance 使用mix_tolerance(两方判据:NPU 输出 + CPU golden),而仓内声明了容差的算子中 26/32 使用cross_check L1(三方判据:NPU 输出 + CPU golden + XPU 第三方参考),例如 abs、add_v2、bias、cast、confusion_matrix 等。现状
# math/inv/tests/assets/golden.py 当前 tolerance = { "float16": {"standard": "mix_tolerance", "rtol": 1e-3, "atol": 1e-3}, "bfloat16": {"standard": "mix_tolerance", "rtol": 4e-3, "atol": 4e-3}, "float32": {"standard": "mix_tolerance", "rtol": 1e-4, "atol": 1e-4}, "int32": {"standard": "binary_equal"}, }建议修改
tolerance = { "float16": {"standard": "cross_check", "level": "L1"}, "bfloat16": {"standard": "cross_check", "level": "L1"}, "float32": {"standard": "cross_check", "level": "L1"}, "int32": {"standard": "binary_equal"}, }cross_check 需要 TTK XPU Server 支持(通过
ttk.conf.yaml配置 endpoint)。本机已验证 9098 端口 XPU Server(CPU 设备)可正常提供三方参考。验证结果
使用 cross_check L1 在 Ascend950PR + XPU Server(CPU)环境下验证:L0 全量 43 例 100% PASS,覆盖全部 dtype(float32/float16/bfloat16/int32),含次正规数、rank-0 标量、2^31 容量边界、空 Tensor 等边界场景。
修复 PR:!6955
Origin(信息来源)
海思