CO_SUM(3) - [COLLECTIVE] Sum of values on the current set of images
call co_sum(a, result_image [,stat] [,errmsg] )
CO_SUM(3) sums up the values of each element of A on all images of the current team.
If result_image is present, the summed-up values are returned in A on the specified image only and the value of A on the other images become undefined.
If result_image is not present, the value is returned on all images. If the execution was successful and STAT is present, it is assigned the value zero. If the execution failed, STAT gets assigned a nonzero value and, if present, ERRMSG gets assigned a value describing the occurred error.
o A : shall be an integer, real or complex variable, which has the same type and type parameters on all images of the team. o RESULT_IMAGE : (optional) a scalar integer expression; if present, it shall have the same the same value on all images and refer to an image of the current team. o STAT : (optional) a scalar integer variable o ERRMSG : (optional) a scalar character variable
Sample program:
program demo_co_sum implicit none integer :: val val = this_image() call co_sum(val, result_image=1) if (this_image() == 1) then ! prints (n**2 + n)/2, with n = num_images() write(*,*) "The sum is ", val endif end program demo_co_sumResults:
> The sum is 1
TS 18508
CO_MAX(3), CO_MIN(3), CO_REDUCE(3), CO_BROADCAST(3)
Fortran intrinsic descriptions
Nemo Release 3.1 | co_sum (3fortran) | November 02, 2024 |