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

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

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

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

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

相关推荐
DatGuy4 分钟前
Week 26: 深度学习补遗:LSTM 原理与代码复现
人工智能·深度学习·lstm
杜子不疼.36 分钟前
光影交织:基于Rokid AI眼镜的沉浸式影视剧情互动体验开发实战
人工智能
IT_陈寒38 分钟前
Python高手都在用的5个隐藏技巧,让你的代码效率提升50%
前端·人工智能·后端
love530love44 分钟前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
周杰伦_Jay1 小时前
【 2025年必藏】8个开箱即用的优质开源智能体(Agent)项目
人工智能·机器学习·架构·开源
大模型真好玩1 小时前
低代码Agent开发框架使用指南(八)—Coze 知识库详解
人工智能·agent·coze
2***57422 小时前
人工智能在智能投顾中的算法
人工智能·算法
草莓熊Lotso3 小时前
Git 分支管理:从基础操作到协作流程(本地篇)
大数据·服务器·开发语言·c++·人工智能·git·sql
youngfengying3 小时前
Swin Transformer
人工智能·深度学习·transformer
User_芊芊君子3 小时前
光影协同:基于Rokid CXR-M SDK构建工业级远程专家协作维修系统
人工智能