paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Composing Distributed Computations Through Task and Kernel Fusion

通过任务与内核融合组合分布式计算
ASPLOS Proceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 12025匹配度 3/10 · 论文属于分布式任务运行时与编译优化,涉及中间表示、任务/内核融合和JIT,与PL/编译方向有泛化关联;但核心不是静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,也未直接面向ML系统或Agentic程序的静态分析问题。引用 7 inbox
Rohan Yadav, Shiv Sundram, Wonchan Lee, Michael Garland, Michael Bauer, Alex Aiken, Fredrik Kjolstad
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出 Diffuse,用面向分布式计算的中间表示动态融合任务与内核,跨库边界优化任务式运行时应用。

Diffuse 面向分布式任务式运行时系统,解决跨函数与库边界难以发现融合机会的问题。其核心是一个分布式计算的中间表示,使分布式任务融合所需的各类分析能够以可扩展的方式完成;在任务融合之后,再由 JIT 编译器把融合任务内部的内核进一步融合。该中间表示被设计为通用目标,可承载 cuPyNumeric 与 Legate Sparse 两个真实任务式库。评估表明,在最多 128 块 GPU 上,由任务式库组合而成、未经修改的应用平均获得 1.86 倍加速(几何平均),单个应用加速比在 0.93x–10.7x 之间;Diffuse 还能发现原应用开发者遗漏的优化机会,使高层 Python 程序达到甚至超过显式并行 MPI 库的性能。

问题
在分布式的基于任务的运行时系统中,跨越函数与库边界的任务及内核融合机会难以被发现,导致由高层库组合出的应用性能受限。
方法
设计一种分布式计算的中间表示,以可扩展方式执行任务融合所需的分析并动态融合分布式任务,再配合 JIT 编译器融合融合任务内部的内核。
评估
在两个真实任务式库(cuPyNumeric 和 Legate Sparse)上对未经修改的应用进行实验,最多使用 128 块 GPU,测得几何平均 1.86 倍加速、最高 10.7 倍,并与显式并行 MPI 库的性能进行对比。
原文摘要(Abstract)

We introduce Diffuse, a system that dynamically performs task and kernel fusion in distributed, task-based runtime systems. The key component of Diffuse is an intermediate representation of distributed computation that enables the necessary analyses for the fusion of distributed tasks to be performed in a scalable manner. We pair task fusion with a JIT compiler to fuse together the kernels within fused tasks. We show empirically that Diffuse's intermediate representation is general enough to be a target for two real-world, task-based libraries (cuPyNumeric and Legate Sparse), letting Diffuse find optimization opportunities across function and library boundaries. Diffuse accelerates unmodified applications developed by composing task-based libraries by 1.86x on average (geo-mean), and by between 0.93x--10.7x on up to 128 GPUs. Diffuse also finds optimization opportunities missed by the original application developers, enabling high-level Python programs to match or exceed the performance of an explicitly parallel MPI library.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{YadavSLG0AK25,
  title = {Composing Distributed Computations Through Task and Kernel Fusion},
  author = {Rohan Yadav and Shiv Sundram and Wonchan Lee and Michael Garland and Michael Bauer and Alex Aiken and Fredrik Kjolstad},
  booktitle = {ASPLOS},
  year = {2025},
  doi = {10.1145/3669940.3707216}
}