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?

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.

> 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