MPI通过SSH运行什么命令?

时间:2018-02-20 19:51:06

标签: openmpi

我安装了OpenMPI,并且我在mpiexec的多个节点上运行脚本。 OpenMPI要求运行mpiexec命令的节点具有对集群中其他节点的SSH访问权限。

OpenMPI通过SSH做什么具体来启动其他节点上的进程?它运行我的MPI脚本,当然,但MPI如何运行,例如为每个节点分配一个等级?

谢谢。

1 个答案:

答案 0 :(得分:5)

除非您在(支持的)资源管理器(如Slurm,PBS或其他)下运行,否则plm/rsh组件将用于启动MPI应用程序。

简而言之,Open MPI使用分布式虚拟机(DVM)来启动MPI任务。第一步是每个节点有一个守护进程。 最初的"守护进程"是mpirun,然后必须在每个其他节点上远程生成一个orted守护程序,这是plm/rsh使用SSH的位置。

默认情况下,如果您运行的节点少于64个,则mpirun将SSH连接到所有其他节点。但是如果您在大量节点上运行,那么mpirun将使用树生成算法,其他节点可能会ssh到其他节点。 最重要的是,如果您将ssh与Open MPI一起使用,除非您使用默认设置在小型群集上运行,否则所有节点应该能够ssh无密码到< strong>所有节点。