The TEG paper is woefully out of date, we don't use that interface anymore.
Try the following for dated, but more relevant info:
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:
On 11/3/08 11:39 AM, "Eugene Loh" <Eugene.Loh_at_[hidden]> wrote:
> Timothy Hayes wrote:
>> I'm a regular OpenMPI user but I'm new to the strange world of development
>> 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
>> 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
> 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.