Средства программирования для многопроцессорных вычислительных систем. Немнюгин C.А. - 51 стр.

UptoLike

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

51
Выходной
параметр
:
rcvbuf
адрес
буфера
приема.
Сбор
данных
от
всех
процессов
в
заданном
коммуникаторе
и
запись
их
в
буфер
приема
с
указанным
смещением
int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype,
int root, MPI_Comm comm)
MPI_GATHERV(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNTS, DISPLS,
RECVTYPE, ROOT, COMM, IERR)
Список
параметров
у
этой
подпрограммы
похож
на
список
параметров
подпрограммы
MPI_Scatterv
.
В
обменах
,
выполняемых
подпрограммами
MPI_Allgather
и
MPI_Alltoall,
нет
главного
процесса
.
Детали
отправки
и
приема
важны
для
всех
процессов
,
участвующих
в
обмене
.
Сбор
данных
от
всех
процессов
и
распределение
их
всем
процессам
int MPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *rcvbuf, int rcvcount, MPI_Datatype rcvtype, MPI_Comm comm)
MPI_ALLGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RCVBUF, RCVCOUNT, RCVTYPE,
COMM, IERR)
Входные
параметры
:
sendbuf
начальный
адрес
буфера
передачи
;
sendcount
количество
элементов
в
буфере
передачи
;
sendtype
тип
передаваемых
данных
;
rcvcount
количество
элементов
,
полученных
от
каждого
процесса
;
rcvtype
тип
данных
в
буфере
приема
;
comm
коммуникатор
.
Выходной
параметр
:
rcvbuf
адрес
буфера
приема
.
Блок
данных
,
переданный
от
j-
го
процесса
,
принимается
каждым
процессом
и
размещается
в
j-
м
блоке
буфера
приема
recvbuf
(
рис
. 19).
Рис. 19.
Сбор
и
распределение
данных
при
выполнении
операции
Allgather