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

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

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

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

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

相关推荐
kunge201315 小时前
Claude Code 工作流中的命令实现与自定义指南
人工智能·后端·架构
一切皆是因缘际会15 小时前
人工智能从对话工具向自主生产力跃迁
人工智能·深度学习·ai·重构
搬砖的小码农_Sky15 小时前
如何用Nvidia Geforce RTX 5060 Ti显卡进行本地Whisper语音转文字任务?
人工智能·ai·whisper·gpu算力
波动几何15 小时前
工作流重构方法技能workflow-refactor
人工智能
nix.gnehc15 小时前
从范式到工程:Plan & Execute + Nacos MCP 构建 AI Agent 的实践之路
人工智能·agent·mcp
工一木子15 小时前
Browser MCP:让 Cursor 直接操控你的真实浏览器
人工智能
测试员周周15 小时前
【Appium 系列】第17节-XMind用例转换 — 从思维导图到 YAML
java·服务器·人工智能·单元测试·appium·测试用例·xmind
ujainu15 小时前
CANN pto-isa:AI 编译为什么需要虚拟指令集
人工智能
AI周红伟15 小时前
通用业务智能体OpenClaw+Skills+RAG+Agent构建案例实操
大数据·人工智能·windows·百度·copilot
Fleshy数模15 小时前
基于 CSV 数据分析的课堂教学问题诊断与改进建议系统
数据库·人工智能·大模型·llm