There is an ongoing discussion about this on issue #4067 ( https://github.com/open-mpi/ompi/issues/4067). Also the mailing list contains few examples on how to tweak the collective algorithms to your needs.
George. On Thu, Jun 6, 2019 at 7:42 PM hash join via users <users@lists.open-mpi.org> wrote: > Hi all, > > > I want to use the MPI_Allreduce to synchronize results from all the > processes: > https://github.com/open-mpi/ompi/blob/master/ompi/mpi/c/allreduce.c > > But I want to know the background algorithm to implement Allreduce. When I > check the coll base of MPI_Allreduce: > https://github.com/open-mpi/ompi/blob/2ae3cfd9bc9aa8cab80986a1921fd7ad9d198d07/ompi/mca/coll/base/coll_base_allreduce.c > > There are implementations like: > ompi_coll_base_allreduce_intra_nonoverlapping, > ompi_coll_base_allreduce_intra_recursivedoubling, > ompi_coll_base_allreduce_intra_ring..etc. So how can I know which exact > implement I am using when I use MPI_Allreduce. Or can I configure these? > For example, I only want to use ring allreduce. How should I configure it? > _______________________________________________ > users mailing list > users@lists.open-mpi.org > https://lists.open-mpi.org/mailman/listinfo/users
_______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users