Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка для MPI.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
506.88 Кб
Скачать

Сообщения «точка-точка»

Функция

Описание

Аргументы

MPI_Send(buffer,count,type,dest,tag,comm)

Посылка сообщения с блокировкой

Буфер, количество элементов в буфере, тип данных в буфере, получатель, идентификатор, коммуникатор

MPI_Isend(buffer,count,type,dest,tag,comm,request)

Посылка сообщения без блокировки (асинхронная посылка)

->>-, возвр. Статус

MPI_Ssend (*buf,count,datatype,dest,tag,comm,ierr)

Посылка сообщения с синхронизацией

MPI_Bsend (*buf,count,datatype,dest,tag,comm)

Посылка сообщения с буферизацией данных

->>-

MPI_Recv(buffer,count,type,source,tag,comm,status)

Получение сообщения с блокировкой

->>-

MPI_Irecv(buffer,count,type,source,tag,comm,request)

Получение сообщения без блокировки (асинхронное получение)

->>-

MPI_Rsend (*buf,count,datatype,dest,tag,comm)

Отправление по готовности.

->>-

MPI_Buffer_attach (*buffer,size)

Установка буфера для асинхронных и буферных пересылок

Буфер, размер буфера

MPI_Buffer_detach (*buffer,size)

Освобождения буфера для асинхронных и буферных пересылок

-->>--

MPI_Sendrecv (*sendbuf,sendcount,sendtype,dest,sendtag, *recvbuf, recvcount, recvtype, source, recvtag, comm,*status)

Комбинированный вариант. Одновременная отсылка и получение информации.

Буфер отправляемой информации, количество отпр. Информации, тип отпр. Инф., получатель, таг отправителя, то же самое для получения.

MPI_Probe (source,tag,comm,*status)

Проверка на блокировки. Возвращает состяние блокировок.

Получатель, таг, коммуникатор, статус

Групповые сообщения

Функция

Описание

Аргументы

MPI_Barrier (comm)

Приостановка программы до окончания всех групповых обменов данными.

Коммуникатор

MPI_Bcast (*buffer,count,datatype,root,comm)

Групповая рассылка данных. Данные в буфере рассылаются все остальным процессам в коммуникаторе

Буфер, количество элементов в буфере, тип данных в буфере, процесс-отправитель, коммуникатор

MPI_Scatter (*sendbuf,sendcnt,sendtype,*recvbuf, ...... recvcnt,recvtype,root,comm)

Рассылает еденичные сообщения для каждого процесса из буфера

Буфер, количество элементов в буфере, тип данных в буфере, тоже для получателя, процесс отправитель, коммуникатор.

MPI_Gather (*sendbuf,sendcnt,sendtype,*recvbuf, ...... recvcount,recvtype,root,comm)

Собирает еденичные сообщения от процессов в буфер.

Буфер, количество элементов в буфере, тип данных в буфере, тоже для получателя, процесс отправитель, коммуникатор.

MPI_Reduce (*sendbuf,*recvbuf,count,datatype,op,root,comm)

Выполняет групповую операцию над буфером в каждой переменной

Буфер, количество элементов в буфере, тип данных в буфере, операция, процесс отправитель, коммуникатор.

MPI_Allreduce (*sendbuf,*recvbuf,count,datatype,op,comm)

Выполняет групповую операцию над буфером и рассылает результаты всем процессам

Буфер, количество элементов в буфере, тип данных в буфере, операция, процесс отправитель, коммуникатор.