← 最新论文
🤖 machine learning

MPK: A Compiler and Runtime for Mega-Kernelizing Tensor Programs

Mirage Persistent Kernel (MPK) 是一种新颖的编译器与运行时系统,它通过使用 SM 级图表示来自动将多 GPU 张量程序转换为单个高性能巨核(mega-kernel),从而实现跨算子的流水线化以及计算与通信的细粒度重叠,进而显著降低 LLVM 推理延迟,相比于传统的逐算子内核方法具有明显优势。

原作者: Xinhao Cheng, Zhihao Zhang, Yu Zhou, Jianan Ji, Jinchen Jiang, Zepeng Zhao, Ziruo Xiao, Zihao Ye, Yingyi Huang, Ruihang Lai, Hongyi Jin, Bohan Hou, Mengdi Wu, Yixin Dong, Anthony Yip, Zihao Ye, Songti
发布于 2026-06-11
📖 1 分钟阅读☕ 轻松阅读

原作者: Xinhao Cheng, Zhihao Zhang, Yu Zhou, Jianan Ji, Jinchen Jiang, Zepeng Zhao, Ziruo Xiao, Zihao Ye, Yingyi Huang, Ruihang Lai, Hongyi Jin, Bohan Hou, Mengdi Wu, Yixin Dong, Anthony Yip, Zihao Ye, Songting Wang, Wenqin Yang, Xupeng Miao, Tianqi Chen, Zhihao Jia

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

想象一下你正在经营着一家规模宏大、高速运转的工厂,专门负责建造复杂的结构(比如 AI 模型)。在目前的操作方式中,建筑过程中的每一个步骤都由不同的专业团队负责。

旧方式:“走走停停”的工厂
目前,大多数 AI 系统的工作方式就像一个工厂:A 队负责砌墙,然后大喊一声“好了!”,接着停工。工厂经理(计算机的操作系统)必须暂停所有工作,检查文书工作,然后才叫来 B 队开始刷漆。一旦 B 队完成,他们也会停下,由经理再叫来 C 队安装窗户。

这造成了大量的效率浪费:

  1. “停止”信号: 每当一个团队完成任务时,都会有一个强制性的停顿,以确保下一组人已经准备就绪。这就像每个路口都有红灯。
  2. 经理的琐碎事务: 经理把大量时间花在不同团队之间奔波,分发新指令,而不是让团队真正投入工作。
  3. 缺乏重叠: 即便 B 队只需要 A 队刚刚完成的一小部分墙面,他们也必须等待整面墙完全砌好后才能开始。他们无法在砌第一块砖的同时就开始刷第一块砖的漆。

新方式:MPK (Mirage Persistent Kernel)
这篇论文介绍的 MPK,就像是将你的工厂变成了一条单一、连续且超高效的流水线,由一个巨大的自管理团队来运营。

以下是 MPK 如何改变游戏规则的,使用了简单的类比:

1. “一个大内核”(超级工厂)

MPK 不再是一个接一个地调用不同的团队,而是启动一个单一的、庞大的团队,从头到尾全程驻守。这个团队在步骤之间不会停顿。他们不需要等待经理告诉下一步该做什么,而是保持持续运转。

  • 收益: 它消除了“走走停停”的延迟。这就像一列永不停站更换引擎的火车,始终保持滚动。

2. “SM 级映射”(详细蓝图)

论文引入了一种新的绘图方式,称为 tGraph

  • 旧蓝图: “砌好墙 A,然后粉刷墙 A。”(过于宏观且模糊)。
  • MPK 蓝图: “工人 1 砌第一块砖,工人 2 砌第二块砖,工人 3 在砌第三块砖的同时,工人 4 开始给第一块砖刷漆。”
  • 神奇之处: MPK 将工作拆解到了单个工人(即 SMs 或流式多处理器)的级别。它精确地知道哪个工人需要在何时需要哪份数据。这使得不同的工人可以同时从事不同的工作(比如一边砌墙一边刷漆),只要他们不互相干扰即可。

3. “自动驾驶”运行时(聪明的领班)

在这个庞大的团队内部,有一个智能的自管理系统(内核内运行时/In-Kernel Runtime)。

  • 没有中间人: 团队成员不再通过外部经理听令,而是直接进行内部沟通。
  • 即时执行 (Just-in-Time) vs. 预先准备 (Ready-to-Go):
    • 如果一项任务很复杂,且依赖于不可预测的因素(比如聊天对话的句子长度变化),系统会等到前一步实际完成后再开始下一步(即时执行)。
    • 如果一项任务是可预测的,系统会在前一步完成之前,就提前排好队并准备就绪(预先准备)。
  • 结果: 工人们永远不会因为等待指令而闲置,他们始终处于忙碌状态。

4. “分页共享内存”(共享工具箱)

在旧工厂里,每个团队都有自己锁着的工具箱。如果 A 队需要一把锤子,他们必须等待 B 队完成工作并将锤子归还。

  • MPK 的解决方案: 他们使用“分页共享内存”。想象一个巨大的共享工具箱,其中的工具被组织成小的、可移动的“页”。一旦一名工人用完工具,他会立即将其放回架子上,下一名工人可以立刻取用。这使得工人在完成当前工作的同时,就能为下一个任务抓取材料。

为什么这很重要?

论文使用强大的 NVIDIA GPU,在大型语言模型(AI 聊天机器人的大脑)上测试了这个系统。

  • 速度: 在某些情况下,MPK 使 AI 的运行速度提升了 1.7 倍
  • 延迟: 它降低了生成单个单词所需的时间,使其非常接近硬件的物理极限。
  • 易用性: 最棒的是?你不需要成为工厂专家才能使用它。你可以只需通过几行代码,就能将标准的 AI 模型(用 PyTorch 编写)进行“MPK 化”。系统会自动计算如何拆解工作并管理工人。

总结:
MPK 将一个混乱的、团队频繁停顿和启动的工厂,变成了一条平滑、连续且自管理的流水线。通过将工作拆解为最小单元,并让工人直接进行协作,它消除了所有浪费的时间,使 AI 推理变得更加快速且高效。

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

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

试用 Digest →