Share via


funzione MPI_Mrecv

Esegue una ricezione di blocco per un messaggio corrispondente a MPI_Mprobe o MPI_Improbe.

Sintassi

int MPIAPI MPI_Mrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Status   *status
);

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 nella matrice di buffer.

  • messaggio [in, out]
    Contiene un puntatore al messaggio.

  • stato [out]
    In caso di restituzione, contiene un puntatore a una struttura MPI_Status in cui vengono archiviate le informazioni sul messaggio.

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_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Commenti

Questa funzione riceve un messaggio corrispondente a un'operazione probe corrispondente. Il buffer di ricezione è costituito dall'archiviazione contenente i conteggi consecutivi degli elementi del tipo specificato dal tipo di dati, a partire dall'indirizzo buf. La lunghezza del messaggio ricevuto deve essere minore o uguale alla lunghezza del buffer di ricezione. Si verifica un errore di overflow se tutti i dati in ingresso non si adattano, senza troncamento, nel buffer di ricezione.

Se il messaggio è più breve del buffer di ricezione, vengono modificate solo le posizioni corrispondenti al messaggio (più breve).

In caso di ritorno da questa funzione, l'handle dei messaggi è impostato su MPI_MESSAGE_NULL. Tutti gli errori che si verificano durante l'esecuzione di questa operazione vengono gestiti in base al gestore degli errori impostato per il comunicatore usato nella chiamata probe corrispondente che ha generato l'handle dei messaggi

Requisiti

Prodotto

Microsoft MPI v6

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni mpI punta a punto

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv