摘要
arXiv:2504.09014v2 宣布类型:替换交叉
摘要:现代前沿AI应用程序正在快速发展中的异构、新兴硬件设备上开发。这需要频繁重写AI软件堆栈,以适应新的硬件自底向上的变化,这对通用软件库来说需要花费时间。因此,实际应用通常会开发特定硬件和特定工作负载优化的自定义软件堆栈。自定义堆栈有助于快速开发和优化,但在编写非便携代码方面会付出很多重复努力。本文讨论了为AI应用提供的替代通信库接口,该接口在减少重复努力的同时保持自定义灵活性,并提供了便携性和性能。我们提出了基于关注点分离的GPU通信的新抽象MSCCL++:(1)基本接口提供最少的硬件抽象,作为软件开发人员和硬件开发人员编写自定义通信的共同基础;(2)高级可移植接口和专门实现使不同工作负载和硬件环境下的优化成为可能。这种方法使基本接口在应用之间重复使用,同时实现高度灵活的优化。与最先进的基线(NCCL、RCCL和MSCCL)相比,MSCCL++在集体通信方面的速度提高了5.4倍,在实际AI推理工作负载方面提高了高达15%。MSCCL++正在微软Azure提供的多个AI服务中进行生产和使用,并且也被AMD维护的GPU集体通信库RCCL采用。MSCCL++是开源的,并可在https://github.com/microsoft/mscclpp 获取。