Hi All, A colleague recently asked a question that I wasn't able to answer definitively. Is the following code guaranteed to make progress?
MPI_Barrier(); if rank == 1 create_file("test") if rank == 0 while not_exists("test") sleep(1); That is, can rank 1 require rank 0 to make MPI calls after its return from the barrier, in order for rank 1 to complete the barrier? If the code were written as follows: isend(..., other_rank, &req[0]) irecv(..., other_rank, &req[1]) waitall(2, req) if rank == 1 create_file("test") if rank == 0 while not_exists("test") sleep(1); I think it would clearly not guarantee progress since the send data can be buffered. Is the same true for barrier? Cheers, ~Jim.
_______________________________________________ mpi-forum mailing list mpi-forum@lists.mpi-forum.org https://lists.mpi-forum.org/mailman/listinfo/mpi-forum