【infra之路】矩阵乘法(GEMM) Tiling 复用机制总结

在 C=A×BC = A \times BC=A×B 的 Tiling 优化中,关于"A 和 B 是否都被复用"的结论如下:

1. 核心结论
  • 理论层面:A 和 B 的总复用次数是对称的(A 复用 N 次,B 复用 M 次)。
  • 工程实现层面 :在单级 Tiling 的最内层计算循环中,通常只有一个切块被真正"驻留复用",另一个是"流式加载"。你的直觉是正确的。
2. 为什么只复用一个?

受限于片上存储(Register/L1/Shared Memory)容量,无法同时容纳所有数据。必须做出选择:

  • 驻留数据 (Resident):被加载一次后,在内层循环中被反复使用(通常是 A)。
  • 流式数据 (Streaming):每次迭代加载新块,用完即弃(通常是 B)。
  • 决定因素:取决于循环嵌套顺序(Loop Ordering)和 MNK 的形状,而非矩阵本身。
3. 例外情况

只有在 2D Tiling多级存储层次 设计中,为了追求极致算术强度,才会让 A 和 B 同时在片上驻留并交叉复用。但这属于高阶优化,非常规默认行为。

💡 实践建议

编写 Kernel 时,始终明确区分哪个是 Resident Tile、哪个是 Streaming Tile。不要试图在最小存储层级让两者同时完美复用,这往往导致性能下降。复用策略应服务于存储层次的设计,而非数学上的对称性。

相关推荐
番茄不是西红柿kk17 分钟前
AtomGit CodingPlan限时免费、限量 500 人/天
人工智能
深圳市益普科技有限公司22 分钟前
SMT 产线 MES 怎么管“钢网、刮刀、feeder”这些易耗辅料:防错与寿命追踪
人工智能
科研小牛马28 分钟前
北航何静:DeepSeek Harness,部署操作教程
人工智能
朝阳资本论29 分钟前
机器人的智能短板,大晓世界模型补齐
人工智能
YFJ_mily31 分钟前
9.24早鸟通道即将关闭|IMRA2026智能制造机器人自动化IEEE会议|往届EI稳定检索,设有学生专属投稿权益
人工智能·机器学习·机器人·自动化·智能制造·rdlink研发家·马鞍山会议
陌シ未央ゞ38 分钟前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
jsl_jsl_jsl38 分钟前
《Skill 与定时任务:让 Agent 在没人说话时也能干活》
人工智能
事界见闻39 分钟前
网页版AI 3D工具通常能完成哪些基础工作?生成、处理与导出流程对比
人工智能·3d
renhongxia141 分钟前
数字孪生不止在工厂:能源、医疗与农业
人工智能·深度学习·算法·机器学习·数字孪生
济南凡维1 小时前
CODESOFT中如何将标签保存为PDF文件
网络·人工智能·打印机·codesoft