Skip to content

PCOMM: Rename Precv_init/PSend_init to MPIX for 5.0.0 #11977

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

Closed
wants to merge 4 commits into from

Conversation

hppritcha
Copy link
Member

Related to #11967

The MPI Forum decided to change the API for partitioned communication subroutines MPI_Psend_init and MPI_Precv_init as part of MPI 4.1. This has generated quite a bit of dicussion, see mpi-forum/mpi-issues#765.

Rather than release a 5.0.0 with a set of functions which will be redefined if the current MPI 4.1-rc is ratified and we want OMPI to be 4.1 compliant, just rename the existing MPI_Psend_init and MPI_Precv_init to MPIX_ prefixed.

This commit also fixes a bug with the Fortran interfaces. They weren't compliant with the MPI 4.0 definitions in any case.

Related to open-mpi#11967

The MPI Forum decided to change the API for partitioned communication subroutines MPI_Psend_init and MPI_Precv_init
as part of MPI 4.1.  This has generated quite a bit of dicussion, see mpi-forum/mpi-issues#765.

Rather than release a 5.0.0 with a set of functions which will be redefined if the current MPI 4.1-rc is ratified and
we want OMPI to be 4.1 compliant, just rename the existing MPI_Psend_init and MPI_Precv_init to MPIX_ prefixed.

This commit also fixes a bug with the Fortran interfaces.  They weren't compliant with the MPI 4.0 definitions in any case.

Signed-off-by: Howard Pritchard <[email protected]>
Signed-off-by: Howard Pritchard <[email protected]>
@hppritcha hppritcha requested a review from jsquyres October 10, 2023 18:20
Signed-off-by: Howard Pritchard <[email protected]>
Signed-off-by: Howard Pritchard <[email protected]>
@bosilca
Copy link
Member

bosilca commented Oct 10, 2023

Kudos to whoever did the implementation of these two functions, because she did not followed the API from the standard but instead named these functions correctly (both MPI_Precv_init and MPI_Psend_init use ints for count). Thus, there is no need to change the type of the count argument to MPI_Count in this patch because:

  1. this is the sensible naming scheme and we can hope that at the end the standardization will legitimized this API
  2. we are in the MPIX namespace and we can have the API we want and having a sensible naming scheme is important.

Copy link
Member

@bosilca bosilca left a comment

Choose a reason for hiding this comment

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

Why changing the count from int to MPI_Count ? To follow the broken MPI API ?

@hppritcha
Copy link
Member Author

okay MPI forum decided today to back out the proposed changes to the 'c' MPI_PSEND_INIT/MPI_PRECV_INIT to MPI 4.1.
So the thing now is to decide whether we want to "fix" the Fortran bindings - which are not compliant with the MPI 4.0 standard.

@jsquyres
Copy link
Member

Given that the problematic proposal has been withdrawn from consideration for MPI-4.1 -- and API/ABI will not be broken in MPI-4.1 (or later) for these 2 functions -- we should no longer rename these functions to MPIX.

Instead, we should fix the Fortran bindings to be what is in MPI-4.0.

@hppritcha hppritcha closed this Oct 12, 2023
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