This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/25829] [F2003] Asynchronous IO support
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 15 Apr 2011 09:11:03 +0000
- Subject: [Bug fortran/25829] [F2003] Asynchronous IO support
- Auto-submitted: auto-generated
- References: <bug-25829-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25829
--- Comment #21 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-04-15 09:10:56 UTC ---
(In reply to comment #19)
> A brute-force method would be to add a __sync_synchronize
Actually, this idea does not work properly - neither for INQUIRE(...,PENDING=)
nor for ASYNCHRONOUS with MPI 3. (Cf. link below)
(In reply to comment #20)
> If ASYNCHRONOUS expands to volatile, no barrier should be necessary.
Well, VOLATILE has the wrong semantics, i.e. it will only partially solve the
problem. Additionally, you create huge missed-optimization issues.
I have now asked at GCC@ (and fortran@) for some suggestions:
http://gcc.gnu.org/ml/fortran/2011-04/msg00143.html
(There is currently also a vivid discussion on J3's interop and MPI Forum's
MPI3-Fortran mailing lists about ASYNCHRONOUS and nonblocking MPI calls.)