|
buf: начальный адрес буфера сообщений (IN)
count: число элементов в сообщении (IN)
datatype: тип элементов в сообщении (IN)
dest: ранг задачи назначения в коммуникаторе
comm (IN)
tag: тэг сообщения (IN)
comm: коммуникатор (IN)
int MPI_Ssend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Rsend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Bsend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Send (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
buf: начальный адрес буфера сообщения (OUT-записанное содержание буфера)
count: число элементов в сообщении (IN)
datatype: тип элементов в сообщении (IN)
source: ранг задачи источника в коммуникаторе
comm (IN)
tag: тэг сообщения (IN)
comm: коммуникатор (IN)
status: статус коммуникационного события (OUT)
int MPI_Recv (void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status status)
buf: начальный адрес буфера сообщения (IN)
count: число элементов в сообщении (IN)
datatype: тип элементов в сообщении (IN)
dest: ранг задачи назначения в коммуникаторе
comm (IN)
tag: тэг сообщения (IN)
comm: коммуникатор (IN)
request: идентифицирует коммуникационное событие (OUT)
int MPI_Issend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Irsend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Ibsend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Isend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
buf: начальный адрес буфера сообщения (OUT-записанное содержание буфера)
count: число элементов в сообщении (IN)
datatype: тип элементов в сообщении (IN)
source: ранг задачи источника в коммуникаторе
comm (IN)
tag: тэг сообщения (IN)
comm: коммуникатор (IN)
request: идентифицирует коммуникационное событие (OUT)
int MPI_Irecv (void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
Определения аргументов
buf: начальный адрес предложенного пользователем буфера
(IN)
size: число байт в предложенном пользователем буфере
(IN)
int MPI_Buffer_attach (void* buf, int size)
Определения аргументов
buf: начальный адрес предложенного пользователем буфера
(OUT)
size: число байт в предложенном пользователем буфере
(OUT)
int MPI_Buffer_detach (void** buf, int* size)
request: идентифицирует коммуникационное событие (INOUT)
status: статус коммуникационного события (OUT)
count: число коммуникационных событий (IN)
index: индекс в массиве запросов завершенных событий
(OUT)
incount: число коммуникационных событий (IN)
outcount: число завершенных событий
(OUT)
int MPI_Wait (MPI_Request *request, MPI_Status *status)
int MPI_Waitall (int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses)
int MPI_Waitany (int count, MPI_Request *array_of_requests, int *index, MPI_Status *status)
int MPI_Waitsome (int incount, MPI_Request *array_of_requests, int *outcount, int* array_of_indices, MPI_Status *array_of_statuses)
request: идентифицирует коммуникационное событие
(INOUT)
flag: TRUE если коммуникационное событие завершено (OUT)
status: статус коммуникационного события (OUT)
count: число коммуникационных событий (IN)
index: индекс в массиве запросов завершенных событий
(OUT)
incount: число коммуникационных событий (IN)
outcount: число завершенных событий
(OUT)
int MPI_Test (MPI_Request *request, int *flag, MPI_Status *status)
int MPI_Testall (int count, MPI_Request *array_of_requests, int *flag, MPI_Status *array_of_statuses)
int MPI_Testany (int count, MPI_Request *array_of_requests, int *index, int *flag, MPI_Status *status)
int MPI_Testsome (int incount, MPI_Request *array_of_requests, int *outcount, int* array_of_indices, MPI_Status *array_of_statuses)
Определения аргументов
sendbuf: адрес начала (стартовый адрес) буфера отправки (IN)
sendcount: число элементов в исходящем сообщении
(IN)
sendtype: тип элементов в исходящем сообщении (IN)
dest: ранг в коммуникаторе задачи назначения (IN)
sendtag: тег сообщения для исходящего сообщения (IN)
recvbuf: адрес начала (стартовый адрес) буфера получения
(OUT-buffer contents written)
recvcount: число элементов во входящем сообщении
(IN)
recvtype: тип элементов во входящем сообщении (IN)
source: ранг в коммуникаторе задачи источника (IN)
recvtag: тег сообщения для входящей коммуникации (IN)
comm: коммуникатор (IN)
status: статус коммуникационного события
(OUT)
buf: адрес начала (стартовый адрес) буферов отправки и получения
(INOUT)
int MPI_Sendrecv (void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
int MPI_Sendrecv_replace (void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
Апробация (зондирование)
Определения аргументов
source: ранг задачи источника в коммуникаторе
comm (IN)
tag: тег сообщения (IN)
comm: коммуникатор (IN)
status: статус коммуникационного события
(OUT)
flag: TRUE если коммуникационное событие завершено (OUT)
int MPI_Probe (int source, int tag, MPI_Comm comm, MPI_Status *status)
int MPI_Iprobe (int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status)
Параметры статуса
FORTRAN C ------- -source: status(MPI_SOURCE) status.MPI_SOURCE
tag: status(MPI_TAG) status.MPI_TAG
error: status(MPI_ERROR) status.MPI_ERROR
Определения аргументов
status: статус коммуникационного события
(IN)
count: число элементов в сообщении (OUT)
datatype: тип элементов в сообщении (IN)
int MPI_Get_count (MPI_Status *status, MPI_Datatype datatype, int *count)
Message Passing Interface Forum (1995) MPI: A Message Passing
Interface Standard. June 12, 1995.
Web:
http://www-unix.mcs.anl.gov/mpi/standard.html
или перевод этого документа на русский язык