<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><DIV>Hello everyone,</DIV>
<DIV>I created a small linux cluster with 4 compute nodes yesterday. I installed Fedora 14 OS to all machine and mpich2 v1.3.2 on the server node. But i have a serious problem. I can not even make a simple send and receive program work. below is the steps that i follow. You will see the error at the end. I can not run point to point and collective communication routines of mpi. I am suspecting that the problem might have sthg to do with the hydra. Any help is appreciated.</DIV>
<DIV>Deniz.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><STRONG>[ddal@admin mpi_uygulamalar]$ cat hosts <BR>admin<BR>cn01<BR>cn02<BR>cn03<BR>[ddal@admin mpi_uygulamalar]$ cat 01_Send_Receive_One_Message.cpp <BR>#include "mpi.h"<BR>#include &lt;iostream&gt;<BR>using namespace std;</STRONG></DIV>
<DIV><STRONG>#define TAG 25</STRONG></DIV>
<DIV><STRONG>int main(int argc, char* argv[])<BR>{<BR>&nbsp;int myRank,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size;</STRONG></DIV>
<DIV><STRONG>&nbsp;char processorName[50];<BR>&nbsp;int nameLength;</STRONG></DIV>
<DIV><STRONG>&nbsp;int a;//size of the send buffer<BR>&nbsp;int b;</STRONG></DIV>
<DIV><STRONG>&nbsp;MPI_Status status;</STRONG></DIV>
<DIV><STRONG>&nbsp;/* Initialize MPI */<BR>&nbsp;MPI_Init(&amp;argc, &amp;argv);</STRONG></DIV>
<DIV><STRONG>&nbsp;/* Determine the size of the group */<BR>&nbsp;MPI_Comm_size(MPI_COMM_WORLD,&amp;size);</STRONG></DIV>
<DIV><STRONG>&nbsp;/* Determine the rank of the calling process */<BR>&nbsp;MPI_Comm_rank(MPI_COMM_WORLD,&amp;myRank);</STRONG></DIV>
<DIV><STRONG>&nbsp;MPI_Get_processor_name(processorName, &amp;nameLength);</STRONG></DIV>
<DIV><STRONG>&nbsp;if(size != 2 )<BR>&nbsp;{<BR>&nbsp;&nbsp;cout&lt;&lt;"Number of CPUs must be 2 !\n";<BR>&nbsp;&nbsp;MPI_Abort(MPI_COMM_WORLD, 99);<BR>&nbsp;}</STRONG></DIV>
<DIV><STRONG>&nbsp;if(myRank == 0)/* Master Sends a Message */<BR>&nbsp;{<BR>&nbsp;&nbsp;a=25;</STRONG></DIV>
<DIV><STRONG>&nbsp;&nbsp;MPI_Send(&amp;a, 1, MPI_INT, 1, TAG, MPI_COMM_WORLD);<BR>&nbsp;&nbsp;printf("%s Sent Variable a Successfully\n",processorName);<BR>&nbsp;}<BR>&nbsp;else /* Process 1 Receives the Message */<BR>&nbsp;{<BR>&nbsp;&nbsp;MPI_Recv(&amp;b, 1, MPI_INT, 0, TAG, MPI_COMM_WORLD, &amp;status );<BR>&nbsp;&nbsp;printf("%s Received Variable a Successfully over b\n",processorName);<BR>&nbsp;&nbsp;printf("b=%d\n",b);<BR>&nbsp;}</STRONG></DIV>
<DIV><STRONG>&nbsp;/* Terminate the MPI */<BR>&nbsp;MPI_Finalize();</STRONG></DIV>
<DIV><STRONG>&nbsp;return 0;<BR>}[ddal@admin mpi_uygulamalar]$ mpicxx 01_Send_Receive_One_Message.cpp -o test.x <BR>[ddal@admin mpi_uygulamalar]$ mpiexec -f hosts -n 2 ./test.x <BR>Fatal error in MPI_Send: Other MPI error, error stack:<BR>MPI_Send(173)..............: MPI_Send(buf=0xbf928900, count=1, MPI_INT, dest=1, tag=25, MPI_COMM_WORLD) failed<BR>MPID_nem_tcp_connpoll(1811): Communication error with rank 1: <BR>[mpiexec@admin] ONE OF THE PROCESSES TERMINATED BADLY: CLEANING UP<BR>[proxy:0:1@cn01] HYD_pmcd_pmip_control_cmd_cb (./pm/pmiserv/pmip_cb.c:868): assert (!closed) failed<BR>[proxy:0:1@cn01] HYDT_dmxu_poll_wait_for_event (./tools/demux/demux_poll.c:77): callback returned error status<BR>[proxy:0:1@cn01] main (./pm/pmiserv/pmip.c:208): demux engine error waiting for event<BR>APPLICATION TERMINATED WITH THE EXIT STRING: Hangup (signal 1)<BR>[ddal@admin mpi_uygulamalar]$ </STRONG></DIV></td></tr></table><br>