Re: [OMPI users] Documentation of MPI Implementation

2011-08-24 Thread Jeff Squyres
On Aug 24, 2011, at 9:14 AM, Hoang-Vu Dang wrote:

> I know it depends and I want to know exactly what is the dependency and 
> general complexity analysis.
> 
> Is it really no documentation at all ?

No, there really isn't (other than the comments in the code).  Sorry.

I think there may have been a paper or two about the general techniques of 
tuned plugin, but it's not going to give you the details of what you want.

> For example you said "to be replaced soon", then what is the algorithms that 
> will be used to replace ? Is there any publication available ? In another 
> words, how do you know they will be replaced by which algorithm, please teach 
> me !

Unfortunately, this is as-yet unpublished work, so I can't really talk about 
any details (I'm not the one doing the work, either).  It's not even in the 
OMPI SVN trunk yet.  This is a fairly common pattern for us; we do 
research-level work off in private branches before bringing the final results 
to the SVN trunk and eventually to an OMPI release branch.

I only mentioned the new stuff because our tuned implementation is a little 
dated; it's fairly obvious that we'd be working on new stuff.  :-)

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




Re: [OMPI users] Documentation of MPI Implementation

2011-08-24 Thread Hoang-Vu Dang
Thanks Jeff,

I know it depends and I want to know exactly what is the dependency and
general complexity analysis.

Is it really no documentation at all ? For example you said "to be replaced
soon", then what is the algorithms that will be used to replace ? Is there
any publication available ? In another words, how do you know they will be
replaced by which algorithm, please teach me !
Cheers,
Vu

On Wed, Aug 24, 2011 at 9:07 PM, Jeff Squyres  wrote:

> 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/
>
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>


Re: [OMPI users] Documentation of MPI Implementation

2011-08-24 Thread Jeff Squyres
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/




Re: [OMPI users] Documentation of MPI Implementation

2011-08-23 Thread Eugene Loh

On 8/23/2011 12:32 AM, Hoang-Vu Dang wrote:

Dear all,

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


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


Is this information available to access and how can I access it ? I 
know there is one way which is digging into the source code, but I 
hope there is a easier way to achieve the same goal.
I'm no expert, but I suspect that any documentation is scant, 
incomplete, and likely to be out-of-date.