Re: [OMPI users] Open questions on MPI_Allreduce background implementation

2019-06-08 Thread George Bosilca via users
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

[OMPI users] Open questions on MPI_Allreduce background implementation

2019-06-06 Thread hash join via users
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