MPI通过SSH运行什么命令?

And*_*dre 0 openmpi

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

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

谢谢。

Gil*_*det 5

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

长话短说,Open MPI使用分布式虚拟机(DVM)启动MPI任务。第一步是每个节点有一个守护程序。最初的“守护程序”是mpirun,并且然后一个orted守护进程具有彼此节点上被远程催生,而这正是plm/rsh用途SSH

默认情况下,如果您在少于64个节点上运行,mpirun则将SSH到所有其他节点。但是,如果您在大量节点上运行,mpirun则将使用树生成算法,其中其他节点可能会收缩到其他节点。底线是,如果您使用的ssh是Open MPI,并且除非您在具有默认设置的小型群集上运行,否则所有节点都应该能够无ssh密码访问所有节点。