Spec-Zone.ru › GNU Fortran 5

9.59 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-5.4.0/gfortran/CO_005fBROADCAST.html

Spec-Zone.ru

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