MPI_Imrecv funzione
Esegue una ricezione senza blocco per un messaggio corrispondente a MPI_Mprobe o MPI_Improbe.
Sintassi
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
Parametri
buf [out]
Puntatore all'indirizzo del buffer di ricezione.conteggio [in]
Numero di elementi del tipo di dati in buf.datatype [in]
Tipo di dati MPI degli elementi in buf.messaggio [in, out]
Contiene un puntatore al messaggio.richiesta [out]
In caso di restituzione, contiene un puntatore a un handle MPI_REQUEST che rappresenta l'operazione di comunicazione.
Valore restituito
Restituisce MPI_SUCCESS sull'esito positivo. In caso contrario, il valore restituito è un codice di errore.
In Fortran il valore restituito viene archiviato nel parametro IERROR .
Fortran
MPI_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
Commenti
Questa funzione è la variante non bloccata di MPI_Mrecv e avvia una ricezione senza blocco di un messaggio corrispondente. La semantica di completamento è simile alla MPI_Irecv.
In caso di ritorno da questa funzione, l'handle dei messaggi è impostato su MPI_MESSAGE_NULL.
Se questa funzione viene chiamata con MPI_MESSAGE_NO_PROC come argomento delmessaggio, la chiamata restituisce immediatamente con un oggetto request che, al termine, restituirà un oggetto di stato impostato su MPI_PROC_NULL di origine = , tag = MPI_ANY_TAG e conteggio = 0, come se fosse stata rilasciata una ricezione da MPI_PROC_NULL. Una chiamata a questa funzione con MPI_MESSAGE_NULL è errata.
Requisiti
Prodotto |
Microsoft MPI v6 |
Intestazione |
Mpi.h; Mpif.h |
Libreria |
Msmpi.lib |
DLL |
Msmpi.dll |