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.