[MPI3 Fortran] Summary of items on the table
donev1 at llnl.gov
Wed Apr 30 00:43:04 CDT 2008
On Monday 28 April 2008 12:12, Craig wrote:
> However, I believe I can get the same thing with a assumed
> size, rank 1 dummy. At least the compiler I tried allowed me to call
> with a rank 2 actual.
Yes, this is legal, and called sequence association. This program, for
example, is perfectly legal. Copy in/out happens for non-contiguous
arguments. If you add target on both the dummy and the actual, and my
most recent proposal (meeting 184) gets accepted, there will be
guaranteed no copy in/out if the actual is simply-contiguous.
real, dimension(10,10) :: x
real, pointer, dimension(:,:) :: y
!call sub(y(3,2)) ! Not legal
! y may be non-contiguous
real, dimension(*) :: x
> Aleks has submitted a proposal to the Fortran J3 committee to improve
> on the ASYNCHRONOUS attribute. Hopefully this can make it into the
> F2008 standard and fix problems associated with copyin/copyout
> semantics and with code motion associated with asynchronous MPI
Craig, what I submitted is a fix to the inconsistent way of handling the
asynchronous attribute across argument passing that's been there since
Fortran 2003 (I had actually pointed that out during the F2003 CD but
back then I assumed there was a reason the words were written as they
are, which I now know is not the case).
I have not proposed extending the attribute to apply to "user-defined"
asynchronous I/O such as the non-blocking communication calls. That is
beyond the "integration and fixes" mandate of J3. Proposals for new
functionality should be submitted as public comment. I can help you guys
prepare the proposal, but it has to be your initiative.
Aleksandar Donev, Ph.D.
Lawrence Postdoctoral Fellow @ Lawrence Livermore National Laboratory
High Performance Computational Materials Science and Chemistry
E-mail: donev1 at llnl.gov
Phone: (925) 424-6816 Fax: (925) 423-0785
Address: P.O.Box 808, L-367, Livermore, CA 94551-9900
More information about the mpiwg-fortran