Ci sono vari tipi di comunicazione collettiva e le principali, insieme alla funzione che svolgono, sono illustrate qui di seguito:
La seguente tabella contiene il nome e la funzionalità delle
precedenti funzioni di comunicazione collettiva MPI:
|
Funzione
|
Operazione
|
| MPI_BCAST | spedisce dati da un processo ad altri processi appartenenti ad un gruppo |
| MPI_GATHER
MPI_ALLGATHER |
dati posseduti da diversi processi vengono comunicati ad uno o a tutti i processi appartenenti ad un gruppo |
| MPI_REDUCE
MPI_ALLREDUCE |
opera sui dati posseduti da diversi processi, ed il risultato è comunicato ad uno o a tutti i processi appartenenti ad un gruppo |
| MPI_BARRIER | mette in pausa l'esecuzione di ogni processo appartenente ad un gruppo fino a che tutti i processi di quel gruppo non sono giunti a questa istruzione |
Rispetto all'illustrazione precedente abbiamo aggiunto anche la funzione
MPI_BARRIER,
utilizzata per sincronizzare i processi appartenenti ad un certo gruppo.
Tutte le funzioni di comunicazione collettiva sono di tipo bloccante;
questo termine significa che un processo che esegue una di queste funzioni
non prosegue nella elaborazione fino a che non riceve un messaggio di ritorno
che gli assicura che l'operazione è andata a buon fine.