[mpich-discuss] How to terminate MPI_Comm_accept
Roy, Hirak
Hirak_Roy at mentor.com
Wed Oct 8 14:54:31 CDT 2014
Hi Pavan,
I even tried duping the communicator (MPI_COMM_SELF --> DUP1, DUP2) before I do any kind of MPI calls.
Still it does not work.
Thanks,
Hirak
You cannot do a Comm_dup when another thread is doing a collective call on the same communicator (e.g., Comm_accept).
On Oct 8, 2014, at 2:36 PM, Roy, Hirak <Hirak_Roy at mentor.com<https://lists.mpich.org/mailman/listinfo/discuss>> wrote:
> Hi Pavan,
>
> I tried doing dup on both sides as well as on the client side only.
> Both cases, it did not work.
>
> Thanks,
> Hirak
>
> Here is the server-side
>
> MPI_Comm dupCom ;
> MPI_Comm_dup (MPI_COMM_SELF, &dupCom);
> do {
> MPI_Comm newComm ;
> MPI_Comm_accept (m_serverPort.c_str(), MPI_INFO_NULL, 0, dupCom, &newComm);
> int buf = 0 ;
> MPI_Status status ;
> Log ("Waiting on receive");
> MPI_Recv(&buf, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, newComm, &status);
> Log ("Receive complete");
> if (status.MPI_TAG == MPI_MSG_TAG_NEW_CONN) {
> m_clientComs[m_clientCount] = newComm ;
> m_clientCount++;
> } else if (status.MPI_TAG == MPI_MSG_TAG_SHUTDOWN) {
> Log ("Shutdown");
> MPI_Comm_disconnect (&newComm);
> Log ("Disconnect");
> break;
> } else {
> Log ("Unmatched Receive");
> }
> } while(1) ;
>
>
>
>
> Are you doing MPI_Comm_dup while the other thread is doing MPI_Comm_accept?
>
> - Pavan
>
>
> From: Roy, Hirak
> Sent: Thursday, October 09, 2014 12:55 AM
> To: discuss at mpich.org<https://lists.mpich.org/mailman/listinfo/discuss>
> Subject: Re: Re: Re: How to terminate MPI_Comm_accept
>
> Hi Pavan,
>
> Does not work.
> Crash in nemesis.
> Sock hangs in MPI_Recv/MPI_Send
>
>
> Thanks,
> Hirak
>
> MPI_Comm newComm ;
> MPI_Comm dupCom ;
> MPI_Comm_dup (MPI_COMM_SELF, &dupCom);
> MPI_Comm_connect (m_serverPort.c_str(), MPI_INFO_NULL, 0, dupCom, &newComm);
> Log ("Connect to Self");
> int val = 0 ;
> MPI_Request req ;
> MPI_Send(&val, 1, MPI_INT, 0, MPI_MSG_TAG_SHUTDOWN, newComm);
> Log ("Successful");
> MPI_Comm_disconnect(&newComm);
>
>
>
>
> On Oct 8, 2014, at 11:41 AM, Roy, Hirak <Hirak_Roy at mentor.com> wrote:
> > Is there any way to come out of the blocking accept?
>
> You can dup MPI_COMM_SELF and do the connect using that other communicator.
>
> - Pavan
>
> --
>
> _________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20141008/88ad3708/attachment.html>
-------------- next part --------------
_______________________________________________
discuss mailing list discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss
More information about the discuss
mailing list