-
Notifications
You must be signed in to change notification settings - Fork 868
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
Add missing MPI_Status conversion subroutines #7762
Add missing MPI_Status conversion subroutines #7762
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, except it is missing the use-mpi-ignore-tkr
and use-mpi-tkr
versions.
1d5c8e9
to
e6d5a08
Compare
@jsquyres are you sure we need these subroutines in the |
MPI-3.1 Figure 17.1 states what functions need to be available in which languages: For the Fortran subroutines, it's not specified that the Fortran routines would only be available in the |
@jsquyres That does make sense. And it also begs the question "how to declare |
Forgive me, my Fortran is a little rusty, but perhaps something like this? use :: mpi_f08_types, only : MPI_Status
implicit none
include 'mpif.h'
! ...use type(MPI_Status) and integer array with size MPI_STATUS_SIZE and use :: mpi_f08_types, only : MPI_Status
use mpi
! ...use type(MPI_Status) and integer array with size MPI_STATUS_SIZE |
Oh, you're asking a different question... not how to use it in the user application, but how do we define it in the I guess defining that type in Meaning: I would imagine that |
@jsquyres I started this PR a while ago, and did not finalize it, mainly because I still cannot make any sense of One option is to declare
Both options look fishy to me, and even if I do not challenge your literal interpretation of the MPI standard |
Ok, I'll ask. I note that MPI-3.1 does define the C type I suspect that it means that |
Asked to the MPI Forum Fortran working group here: https://lists.mpi-forum.org/pipermail/mpiwg-fortran/2020-July/003554.html |
@ggouaillardet We got an answer from the MPI Forum Fortran working group: the This may take a little time to wind through the Forum, but I think their conclusions are fairly definitive. See mpi-forum/mpi-issues#298. Can you update this PR to match? |
@jsquyres will do.
|
If we are able to, yes. I.e., this is part of the
If it is possible, we should have the routines and they should do their actual operations. Might as well not special case it as much as possible -- e.g., the |
e6d5a08
to
c6eafa9
Compare
The IBM CI (XL) build failed! Please review the log, linked below. Gist: https://gist.github.com/724834b0718fa83b4f9bffd3f85af160 |
The IBM CI (PGI) build failed! Please review the log, linked below. Gist: https://gist.github.com/b7020ee901c2c6cef4a47a443a45de2c |
c6eafa9
to
06a9aeb
Compare
The IBM CI (XL) build failed! Please review the log, linked below. Gist: https://gist.github.com/e9d6bced07c397b5a5141bfdb275eeb5 |
6bc34ec
to
e7b903a
Compare
:bot:retest |
737d2fa
to
0d0f629
Compare
The IBM CI (PGI) build failed! Please review the log, linked below. Gist: https://gist.github.com/538b3acbfdb70d854f891f2dadc6f0ba |
0d0f629
to
3f7d57c
Compare
The IBM CI (PGI) build failed! Please review the log, linked below. Gist: https://gist.github.com/02bb6f209f9b447969dac8eb737c59c4 |
3f7d57c
to
d85191b
Compare
The IBM CI (PGI) build failed! Please review the log, linked below. Gist: https://gist.github.com/bd62c351c1eb88b8e987d565ce8fdd24 |
d85191b
to
7edd0fd
Compare
I had to revamp more stuff than anticipated. Finally, There are two remaining comments I have not addressed yet. |
FYI: the MPI Forum errata regarding this issue passed: mpi-forum/mpi-issues#298 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just need a few very minor changes.
I think the code all checks out. I made a comprehensive set of tests to check all of this -- see open-mpi/ompi-tests-public#2.
7edd0fd
to
6488f16
Compare
I updated the PR (but did not rewrite the man pages in markdown) |
Yeah, fair enough -- I wasn't expecting you to re-write it in Markdown. ;-) Could you review open-mpi/ompi-tests-public#2? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ggouaillardet I added a trivial commit to add {}
and another commit to convert the 3 man pages to Markdown. I fixed some typos and slightly improved the text along the way. If you're good with the changes, go ahead and merge.
bot:aws:retest |
Just to tally up before this PR is merged, this PR resulted in 3 issues being brought before the MPI Fourm 😄 :
That's pretty good! 😜 |
Make the C MPI_F08_status type definition match the updated mpi_f08 type(MPI_Status) definition. This fix the inconsistency introduced in open-mpi/ompi@98bc7af Signed-off-by: Gilles Gouaillardet <[email protected]>
manually cleanup the generated .mod file in OMPI_FORTRAN_CHECK_BIND_C_TYPE Signed-off-by: Gilles Gouaillardet <[email protected]>
Only in C bindings: - MPI_Status_c2f08() - MPI_Status_f082c() In all bindings but mpif.h - MPI_Status_f082f() - MPI_Status_f2f08() and the PMPI_* related subroutines As initially inteded by the MPI forum, the Fortran to/from Fortran 2008 conversion subtoutines are *not* implemented in the mpif.h bindings. See the discussion at mpi-forum/mpi-issues#298 Refs. open-mpi#1475 Signed-off-by: Gilles Gouaillardet <[email protected]>
Convert the MPI_Status_f082f, MPI_Status_f082c, and MPI_Status_f2c man pages to Markdown. Fix some typos and improve the text a bit along the way. Left the raw NROFF redirect pages MPI_Status_f2f08, MPI_Status_c2f08, and MPI_Status_c2f files as they were -- they're 1-line redirects, and it seems simpler to leave those (vs. duplicating the Markdown). Signed-off-by: Jeff Squyres <[email protected]>
cb15697
to
c04dc35
Compare
Should there be Fortran versions for |
No. See #7762 (comment) (aka MPI-3.1 figure 17.1). |
Ah perfect, thanks. I saw the comment but was totally misreading the figure. |
and the PMPI_* related subroutines
Refs. #1475
Signed-off-by: Gilles Gouaillardet [email protected]