This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, Fortran, 4.7] PR 18918 - Add initial support for a coarray communication library


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]