ompi
ompi copied to clipboard
v6.0.x: A bunch of mpi_f08 updates
This is the v5.0x version of master PR #8173.
Fix a bunch of mpi_f08 bindings issues relating to [OMPI_]ASYNCHRONOUS and INTENT. See individual commit messages for details.
It looks like the corresponding master PR (#8173) broke something in the mpi_f08 module. Hold off on merging this to v5.0.x until we can fix it.
@jsquyres I think we need to have an OMPI_FORTRAN_IGNORE_TKR_TYPE specialized for f08 that generates an assumed rank argument rather than assumed size. The standard specifies assumed rank - i.e. foo(..)
@jsquyres I think we need to have an OMPI_FORTRAN_IGNORE_TKR_TYPE specialized for f08 that generates an assumed rank argument rather than assumed size. The standard specifies assumed rank - i.e.
foo(..)
Translation: it appears that ASYNCHRONOUS is not valid for TYPE(*), DIMENSION(*). But it is valid for TYPE(*), DIMENSION(..).
@jsquyres What's the status of this for v5.0.x?
Still waiting on the corresponding master PR #8173 and getting a fix for that.
@jsquyres PR #8173 looks like it's in. Does that unblock THIS PR? Should we remove the WIP-DNM?
@hppritcha @jsquyres Did this ever get fixed on master? It looks like XL compiler still doesn't like something on master:
** test_mpi_bsend === End of Compilation 1 ===
CCLD bsend_free
CCLD buffer
COMMAND LINE 1520-022 (W) The FREE option has been replaced by the option FREE(F90).
COMMAND LINE 1520-022 (W) The FREE option has been replaced by the option FREE(F90).
** testsome === End of Compilation 1 ===
** test_mpi_mprobe === End of Compilation 1 ===
** waitsome === End of Compilation 1 ===
** waitsome === End of Compilation 1 ===
** testall === End of Compilation 1 ==="allocmem_usempif08.f90", line 81.21: 1516-273 (S) Dummy
argument buf of procedure mpi_isend_f08 was specified with the ASYNCHRONOUS attribute. buf is not an
assumed-shape array or a pointer array. The corresponding actual argument must not be a pointer
array.
"allocmem_usempif08.f90", line 82.21: 1516-273 (S) Dummy argument buf of procedure mpi_isend_f08 was
specified with the ASYNCHRONOUS attribute. buf is not an assumed-shape array or a pointer array.
The corresponding actual argument must not be a pointer array.
"allocmem_usempif08.f90", line 83.21: 1516-273 (S) Dummy argument buf of procedure mpi_irecv_f08 was
specified with the ASYNCHRONOUS attribute. buf is not an assumed-shape array or a pointer array.
The corresponding actual argument must not be a pointer array.
"allocmem_usempif08.f90", line 84.21: 1516-273 (S) Dummy argument buf of procedure mpi_irecv_f08 was
specified with the ASYNCHRONOUS attribute. buf is not an assumed-shape array or a pointer array.
The corresponding actual argument must not be a pointer array.
** allocmem_test === End of Compilation 1 ===
1501-510 Compilation successful for file improbe_usempi.f90.
1501-511 Compilation failed for file allocmem_usempif08.f90.
make[1]: *** [Makefile:1462: allocmem_usempif08.o] Error 1
@gpaulsen no this hasn't been fixed yet on master. It's on my todo list. I'll move it up in priority and get to it this week.
Is there any update on this @hppritcha ?
this isn't going to make it into the 5.0.x release stream. removing that label.
oh sorry mixed this up with my PR #10302
i don't know what the status of this PR is.
@hppritcha , It's been a long time... I can't remember the details of why I moved the label to v6.0.x. If that's really the case, and the content is on main, can we just close this PR?
good question. Unless @jsquyres objects we should move it to v6.0.x. We need something like https://github.com/open-mpi/ompi/pull/10302 to truly be in compliance with the standard wrt mpi_f08 bindings. This is turning in to a long range project.
Agreed. I've had zero cycles to work on this, and that probably won't change any time soon. Push to 6.0.x.