Condividi tramite


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 da conteggio elementi successivi del MPI_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 IERROR.

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

Vedere anche

funzioni collettive MPI

MPI_Bcast

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome

MPI_Comm