função MPI_Imrecv
Efetua uma receção sem bloqueio para uma mensagem correspondida por MPI_Mprobe ou MPI_Improbe.
Sintaxe
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
Parâmetros
buf [fora]
Um ponteiro para o endereço da memória intermédia de receção.count [in]
O número de elementos de tipo de dados em buf.datatype [in]
O tipo de dados MPI dos elementos em buf.mensagem [dentro, fora]
Contém um ponteiro para a mensagem.pedido [fora]
Na devolução, contém um ponteiro para um identificador de MPI_REQUEST que representa a operação de comunicação.
Valor devolvido
Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.
Em Fortran, o valor devolvido é armazenado no parâmetro IERROR .
Fortran
MPI_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
Observações
Esta função é a variante sem bloqueio de MPI_Mrecv e inicia uma receção sem bloqueio de uma mensagem correspondente. A semântica de conclusão é semelhante à MPI_Irecv.
Na devolução desta função, a alça de mensagem está definida como MPI_MESSAGE_NULL.
Se esta função for chamada com MPI_MESSAGE_NO_PROC como argumento de mensagem, a chamada devolve imediatamente com um objeto de pedido que, quando concluída, irá gerar um objeto de estado definido comoMPI_PROC_NULL de origem = , etiqueta = MPI_ANY_TAG e contagem = 0, como se uma receção de MPI_PROC_NULL fosse emitida. Uma chamada para esta função com MPI_MESSAGE_NULL é errónea.
Requisitos
Produto |
Microsoft MPI v6 |
Cabeçalho |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |