Параллельное программирование в стандарте MPI. Баканов В.М - 10 стр.

UptoLike

Составители: 

- 10 -
узлы) в виде строк и хранимые в их ОП порции данных в виде столбцов, аб-
бревиатурой БЛД обозначается блок данных (подробнее о применении опи-
санных функций см. в [1,2] и
http://parallel.ru
):
1. Тип broadcast: один-всем
Широковещательная передача сооб-
щений - один БЛД одного из процессов
передается всем процессам группы
MPI_Bcast(buffer, count, datatype,
source, comm), где bufferначальный
адрес буфера данных, countчисло
элементов в буфере, datatype - тип
элементов, source - номер передающе-
го процесса, comm - коммуникатор
2. Тип scatter: один-каждому
Раздача БЛД от одного процесса
всем процессам группы
MPI_Scatter(sendbuf, sendcount,
sendtype, recvbuf, recvcount, recvtype,
source, comm), где sendbuf, send-
count, sendtypeадрес начала, число и
тип элементов буфера посылки,
recvbuf, recvcount, recvtypeто же
для буфера сбора данных, sourceно-
мер процесса сбора данных, comm -
коммуникатор
Тип gather: каждый-одному
Сбор БЛД от всех процессов в груп-
пе в один из процессов группы
MPI_Gather(sendbuf, sendcount,
sendtype, recvbuf, recvcount, recvtype,
dest, comm). Каждый процесс группы
(включая корневой) посылает содержи-
мого своего передающего буфера кор-
невому процессу.
3. Тип allgather: все-каждому
Сбор БЛД из всех процессов группы
с получением результата сбора всеми
процессами группы
MPI_Allgather(sendbuf, sendcount,
sendtype, recvbuf, recvcount, recvtype,
source_dest, comm).
                                          - 10 -

узлы) в виде строк и хранимые в их ОП порции данных в виде столбцов, аб-
бревиатурой БЛД обозначается блок данных (подробнее о применении опи-
санных функций см. в [1,2] и http://parallel.ru):

1. Тип broadcast: один-всем

   Широковещательная передача сооб-
щений - один БЛД одного из процессов
передается     всем процессам группы
MPI_Bcast(buffer, count, datatype,
source, comm), где buffer – начальный
адрес буфера данных, count – число
элементов в буфере, datatype - тип
элементов, source - номер передающе-
го процесса, comm - коммуникатор
2. Тип scatter: один-каждому
   Раздача БЛД от одного процесса
всем          процессам         группы
MPI_Scatter(sendbuf,        sendcount,
sendtype, recvbuf, recvcount, recvtype,
source, comm), где sendbuf, send-
count, sendtype – адрес начала, число и
тип элементов буфера посылки,
recvbuf, recvcount, recvtype – то же
для буфера сбора данных, source – но-
мер процесса сбора данных, comm -
коммуникатор

Тип gather: каждый-одному
   Сбор БЛД от всех процессов в груп-
пе в один из процессов группы
MPI_Gather(sendbuf,         sendcount,
sendtype, recvbuf, recvcount, recvtype,
dest, comm). Каждый процесс группы
(включая корневой) посылает содержи-
мого своего передающего буфера кор-
невому процессу.
3. Тип allgather: все-каждому

   Сбор БЛД из всех процессов группы
с получением результата сбора всеми
процессами                      группы
MPI_Allgather(sendbuf,     sendcount,
sendtype, recvbuf, recvcount, recvtype,
source_dest, comm).