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

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

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

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

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

相关推荐
IT信息时代14 小时前
突破数学与交互边界,GPT-6 Astra 开启通用人工智能新纪元
人工智能
IamZJT_14 小时前
08|值班讨论越来越长:让 Agent 记清事实、分歧和待办
人工智能
Crazy_MT14 小时前
App 可能不再是入口:从 iOS 27 快捷指令看苹果的 AI Agent 野心
人工智能·ios·apple
GAMC14 小时前
chrome-devtools-mcp:让 AI 编码助手真正"看见"浏览器
前端·人工智能
undsky_14 小时前
【n8n教程】:Set 节点,实现数据转换魔法!
人工智能·ai·aigc·ai编程
丁希希哇14 小时前
激活函数(Activation Function)
人工智能·机器学习
虫无涯14 小时前
Claude Code 频繁卡住?一文搞懂Spinner状态标识、卡顿根源与排查方案
人工智能·claude
虫无涯14 小时前
踩坑实战:Roo Code 调用本地模型卡顿?手把手教你优化到原生速度
人工智能
tellmewhoisi14 小时前
机器学习:集成学习4(XGBoost前置知识泰勒展开式2)
人工智能·机器学习·集成学习
西部驯兽师14 小时前
制造企业的信息化选型课题(二)
大数据·人工智能·制造