当前位置: 首页 > article >正文

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

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

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

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

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


http://www.kler.cn/a/502758.html

相关文章:

  • 对MySQL滴MVCC理解(超详细)
  • VS2015 + OpenCV + OnnxRuntime-Cpp + YOLOv8 部署
  • 计算机网络(四)——网络层
  • C++语言的学习路线
  • ROS Action接口
  • 网络安全常见的35个安全框架及模型
  • CNN中模型的参数量与FLOPs计算
  • Spring MVC数据绑定POJO类型
  • 【动态规划-矩阵】6.最大正方形
  • Linux 子系统 Ubuntu 安装MySQL 8
  • 【Apache Paimon】-- 为什么选择将 Spark 与 Paimon 集成,解决什么问题?
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 实现后台生成单个PDF文档
  • 虚假星标:GitHub上的“刷星”乱象与应对之道
  • 如何解决HTML和CSS相关情况下会导致页面布局不稳定?
  • ImportError: attempted relative import with no known parent package 报错的解决!
  • 2025年,华为认证HCIA、HCIP、HCIE 该如何选择?
  • 任务调度系统Quartz.net详解1-基本流程及Core表达式
  • 验证码的设置
  • Linux离线部署ELK
  • 【漫话机器学习系列】045.特征向量(Eigenvector)
  • 微信小程序开发设置支持scss文件
  • js:正则表达式
  • 每日学习30分轻松掌握CursorAI:Cursor隐私与安全设置
  • Django Admin 中实现 ECS 服务重启的细粒度权限控制
  • 面试加分项:Android Framework PMS 全面概述和知识要点
  • TaskBuilder前端页面JS脚本编辑