More or less. Open MPI supports 6 algorithms: basic linear, chain, pipeline, 
split binary tree, binary tree, binomial tree.

The decision to switch between them is somehow similar to what you describe for 
MPICH but more complex it depends on the number of nodes in the communicator 
and the size of the data (look in 
ompi/ompi/mca/coll/tuned/coll_tuned_decision_fixed.c for more info). However, 
the current switch decision points have been built based on the IB 20G latency 
and bandwidth properties.

  george.

On Sep 21, 2012, at 02:13 , Mohammed El Mehdi DIOURI <mehdi.dio...@ens-lyon.fr> 
wrote:

> Hi, 
> 
> I would like to know what are the algorithms used in MPI_BCast() in the 
> OpenMPI implementation. 
> 
> For example, in MPICH2, depending on the number of processes and the size of 
> data to broadcast, the broadcasting algorithm used can be different : a 
> binomial tree if the message is short or MPI_Scatter followed by 
> MPI_AllGather if the message to broadcast is long.
> 
> Is it the same for OpenMPI ? 
> It doesn't seem to be the case since the broadcasting time is different when 
> I use OpenMPI or MPICH2.
> 
> Thanks for your help,
> 
> Mehdi.
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to