Spec-Zone.ru › GNU Fortran 9

9.63 CO_BROADCAST — Копирование значения во все изображения текущего набора изображений

Описание:

CO_BROADCAST копирует значение аргумента A на изображении с индексом изображения SOURCE_IMAGE на все изображения в текущей команде. A определяется так, как если бы было выполнено внутреннее присваивание. Если выполнение прошло успешно и STAT присутствует, ему присваивается значение ноль. Если выполнение завершилось ошибкой, STAT получает ненулевое значение, а ERRMSG (если присутствует) получает значение, описывающее произошедшую ошибку.

Стандарт:

Техническое описание (TS) 18508 или более поздней версии

Класс:

Подпрограмма коллектива

Синтаксис:

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

Аргументы:
A Аргумент INTENT(INOUT); должен иметь одинаковый динамический тип и параметры типа на всех изображениях текущей команды. Если это массив, он должен иметь одинаковую форму на всех изображениях.
SOURCE_IMAGE скалярное целочисленное выражение. Оно должно иметь одинаковое значение на всех изображениях и ссылаться на изображение текущей команды.
STAT (необязательно) скалярная целочисленная переменная
ERRMSG (необязательно) скалярная символьная переменная
Пример:
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
См. также:

CO_MAX, CO_MIN, CO_SUM, CO_REDUCE

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.2.0/gfortran/CO_005fBROADCAST.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API