I would agree with Brian - in fact, it was my understanding from the
beginning of the project that we were Andrew's first vision: an MPI
implementation with whatever run time support that is required, and no
I would only expand on the statement about "...do not detract from the
primary goal..." to add that anything that complicates the code base,
makes it harder to maintain, etc. IMHO violates this principle. OMPI
is an MPI implementation. If people want to reuse the code for other
purposes, they are welcome to do so.
I myself currently assist several such groups, and just became
involved in yet another, in doing just this. Our approach has been to
respect OMPI's inherent nature by not intruding upon it with requests
to modify the code solely for our benefit. Instead, we work on
branches of OMPI's code, reusing what we want (maintaining copyright,
of course), removing/replacing what we don't want. Where it would help
OMPI, we contribute code back as a gesture of appreciation for what
others have done and are doing. It isn't hard to do at all, and
maintains the integrity of both the OMPI objective and the (at times,
conflicting with OMPI) objectives of the projects working on other
uses for the code.
I think Andrew raised a good point that is the crux of the argument
that has been running for some time now. Thanks for raising it to a
more visible position!
On Mar 11, 2009, at 12:41 PM, Brian W. Barrett wrote:
> On Wed, 11 Mar 2009, Andrew Lumsdaine wrote:
>> Hi all -- There is a meta question that I think is underlying some
>> of the discussion about what to do with BTLs etc. Namely, is Open
>> MPI an MPI implementation with a portable run time system -- or is
>> it a distributed OS with an MPI interface? It seems like some of
>> the changes being asked for (e.g., with the BTLs) reflect the
>> latter -- but perhaps not everyone shares that view and hence the
>> impedance mismatch.
>> I doubt this is the last time that tensions will come up because of
>> differing views on this question.
>> I suggest that we come to some kind of common understanding of the
>> question (and answer) and structure development and administration
> My personal (and I believe, Sandia's) view is that Open MPI should
> seek to be the best MPI implementation it can be and to leave the
> distributed OS part to a distributed OS project. This can be seen
> by my work with Ralph over the past few years to reduce the amount
> of run-time that exists when running on Red Storm. My vision of the
> (ideal, possibly impractical) Open MPI would be one with a DPM
> framework (the interface between OMPI and the run-time) and nothing
> else in the run-time category.
> That being said, I understand the fact that we need a run-time for
> platforms which are not as robust as Red Storm. I also understand
> the desire to build a variety of programming paradigms on top of
> Open MPI's strong infrastructure. Given the number of broken
> interfaces out there, only having to fix them once with more
> software is attractive.
> In the end, I don't want to give up the high quality MPI
> implementation part of the project to achieve the goal of wider
> applicability. Five years ago, we set out to build the best MPI
> implementation we could, and we're not done yet. We should not give
> up that goal to support other programming paradigms or projects.
> However, changes to better support other projects and which do not
> detract from the primary goal of a high quality MPI implementation
> should be pursued.
> devel mailing list