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

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

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

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

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

相关推荐
霍格沃兹测试开发学社测试人社区14 分钟前
Jenkins与不同阶段测试的完美结合
运维·软件测试·人工智能·测试开发·jenkins
如一@深声科技23 分钟前
交互数字人:革新沟通的未来
大数据·人工智能·ai·aigc·交互
乙真仙人26 分钟前
重新定义数据分析:LLM如何让人专注真正的思考
大数据·人工智能·信息可视化·数据挖掘·数据分析
搬砖的小码农_Sky29 分钟前
AI:对比ChatGPT这类聊天机器人,人形机器人对人类有哪些不一样的影响?
人工智能·chatgpt·机器人
在云上(oncloudai)31 分钟前
ChatGPT与Claude AI:两大生成式对话模型的比较分析
人工智能·ai·chatgpt
XianxinMao32 分钟前
《AI模型格局演变:Claude、Gemini Flash与OpenAI的技术角力》
人工智能·chatgpt
墨绿色的摆渡人44 分钟前
用 Python 从零开始创建神经网络(二十一):保存和加载模型及其参数
人工智能·python·深度学习·神经网络·机器学习
一狐九44 分钟前
记录一个v-if与自定义指令的BUG
前端·vue.js·bug
奶油泡芙shi_caicai1 小时前
记录往集合里添加集合时,用的同一个集合对象,导致bug
bug
夏尔Gaesar1 小时前
学习通过几何约束从单个图像预测 3D 车道形状和相机姿态 | 论文解读
人工智能·计算机视觉