我有一个简单的MPICH程序,在这个程序中,进程以环形顺序发送和接收来自彼此的消息。
我安装了两个相同的虚拟机,并确保网络正常工作。我已经测试了一个简单的MPICH程序,这两台机器,它运行良好。当我试图在不同机器(如上面的程序)上的进程之间进行通信时,问题就出现了。我得到了以下错误:
MPI_Send中的致命错误:进程失败,错误堆栈: MPI_Send(171).:MPI_Send(buf=0xbfed8c08,count=1,MPI_INT,dest=1, tag=1,MPI_COMM_WORLD)失败 MPID_nem_tcp_connpoll(1826年):一级通信错误:连接被拒绝
/etc/hosts。发布于 2013-01-29 16:02:20
这就是我所做的,而且起作用了!
使用源代码(tarball)安装以下软件包
hydra
openmpi创建主机文件(两个节点)
# cat /home/spatel/mpi/hydra/hosts
node1
node2 在.bashrc中设置变量(两个节点)
echo HYDRA_HOST_FILE=/home/spatel/mpi/hydra/hosts >> ~/.bashrc使用HelloWorld MPI程序在单个节点上运行。
node1# /home/spatel/mpi/hydra/bin/mpiexec -np 1 /home/spatel/mpi/mpi_hello_world
Hello world from processor node1.example.com, rank 0 out of 1 processors使用-machinefile选项在多个节点上运行-np是处理器的数量
node1# /home/spatel/mpi/hydra/bin/mpiexec -np 4 -machinefile /home/spatel/mpi/hydra/hosts /home/spatel/mpi/mpi_hello_world
Hello world from processor node1.example.com, rank 0 out of 1 processors
Hello world from processor node2.example.com, rank 0 out of 1 processors
Hello world from processor node1.example.com, rank 0 out of 1 processors
Hello world from processor node2.example.com, rank 0 out of 1 processorshttps://stackoverflow.com/questions/14571203
复制相似问题