What is Gloo and its core capabilities
mainGloo is a collective communications library designed for multi-machine training in machine learning applications. It provides several collective algorithms, including:
- barrier
- broadcast
- allreduce
Data transport is abstracted to support IP (TCP) at all times, or InfiniBand/RoCE when available. When using InfiniBand, it can leverage GPUDirect to accelerate cross-machine GPU-to-GPU memory transfers. Gloo supports both system memory buffers and NVIDIA GPU memory buffers; for GPU buffers, the algorithm implementations handle memory transfers without requiring manual host-to-device copies.