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

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

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

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

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

相关推荐
深蓝AI1 小时前
10 万星投给了记忆:claude-mem 把编码 Agent 的断片压进 SQLite,值不值得装
人工智能·程序员
limuyang25 小时前
我在 2核2G 云主机上跑 OpenViking:一次关于云主机、模型选型与长期成本的真实复盘
人工智能·开源·ai编程
Shulex6 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
Java后端的Ai之路6 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
情 九7 小时前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
码农小旋风7 小时前
Ray分布式计算引擎介绍
人工智能·架构
火山引擎和TA的超级拍档们7 小时前
产品情报局 08 | AI 内容助手:全网热点驱动,一站式打通内容生产全链路
人工智能
Binovate缤江数智7 小时前
水泵远程开关之后,还需要管什么?数智开关在无人值守泵站中的监测、保护与能耗分析
人工智能·物联网
素男7 小时前
两个月不是六十天
人工智能·agent·self-becoming·ai长期记忆·ai自我介绍