функция MPI_Irecv
Инициирует операцию получения и возвращает дескриптор запрошенной операции связи.
Синтаксис
int MPIAPI MPI_Irecv(
_In_opt_ void *buf,
int count,
MPI_Datatype datatype,
int source,
int tag,
MPI_Comm comm,
_Out_ MPI_Request *request
);
Параметры
buf [in, необязательный]
Указатель на буфер, содержащий отправляемые данные.count
Количество элементов в буферном массиве. Если часть данных сообщения пуста, задайте для параметра count значение 0.datatype
Тип данных элементов в буфере.source
Ранг процесса отправки в указанном коммуникаторе. Укажите константу MPI_ANY_SOURCE , чтобы указать, что любой источник является допустимым.Тег
Тег сообщения, который можно использовать для различения различных типов сообщений. Укажите константу MPI_ANY_TAG , чтобы указать, что любой тег является допустимым.Comm
Дескриптор для коммуникатора.request [out]
При возврате содержит дескриптор для запрошенной операции связи.
Возвращаемое значение
Возвращает MPI_SUCCESS при успешном выполнении. В противном случае возвращаемое значение представляет собой код ошибки.
В Fortran возвращаемое значение хранится в параметре IERROR .
Fortran
MPI_IRECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR
Комментарии
Эта функция является локальной, она возвращается немедленно и не ожидает никакого другого процесса. Эта функция может возвращать данные перед получением сообщения в буфер.
Требования
Продукт |
Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI или клиентские служебные программы пакета HPC 2008 |
Заголовок |
Mpi.h; Mpif.h |
Библиотека |
Msmpi.lib |
DLL |
Msmpi.dll |