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.
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/UsingMercurial (same principles apply to git or any other DVCS)
On Jun 13, 2011, at 4:39 AM, Xin He I wrote:
> 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 :)
> devel mailing list