【AscendC】tiling方案设计不当引起的一个时隐时现的bug

在设计tiling方案时,通常会考虑到非对齐的场景,对输入数据进行补全操作从而使得非对齐场景也能正确的完成计算。但在某些算子的实现过程中,沿用上述操作却会造成数据的错误计算,且这种错误出现与否取决于随机生成的测试数据质量。本文笔者记录一个典型的错误,并分析产生该错误的原因。

对于exp操作来说,通过将其优化为max + exp(x - max)是一种常用的手段。但对于非对齐场景,上述优化之后的算子可能会出现问题。对于补齐的位置,通常是以补0作为典型的补齐手段,此时如果原数据的最大值为大于等于0的值,那么在计算max的过程不会产生影响,但是在计算x-max之后就会造成补0的位置的值变成了负数,从而经过指数操作之后会产生正值,如果其后有规约求和的操作就会造成求和的数目过大从而造成结果错误。

但是上述过程可能会出现无法检测的情况,也即补齐的数目非常少(例如只有1个位置需要补0),此时可能出现没有影响到最终结果的情况。

因此在tiling设计中尤其要注意非对齐场景,这些补齐的位置是否会对计算产生影响。

相关推荐
wangsir.8 小时前
C++接入AI大模型SDK--环境搭配
人工智能
papaofdoudou8 小时前
从贝克莱的质问到ε-δ的胜利:微积分如何走向严密
人工智能
人工智能技术咨询.8 小时前
【无标题】数字孪生与航空发动机结合的关键技术点
人工智能
deephub8 小时前
知识图谱的可验证性:断言图谱的设计原理
人工智能·知识图谱·大语言模型·rag
小王努力学编程8 小时前
LangChain——AI应用开发框架(核心组件2)
linux·服务器·c++·人工智能·python·langchain·信号
_Soy_Milk8 小时前
【算法工程师】—— Pytorch
人工智能·pytorch·算法
bing.shao8 小时前
文心大模型 5.0 正式版上线:用 Golang 解锁全模态 AI 工业化落地新路径
人工智能·golang·dubbo
lina_mua8 小时前
Cursor模型选择完全指南:为前端开发找到最佳AI助手
java·前端·人工智能·编辑器·visual studio
高洁018 小时前
数字孪生应用于特种设备领域的技术难点
人工智能·python·深度学习·机器学习·知识图谱
秋98 小时前
idea中如何使用Trae AI插件,并举例说明
java·人工智能·intellij-idea