MPI通过SSH运行什么命令?

问题描述 投票:0回答:1

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

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

谢谢。

openmpi
1个回答
4
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.