已关闭
[Requirement|需求建议]: saxpy、axpy_ex、sgemv 迁移至 MIXED_TOLERANCE 精度标准 #316
xutianze创建于  7月17日关闭于  7月17日
xutianze
xutianze成员
7月17日 创建

Background(背景信息)

对齐生态算子开源精度标准(opbase/docs/zh/ops_precision_standard/experimental_standard.md §2.1/§2.2),将 saxpy、axpy_ex、sgemv 三个 arch35 算子的 ST 测试精度验证从旧的 MERE_MARE 模式迁移到新的 MIXED_TOLERANCE 模式。

核心公式:

  • 每元素通过条件:|actual - golden| ≤ atol + rtol × |golden|
  • 每元素硬上限:|actual - golden| ≤ max(fixedLimit, 32 × ULP_at_|golden|)
  • 整体通过条件:matched_ratio ≥ 0.99

旧 helper 函数 getMereThreshold/getMareMultiplier 仍保留向后兼容,但新代码应使用 applyMixedTolerance。

Origin(信息来源)

cann 开发者

Benefit / Necessity (价值/作用)

  • 统一精度验证标准,与其他生态算子(rotex 等)保持一致
  • 删除测试代码中硬编码的 dtype 阈值映射逻辑(如 switch(p.xType) 块)
  • 提升测试质量:per-element ULP 上限能更精确捕捉精度退化

Design(设计方案)

使用 applyMixedTolerance(cfg, dtype, goldenPtr, count) 一行替换原先的 MERE_MARE 设置块。dtype 通过 applyMixedTolerance 内部自动查表填充 rtol/atol/fixedLimit/mantissaBits/emin。

likedislike
xutianzexutianze成员
7月17日 关联了pull request:feat(test): saxpy、axpy_ex、sgemv 迁移至MIXED_TOLERANCE
CANN-robotCANN-robot成员
7月17日 关闭了 issue
CANN-robotCANN-robot成员
7月17日 添加了label:resolved
wangzitaowangzitao成员
7月18日 将 xutianze 设为负责人