Condividi tramite


funzione MPI_Rsend

Esegue un'operazione di invio in modalità pronta e restituisce quando il buffer di invio può essere riutilizzato in modo sicuro.

Sintassi

int MPIAPI MPI_Rsend(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          dest,
           int          tag,
           MPI_Comm     comm
);

Parametri

  • buf [in, facoltativo]
    Puntatore al buffer che contiene i dati da inviare.

  • count
    Numero di elementi contenuti nel buffer. Se la parte dati del messaggio è vuota, impostare il parametro count su 0.

  • datatype
    Tipo di dati degli elementi nel buffer.

  • Dest
    Classificazione del processo di destinazione all'interno del comunicatore specificato dal parametro comm .

  • tag
    Tag del messaggio che può essere usato per distinguere tipi diversi di messaggi.

  • Comm
    Handle per il comunicatore.

Valore restituito

Restituisce MPI_SUCCESS in caso di esito positivo. In caso contrario, il valore restituito è un codice di errore.

In Fortran il valore restituito viene archiviato nel parametro IERROR .

Fortran

    MPI_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Commenti

Questa funzione non è locale. Questa funzione restituisce non appena il buffer di invio può essere riutilizzato e non dipende dallo stato di un'operazione di ricezione corrispondente. Tuttavia, il completamento corretto dell'operazione di invio complessiva dipende dall'esistenza di un'operazione di ricezione corrispondente.

Questa funzione può essere chiamata solo se l'operazione di ricezione corrispondente è già registrata. In caso contrario, la funzione restituisce un errore e il relativo risultato non è definito. In alcuni sistemi, questo requisito elimina alcuni degli handshaking usati in altre modalità e può migliorare le prestazioni rispetto alle operazioni di invio standard o sincrone.

La funzione MPI_Rsend ha la stessa semantica delle funzioni MPI_Send e MPI_Ssend , ma notifica al sistema che è già stata inviata una ricezione corrispondente. Queste informazioni possono ridurre il sovraccarico. Pertanto, in un programma corretto, un invio pronto potrebbe essere sostituito da un invio standard senza alcun effetto sul comportamento del programma diverso dalle prestazioni.

Requisiti

Prodotto

Pacchetto ridistribuibile DI HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o utilità client HPC Pack 2008

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni da punto a punto MPI

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv