您好,需要提供准确的接口调用场景,以及出错的位置。
推荐使用上板维测接口进行详细定位。


感谢建议,已用 Dump 完成定位,并已在与报告环境一致的 CANN 9.1.0-beta.1(1.0.0 / 202602)上复验。结论需要更正一下。
对 Reciprocal_Mask1 在 API 调用前后分别做了 dump,并把 mask 值用 printf 打印了出来。实际传入的 mask 是确定性的 0x820820820820820,只有 10/64 个位置位(wrapper 代码注释声称 75%)。逐位核对后发现:置位的元素全部计算正确(inf→0、42→0.0238),未置位的按 Mask1 语义保持原值——beta.1 上复验结果一致,masked Reciprocal 执行完全正确,不是 CANN 的问题。"全零/identity"的假象来自我们测试 wrapper 生成的这个稀疏 mask(约 84% 元素根本没被计算),加上判定逻辑的误判。
Cast_Mask1 确实有问题,但根因与 #1470 完全相同:CAST_NONE 的 float→int32 在 910B 上静默不执行,与 Mask1 机制无关。
所以原 issue 中 Reciprocal_Mask1 / Exp_Mask1 的"全零 bug"描述撤回,这是代码生成器的 mask 生成问题,我们这边已在修复;Cast_Mask1 请与 #1470 一并处理。


您好,感谢您的使用。。
关于您遇到的问题,确实是CAST_NONE的f32 to i32路径在A3上不支持,可以参考文档Cast。
在您遇到一些异常问题时,可以使用-DASCENDC_DEBUG=1去开启NPU_DEBUG,但是因为性能考量我们不会去默认开启。


您好,因长时间未回复,该issue暂且关闭。若后续有问题欢迎继续反馈。


Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.
Describe the current behavior / 问题描述 (Mandatory / 必填)
多个 Mask1 变体算子输出全部为零,不执行任何实际计算。Mask2 变体完全正常。
Reciprocal_Mask1:
Exp_Mask1: 同样全零(Exp(1.0) 输出 0.0,预期 2.718)
Cast_Mask1: 同样全零
Exp_Mask2 (对比): 完全正常,Exp(1.0)=2.718,NaN/Inf 传播正确
Environment / 环境信息 (Mandatory / 必填)
Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)
tar xzf bug02_mask1_systemic_failure.tar.gz && cd bug02_mask1_systemic_failure
bash reproduce.sh
Describe the expected behavior / 预期结果 (Mandatory / 必填)
Mask1 和 Mask2 应该产生相同的计算结果,只是 mask 机制不同(逐 bit vs 连续 mask)。
Related log / screenshot / 日志 / 截图 (Mandatory / 必填)
Reciprocal_Mask1 输出:
Exp_Mask2 (正常对照):