[mpich-discuss] Stuck in MPI_Comm_disconnect
Rajeev Thakur
thakur at mcs.anl.gov
Fri Nov 25 20:16:55 CST 2011
You may want to try a simpler version of your code that has a small (known) number of sends and receives and see if Comm_disconnect succeeds in that case.
Rajeev
On Nov 24, 2011, at 4:20 PM, Eric Hui wrote:
> 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
>
> _______________________________________________
> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
More information about the mpich-discuss
mailing list