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

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

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

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

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

相关推荐
随风@飘扬2 分钟前
CCS Theia中F28035 工程调试连接排障记录
人工智能
用户7275107796315 分钟前
程序员第一次控制工业步进电机:Python + Modbus RTU,从串口报文到自动定位(附可运行代码)
人工智能
AI袋鼠帝6 分钟前
WorkBuddy悄悄干了件大事,下一代Office真来了!
人工智能·agent
浮链序7 分钟前
用 Claude Haiku 5.5 做子智能体路由,把 Agent 成本砍掉六成
人工智能·python·llm
IT_陈寒8 分钟前
为什么你应该学习JavaScript?
前端·人工智能·后端
谁在黄金彼岸10 分钟前
Qwen-Image-2512-vs-2.1-实测对比
人工智能
ProbeX11 分钟前
Ollama到底是什么?能跑多大模型?
人工智能
梧桐AI13 分钟前
手写ReAct Agent:从mock循环到公网部署的完整记录
人工智能
吴佳浩22 分钟前
终章实战|300 行纯 Python 代码,手把手带你手搓一个生产级 Coding Agent
人工智能·agent
loulanyue_1 小时前
体验的Scaling时刻:读淘天首席科学家郑波2026云栖演讲
人工智能·计算机视觉·大模型·多模态