My MPI program consists of a number of processes that send 0 or more messages 
(using MPI_Isend) to 0 or more other processes. The processes check 
periodically if messages are available to be processed. It was running fine 
until I increased the message size, and I got deadlock problems. Googling 
learned I was running into a classic deadlock problem if (see for example 
http://www.cs.ucsb.edu/~hnielsen/cs140/mpi-deadlocks.html). The workarounds 
suggested like changing the order of MPI_Send and MPI_Recv do not work in my 
case, as it could be that one processor does not send any message at all to the 
other processes, so MPI_Recv would wait indefinitely.
Any suggestions on how to avoid deadlock in this case?

Thanks,
Gijsbert


Reply via email to