Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI devel] Open-MPI on TIPC
From: Xin He I (xin.i.he_at_[hidden])
Date: 2011-06-15 06:17:35


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