[MPI3 Fortran] [Fwd: Library-based ASYNCHRONOUS I/O and SYNC MEMORY]

Bill Long longb at cray.com
Tue Sep 9 14:29:46 CDT 2008



Craig Rasmussen wrote:
> I'm planning on summarizing where we are at the moment with some 
> examples in the wiki.  Hopefully I can get to it later today or 
> tomorrow at the latest.
>

Having just returned from vacation, that would be nice for me.


> For now I'll just point out that there are two separate issues:
>
> 1. API (interfaces) for calling MPI functions like MPI_Send.
>   - This is largely settled with the new proposed features to the 
> language (TYPE(*) and DIMENSION(..)).

Good.

> 2. A mechanism to inhibit code motion involving asynchronous MPI calls.
>  - This is still an open issue.

It seems this is more specifically a case like the following:

! Code region A

Call MPI_xxx (buffer, ...) ! Async send or receive

! Code region B

Call MPI_wait (...)  ! Wait until operations on buffer are complete

! Code region C

A compiler will never move expressions involving buffer between regions 
A and B.  Within region B, I assume the MPI rules tell the user to not 
define (for a send) or reference (for a receive) buffer.    So, the 
issue is to avoid motion of code involving references or definitions of 
buffer from region C into region B.

For those who believe this is a real problem, could someone please 
provide a test case that shows such code motion by an actual compiler 
(vendor, version number, compiler options used) that runs incorrectly on 
an actual system (type, number of processors used, OS information)? 

Cheers,
Bill



-- 
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 mpiwg-fortran mailing list