ResearchTrend.AI
  • Papers
  • Communities
  • Events
  • Blog
  • Pricing
Papers
Communities
Social Events
Terms and Conditions
Pricing
Parameter LabParameter LabTwitterGitHubLinkedInBlueskyYoutube

© 2025 ResearchTrend.AI, All rights reserved.

  1. Home
  2. Papers
  3. 2004.09362
22
5
v1v2 (latest)

A Generalization of the Allreduce Operation

20 April 2020
D. Kolmakov
Xuecang Zhang
ArXiv (abs)PDFHTML
Abstract

Allreduce is one of the most frequently used MPI collective operations, and thus its performance attracts much attention in the past decades. Many algorithms were developed with different properties and purposes. We present a novel approach to communication description based on the permutations inspired by the mathematics of a Rubik's cube where the moves form a mathematical structure called group. Similarly, cyclic communication patterns between a set of PPP processes may be described by a permutation group. This new approach allows constructing a generalization of the widely used Allreduce algorithms such as Ring, Recursive Doubling and Recursive Halving. Using the developed approach we build an algorithm that successfully solves the well-known problem of the non-power-of-two number of processes which breaks down the performance of many existing algorithms. The proposed algorithm provides a general solution for any number of processes with the dynamically changing amount of communication steps between ⌈log⁡P⌉\lceil \log{P} \rceil⌈logP⌉ for the latency-optimal version and 2⋅⌈log⁡P⌉2 \cdot \lceil \log{P} \rceil2⋅⌈logP⌉ for the bandwidth-optimal case.

View on arXiv
Comments on this paper