The TEG paper is woefully out of date, we don't use that interface anymore.
Try the following for dated, but more relevant info: http://www.open-mpi.org/papers/euro-pvmmpi-2006-hpc-protocols http://www.open-mpi.org/papers/workshop-2006/wed_01_pt2pt.pdf These cover the point-to-point infrastructure which has changed in some ways but not dramatically. There are quite a few other areas covered here: http://www.open-mpi.org/papers/workshop-2006/ Happy Hunting.. - Galen On 11/3/08 11:39 AM, "Eugene Loh" <eugene....@sun.com> wrote: > Timothy Hayes wrote: >> I'm a regular OpenMPI user but I'm new to the strange world of development >> and >> hence this mailing list. I'm currently working on a project that involves >> OpenMPI and I was wondering if I might get some guidance and pointers in the >> right direction. >> >> The problem I'm having is jumping into the OpenMPI code. I've read two papers >> I found on the homepage: "Open MPI: Goals, Concept, and Design of a Next >> Generation MPI Implementation" and "TEG: A High-Performance, Scalable, >> Multi-Network Point-to-Point Communications Methodology" which gave me some >> insight about the MCA, PML and PTL. However, I'm finding it quite difficult >> to >> get a foothold into the codebase and I'm wondering if anyone might be able to >> point me to a guide or some documentation that might help get me started. >> >> >> >> >> I'm very eager to do this project well and contribute to the OpenMPI >> community, and if anyone has some advice or pointers I'd really appreciate >> it. > I'm no expert. Indeed, I'm quite the opposite. I started looking at OMPI a > few months ago. As a newbie, I'd say: > > There seems to be no really great docs here for developers. You just need to > start reading source code, asking questions, stepping through with a debugger, > etc., and immerse yourself for a while ... a few months? This is a little > frustrating since one of the objectives of OMPI is to provide a framework in > which a researcher should be able to modify only one component and do > something interesting. Meanwhile, there is no good description of what the > interfaces are among the various components nor what they all really do. And, > you do kind of need an understanding of what other pieces are doing and what > your component is supposed to do. So, instead of just reading up on one > component and writing it, you end up having to study a big body of source > code, reverse engineering a number of its parts, and then try implementing the > piece you're interested in playing with. > > I do have a bunch of notes I've accumulated that could theoretically help > someone else who is trying to learn the same things I am. My focus has been > on the sm BTL, so might not be 100% of interest to you. I've walked through > and found the code paths of interest to me, expanded data structures, done > some analysis, etc. I guess I should try to clean these notes up for other > people and share them. There are lots of pointers in there to source code so > one can look at the notes and click to see the relevant source code. These > notes are invaluable to me (and the product of 3 buckets full of blood, sweat, > and tears), but again reflect my own interests. The pointers to the source > code use OpenGrok -- http://opensolaris.org/os/project/opengrok/ -- but you > may have your own favorite tools. > > Main answer: no great docs to look at. I think I've asked some OMPI experts > and that was basically the answer they gave me.