La funzione MPI_BCAST
spedisce
un ``messaggio'' (dati) da un processo a tutti gli altri processi appartenenti
ad un comunicatore (gruppo) fornito come argomento della funzione.
La sintassi di questa funzione è la seguente:
MPI_BCAST(nomevariabile,numerovariabili,MPI_TIPO,pe,COMUNICATORE,ierr)
dove
|
program esempio2
include 'mpif.h' integer nprocs, mype, ierr, i integer imesg(3)
call MPI_INIT(ierr)
if(mype.eq.0) then
write(6,*) mype,' prima:',imesg(1), imesg(2), imesg(3)
|
Il vettore imesg(3)
ha le componenti tutte uguali a 0 tranne che per il processo 0. L'operazione
eseguita dalla funzione MPI_BCAST
fa si che anche gli altri processi assumano per questo vettore i valori
del processo 0.
Domanda: può
capitare che nell'esecuzione del codice precedente un processo differente
dallo 0 (ad esempio il processo 2) scriva a schermo la stringa "2
dopo: 0 0 0"?