Einsummable: Automatic Multi-GPU Parallelism via Join-Agg Specs

Authors: Zhimin Ding, Chen-Kuan Liao, Chima Adiole, Brianna Barrow, Fangzhou Du, Yu Hsiao, Ge Huang, Yicheng Jin, Ismail Syed, Chris Jermaine Affiliation: Rice University arXiv: 2609.03905(2026-09-04,cs.DC;PVLDB 风格预印) Venue: 预印本 / VLDB 风格 PDF: arXiv PDF

单机多 GPU(NVLink 域可达 72)上,intra-operator 并行常靠手写 TP/SP/DP 或 mesh 注解自动并行。Einsummable 把每个算子建模为 张量关系上的 join + aggregation,用 join-agg specs 枚举合法分解,再用通信字节代理做 DP 选计划,最后合成 exchange program(拓扑感知,不依赖罐头 NCCL)。对照 LLM Distributed Training Collectives:集体不是库调用,而是编译出来的专用交换。

动机

  • FlexFlow / GSPMD / Alpa 等在固定 mesh 词汇上搜;表达不了 3D matmul、packed-sequence 边界切分、GQA 头继承等。
  • 通信开销可使「加卡变慢」;需要逻辑分解与物理路由分离。
  • 目标:程序员写 PyTorch 风格图,编译器自动选分解与数据移动。

方案

  1. 抽象算子 → join-agg specs: 每个算子按可切维导出 (p) 个 function specs((p=) GPU 数)。
  2. 逻辑优化: 按通信代理(repartition + join 输入量 + aggregation 副本)DP 选整图分解;可恢复经典 3D matmul。
  3. 物理优化: 为每个算子合成 ExProg(聚合+多播+中继),硬件模拟器成本;编成 CUDA graph。
  4. 内核: cuBLAS / FlashAttention 风格 / Triton 元素与分解核。

效果(仅论文数字)

平台: DGX A100 8×40GB NVSwitch;另测 DGX V100 cube-mesh。FP16;warmup 2 + timed 10。

工作负载Einsummable对照
LLaMA-scale transformer block,5 负载几何均值(8 GPU)8.97 msPyTorch 13.65;vLLM 14.87
单序列 128K tokens143 msPyTorch 506;vLLM 498(约 3.5×)
矩阵链 A–E与 JAX/PyTorch 基本持平(差约 ≤6%)—
随机计划 vs 优化器(transformer)中位随机 22.8 ms(约 2.5× 更差)—
V100 优化 vs naive exchangetransformer 几何均值约 +5.6%;bushy chain 最高 1.41×A100 上几乎无差

128K 计划叙述:自动得到类似 DeepSpeed-Ulysses(attention 内按 KV 头切、外围按 token 切)。通信代理与 runtime Pearson r 多在 0.72–0.92。

与 wiki 的关系

开放问题

  1. 多机慢互联下是否仍以 intra-op 为主,还是必须接 pipeline?
  2. 计算代价(形状敏感 kernel)进逻辑成本模型后排名是否变化?

Citations

[1] arXiv PDF — Ding et al., arXiv:2609.03905 [2] einsummable-multi-gpu-parallelism.md — ingest stub