Open
[功能问题][ForeachTanh]ForeachTanh算子存在 功能问题 #101
sleeveenAdd on  3 days ago
sleeveenCollaborators
3 days ago Create

确定性问题描述:[功能问题][ForeachTanh]ForeachTanh算子存在 功能问题
通路:geir
golden版本:20261109
golden链接:https://gitcode.com/opencann/operator-artifacts/blob/master/cannbot-simt/ForeachTanh/deliverables/thirdparty_golden/golden.py
cann版本:20261109
ttk版本:20261109
用例链接:https://gitcode.com/sleeveen/operator_test_case/tree/main/LongTail/Cases/Functional_Accuracy/GEIR/ForeachTanh
用例名:ForeachTanh_L1_003、ForeachTanh_L1_009
错误码:(未获取到)
复现命令:python3 -m ttk geir -i 失败用例集_ForeachTanh_geir_功能失败.csv --device-whitelist=0 -d -b -c=false --golden-mode Disable -t ForeachTanh_L1_003
问题现象:

【用例 ForeachTanh_L1_003】
2026-11-12 08:17:38,997 [ERROR] [799822 ForeachTanh_L1_003 OnGenerateGolden] [invoke.py:381]: Golden generation failure 
+-------------------------------------------+
| MODE     | Performance  | Comparison      |
+-------------------------------------------+
| CST_BIN  | CST_OFF      | CST_OFF         |
+-------------------------------------------+
| DYN_BIN  | 5.055        | GOLDEN_FAILURE  |
+-------------------------------------------+
| STATUS   | FAIL         | FAIL            |
+-------------------------------------------+ 

CANNBot实际失败分析:
1) 根因与类别:golden问题(非NPU算子缺陷)
自定义golden脚本在生成期望值时,用torch.from_numpy转换ml_dtypes.bfloat16类型的numpy数组,PyTorch不支持该第三方dtype,抛TypeError导致golden生成失败,比较被标记GOLDEN_FAILURE。算子本身执行正常(性能5.055us、MD5一致)。
2) 关键日志证据

  • ttk.log L7: [ERROR] OnGenerateGolden Golden generation failure
  • ttk.log L17-21: golden.py:34: x_list = [torch.from_numpy(np.ascontiguousarray(t)) for t in x] → TypeError: can't convert np.ndarray of type ml_dtypes.bfloat16. The only supported types are: ...
  • ttk-compare.log L5: Output 0 Precision is GOLDEN_FAILURE (golden sentinel)
  • ttk.log L32: DYN_BIN | 5.055 | GOLDEN_FAILURE
    3) 定位建议
    修改/home/CI/golden/ForeachTanh/golden.py:34,兼容bfloat16:先用t.view(np.uint16)位转再torch.from_numpy(...).view(torch.bfloat16),或先cast为float32再to(torch.bfloat16)。失败用例集几乎全为bfloat16,与该缺陷吻合,修复后回归即可;个别float32大shape用例(如L1_054/062)需单独排查内存/超时。
    开发责任人:叶钊
    PL:叶钊
likedislike
sleeveenCollaborators
3 days ago Comments:
SsleeveenCollaborators
2 days ago Added label: 已提单
zhang-wenbo-beatzhang-wenbo-beat
2 days ago Associated pull request