-
Notifications
You must be signed in to change notification settings - Fork 864
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_F08_STATUS[ES]_IGNORE #1475
Comments
@jsquyres i started this |
fwiw, this is the tip of the iceberg ... btw, why |
@ggouaillardet Probably just so that all the declarations in mpif-c-constants-decl.h are of the same form...? |
@jsquyres i just found i screwed up some time ago ... in
but later, i made some changes that you documented
bottom line, if i build ompi master with gfortran (single underscore by default) and that being said, at this stage, my opinion is we cannot support all 4 common fortran compiler symbol conventions within the same library, so i'd rather fix the comment and remove all the weak symbols we do not want any more starting from gen3, and use any thoughts ? |
@jsquyres int MPI_Status_f2f08(MPI_Fint *f_status, MPI_F08_status *f08_status) MPI_Status_f2f08(f_status, f08_status, ierror)
INTEGER, INTENT(IN) :: f_status(MPI_STATUS_SIZE)
TYPE(MPI_Status), INTENT(OUT) :: f08_status
INTEGER, OPTIONAL, INTENT(OUT) :: ierror MPI_STATUS_F2F08(F_STATUS, F08_STATUS, IERROR)
INTEGER :: F_STATUS(MPI_STATUS_SIZE)
TYPE(MPI_Status) :: F08_STATUS
INTEGER IERROR i am not sure how to interpret that ... |
Has there been any progress on this? Note that MPI_F08_STATUS[ES]_IGNORE actually appeared in MPI-3.0 (see page 674). Technically, Open MPI isn't fully compliant with MPI-3.0 or MPI-3.1, though in practice, I doubt these constants are in much use (else I would expect there to be more of a fuss about the omission) and are most likely not a part of any test suite. Looking at other implementations, it appears that MPICH defines these constants, though they just point them to MPI_STATUS[ES]_IGNORE and state they aren't used. Note that they accidentally mis-named the struct in previous versions (MPI_F08_Status instead of MPI_F08_status). This is true for MPICH-derived libraries as well, such as Intel MPI. I'm currently working on an MPI binding for Swift—for now, at least, I'll leave these constants out, as it appears to be problematic in a number of implementations. |
Hi, |
Hi again. |
@SpinTensor I am working on it |
- MPI_Status_c2f08() - MPI_Status_f082c() - MPI_Status_f082f() - MPI_Status_f2f08() and the PMPI_* related subroutines Refs. open-mpi#1475 Signed-off-by: Gilles Gouaillardet <[email protected]>
Ugh; are we missing a bunch of the status conversion functions from MPI-3.1 Figure 17.1 (aka figure 33 in https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report/node447.htm#Node447)? That's... embarrassing. Would be Very Good to have this in time for v5.0.0 (i.e., ASAP). |
@jsquyres PR was posted 3 hours ago, and I chose you as the reviewer :-) note |
- MPI_Status_c2f08() - MPI_Status_f082c() - MPI_Status_f082f() - MPI_Status_f2f08() and the PMPI_* related subroutines Refs. open-mpi#1475 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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
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]>
@ggouaillardet Did you ever get a chance to look at adding the missing MPI_F08_STATUS[ES]_IGNORE symbols, perchance? |
Hi just wanted to check on the status. I see that ggouaillardet already started a merge request. When will the changes be available in the main trunk? |
@SpinTensor Thanks for the reminder; this one fell off the radar. |
This was (finally) merged to master, and the fix-the-missing- Per #8047 (comment), we didn't bring the missing conversion routines to v4.1.x or v4.0.x because of deeper ABI implications. As an extension of that, I didn't back-port the missing All these fixes will be included in the upcoming v5.0.x release. |
This is fixed in master and v5.0, closing. |
According to MPI-3.1 p681, we're supposed to have
MPI_F08_STATUS[ES]_IGNORE
inmpi.h
.The text was updated successfully, but these errors were encountered: