SparseCore 集合通信卸载
也称为 collective offload、集合通信卸载、SparseCore 卸载阈值、SC collective
先用大白话
集合通信卸载把 all-reduce 等通信操作放到 TPU 的 SparseCore 上运行而不是 TensorCore,但只在消息足够大、值得这么做时才卸载。
技术定义
SparseCore 集合通信卸载是 Ironwood 的一种技术,在 SparseCore 上执行 all-reduce、all-gather 和 reduce-scatter,让 TensorCore 专注矩阵计算,并用一个尺寸阈值把小于阈值的集合通信留在 TensorCore 上。
工程细节
SparseCore 为不规则数据搬运而设计,天然适合承载集合通信。Google 在 SparseCore 上实现了 ReduceScatter,采用两级方案:先通过 die-to-die 链路在芯片内归约,再经 ICI 在芯片间交换,并用双缓冲让各阶段重叠。卸载并非免费:在 SparseCore 上启动有开销,对于能放进 VMEM 的小消息,TensorCore 完成得更快。对 Qwen3.5,一个由 VMEM 容量推导的阈值逐个集合通信地决定由哪个单元执行。
为什么重要
这个阈值提醒我们,把工作从关键单元上挪走也可能适得其反。某些情况下把集合通信卸载到 SparseCore 会让性能变差,收益来自按消息大小逐个选择,而不是把卸载当成一刀切的策略。它也说明 TPU 服务优化会触及 GPU 栈交给 NCCL 处理的调度决策。
如何在 InferenceX 中解读
基于阈值的卸载让 Qwen3.5 397B 在 8k1k 上的吞吐量在并发 64 下提高 2.7%,在并发 128 下提高 5.7%。把专家 ID 和路由权重的两个独立 all-gather 合并为一个,每层节省约 80 微秒,按 DeepSeek-V3 的 58 层计算,每次前向传播约节省 4.64 毫秒。