[mpich-discuss] Stuck in MPI_Comm_disconnect
Eric Hui
Eric.Hui at ggy.com
Thu Nov 24 16:20:50 CST 2011
Hi,
I have a master-worker program where both the master and the worker use 3 MPI_Requests in a loop. 2 of them are used in MPI_Send_Init and MPI_Recv_Init and the other one is used for MPI_Isend. There is a loop in a separate thread that keeps calling MPI_Start for the MPI_Request used for MPI_Recv_Init and MPI_Waitsome for the incoming messages.
At the end of my code, I believed that I have already cleaned up my MPI_Request properly by using the following:
if (SendRequest != MPI_REQUEST_NULL)
{
MPI_Cancel (&SendRequest);
}
if (SendHeaderRequest != MPI_REQUEST_NULL) //This one is used for MPI_Send_Init
{
MPI_Request_free (&SendHeaderRequest);
}
if (ReceiveHeaderRequest != MPI_REQUEST_NULL) //This one is used for MPI_Recv_Init
{
MPI_Request_free (&ReceiveHeaderRequest);
}
I have output to show that these functions are already called and succeeded.
After this code, I call MPI_Comm_disconnect, so that I can call MPI_Finalize exit the worker process without exiting the master.
However, it's stuck in the MPI_Comm_disconnect call. Are there functions that allow me to check what are the outstanding operations on the MPI_Comm?
Eric Hui
GGY AXIS
416-2503448
Eric.Hui at ggy.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20111124/e77ecb4e/attachment.htm>
More information about the mpich-discuss
mailing list