← 最新论文
🤖 machine learning

LP-GEMM: Integrating Layout Propagation into GEMM Operations

本文提出了 LP-GEMM,一种通过消除连续 GEMM 操作间冗余的数据打包与解包开销来优化科学计算与机器学习工作负载性能的技术,在 x86 和 RISC-V 架构上实现了显著加速,并成功应用于 Llama-3.2 推理路径。

原作者: César Guedes Carneiro, Lucas Alvarenga, Guido Araujo, Sandro Rigo

发布于 2026-04-07
📖 1 分钟阅读☕ 轻松阅读

原作者: César Guedes Carneiro, Lucas Alvarenga, Guido Araujo, Sandro Rigo

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文介绍了一种名为 LP-GEMM 的新技术,它的核心目的是让计算机在处理一连串复杂的数学运算(特别是矩阵乘法,即 GEMM)时,跑得更快、更省力。

为了让你轻松理解,我们可以把计算机处理数据的过程想象成一家繁忙的物流仓库

1. 现状:忙碌却低效的“标准仓库”

想象一下,你经营着一家名为"OpenBLAS"的物流仓库。每天,卡车(数据)都要把货物从 A 地运到 B 地,再运到 C 地。

  • 传统做法(OpenBLAS):
    每当一辆卡车到达仓库,不管它下一站要去哪里,仓库管理员都会做一件事:

    1. 拆包(Unpack): 把货物从原来的箱子里拿出来,整齐地摆成标准的“货架格式”(Canonical Layout),方便检查。
    2. 搬运/计算: 进行必要的处理。
    3. 重新打包(Pack): 处理完后,为了符合下一辆卡车的标准,管理员必须把货物重新打包装进一个新的箱子,或者重新摆成另一种格式。

    问题所在: 如果货物需要连续经过三个仓库(比如 A→B→C),在 B 仓库,管理员刚把货物摆好,C 仓库的卡车一来,他又得把货物拆了重新摆。这就叫**“重复打包和拆包”**。这浪费了大量的时间和人力(计算资源),而货物本身并没有变。

2. 创新:LP-GEMM 的“流水线”策略

这篇论文提出的 LP-GEMM 就像是一个聪明的物流调度员。他意识到:如果货物是连续运输的,为什么每次都要重新打包呢?

他设计了一套新的**“三步走”策略**,把仓库分成了三个角色:

  • 第一步:初始打包员 (Ini-GEMM)

    • 任务: 负责接收第一辆卡车。他依然会拆包,但他会直接按照下一站(下一辆卡车)最喜欢的格式来摆放货物。
    • 比喻: 就像你寄快递,直接按照收件人家里最方便的摆放方式打包,而不是先按标准格式包好,再让收件人拆开。
  • 第二步:中间搬运工 (Mid-GEMM)

    • 任务: 当货物从第一步传过来时,它已经是“完美格式”了!中间搬运工完全不需要拆包或重新打包,直接推着货物进行计算,然后保持原样传给下一站。
    • 比喻: 就像传送带上的包裹,直接滑过,不需要停下来重新贴标签或换箱子。
  • 第三步:最终整理员 (End-GEMM)

    • 任务: 只有当货物到达最后一站,需要交付给最终用户时,整理员才会把货物拆包,恢复成标准的“货架格式”。
    • 比喻: 只有到了目的地,才把货物摆成标准的展示架样子。

3. 核心优势:省去了“无用功”

通过这种**“布局传播”(Layout Propagation)**技术,LP-GEMM 消除了中间环节那些毫无意义的“拆包 - 重包”动作。

  • 以前的 OpenBLAS: 拆包 -> 计算 -> 重包 -> 拆包 -> 计算 -> 重包 -> 拆包 -> 计算 -> 重包。
  • 现在的 LP-GEMM: 拆包 -> 计算 -> (保持格式) -> 计算 -> (保持格式) -> 计算 -> 重包。

结果: 省去了大量的搬运和整理时间。

4. 实际效果:快得惊人

作者在两种不同的“卡车”(计算机芯片架构)上测试了这个方法:

  • Intel x86 芯片(像重型卡车): 速度平均提升了 2.25 倍
  • RISC-V 芯片(像灵活的小货车): 速度提升甚至达到了 5 倍

特别是在处理像 AI 大模型(如 Llama 3.2) 这种需要连续进行成千上万次矩阵运算的任务时,这种“不重新打包”的策略效果尤为明显。

5. 总结与比喻

如果把 AI 模型的计算过程比作做一道复杂的菜

  • 传统方法:每切一次菜,厨师都要先把菜摆成“标准盘”,切完再摆成“标准盘”,再切下一刀。虽然每次切菜都很专业,但摆盘的时间太长了。
  • LP-GEMM 方法:厨师直接按照下一步烹饪需要的形状来切菜。切完直接下锅,不需要中间摆盘。只有最后装盘上桌时,才摆成漂亮的形状。

结论:
这篇论文告诉我们,在计算机世界里,有时候**“保持原样”**比“每次都追求完美标准”要高效得多。LP-GEMM 通过让数据在运算过程中“保持连贯的格式”,极大地减少了计算机的无效劳动,让 AI 跑得更快,更省电。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →