Let me jump in here with a different perspective.
First, for those who don't know me:
+ I am NOT an OMPI developer
+ I am NOT an MPI application author either
+ I am a developer of "competing" HPC communications software (GASNet)
+ I contribute to OMPI mainly by building release candidates on
my menagerie of test systems
+ I less frequently contribute bug reports and patches (and opinions like
As a developer myself, I agree that the maintainability problem that Jeff
and Craig are trying to address is an important one.
I understand the concerns that Ralph has expressed and Brian has echoed,
but I do not fully agree.
I do agree that *if* one picks a scripting language for build-time tasks
(configure and/or make), the there should really be only one unless there
is a really good motivation for more. But if I understood, the bigger
issue than perl-vs-python is that perl has so far only be required for
folks who need to autogen but not for users who just build from a tarball.
In my opinion any "user" who is going to build an MPI implementation should
be capable of installing the reasonable "build dependencies", whether it be
python 2.x, python 3.x, perl or even tcl. It is not like one is asking for
smalltalk or common lisp. Additionally, as a "build dependency"
the requirement applies only to the OMPI-build host, not to the host(s)
used to build the MPI applications, and NOT to the compute nodes.
For the user building sources via RPM or APT packaging for Linux, Fink for
MacOS, or ports/packages for BSDs there are already mechanisms for
expressing build dependencies in those respective systems. Everything is
just automatic for those users.
Since OMPI already ships all the generated atomics variants in the tarball,
there is precedence in support of the alternative of per-generating all the
Fortran wrapper variants. That does NOT address Brian's strong objection
to adding a new language dependency, but moves the language dependency from
the end-user to the developer, and hopefully only to those developers who
modify the Fortran bindings.
Just my USD 0.02,
On Wed, May 22, 2013 at 10:47 AM, Barrett, Brian W <bwbarre_at_[hidden]>wrote:
> On 5/22/13 9:35 AM, "Ralph Castain" <rhc_at_[hidden]> wrote:
> >* this isn't about Craig and his abilities - this is a more general
> >requirements discussion. I personally wouldn't change my comments if it
> >was Jeff or Brian making the request - the issue remains the same.
> >Introducing another language requirement on the
> > user-level build isn't a minor issue. Just because someone knows a
> >language seems a weak argument - I had to learn perl to work on the build
> >system too. The differences aren't that huge, and the barrier isn't that
> What Ralph said. My objections are largely to introducing another
> language dependency (we should strive to keep these as small in number as
> possible). As I said, I'm strongly against using Python in the build
> system (unless we replace all Perl with Python, which I doubt anyone wants
> to deal with). I have a slight preference for not using non-Bourne Shell
> things in the configure / make stages, but that's not anywhere near as
> strong as the dislike of adding new languages to support in the build
> Brian W. Barrett
> Scalable System Software Group
> Sandia National Laboratories
> devel mailing list
Paul H. Hargrove PHHargrove_at_[hidden]
Future Technologies Group
Computer and Data Sciences Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900