[Patch, Fortran, 4.7] PR 18918 - Add initial support for a coarray communication library
Tobias Burnus
burnus@net-b.de
Fri Mar 25 13:41:00 GMT 2011
Dear Walter, dear Damian, dear all,
W Spector wrote:
> Would it make sense to offer a third option - using shared memory
> parallelism?
Indeed, such an option is planned. However, as coarrays's memory model
fits rather MPI's and as it seemed that an (initial) library version
would lead to a cleaner interface, the first version will be a library
based on, where the first implementation will be MPI. (Potentially,
there could be several library, implementing the coarray communication
using also other communication libraries than MPI.)
(I might be mistaken, but I think all non-coarray variables would be
thread private ("__thread"), only coarrays would be shared arrays. One
than has careful to think of how to make sure the program works
correctly and all required variables are indeed thread private.)
Rouson, Damian wrote
> If I understand this correctly (and if you all don't mind a user
> contributing to the discussion), this would be a big plus. What I like
> the most about Fortran 2008 coarrays (besides the elegant syntax) is the
> implementation-independence. What the standard refers to as an image
> could presumably map to an OpenMP thread on one platform, a MPI process on
> another, or some mix thereof.
>
> On related note, what will be even better will be if a future standard
> allows the programmer to determine the mix in order to map processes to
> nodes on a distributed platform and threads to cores within the node.
While I think that it is useful to think about it, I think it gets
difficult to explicitly make this distinction as Fortran user. If one
uses MPI, the MPI implementation usually uses shared memory if possibly
and other means (TCP, Infiniband, etc.) if not.
For the current proposal to extend Fortran 2008's coarray support, see
an early draft for a TR at
http://j3-fortran.org/doc/meeting/192/10-166.pdf - if you have
comments/additional suggestions, get in touch with J3.
Tobias
More information about the Fortran
mailing list