Research Article
Using Coarrays to Parallelize Legacy Fortran Applications: Strategy and Case Study
Listing 7
Unoptimized collective sum routine.
| subroutine vector_co_sum_serial(vector) | | real(rkind), intent(inout) :: vector(:)[*] | | integer image | | sync all | | if (this_image() == 1) then | | do image = 2, num_images() | | vector(:)1 = vector(:)1 + vector(:)[image] | | end do | | end if | | sync all | | if (this_image()/ = 1) vector(:) = vector(:)1 | | sync all | | end subroutine |
|