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

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

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

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

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

相关推荐
北京软秦科技有限公司19 小时前
跨区域批量项目交付难题如何破解?IACheck AI报告审核通审Agent版推动检测机构实现报告均质化管理
大数据·人工智能
love530love19 小时前
GPT + Codex CLI + CodexPro 三位一体:AI 编程协作工作流
人工智能·windows·gpt·chatgpt·devops·mcp
鉴生Eric19 小时前
改造预算有限怎么办?先车库、走廊等高耗电区域分步升级照明
大数据·人工智能
爷_19 小时前
AI Coding Agent 沙箱的设计原理解析
前端·人工智能·后端
IT·陈寒19 小时前
macOS 安装 Claude Code 全流程
人工智能·macos·策略模式
AllData公司负责人19 小时前
数据集成管理|AIIData数据中台实现MySQL、Hive、Oracle一键接入Doris
大数据·数据库·人工智能·hive·mysql·oracle·数据分析
Urbano19 小时前
跳出服装赛道:智能模板机如何重构扫地机清洁耗材量产新标准
人工智能·重构·自动化
AI品信智慧数智人19 小时前
人形机器人二次开发嫁接智能语音交互系统,解锁全维度智能新体验✨
人工智能
阿黎梨梨20 小时前
拒绝黑盒:手写一个 Mini Cursor,用 Node.js 驱动 AI 自动写代码
人工智能