Re: [MPI3 Fortran] (j3.2006) (SC22WG5.3917) (SC22WG5.3909) [ukfortran] [MPI3 Fortran] MPI non-blocking transfers
Van Snyder wrote:
Just write an extra layer to get at MPI_wait, having an assumed-shape buffer dummy argument with the ASYNCHRONOUS attribute and without the CONTIGUOUS attribute. Since the buffer dummy won't be referenced, make the procedure external, or better yet, write it in C, so a clever optimizer won't inline it, notice the buffer isn't used, and then move accesses to the buffer across the remaining reference to MPI_wait, which is the present problem.
Make this layer generic with MPI_wait. Tell users to put the buffer or something associated with it, if one is in scope, as the associated actual argument, and tell them why. If there were an emoticon for throwing up in disgust I would put it here! This is horrid. Why don't you just tell the user "don't use asynchronous data transfers"???
Since we already have a solution, I don't see the need for another one, Well I do, since your solution is such a mess it is not really a solution.
Yes, you can do HACKs. That is NOT a "solution". Best, Aleks
participants (1)
-
Aleksandar Donev