已关闭
[Requirement|需求建议]: 将 gtsv2 算子测试脚本切换至混合容差标准并重构测试样例 #118
Riki创建于  7月28日关闭于  7月28日
Riki
Riki成员
7月28日 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

仓库测试框架已引入 MIXED_TOLERANCE 精度策略(test/frame/verify.h 中的applyMixedTolerance),用于对齐 opbase 仓库精度标准文档下的容差判定规则。但 gtsv2 算子的测试脚本仍使用旧的 per-case 手动容差配置方式(在 CSV 中为每个用例单独指定rtol/atol/mareMultiplier),与框架统一的混合容差策略不一致。

此外,gtsv2 测试样例中的 Tensor 生成规则(随机值范围、RHS 生成参数)与 opbase 精度标准文档下的推荐规则存在偏差,需要统一对齐。

Origin(信息来源)

CANN生态开发者

Benefit / Necessity (价值/作用)

  1. 统一容差策略:gtsv2 测试从 per-case 手动配置改为框架级 applyMixedTolerance
    自动判定,与仓库内其他算子(如 spmv、spmm)保持一致,降低维护成本。
  2. 符合精度标准:Tensor 生成规则(值域范围、RHS 生成)对齐 opbase 精度标准文档,
    确保测试用例的数值覆盖性和可复现性符合规范。

Design(设计方案)

仅涉及 gtsv2 测试侧 3 个文件,不改动 kernel/host/tiling:

文件 改动内容
test/gtsv2/gtsv2_param.h 移除 rtol/atol/mareMultiplier 字段及其 fillCustom 解析逻辑
test/gtsv2/arch35/gtsv2_test.csv 表头移除容差三列;随机值范围统一为 ±5.0;用例覆盖 L0/L1/L2/WB 四级
test/gtsv2/arch35/gtsv2_test.cpp 容差判定改为调用 applyMixedTolerance(cfg, ACL_FLOAT, ...);RHS 生成值域对齐

容差判定流程

旧方案:CSV 每行配置 rtol/atol/mareMultiplier → fillCustom 解析 → 手动 SetAbsTol/SetMERE/SetMARE
新方案:框架级 applyMixedTolerance(cfg, ACL_FLOAT, golden_data, size) → 自动按 dtype 选取默认容差

Tensor 生成规则对齐

  • 三对角矩阵元素值域:[-5.0, 5.0](对角占优 / 随机 / 常值 / 单位 / 奇异 / 主元触发)
  • RHS 向量值域:[-5.0, 5.0],seed = matrixSeed + 100
likedislike
RikiRiki成员
7月28日 添加了label:requirement
RikiRiki成员
7月28日 将 Twoliges 设为负责人
RikiRiki成员
7月28日 关联了pull request:feat(gtsv2): 将测试脚本切换至混合容差标准并重构测试样例
CANN-robotCANN-robot成员
7月28日 关闭了 issue
CANN-robotCANN-robot成员
7月28日 添加了label:resolved
yuhongming-2026yuhongming-2026
19 天前 关联了pull request:feat(spmm): 补齐 A2/A3 aclsparseSpMM
yuhongming-2026yuhongming-2026
19 天前 关联了pull request:test(spmm): 增加 A2/A3 aclsparseSpMM C++ 自测
yuhongming-2026yuhongming-2026
19 天前 关联了pull request:feat(spmm): 适配 NPU torch.sparse.addmm