28 Jun
2010
28 Jun
'10
3:29 p.m.
Hi Jack,
On Mon, Jun 28, 2010 at 5:18 PM, Jack Bryan
I just posted irecv before isend. master node: request=irecv(); do its local work; isend(message to worker nodes);l wait(request). worker node: while(stil have new task ){ recv(message); do its local work; isend(result message to master) } if there is only one task to worker, it works. But, if there are 2 tasks to workers, master cannot get the result from worker.
Smells of deadlock. Maybe the master is waiting for a message coming from the wrong worker? We might need to delve into details; can you please post a minimal Boost.MPI program exhibiting this "blocking" behavior? Best regards, Riccardo