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倍。