There is already a nice solution for the useful special case of ABI
portability where one wants to use more than one MPI library with an
application binary, but only one MPI library for a given application
invocation:

https://github.com/cea-hpc/wi4mpi

They document support for the Intel MPI and Open-MPI, which imply a much
larger support matrix when one takes https://www.mpich.org/abi/ into
account.  Plus, there is another popular MPICH derivative that is binary
compatible in my experience, even though it isn't listed there.

Hammond

On Thu, Sep 21, 2017 at 8:31 AM, Jeff Squyres (jsquyres) <jsquy...@cisco.com>
wrote:
>
> Don't forget that there's a lot more to "binary portability" between MPI
implementations than just the ABI (wire protocols, run-time interfaces,
...etc.).  This is the main (set of) reasons that ABI standardization of
the MPI specification never really took off -- so much would need to be
standardized that it could (would) remove a lot of optimization / value-add
that each MPI implementation (particularly those tuned for a specific
environment) can do specifically because such things are *not* standardized.
>
> I.e.: all things being equal, the optimization and performance benefits
that are achieved by real-world MPI implementations have been deemed more
important than binary compatibility.
>
>
> > On Sep 20, 2017, at 6:07 PM, Michael Thomadakis <
drmichaelt7...@gmail.com> wrote:
> >
> > This discussion started getting into an interesting question: ABI
standardization for portability by language. It makes sense to have ABI
standardization for portability of objects across environments. At the same
time it does mean that everyone follows the exact same recipe for low level
implementation details but there may be unnecessarily restrictive at times.
> >
> > On Wed, Sep 20, 2017 at 4:45 PM, Jeff Hammond <jeff.scie...@gmail.com>
wrote:
> >
> >
> > On Wed, Sep 20, 2017 at 5:55 AM, Dave Love <dave.l...@manchester.ac.uk>
wrote:
> > Jeff Hammond <jeff.scie...@gmail.com> writes:
> >
> > > Please separate C and C++ here. C has a standard ABI.  C++ doesn't.
> > >
> > > Jeff
> >
> > [For some value of "standard".]  I've said the same about C++, but the
> > current GCC manual says its C++ ABI is "industry standard", and at least
> > Intel document compatibility with recent GCC on GNU/Linux.  It's
> > standard enough to have changed for C++11 (?), with resulting grief in
> > package repos, for instance.
> >
> > I may have used imprecise language.  As a matter of practice, I switch
C compilers all the time without recompiling MPI and life is good.
Switching between Clang with libc++ and GCC with libstd++ does not produce
happiness.
> >
> > Jeff
> >
> > --
> > Jeff Hammond
> > jeff.scie...@gmail.com
> > http://jeffhammond.github.io/
> >
> > _______________________________________________
> > users mailing list
> > users@lists.open-mpi.org
> > https://lists.open-mpi.org/mailman/listinfo/users
> >
> > _______________________________________________
> > users mailing list
> > users@lists.open-mpi.org
> > https://lists.open-mpi.org/mailman/listinfo/users
>
>
> --
> Jeff Squyres
> jsquy...@cisco.com
>
> _______________________________________________
> users mailing list
> users@lists.open-mpi.org
> https://lists.open-mpi.org/mailman/listinfo/users




--
Jeff Hammond
jeff.scie...@gmail.com
http://jeffhammond.github.io/
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://lists.open-mpi.org/mailman/listinfo/users

Reply via email to