近日,CMU 助理教授贾志豪(Zhihao Jia)团队创新玩法,推出了一个名为「Mirage Persistent Kernel(MPK)」的编译器,可以自动将 LLM 转化为优化的巨型内核(megakernel),从而将 LLM 推理延迟降低 1.2 到 6.7 倍。 在这种设计中,系统仅启动一个 GPU 内核来执行整个模型 —— 从逐层计算到 GPU 间通信 —— 整个过程无需中断。这种方法提供了以下几个关键的性能优势: 消除内核启动开销:通过避免重复的内核调用,即使是在多 GPU 环境下,也能消除内核启动开销;实现跨层软件 pipeline 允许内核在计算当前层的同时,开始为下一层加载数据;重叠计算与通信:由于巨型内核可以同时执行计算操作和 GPU 间通信,从而隐藏通信延迟。 现有的高级 ML 框架 —— 如 PyTorch、Triton 和 TVM,它们本身并不支持端到端巨型内核生成。此外,现代 LLM 系统由各种不同的专用内核库构建而成:用于通信的 NCCL 或 NVSHMEM,用于高效注意力计算的 FlashInfer 或 FlashAttention,以及用于自定义计算的 CUDA 或 Triton。 那么能否通过编译自动化这个过程呢?受到这个问题的启发,来自 CMU、华盛顿大学、加州大学伯克利分校、英伟达和清华大学的团队开发出了 MPK—— 一个编译器和运行时系统,它能自动将多 GPU 的 LLM 推理转换为高性能的巨型内核。MPK 释放了端到端 GPU 融合的效能优势,同时只需要开发者付出极小的手动努力。 MPK 的一个关键优势在于:通过消除内核启动开销,并最大程度地重叠跨层的计算、数据加载和 GPU 间通信,实现了极低的 LLM 推理延迟。 除了单 GPU 优化,MPK 还将计算与 GPU 间通信融合进一个单一的巨型内核。 这种设计使得 MPK 能够最大程度地重叠计算与通信。因此,MPK 相对于当前系统的性能提升随着 GPU 数量的增加而增大,使其在多 GPU 部署场景下尤为高效。 Part 1:MPK 编译器,其将 LLM 的计算图转化为优化的任务图;Part 2:MPK 运行时系统,该系统在单个巨型内核内执行任务图,以实现高吞吐量与低延迟。 LLM 的计算过程通常表示为计算图,其中每个节点对应一个计算算子(如矩阵乘法、注意力机制)或集合通信原语(如 all-reduce),边表示算子间的数据依赖关系。现有系统通常为每个算子启动独立的 GPU 内核。 然而,这种「单算子单内核」的执行模型难以实现 pipeline 优化,因为依赖关系是在整个内核的粗粒度层面强制执行的,而非实际数据单元层面。 典型案例如矩阵乘法(matmul)后接 all-reduce 操作:现有系统中,all-reduce 内核必须等待整个 matmul 内核完成。而实际上,all-reduce 的每个数据分块仅依赖 matmul 输出的局部结果。这种逻辑依赖与实际依赖的错配,严重限制了计算与通信的重叠潜力。 下图 2 展示了 MPK 编译器将 PyTorch 定义的 LLM 计算图转化为优化细粒度任务图,最大化暴露并行性。右侧展示次优方案 —— 其引入不必要的数据依赖与全局屏障,导致跨层流水线优化机会受限。 为了解决此问题,MPK 引入的编译器可将 LLM 计算图自动转化为细粒度任务图。该任务图在子内核级别显式捕获依赖关系,实现更激进的跨层流水线优化。 任务(矩形表示),代表分配给单个 GPU 流式多处理器(SM)的计算 / 通信单元。事件(圆形表示),表示任务间的同步点。触发机制,每个任务发出指向触发事件的边,该事件在关联任务全部完成后激活。依赖机制,每个任务接收来自依赖事件的边,表明事件激活后任务立即启动。 任务图使 MPK 能够发掘计算图中无法实现的 pipeline 优化机会。例如,MPK 可以构建优化任务图 —— 其中每个 all-reduce 任务仅依赖于生成其输入的对应 matmul 任务,从而实现分块执行与计算通信重叠。 MPK 包含内置 GPU 运行时系统,可在单个 GPU 巨型内核内完整执行任务图。这使得系统能在推理过程中无需额外内核启动的情况下,实现任务执行与调度的细粒度控制。 获取任务:从队列中提取下一待执行任务。执行计算:运行任务(如矩阵乘法 / 注意力机制 / GPU 间数据传输)。事件触发:任务完成后通知触发事件。循环执行:重复上述过程。 调度决策由 MPK 的分布式调度单元处理,每个调度单元运行于单个线程束(warp)上。由于每个流式多处理器(SM)可以容纳多个线程束,因此单 SM 最多可并发运行 4 个调度单元。每个调度单元维护激活事件队列,并持续执行以下操作: 下图 3 展示了 MPK 的执行时间线,其中每个矩形代表一个在工作单元上运行的任务;每个圆圈代表一个事件。当一个任务完成时,它会递增其对应触发事件的计数器。当事件计数器达到预设阈值时,该事件被视为已激活,并被加入调度单元的事件队列。随后,调度单元会启动所有依赖于该事件的下游任务。 由于所有的调度和任务切换都发生在单一内核上下文内,任务间的开销极低,通常仅需 1-2 微秒,从而能够高效地执行多层、多 GPU 的 LLM 工作负载。 团队对 MPK 的愿景是使巨型内核编译既易于使用又具备高性能。目前,你只需几十行 Python 代码(主要用于指定巨型内核的输入和输出)即可将一个 LLM 编译成一个巨型内核。此方向仍有广阔的探索空间,目前正在积极攻关的一些关键领域包括如下: 支持现代 GPU 架构。下一个里程碑是将 MPK 扩展到支持下一代架构,例如 NVIDIA Blackwell。一个主要挑战在于如何将线程束专业化,这是新型 GPU 的一项关键优化技术,与 MPK 的巨型内核执行模型相集成。处理工作负载动态性。MPK 目前构建的是静态任务图,这限制了它处理动态工作负载(如 MoE 模型)的能力。团队正在开发新的编译策略,使 MPK 能够在巨型内核内部支持动态控制流和条件执行。高级调度与任务分配。MPK 在任务级别解锁了新的细粒度调度能力。虽然当前的实现使用简单的轮询调度在流式多处理器(SM)之间分配任务,但团队看到了在高级调度策略(如优先级感知或吞吐量优化策略)方面令人兴奋的机会,可应用于诸如延迟服务等级目标(SLO)驱动的服务或混合批处理等场景。 团队相信,MPK 代表了在 GPU 上编译和执行 LLM 推理工作负载方式的根本性转变,并热切期待与社区合作,共同推动这一愿景向前发展。
亚洲l码和欧洲m码的区别作为球员的时候,我可能更能享受胜利的喜悦。而作为教练,当完成一项任务的时候,你就已经在考虑下一项了。比如在切尔西,我们5月25日踢了一场英超的关键之战,因为要在诺丁汉取胜才能跻身前五行列,三天后又和贝蒂斯踢了欧协联决赛。决赛一结束,我们就开始考虑世俱杯了。作为球员,赢得比赛后你会很开心,不用操心下一场比赛,因为那是教练的事。现在我成了教练,对胜利的享受就少了一些。近日,一段关于湖南新化县资江中学禁止家长送饭的视频在网络上迅速发酵,引发了广泛的关注和热议。这段视频如同一颗重磅炸弹,在网络的海洋中掀起了层层巨浪,让资江中学瞬间成为舆论的焦点。亚洲l码和欧洲m码的区别宝宝下面湿透了还嘴硬的原因对于半导体切磨抛设备,超精密加工是所有应用的基础。余胡平表示,和研科技自2011年成立以来,攻克了高稳定性机芯结构设计及加工装配、微米级切割位置精度控制、微米级切割深度精度控制、高清洁度流体清洗和防脏污、高精度机器视觉定位及检测、高灵敏性刀片状态实时监测、高可靠性搬运及安全防护等多项共性技术。知情人士称,特朗普被告知,投下GBU-57(重达13.6吨)炸弹将有效摧毁福尔道地下核设施,但特朗普似乎并不完全相信这一点,并且一直推迟授权对伊朗发动打击,因为他也希望美国军事介入的威胁能够逼迫伊朗重新回到谈判桌上。两名国防官员透露,自特朗普开始第二个总统任期以来,GBU-57的有效性一直是五角大楼激烈争论的话题。他们表示,由于福尔道地下核设施位置很深,或许只有战术核武器才有能力摧毁它。
20250813 💦 亚洲l码和欧洲m码的区别• 2月, 中国金茂+经开城投竞得的63亩土地 仅用9个工作日即实现“双证齐发”,刷新了重大工程报规的“龙泉驿速度”,并宣告成都首个金茂“棠系”产品线落地;九·幺.9.16月19日A股市场全天低开低走,创业板指领跌。截至收盘,沪深两市全天成交额1.25万亿元,较上个交易日放量596亿元。个股跌多涨少,全市场超4600只个股下跌。截至收盘,沪指跌0.79%,深成指跌1.21%,创业板指跌1.36%。
📸 孙桂华记者 赵震毅 摄
20250813 🕺 亚洲l码和欧洲m码的区别王颖对记者表示,今年“国补”力度和范围都超出了预期。“以往,国补主要集中在大家电、家装等绿色节能产品上,以及价格相对较低的国产电器上。而今年,补贴力度更大,品类也更加丰富,不仅涵盖了家电家装、3C、娱乐等各大品类,连中高端消费产品也获得了相应补贴。这极大地激发了消费活力,效果显著,消费需求也得到了充分释放。”成品网站免费直播有哪些平台推荐毫无疑问,火箭在乌度卡执教两个赛季后,已经崛起成为西部青年军之一。至于如今杜兰特的加盟,则是将帮助火箭正式开启冲冠模式,而火箭依然需要完成各种升级与阵容完善,才有望成为总冠军的有力竞争者。
📸 李银峰记者 张雨倩 摄
😈 谭先生说,在离开德黑兰前,整座城市被战争阴霾笼罩,每个人面容憔悴,露出恐惧的神色。16日,德黑兰的广播电视台大楼遭以色列袭击,谭先生说那里距离他住的地方已经有五六公里,最早的空袭地点距离他还有近二十公里。ysl水蜜桃86满十八岁还能用吗