ompi icon indicating copy to clipboard operation
ompi copied to clipboard

v6.0.x: A bunch of mpi_f08 updates

Open jsquyres opened this issue 3 years ago • 15 comments

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.

jsquyres avatar Jan 05 '22 12:01 jsquyres

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 avatar Jan 05 '22 23:01 jsquyres

@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(..)

hppritcha avatar Jan 11 '22 16:01 hppritcha

@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 avatar Jan 11 '22 16:01 jsquyres

@jsquyres What's the status of this for v5.0.x?

gpaulsen avatar Jan 27 '22 16:01 gpaulsen

Still waiting on the corresponding master PR #8173 and getting a fix for that.

jsquyres avatar Feb 01 '22 14:02 jsquyres

@jsquyres PR #8173 looks like it's in. Does that unblock THIS PR? Should we remove the WIP-DNM?

gpaulsen avatar Feb 17 '22 16:02 gpaulsen

@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 avatar Mar 21 '22 19:03 gpaulsen

@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.

hppritcha avatar Mar 21 '22 20:03 hppritcha

Is there any update on this @hppritcha ?

awlauria avatar Aug 25 '22 15:08 awlauria

this isn't going to make it into the 5.0.x release stream. removing that label.

hppritcha avatar Aug 25 '22 15:08 hppritcha

oh sorry mixed this up with my PR #10302

hppritcha avatar Aug 25 '22 15:08 hppritcha

i don't know what the status of this PR is.

hppritcha avatar Aug 25 '22 15:08 hppritcha

@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?

gpaulsen avatar Jan 12 '23 16:01 gpaulsen

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.

hppritcha avatar Jan 12 '23 16:01 hppritcha

Agreed. I've had zero cycles to work on this, and that probably won't change any time soon. Push to 6.0.x.

jsquyres avatar Jan 12 '23 19:01 jsquyres