Merged
docs: 明确混合容差 max_abs_error_limit 的 ULP 动态锚点定义与 ±inf 比对收窄规则 #924
dengguojieAdd on Sep 23
docs: 明确混合容差 max_abs_error_limit 的 ULP 动态锚点定义与 ±inf 比对收窄规则 #924
Merged
dengguojieAdd on Sep 23
Total: 1 files changed+9-3
@@ -85,10 +85,12 @@ $$
85 85 
86当同时满足以下两个条件时,判定该用例通过:86当同时满足以下两个条件时,判定该用例通过:
87 87 
88-(1) `matched_ratio ≥ required_matched_ratio`88+(1) `matched_ratio ≥ required_matched_ratio`
89(2) `max_abs_error ≤ max_abs_error_limit`89(2) `max_abs_error ≤ max_abs_error_limit`
90 90 
91-其中 `max_abs_error` 为用例中任意元素的最大绝对误差,`max_abs_error_limit` 为绝对误差硬上限。91+其中:
92+- `max_abs_error` 为用例中所有**有限值比对点**(actual 与 golden 均为有限值)的最大绝对误差;±inf/NaN 元素不参与该值选取,按 2.3 节的收窄规则比对
93+- `max_abs_error_limit` 为绝对误差硬上限,按最大绝对误差点所在值域动态计算:`max_abs_error_limit = max(兜底值, 32 * ULP(g_low))`,其中 `g_low` 为最大绝对误差点的 golden 值按算子实际输出 dtype 收窄后的值(兜底值见 2.2 节阈值表)
92 94 
93### 2.2 混合容差阈值表95### 2.2 混合容差阈值表
94 96 
@@ -139,10 +141,14 @@ $$
139 </tbody>141 </tbody>
140</table>142</table>
141 143 
142-注:当前的阈值拦截在各数值精度下约为 1ULP左右,涉及到大数规约可能会引入更大精度误差导致误报,可酌情降低至2ULP。144+**注**:
145+- 当前的阈值拦截在各数值精度下约为 1ULP左右,涉及到大数规约可能会引入更大精度误差导致误报,可酌情降低至2ULP。
146+- 表中 `max_abs_error_limit` 行的 `or` 表示取两项中较大者;`ULP` 的锚点与计算口径(随被测 dtype 与最大误差点值域自适应缩放)见 2.1.2 节定义
143 147 
144### 2.3 通过判定148### 2.3 通过判定
145 149 
146**单标杆比对**:与更高精度的实现(CPU或昇腾小算子拼接)的单一精度标杆直接比较。150**单标杆比对**:与更高精度的实现(CPU或昇腾小算子拼接)的单一精度标杆直接比较。
147 151 
148当用例同时满足 `matched_ratio ≥ required_matched_ratio` 且 `max_abs_error ≤ max_abs_error_limit` 时,判定该用例精度通过。152当用例同时满足 `matched_ratio ≥ required_matched_ratio` 且 `max_abs_error ≤ max_abs_error_limit` 时,判定该用例精度通过。
153+ 
154+比对过程中,若遇算子实际输出为 `±inf` 而 golden 为有限值时,应先将 golden 降精度(收窄)到算子实际输出 dtype 后再比对:收窄按 round-to-nearest-even 舍入,超出该 dtype 表示范围的值转换为 `±inf`(IEEE 754 语义)。收窄后双方同为同号 `±inf` 即视为该点通过。