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

UptoLike

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

40
Определение
размера
полученного
сообщения
(
count
)
int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int
*count)
MPI_GET_COUNT(STATUS, DATATYPE, COUNT, IERR)
Аргумент
datatype
должен
соответствовать
типу
данных
,
указанному
в
операции
передачи
сообщения
.
Синхронная
передача
int MPI_Ssend(void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm)
MPI_SSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERR)
Параметры
этой
подпрограммы
совпадают
с
параметрами
подпрограммы
MPI_Send
.
Буферизованный
обмен
int MPI_Bsend(void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm)
MPI_BSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERR)
Параметры
совпадают
с
параметрами
подпрограммы
MPI_Send
.
Создание
буфера
int MPI_Buffer_attach(void *buf, size)
MPI_BUFFER_ATTACH(BUF, SIZE, IERR)
Выходной
параметр
:
buf
буфер
размером
size
байтов
.
В
программах
на
языке
Fortran
роль
буфера
может
играть
массив
.
Этот
массив
должен
быть
описан
в
программе
,
его
не
следует
использовать
для
других
целей
(
например
,
в
качестве
первого
аргумента
подпрограммы
MPI_Bsend
).
За
один
раз
к
процессу
может
быть
подключен
только
один
буфер
.
Отключение
буфера
int MPI_Buffer_detach(void *buf, int *size)
MPI_BUFFER_DETACH(BUF, SIZE, IERR)
Выходные
параметры
:
buf
адрес
;
size
размер
отключаемого
буфера
.
Вызов
данной
подпрограммы
блокирует
работу
процесса
до
тех
пор
,
пока
все
сообщения
,
находящиеся
в
буфере
,
не
будут
обработаны
.
В
языке
C
данный
вызов
не
освобождает
автоматически
память
,
отведенную
для
буфера
.