Re: [MPI3 Fortran] Nonblocking MPI and Fortran temporary memory modifications
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.
participants (1)
-
N.M. Maclaren