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

Reply via email to