On Aug 23, 2011, at 3:32 AM, Hoang-Vu Dang wrote:

> Where could I find a detailed documentation about algorithms that has been 
> using in Open MPI ? 

Unfortunately, you probably won't.

> For example, I would like to answer following questions: how MPI_Algather 
> operation is done? what is the complexity in term of the number of data 
> send/receive given a number of node involved? what is the data structure 
> behind ?. Same as for MPI_Alreduce etc.. 

All of OMPI's collectives are implemented as plugins under the ompi/mca/coll/ 
tree.  There are several different plugins in that tree -- each one has its own 
directory (with the exception of "base", which is glue code for the whole 
collective algorithm framework).  

You probably want to look in the "tuned" component for OMPI's 
current-generation algorithms (to be replaced soon, but that's what's mostly 
used today).  "tuned" has many different algorithm implementations for each MPI 
collective, and uses sophisticated run-time checking to determine which to use.

So the answer to your original query -- how is the MPI_Allgather operation 
done?  -- is, "it depends" on things like message size, number of peers, etc.  
:-)

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to