funzione MPI_Igather
Raccoglie i dati da tutti i membri di un gruppo a un membro in modo non bloccanti.
Sintassi
int WINAPI MPI_Igather(
_In_ void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametri
sendbuf [in]
Puntatore a un buffer contenente i dati da inviare alla radice. Il buffer è costituito da elementi successivi sendcount del MPI_Datatype indicato dall'handle sendtype . La lunghezza del messaggio viene specificata in termini di numero di elementi, non in numero di byte.sendcount
Numero di elementi sendtype in sendbuf. Se il valore è zero, la parte dei dati del messaggio è vuota.sendtype
Handle MPI_Datatype che rappresenta il tipo di dati di ogni elemento in sendbuf.recvbuf [out, facoltativo]
Puntatore a un buffer contenente i dati ricevuti da ogni processo nella radice, inclusi i dati inviati dal processo radice (significativi solo nella radice). Il recvbuf del buffer di ricezione viene ignorato per tutti i processi non radice. Nel processo radice recvbuf è costituito da elementi successivi recvcount dei MPI_Datatype indicati dall'handle recvtype . La lunghezza del messaggio viene specificata in termini di numero di elementi, non in numero di byte.recvcount [in]
Numero di elementi recvtype in recvbuf. Se il valore è zero, la parte dei dati del messaggio è vuota (significativa solo nella radice).recvtype [in]
Handle MPI_Datatype che rappresenta il tipo di dati di ogni elemento in recvbuf (significativo solo nella radice).root [in]
Classificazione del processo di ricezione all'interno del MPI_Commcomm.comm [in]
Handle del comunicatore MPI_Comm .richiesta [out]
Handle MPI_Request che rappresenta l'operazione di comunicazione.
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_IGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE,
ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Commenti
Una chiamata non bloccante avvia un'operazione di raccolta collettiva che deve essere completata in una chiamata di completamento separata. Dopo l'avvio, l'operazione può progredire indipendentemente da qualsiasi calcolo o altra comunicazione nei processi partecipanti. In questo modo, le operazioni di raccolta non bloccanti possono ridurre i possibili effetti di sincronizzazione delle operazioni di raccolta eseguendole in "background".
Tutte le chiamate di completamento (ad esempio , MPI_Wait) sono supportate per le operazioni di raccolta non bloccabili.
Requisiti
Prodotto |
Microsoft MPI v6 |
Intestazione |
Mpi.h; Mpif.h |
Libreria |
Msmpi.lib |
DLL |
Msmpi.dll |