<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<div>Hello,&nbsp;</div><div>I have a client/server program, and I run it in the same machine (I have already installed MPICH2 on my machine which have OS &nbsp;Windows 7 64-bits).</div><div>When I run the server program in commend line, this error appears:&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Fatal error in MPI_Open_port: Other MPI error, error stack:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Open_port(124): MPI_Open_port(MPI_INFO_NULL, port=0x003CF6B4) failed</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>MPID_Open_port(69): Function not implemented &nbsp;&nbsp;</div><div>****here we have the server code :&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#include "mpi.h"&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#include &lt;cstdio&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#include "string.h"</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#define MAX_DATA 100</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>using namespace std;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>int main( int argc, char **argv )&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>{&nbsp;</div><div>&nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Comm server;&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>double buf[MAX_DATA];&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>char port_name[MPI_MAX_PORT_NAME];&nbsp;</div><div>&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Init( &amp;argc, &amp;argv );&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>strcpy(port_name, argv[1]); /* assume server's name is cmd-line arg */&nbsp;</div><div>&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Comm_connect( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &amp;server );&nbsp;</div><div>&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>bool done = false; int tag, n = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>while (!done) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>tag = 2;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Send( buf, n++, MPI_DOUBLE, 0, tag, server );&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>}&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Send( buf, 0, MPI_DOUBLE, 0, 1, server );&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Comm_disconnect( &amp;server );&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Finalize();&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>return 0;&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}&nbsp;</div><div>****here we have the client code :&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#include "mpi.h"&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#include &lt;cstdio&gt;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#include "string.h"</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>#define MAX_DATA 100</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>using namespace std;</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>int main( int argc, char **argv )&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>{&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;MPI_Comm client;&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;MPI_Status status;&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;char por<span class="Apple-tab-span" style="white-space:pre">                </span>t_name[MPI_MAX_PORT_NAME];&nbsp;</div><div>&nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;double buf[MAX_DATA];&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>int &nbsp; &nbsp;size, again;&nbsp;</div><div>&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Init( &amp;argc, &amp;argv );&nbsp;</div><div>&nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span> MPI_Comm_size(MPI_COMM_WORLD, &amp;size);&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>//if (size != 1) error(FATAL, "Server too big");&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>MPI_Open_port(MPI_INFO_NULL, port_name);&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>printf("server available at %s\n",port_name);&nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>while (1) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; MPI_Comm_accept( port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, &amp;client );&nbsp;</div><div>&nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp;again = 1;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">                </span> &nbsp;while (again) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span> MPI_Recv( buf, MAX_DATA, MPI_DOUBLE, MPI_ANY_SOURCE, MPI_ANY_TAG, client, &amp;status );&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span> switch (status.MPI_TAG) {&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>case 0: MPI_Comm_free( &amp;client );&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp; &nbsp; &nbsp;MPI_Close_port(port_name);&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp; &nbsp; MPI_Finalize();&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp; &nbsp; &nbsp;return 0;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">                </span> case 1: MPI_Comm_disconnect( &amp;client );&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp; &nbsp; &nbsp;again = 0;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp; &nbsp;break;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>case 2: /* do something */&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">                                                </span>break;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>default:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /* Unexpected message type */&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MPI_Abort( MPI_COMM_WORLD, 1 );&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>}&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="Apple-tab-span" style="white-space:pre">        </span>}&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span> }&nbsp;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}&nbsp;</div><div><br></div><div><br></div><div>if you have any solution, please help me.</div>                                               </div></body>
</html>