首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPICH通信失败

MPICH通信失败
EN

Stack Overflow用户
提问于 2013-01-28 21:03:49
回答 1查看 2.6K关注 0票数 2

我有一个简单的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年):一级通信错误:连接被拒绝

  • SSH是无密码的,两边都工作得很好。
  • 正确配置了/etc/hosts
  • 防火墙在这两台机器上都被禁用。
  • 配置NFS客户机/服务器,并在它们之间共享一个目录。(根据)
  • 用Hydra同时尝试了MPICH和OpenMPI
EN

回答 1

Stack Overflow用户

发布于 2013-01-29 16:02:20

这就是我所做的,而且起作用了!

使用源代码(tarball)安装以下软件包

代码语言:javascript
复制
hydra 
openmpi

创建主机文件(两个节点)

代码语言:javascript
复制
# cat /home/spatel/mpi/hydra/hosts
node1
node2 

在.bashrc中设置变量(两个节点)

代码语言:javascript
复制
echo HYDRA_HOST_FILE=/home/spatel/mpi/hydra/hosts >> ~/.bashrc

使用HelloWorld MPI程序在单个节点上运行。

代码语言:javascript
复制
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是处理器的数量

代码语言:javascript
复制
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 processors
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14571203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档