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

UptoLike

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

39
Далее
приводится
описание
интерфейса
подпрограмм
,
реализующих
разные
виды
двухточечного
обмена
.
Стандартная
блокирующая
передача
int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm)
MPI_SEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERR)
Входные
параметры
:
buf
адрес
первого
элемента
в
буфере
передачи
;
count
количество
элементов
в
буфере
передачи
;
datatype
тип
MPI
каждого
пересылаемого
элемента
;
dest
ранг
процесса
-
получателя
сообщения
(
целое
число
от
0
до
n – 1,
где
n
число
процессов
в
области
взаимодействия
);
tag
тег
сообщения
;
comm
коммуникатор
;
ierr
код
завершения
.
Стандартный
блокирующий
прием
int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source,
int tag, MPI_Comm comm, MPI_Status *status)
MPI_RECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERR)
Входные
параметры
:
count
максимальное
количество
элементов
в
буфере
приема
.
Фактическое
их
количество
можно
определить
с
помощью
подпрограммы
MPI_Get_count
;
datatype
тип
принимаемых
данных
.
Напомним
о
необходимости
соблюдения
соответствия
типов
аргументов
подпрограмм
приема
и
передачи
;
source
ранг
источника
.
Можно
использовать
специальное
значение
MPI_ANY_SOURCE
,
соответствующее
произвольному
значению
ранга
.
В
программировании
идентификатор
,
отвечающий
произвольному
значению
параметра
,
часто
называют
"
джокером
".
Этот
термин
будем
использовать
и
мы
;
tag
тег
сообщения
или
"
джокер
"
MPI_ANY_TAG
,
соответствующий
произвольному
значению
тега
;
comm
коммуникатор
.
При
указании
коммуникатора
"
джокеры
"
использовать
нельзя
.
Выходные
параметры
:
buf
начальный
адрес
буфера
приема
.
Его
размер
должен
быть
достаточным
,
чтобы
разместить
принимаемое
сообщение
,
иначе
при
выполнении
приема
произойдет
сбой
возникнет
ошибка
переполнения
;
status
статус
обмена
.
Если
сообщение
меньше
,
чем
буфер
приема
,
изменяется
содержимое
лишь
тех
ячеек
памяти
буфера
,
которые
относятся
к
сообщению
.