------------------------------------------------------------------
MPI_BCAST(buffer, count, datatype, root, comm)
------------------------------------------------------------------
INOUT | buffer |
Стартовый адрес буфера (по выбору) | ||||
IN | count |
Количество элементов в буфере (целое) | ||||
IN | datatype |
Тип данных буфера (указатель) | ||||
IN | root |
Ранг широковещательного корня (целое) | ||||
IN | comm |
Коммуникатор (указатель) |
void MPI::Comm::Bcast(void* buffer, int count,
const MPI::Datatype& datatype,
int root) const = 0
Опция in-place
- в данном случае бессмысленна.
Если comm
- интеркоммуникатор, то вызов затрагивает все процессы в
интеркоммуникаторе, но с одной группой (группа A
), определяющей
корневой процесс. Все процессы в другой группе (группа B
) получат
одинаковые значения в аргументе root
, который является номером
корня в группе A
. Корню будет передано значение MPI_ROOT
в
root
. Все другие процессы из группы A получат значение
MPI_PROC_NULL
в root
. Данные широковещательно передаются от корня
всем процессам из группы B
. Аргументы буферов приема для процессов
из группы B должны быть совместимы с аргументами буфера передачи корня.