(j3.2006) an alternative to Aleks' asynchronous proposal

Bill Long longb
Fri Jun 20 13:42:47 EDT 2008

Malcolm Cohen wrote:
> At 07:00 08/06/20, Aleksandar Donev wrote:
>  > the need to prevent movement of code across calls to MPI_Wait
> Giving the affected variables the TARGET attribute would seem to be
> 100% effective here (since in theory MPI_Wait could modify the
> variables via the previously-stashed pointers to them).  VOLATILE
> would also be effective, but would optimise worse.

Another option is to put the affected variable in a module.  References 
to such a variable will never be moved across a call site (since the 
callee might USE the module), and otherwise there are minimal if any 
optimization effects.

In the larger view, I'm not yet convinced that this is a real problem. 
People have been using MPI for years and, once past the pain of writing 
the code initially, it has been executing correctly.  I'd be interested 
in any actual example of a code that suffered the problem we're 
expending so much effort trying to solve.


> That's not to say that I find Dick's proposal particularly
> attractive; for a start I'd prefer to spell the keyword

Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120


More information about the J3 mailing list