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