funzione MPI_Ibcast
Trasmette un messaggio dal processo con classificazione "radice" a tutti gli altri processi del comunicatore in modo non bloccante.
Sintassi
int MPIAPI MPI_Ibcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametri
buffer [in, out]
Puntatore al buffer di dati. Nel processo specificato dal parametro radice, il buffer contiene i dati da trasmettere. In tutti gli altri processi nel comunicatore specificato dal parametro comm, il buffer riceve i dati trasmessi dal processo radice.buffer è costituito daconteggio elementi successivi delMPI_Datatype indicato dall'handle tipo di dati. La lunghezza del messaggio viene specificata in termini di numero di elementi, non in numero di byte. conteggio [in]
Numero di elementi di dati nel buffer. Se il conteggio parametro è zero, la parte dei dati del messaggio è vuota.tipo di dati [in]
Handle MPI_Datatype che rappresenta il tipo di dati di ogni elemento nel buffer .radice [in]
Classificazione del processo all'interno del MPI_Commcomm l'invio del buffer .comm [in]
Handle del comunicatore MPI_Comm.richiesta [out]
MPI_Request handle 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
Fortran
MPI_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR
Osservazioni
Una chiamata non bloccante avvia un'operazione di trasmissione 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 trasmissione non bloccanti possono attenuare possibili effetti di sincronizzazione delle operazioni di trasmissione eseguendole in "background".
Tutte le chiamate di completamento (ad esempio, MPI_Wait) sono supportate per le operazioni di trasmissione non bloccabili.
Fabbisogno
Prodotto |
Microsoft MPI v6 |
Intestazione |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |