I forgot to include a link to the official announcement of the change,
and that info might be helpful in navigating the different versions and
backwards compatibility:
https://www.open-mpi.org/community/lists/announce/2015/06/0069.php
Thanks,
David
On 02/26/2016 10:43 AM, David Shrader wrote:
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