gpt4 book ai didi

c++ - MPICH 通信失败

转载 作者:太空狗 更新时间:2023-10-29 12:19:23 25 4
gpt4 key购买 nike

我有一个简单的 MPICH 程序,其中进程以 Ring 顺序相互发送和接收消息。
我已经设置了 2 个相同的虚拟机,并确保网络工作正常。我已经在两台机器上测试了一个简单的 MPICH 程序,它运行良好。当我尝试像上面的程序一样在不同机器上的进程之间进行通信时,问题就出现了。我收到以下错误:

Fatal error in MPI_Send: A process has failed, error stack:
MPI_Send(171)...............: MPI_Send(buf=0xbfed8c08, count=1, MPI_INT, dest=1,
tag=1, MPI_COMM_WORLD) failed
MPID_nem_tcp_connpoll(1826): Communication error with rank 1: Connection refused

  • SSH 是无密码的,并且在双方都可以正常工作。
  • /etc/hosts 配置正确。
  • 两台机器上的防火墙都被禁用。
  • 配置了 NFS 客户端/服务器并在它们之间共享了一个目录。 (根据 this )
  • 用 Hydra 尝试了 MPICH 和 OpenMPI

最佳答案

这是我所做的,而且有效!

使用源代码(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 processors

关于c++ - MPICH 通信失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14571203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com