La funzione MPI_GATHER
trasmette da tutti i processi appartenenti ad un comunicatore ad un singolo
processo denominato ``ricevente''.
La sintassi di questa funzione è la seguente:
MPI_GATHER(nome-in,
quanti,tipo-in,
nome-out,quanti,tipo-out, ricevente, comunicatore, ierr)
dove:
|
program esempio3
include 'mpif.h' integer nprocs, mype, ierr, isend, i integer irecv dimension irecv(3)
call MPI_INIT(ierr)
if(nprocs.gt.3) stop 'N. proc.>3'
|
Osservare come l'ordine di riempimento della variabile irecv
del
processo 0 segue l'ordine numerico dei processi.
Nella sintassi della funzione MPI_ALLGATHER
semplicemente sparisce il processo ricevente poichè tutti i processi
del comunicatore ricevono il messaggio.