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