Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Open-MPI on TIPC
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2011-06-15 08:16:56


Xin / Lawrence --

Both of you asked about writing new BTLs within days of each other. Good timing. :-)

Do you want to have a teleconference / webex with me in the near future? I can orient you to the OMPI code base, give an overview of the BTL, etc. Email is great for discussing the finer details, but we've found that direct conversation is a good way to jump-start getting into the OMPI code base.

If so, ping me off list and we'll find a time that all 3 of us can get together.

On Jun 15, 2011, at 6:17 AM, Xin He I wrote:

> Thank your for replying.
>
> Now I have read through the documents mentioned and created the component "tipc" and successfully built a library of it (the content is empty, of course).
>
> So to advance the work, I will need to actually implement the library. And I notice btl.h and a "template" folder, which seems to demonstrate the structure of
> a typical btl component. However, I find myself not understand the code quite well. Would you please explain the structure a little bit, like what the files are for?
>
> Like I understand that btl_template.h is to define interfaces for export, but what other files(endpoint, pro, frag) for? And why such structure?
>
> Thank you in advance for your kind explanation.
>
> Regards,
> Xin
>
>
>
> ________________________________________
>
> Probably the best docs to check would be what were referred to in that thread, and http://www.open-mpi.org/papers/ppam-2005/ for an overview.
>
> Read through ompi/mca/pml/pml.h. It's the interface for the MPI "engine" behind OMPI's point-to-point functions, like MPI_SEND and MPI_RECV and friends. The PML uses BTLs to perform all the transport-level operations (E.g., over a specific type of network and/or protocol). BTLs are dumb byte-pushers; they have no concept of MPI semantics -- all the MPI semantics are handled in the upper-level PML. BTLs are also not allowed to block; the PML will poll them when necessary. Look though ompi/mca/btl/btl.h for a description of the BTL interface that BTLs are expected to export.
>
> Also have a look at the following wiki pages:
>
> https://svn.open-mpi.org/trac/ompi/wiki/NewDeveloper
> https://svn.open-mpi.org/trac/ompi/wiki/UsingMercurial (same principles apply to git or any other DVCS)
> https://svn.open-mpi.org/trac/ompi/wiki/devel/Autogen
> https://svn.open-mpi.org/trac/ompi/wiki/devel/CreateComponent
> https://svn.open-mpi.org/trac/ompi/wiki/BTLSemantics
>
>
> On Jun 13, 2011, at 4:39 AM, Xin He I wrote:
>
>> Hi,
>>
>> I just started working on adding a BTL module of TIPC (Transparent Inter-process Communication) for Open-mpi.
>>
>> My coworker post this topic a year ago : http://www.open-mpi.org/community/lists/devel/2010/05/7914.php
>>
>> I read the thread. I am wondering if someone could provide the documents mentioned. A few unofficial documents or explanation
>> of how to add a BTL module will be of great help to me :)
>>
>> Regards,
>> Xin
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
>
>
>
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/