[MPI3 Fortran] Nonblocking MPI and Fortran temporary memory modifications
N.M. Maclaren
nmm1 at cam.ac.uk
Mon Apr 4 04:20:10 CDT 2011
On Mar 27 2011, Rolf Rabenseifner wrote:
>
>Reinhold showed me that the ASYNCHRONOUS attribute may not help
>because a compiler may implement asynchronous Fortran I/O
>with blocking I/O and therefore may ignore all ASYNCHRONOUS
>attributes.
That is a defect in the method of language specification used by most
ISO standards. When we discussed it, the majority agreed that a Fortran
compiler was obviously at liberty to implement asynchronous synchronously
either at the initiation or completion, but should not ignore the attribute
because the asynchronicity might be in C code.
I agree that it isn't clearly non-conforming, but it is clearly not
according to the intent.
>Pages 24-31 in the pdf (pages 549-556 in the original document)
>show our knowledge about the nonblocking and datatype (MPI_BOTTOM) problems
>in the combination of Fortran and MPI.
MPI_BOTTOM is truly horrible, and is unfixable, whether in Fortran or C.
Yes, it can be done using C_PTR, but it is still undefined behaviour in
both languages.
>Unfortunately in the taböle on page 550, we have to modify all entries
>about ASYNCHRONOUS into "NOT solved".
Not really. We have agreed on the direction - with, if I recall, only
one dissenter.
>Do you see further problems with nonblocking and "MPI_BOTTOM",
>that are not mentioned in this section and that should be.
I will try to take a look, but my advice is not to use MPI_BOTTOM in
portable code. I may be able to help with extra constraints.
Regards,
Nick.
More information about the mpiwg-fortran
mailing list