Hi Ralph,

Thanks for the response.  And Yes, this give me a good starting point Thanks.


From: Ralph Castain <rhc@open-mpi.org>
To: Open MPI Developers <devel@open-mpi.org>
Sent: Thursday, 18 June, 2009 9:26:46 PM
Subject: Re: [OMPI devel] some question about OMPI communication infrastructure

Hi Leo

The MPI communications is contained in the ompi/mca/btl code area. The BTL's (Bit Transport Layer) actually moves the message data. Each BTL is responsible for opening its own connections - ORTE has nothing to do with it, except to transport out-of-band (OOB) messages to support creating the connection if that specific BTL requires it.

If you are interested in TCP communications, you will find all of that code in ompi/mca/btl/tcp. It can be confusing down there, so expect to spend a little time trying to understand it. I believe Jeff has some documentation on the OMPI web site about it (perhaps a video?).

The source/destination is embedded in the message, again done by each BTL since the receiver must be a BTL of the same type. Again, this has nothing to do with ORTE - it is purely up to the BTL. MPI communications are also coordinated by the PML, which is responsible for matching messages with posted receives. You might need to look at the ompi/mca/pml/ob1 code to understand how that works.

Hope that gives you a starting point

On Jun 18, 2009, at 7:57 AM, Leo P. wrote:

Hi Everyone,

I wanted to ask some questions about things I am having trouble understanding.

  1. As far as my understanding of MPI_INIT function, I assumed MPI_INIT typically procedure resources required including the sockets. But now as I understand from the documentation that openMPI only allocated socket when the process has to send a message to a peer. If some one could let me where exactly in the code this is happening I would appreciate a lot. I guess this is happening in ORTE layer so I am spending time looking at it. But if some one could let me in which function this is happening it will help me a lot. 

  2. Also I think most of the MPI implementation embed source and destination address with the communication protocol. Am I right to assume openMPI does the same thing. Is this also happening in the ORTE layer.

Is there a documentation about this openMPI site? if there can someone please let me know the location of it.



ICC World Twenty20 England '09 exclusively on YAHOO! CRICKET_______________________________________________
devel mailing list

ICC World Twenty20 England '09 exclusively on YAHOO! CRICKET