一般化
排列(音乐)
计算机科学
延迟(音频)
算法
集合(抽象数据类型)
立方体(代数)
数学
组合数学
理论计算机科学
电信
数学分析
物理
声学
程序设计语言
作者
Dmitry Kolmakov,Xuecang Zhang
出处
期刊:Cornell University - arXiv
日期:2020-01-01
被引量:1
标识
DOI:10.48550/arxiv.2004.09362
摘要
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 $P$ 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 $\lceil \log{P} \rceil$ for the latency-optimal version and $2 \cdot \lceil \log{P} \rceil$ for the bandwidth-optimal case.
科研通智能强力驱动
Strongly Powered by AbleSci AI