ARTICLE · 人工智能
103μs 降到 18μs 背后,Cursor 为何剑指英伟达,重写 GPU?
一语总结Cursor 通过 Pull 调度、Megakernel 与 Ring Buffer 等创新,将 MoE 通信延迟从 103μs 降至 18μs,展示了应用层深度优化 GPU 内核的路径。
文章详细拆解了 Cursor 开源的 Mixture-of-Kittens (MoK) 如何在 Blackwell 架构的 GB300 NVL72 集群中优化 MoE 的 token 调度与跨 GPU 通信。作者指出,尽管硬件带宽已达 130 TB/s,但 MoE 中的动态通信仍会因调度、布局生成、同步和负载不均衡导致显著等待。MoK 将传统的 Push 改为 Pull,让目标 GPU 主动拉取 token,减少跨卡协调开销;同时把通信与专家计算封装进同一个 Megakernel,通过 SM 分区和 minibatch 控制实现通信与计算的细粒度重叠;使用 Ring Token Buffer 消除 CPU 介入的分配等待,并将 MXFP8 量化融入数据路径以降低内存往返。在实际基准中,MoK 的前向延迟降低约 41%,端到端吞吐提升从 760.9 到 1070.2 tokens/s。文章强调,当链路带宽不再是瓶颈时,优化软件编排以减少 GPU 等待时间成为压榨算力的关键,标志着 AI 竞争进入“全栈主权”阶段。
- Pull 调度将通信延迟从 103μs 降至 18μs。
通过让目标 GPU 主动拉取 token,避免了源 GPU 之间对目标地址的协调冲突,同时利用 NVLink 双向独立通道提升利用率,显著削减了同步等待时间。
- Megakernel 将通信与专家计算封装在同一 GPU 内核中。
把 SM 分区分配给通信侧和计算侧,通过本地计数器实现两侧的事件通知,避免了多个 CUDA Stream 之间的资源竞争,使通信和计算能够更细粒度地重叠。
- Ring Token Buffer 消除了 CPU 介入的内存分配等待。
固定大小的环形缓冲区在 Dispatch 完成后立即复用,使得 Combine 与下一轮 Dispatch 可以在 GPU 上流水线进行,无需每轮向 CPU 申请或释放显存。
- MoK 的端到端训练吞吐提升约 41%。
在 512 张 GB300 GPU 上,换用 MoK 后单卡吞吐从每秒 760.9 个 token 提升至 1070.2 个,表明底层内核优化能够直接转化为训练速度的显著收益。
103μs 降到 18μs 背后,Cursor 为何剑指英伟达,重写 GPU?
文章详细拆解了 Cursor 开源的 Mixture-of-Kittens (MoK) 如何在 Blackwell 架构的 GB300 NVL72 集群中优化 MoE 的 token 调度与跨 GPU 通信。作者指出,尽管硬件带宽已达 130 TB/s,但 MoE 中的动态通信仍会因调度、布局生成、同步和负载不均衡导致显著等待。MoK 将传统的 Push 改为 Pull,让目标 GPU 主动拉取 token,减少跨卡协调开销;同时把通信与专家计算封装进同一个 Megakernel,通过 SM 分区和 minibatch 控制实现通信与计算的细粒度重叠;使用 Ring Token Buffer 消除 CPU 介入的分配等待,并将 MXFP8 量化融入数据路径以降低内存往返。在实际基准中,MoK 的前向延迟降低约 41%,端到端吞吐提升从 760.9 到 1070.2 tokens/s。文章强调,当链路带宽不再是瓶颈时,优化软件编排以减少 GPU 等待时间成为压榨算力的关键,标志着 AI 竞争进入“全栈主权”阶段。
文章金句
"硬件跑得再快,也救不了低效的软件编排。
"链路已经很快了,接下来要省的是 GPU 等数据的时间。
"MoK 的开源不仅是一个内核的胜利,它标志着'应用层定义算子'的时代的开始:为了压榨最后 30% 的算力,AI 创业公司正在发起一场底层主权的夺权战争。