Skip to content

Conversation

gpaulsen
Copy link
Member

@gpaulsen gpaulsen commented Nov 1, 2018

In commit 89da965, we finally removed some MPI items that were
removed in MPI 3.0 / 3.1 (Unless the user configures with an
mpi1-compat flag). Unfortunately some of the items removed in
that commit, were NOT removed in the standard, and should have
remained merely deprecated.

This commit brings those items back, as deprecated both
with and without the --mpi1-compat flag (which only affects
removed items)

Signed-off-by: Geoffrey Paulsen gpaulsen@us.ibm.com

@gpaulsen
Copy link
Member Author

gpaulsen commented Nov 1, 2018

This PR replaces #6008 which went off into the weeds.

/*
* Removed typedefs. These will be deleted in a future Open MPI release.
* Deprecated typedefs. These will be deleted in a future MPI standard.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I said this on the last PR: "deprecated" != "will be deleted in a future MPI standard".

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dang it, I missed this, thanks.

Any idea why the build Checker failed? Something about --no-orte and --no-oshmem failures, but that's all I can understand.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a local AWS failure. Just do a retest.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, so that's an AWS filesystem failure? I hope so, since I'm not sure how it generates that orte/constants.h (which is what it couldn't find).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm when I looked at the logs for those 2 builds (admittedly somewhat quickly), I thought they said they had problems clearing out the working directory to do the next build. I took that to mean it was a local AWS error. Perhaps I read them wrong / too quickly...?

Regardless, you just pushed to the PR again -- we'll see how AWS CI does this time...

@jsquyres
Copy link
Member

jsquyres commented Nov 1, 2018

bot:ompi:retest

@gpaulsen gpaulsen force-pushed the task/restore_removed_mpi_items branch from c2bf852 to cf3c3e5 Compare November 1, 2018 19:40
@gpaulsen gpaulsen dismissed jsquyres’s stale review November 1, 2018 20:12

changed deprecated from "will be removed in the future" to a cut-n-paste from the standard of "may be removed in a future version of the standard".

Commit 89da965 inadvertantly #if'ed out both deprecated *and*
removed items from mpi.h.  The intent was only to #if out items that
have been *removed* from the MPI specification and leave all items
that are merely deprecated.

This commit also re-orders the deleted typedef+functions to be in the
same order as they are listed in MPI-3.1 chapter 17, just to make
verifying/checking the code easier.

Note that --enable-mpi1-compatibility can still be used to restore
prototypes for the items that have been removed from the MPI
specification (e.g., MPI_Address()).

Signed-off-by: Geoffrey Paulsen <gpaulsen@us.ibm.com>
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
@jsquyres jsquyres force-pushed the task/restore_removed_mpi_items branch from cf3c3e5 to b03a39d Compare November 1, 2018 20:38
Copy link
Member Author

@gpaulsen gpaulsen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@gpaulsen gpaulsen merged commit c79a4c5 into open-mpi:master Nov 1, 2018
@gpaulsen gpaulsen deleted the task/restore_removed_mpi_items branch November 1, 2018 22:38
@bertwesarg
Copy link
Member

Unfortunately, this only restored the prototypes for the deprecated functions. But these are still only available, if configured with --enable-mpi1-compatibility. See the OMPI_ENABLE_MPI1_COMPAT condition in ompi/mpi/c/Makefile.am, it stills lists the attr_* and keyval_* files.

Actually, I though there are no functions removed at all, only the prototypes. Thus I don't understand why the makefiles have this condition at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants