Skip to content

Make master abi compatible with 4.1.x #10098

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

bwbarrett
Copy link
Member

With this series of changes, the master branch is abi compatible with the 4.1.2 release according to abi-compliance-checker (assuming mpi extensions are not built).

bwbarrett and others added 6 commits March 9, 2022 18:18
Remove a dupliate declaration of MPI_UB and MPI_LB in the case when
mpi1-compat is specified.  This change mirrors the behavior of the
4.1.x branch.

Signed-off-by: Brian Barrett <[email protected]>
unless configure'd with --enable-mpi1-compatibility

Thanks Lisandro Dalcin for reporting this.

BWB Note: This patch was originally applied directly to v4.0.x in
e2638db, but now needs to be added to master, as we are keeping
the 4.x mpi1-compat behavior.

Signed-off-by: Gilles Gouaillardet <[email protected]>
Signed-off-by: Brian Barrett <[email protected]>
Follow-up to open-mpi#6120.

As mentioned in [1], it may be desirable to nevertheless get the hidden
MPI 1 prototypes, for users who know what they are doing, i.e., the tools
guys. @ggouaillardet mentioned in [2], that `-DOMPI_OMIT_MPI1_COMPAT_DECLS=0`
should work, but it does not, as than we only get redefinition warnings.
See [3].

[1] open-mpi#6120 (comment)
[2] open-mpi#6120 (comment)
[3] open-mpi#6120 (comment)

BWB Note: This patch was originally applied directly to v4.0.x in
73134ab, but now needs to be added to master, as we are keeping
the 4.x mpi1-compat behavior.

Signed-off-by: Bert Wesarg <[email protected]>
Signed-off-by: Brian Barrett <[email protected]>
This patch is similar to 4aa91e1, applied to v4.x, to re-enable
building the removed MPI-1 functions and maintain C/mpi-f.h ABI
compliance from 3.0.0 through master.

Signed-off-by: Brian Barrett <[email protected]>
Be consistent in using OMPI_OMIT_MPI1_COMPAT_DECLS when deciding
whether or not to declare removed types/functions/etc. and remove
the inconsistent sprinkling of OMPI_BUILDING checks by setting
OMPI_OMIT_MPI1_COMPAT_DECLS based on the OMPI_BUILDING value.

Signed-off-by: Brian Barrett <[email protected]>
MPI_LB and MPI_UB are always available when building OMPI and,
for ABI reasons, must be handled properly by the datatype
engine.

Signed-off-by: Brian Barrett <[email protected]>
@bwbarrett bwbarrett force-pushed the make-master-abi-compatible-with-4.1.x branch from c1d422d to 2308a9c Compare March 9, 2022 19:21
@open-mpi open-mpi deleted a comment from ibm-ompi Mar 9, 2022
@open-mpi open-mpi deleted a comment from ibm-ompi Mar 9, 2022
@open-mpi open-mpi deleted a comment from ibm-ompi Mar 9, 2022
@bwbarrett
Copy link
Member Author

The first four patches get master basically to the state 4.1.x is currently in (and need to be backported to v5.0.x). The last two fix issues discovered during the first four and need to be backported to v4.1.x nd v4.0.x as well.

@bwbarrett bwbarrett added this to the v5.0.0 milestone Mar 10, 2022
@bwbarrett bwbarrett requested a review from bosilca March 10, 2022 16:58
@bwbarrett
Copy link
Member Author

Adding @bosilca to the review, because I want to make sure I didn't screw up the datatype change.

@bwbarrett bwbarrett merged commit 4f8f2eb into open-mpi:master Mar 10, 2022
@bwbarrett bwbarrett deleted the make-master-abi-compatible-with-4.1.x branch March 10, 2022 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants