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

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

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

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

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

相关推荐
liu_zhiyi16 小时前
生成式 AI 交互规范:提示词工程(Prompt Engineering)技术指南
人工智能·prompt·交互
前端不太难16 小时前
开源驱动的 AI 构建与治理
人工智能·开源
QYR_1116 小时前
2026年全球寡核苷酸合成用固相载体行业深度洞察与展望
大数据·人工智能
CS创新实验室16 小时前
CS实验室行业报告:自动驾驶领域就业分析报告
人工智能·自动驾驶·unix
泰迪智能科技0116 小时前
分享|人工智能方向职业技术培训:从入门到进阶,11个方向可选
人工智能
慧知AI16 小时前
【技术深度】苹果换帅后的端侧AI技术架构详解
人工智能
coderyi17 小时前
LLM Agent 浅析
前端·javascript·人工智能
冬奇Lab17 小时前
一天一个开源项目(第80篇):Browser Harness - 让 AI 智能体拥有“手”与“眼”的轻量化浏览器桥梁
人工智能·开源·资讯
ConardLi17 小时前
把 Claude Design 做成 Skill,你的网站也能拥有顶级视觉体验
前端·人工智能·后端