-n 和 -np 之间的 Mpiexec 区别?

ole*_*rio 7 mpi mpiexec

我是 MPI 世界的新手,有一个问题让我非常恼火。-n 和 -np 之间的真正区别是什么?

Hri*_*iev 6

MPI 标准没有指定 MPI 等级是如何启动的,而是由特定的实现来提供一种机制。它仅建议(有关详细信息,请参阅MPI 3.1 标准的第 8.8 节mpiexec提供调用的启动器(如果有必要),并且-n #procs是指定 MPI 进程初始数量的公认方法之一。因此,除非您准确指定正在使用的 MPI 实现,否则提出的问题没有任何意义。正如我在评论中已经说过的,在大多数实现中,这两个选项是同义词。

请注意,某些 MPI 实现可以与批处理调度系统(例如 Slurm、Torque 等)集成,并且这些系统可能会提供自己的机制来启动 MPI 作业。例如,Open MPI 提供了orterun进程启动器,符号链接为mpirunand mpiexec,它可以理解-n-np选项。但是,当在 Slurm 作业中运行时,srun会改为使用它并且它只能理解-n(它实际上有一组完全不同的选项)。