Communication has become a first-order bottleneck in large-cale GPU workloads, and existing distributed compilers address it mainly by overlapping whole compute and communication kernels at the stream level. This coarse granularity incurs extra kernel launches, forces device-wide synchronizations at kernel boundaries, and leaves substantial slack when the slowest tile or kernel stretches the communication tail. We present Syncopate, a compiler and runtime that enables automatic fine-grained overlap inside a single fused kernel. Syncopate introduces a communication chunk abstraction that decouples communication granularity from kernel structure and backend mechanisms, allowing chunk-level plans to be ported from existing distributed compilers, written directly by users, or instantiated from reusable templates. Given a local Triton kernel and a chunk schedule, Syncopate performs transformations to align computation with chunk availability. Implemented as a source-to-source compiler on Triton, Syncopate delivers an average end-to-end speedup of 1.3$\times$ and up to 4.7$\times$ on multi-GPU workloads.
翻译:通信已成为大规模GPU工作负载的首要瓶颈,现有分布式编译器主要通过流级别上整体计算与通信内核的重叠来解决该问题。这种粗粒度方式会引发额外内核启动、强制内核边界处的设备级同步,并在最慢的分片或内核拖长通信尾部时留下大量空闲窗口。我们提出Syncopate——一套支持在单个融合内核内部实现自动细粒度重叠的编译器与运行时系统。Syncopate引入了一种通信分块抽象,将通信粒度从内核结构与后端机制中解耦,使得分块级别策略可从现有分布式编译器移植、由用户直接编写,或通过可复用模板实例化。给定本地Triton内核与分块调度方案后,Syncopate执行转换以对齐计算与分块可用性。作为基于Triton的源码到源码编译器实现,Syncopate在多GPU工作负载上实现平均端到端1.3倍、最高4.7倍的加速比。