English

MSCCL++: Rethinking GPU Communication Abstractions for AI Inference

Distributed, Parallel, and Cluster Computing 2026-01-28 v4 Artificial Intelligence

Abstract

AI applications increasingly run on fast-evolving, heterogeneous hardware to maximize performance, but general-purpose libraries lag in supporting these features. Performance-minded programmers often build custom communication stacks that are fast but error-prone and non-portable. This paper introduces MSCCL++, a design methodology for developing high-performance, portable communication kernels. It provides (1) a low-level, performance-preserving primitive interface that exposes minimal hardware abstractions while hiding the complexities of synchronization and consistency, (2) a higher-level DSL for application developers to implement workload-specific communication algorithms, and (3) a library of efficient algorithms implementing the standard collective API, enabling adoption by users with minimal expertise. Compared to state-of-the-art baselines, MSCCL++ achieves geomean speedups of 1.7×1.7\times (up to 5.4×5.4\times) for collective communication and 1.2×1.2\times (up to 1.38×1.38\times) for AI inference workloads. MSCCL++ is in production of multiple AI services provided by Microsoft Azure, and has also been adopted by RCCL, the GPU collective communication library maintained by AMD. MSCCL++ is open source and available at https://github.com/microsoft/mscclpp . Our two years of experience with MSCCL++ suggests that its abstractions are robust, enabling support for new hardware features, such as multimem, within weeks of development.

Keywords

Cite

@article{arxiv.2504.09014,
  title  = {MSCCL++: Rethinking GPU Communication Abstractions for AI Inference},
  author = {Changho Hwang and Peng Cheng and Roshan Dathathri and Abhinav Jangda and Saeed Maleki and Madan Musuvathi and Olli Saarikivi and Aashaka Shah and Ziyue Yang and Binyang Li and Caio Rocha and Qinghua Zhou and Mahdieh Ghazimirsaeed and Sreevatsa Anantharamu and Jithin Jose},
  journal= {arXiv preprint arXiv:2504.09014},
  year   = {2026}
}

Comments

15 pages, 13 figures

R2 v1 2026-06-28T22:55:37.256Z