Eugene Loh wrote: > Anton Shterenlikht wrote: > >> Will this bit of code work: >> >> if (rank .eq. <somerank>) then >> >> *change var* >> >> call MPI_Bcast(var, 1, MPI_INTEGER, rank, & >> MPI_COMM_WORLD, errstat) >> end if >> >> call MPI_Barrier(MPI_COMM_WORLD, errstat) >> >> I'm using a int variable on all processors. >> At some point some process can change its >> value of this variable. >> I then need to let all other >> processes know the new value. So I tried >> to use MPI_Bcast for this. But I think >> MPI waits indefinitely at MPI_Barrier. >> >> I'm now wondering if MPI_Bcast must >> be executed by all processes, similar >> to MPI_Barrier. Is this correct? >> > All processes in the communicator must make the collective call... > Bcast, Barrier, Allreduce, etc.
Therefore, following a Bcast with a Barrier is redundant in this example. -- Prentice