1
1
Mikhail Kurnosov 5ee1fb62b9 coll/libnbc: add Rabenseifner's algorithm for MPI_Iallreduce
An implementation of R. Rabenseifner's algorithm for MPI_Iallreduce.

This algorithm is a combination of a reduce-scatter implemented with recursive vector halving
and recursive distance doubling, followed either by an allgather.

Limitations:
-- count >= 2^{\floor{\log_2 p}}
-- commutative operations only
-- intra-communicators only

Signed-off-by: Mikhail Kurnosov <mkurnosov@gmail.com>
(cherry picked from commit 73e048b62a92325fc3fca80c2ade5f5e9bf3192a)
Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-06-25 23:06:51 +00:00
..
2020-04-15 17:08:21 -07:00