Condividi tramite


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

Vedi anche

Funzioni mpI punta a punto

MPI_Irecv

MPI_Mrecv

MPI_Mprobe

MPI_Improbe