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 >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel > > > > > > > > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/