Введение в практику разработки параллельных программ в стандарте MPI. Баканов В.М - 11 стр.

UptoLike

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

- 11 -
мер процесса сбора данных, 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).
4. Тип alltoall: каждый-каждому
Раздача/сборка БЛД от всех процес-
сов во все процессы
MPI_Alltoall(sendbuf, sendcount, send-
type, recvbuf, recvcount, recvtype,
root, comm).
5. Барьерная синхронизация группы
процессов MPI_Barrier
При вызове этой процедуры управ-
ление в вызывающую программу не
возвращается до тех пор, пока все про-
цессы группы не произведут вызовов
MPI_Barrier(comm), где comm - ком-
муникатор
6. Глобальные (собирающие данные
со всех процессов) операции редукции
(сложение, вычисление максимума, ми-
нимума и определенные пользовате-
лем), результат передается одному или
всем процессам (MPI_Reduce,
MPI_Allreduce, MPI_Reduce_Scatter,
MPI_Scan).
Вообще говоря, для написания подавляющего большинства программ
достаточно 6 функций интерфейса MPI:
MPI_Init
- инициализация MPI-библиотеки
мер процесса сбора данных, 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).

4. Тип alltoall: каждый-каждому

   Раздача/сборка БЛД от всех процес-
сов       во       все       процессы
MPI_Alltoall(sendbuf, sendcount, send-
type, recvbuf, recvcount, recvtype,
root, comm).


5. Барьерная синхронизация группы
процессов MPI_Barrier
    При вызове этой процедуры управ-
ление в вызывающую программу не
возвращается до тех пор, пока все про-
цессы группы не произведут вызовов
MPI_Barrier(comm), где comm - ком-
муникатор
6. Глобальные (собирающие данные
со всех процессов) операции редукции
(сложение, вычисление максимума, ми-
нимума и определенные пользовате-
лем), результат передается одному или
всем      процессам     (MPI_Reduce,
MPI_Allreduce, MPI_Reduce_Scatter,
MPI_Scan).

  Вообще говоря, для написания подавляющего большинства программ
достаточно 6 функций интерфейса MPI:

  MPI_Init                 - инициализация MPI-библиотеки
                                          - 11 -