10 Oct
2020
10 Oct
'20
12:31 p.m.
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.
2113
Age (days ago)
2113
Last active (days ago)
0 comments
1 participants
participants (1)
-
Jim Dinan