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
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