CO_BROADCAST — Copy a value to all images the current set of images

CO_BROADCAST()

CO_BROADCAST copies the value of argument A on the image with image index SOURCE_IMAGE to all images in the current team. A becomes defined as if by intrinsic assignment. 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.

Parameters
  • A – INTENT(INOUT) argument; shall have the same dynamic type and type parameters on all images of the current team. If it is an array, it shall have the same shape on all images.

  • SOURCE_IMAGE – a scalar integer expression. It shall have the same value on all images and refer to an image of the current team.

  • STAT – (optional) a scalar integer variable

  • ERRMSG – (optional) a scalar character variable

Standard:

Technical Specification (TS) 18508 or later

Class:

Collective subroutine

Syntax:

CALL CO_BROADCAST(A, SOURCE_IMAGE [, STAT, ERRMSG])

Example:

program test
  integer :: val(3)
  if (this_image() == 1) then
    val = [1, 5, 3]
  end if
  call co_broadcast (val, source_image=1)
  print *, this_image, ":", val
end program test
See also:

CO_MAX, CO_MIN, CO_SUM, CO_REDUCE