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

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

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

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

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

相关推荐
IT_陈寒14 小时前
Python项目实战经验分享:为什么你的多进程日志会丢失?
前端·人工智能·后端
蒲公英eric14 小时前
蒙特卡洛方法:用随机抽样求解确定性问题
人工智能·数学建模·随机抽样·蒙特卡洛方法·数学建模模型
五萝卜14 小时前
AI 供应链 RAG 安全
人工智能·网络安全·ai编程
星核0penstarry14 小时前
视频理解模型选型指南:Gemini、Qwen、SeedRealtime 怎么选(附 API 示例)
人工智能·音视频·实时音视频·视频·gemini·vs qwen
golang学习记14 小时前
比VS Code轻10倍,JetBrains开源全新AI IDE
ide·人工智能·jetbrains·thinkrail
aneasystone本尊14 小时前
学习大模型训练的预训练工程:框架与 Scaling Law
人工智能
Kari1114 小时前
Dify多租户架构:从单团队到SaaS化服务
大数据·人工智能·架构
金牛的技术笔记14 小时前
BERT增量微调实战:冻结BERT,用ChnSentiCorp训练中文情感分类器
人工智能·深度学习·bert
老徐聊GEO14 小时前
GEO 复测的差分口径:2026 年同批题、同参数、同平台怎么落地
人工智能·geo优化
愤怒的代码14 小时前
什么是 Agent Loop
人工智能·agent