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 |