Hey Edwin,
The versioning scheme changed with 2.x. Prior to 2.x the "Minor" version
had a different definition and did not mention backwards compatibility
at all (at least in my 1.6.x tarballs). As it turned out for 1.8.x and
1.6.x, 1.8.x was not backwards compatible with 1.6.x, so the behavior
you saw in your test of 1.6.x-compiled code running against 1.8.x is
expected. In practice, 1.x was never backwards compatible with 1.y where
x>y, even though the versioning documentation at the time didn't
specifically mention it.
There is a note in the versioning documentation
(https://www.open-mpi.org/software/ompi/versions/) that does warn of
this change in the versioning scheme:
NOTE: The version numbering conventions were changed with the release
of v1.10.0. Most notably, Open MPI no longer uses an "odd/even"
release schedule to indicate feature development vs. stable
releases. See the README in releases prior to v1.10.0 for more
information (e.g.,
https://github.com/open-mpi/ompi-release/blob/v1.8/README#L1392-L1475).
There is also a CAVEAT underneath the "Major" section of the versioning
documentation that says that 1.10.x is not backwards compatible with
other 1.x releases and that the same rule applies to anything before
1.10.0. Perhaps another CAVEAT could be placed after the "Minor" section
since the information on backwards compatibility in the "Minor" section
only applies to 2.x and beyond.
The developers are still in the midst of the version scheme transition
(developing on both 1.10.x and 2.x), so the FAQ entries might be a bit
out-dated for the new numbering scheme for a while.
Thanks,
David
On 02/26/2016 09:20 AM, Blosch, Edwin L wrote:
I am confused about backwards-compatibility.
FAQ #111 says:
Open MPI reserves the right to break ABI compatibility at new feature release
series. ..... MPI applications compiled/linked against Open MPI 1.6.x will not
be ABI compatible with Open MPI 1.7.x
But the versioning documentation says:
* Minor: The minor number is the second integer in the version string. ....
Backwards compatibility will still be preserved with prior releases that have
the same major version number (e.g., v2.5.3 is backwards compatible with
v2.3.1).
These two examples and statements appear inconsistent to me:
Can I use OpenMPI 1.7.x run-time and options to execute codes built with
OpenMPI 1.6.x? No (FAQ #111)
Can I use OpenMPI 2.5.x run-time and options to execute codes built with
OpenMPI 2.3.x? Yes (s/w versioning documentation)
Can I use OpenMPI 1.8.x run-time and options to execute codes built with
OpenMPI 1.6.x? Who knows?! I tested this once, and it failed. I made the
assumption that 1.8.x wouldn't run a 1.6.x code, and I moved on. But I realize
now that I could have made a mistake. The test I performed could have failed
for some other reason.
Can anyone shed some light?
_______________________________________________
users mailing list
us...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
Link to this post:
http://www.open-mpi.org/community/lists/users/2016/02/28590.php
--
David Shrader
HPC-3 High Performance Computer Systems
Los Alamos National Lab
Email: dshrader <at> lanl.gov