Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] do all processors have to execute MPI_Bcast?
From: Eugene Loh (eugene.loh_at_[hidden])
Date: 2010-07-16 14:46:10


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.