我是 MPI 世界的新手,有一个问题让我非常恼火。 -n 和 -np 之间的真正区别是什么?
最佳答案
MPI 标准没有指定 MPI 等级是如何开始的,而是留给特定的实现来提供一种机制。它只建议(详细信息参见 MPI 3.1 标准的 Section 8.8)启动器(如果有必要)调用 mpiexec
提供和-n #procs
是指定 MPI 进程初始数量的公认方法之一。因此,除非您准确指定您正在使用的 MPI 实现,否则提出的问题毫无意义。正如我在评论中已经说过的,在大多数实现中,这两个选项都是同义的。
请注意,一些 MPI 实现可以与批处理调度系统(如 Slurm、Torque 等)集成,这些系统可能会提供自己的机制来启动 MPI 作业。例如,Open MPI 提供 orterun
进程启动器,符号链接(symbolic link)为 mpirun
和 mpiexec
,它理解 -n
和 -np
选项。但是,在 Slurm 作业中运行时,srun
而是使用它,它只理解 -n
(它实际上有一组完全不同的选项)。
关于-n 和 -np 之间的 Mpiexec 区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41043247/