These are chat archives for Fortran-FOSS-Programmers/General-Discussion

Nov 2016
Izaak "Zaak" Beekman
Nov 10 2016 14:26

@/all I have been staring at something too long and have started to doubt myself. Can someone please confirm that the following is true for Coarray Fortran:

On a given image if an assignment is performed with an image local variable on the left hand side, and a coarray object on the righthand side (i.e., data on another image) no synchronization is needed before using the local variable on the left hand side because the assignment will not allow that image to proceed until the local variable has received the remote data. i.e., there is no synchronization required between line one and two below:

local_b(:) = remote_a(:)[me+1]
all_match = all( local_b(:) ==  local_a(:) )

This is correct, no? That is local_b will always have the values from remote_a when being compared with local_a, right?