我是MPI世界的新手,有一个问题让我非常讨厌。 -n和-np之间的真正区别是什么?
答案 0 :(得分:4)
MPI标准没有规定如何启动MPI排名,并将其留给特定实现来为其提供机制。只有建议(详见MPI 3.1标准的Section 8.8)提供了一个名为mpiexec
的启动器(如果有必要)并且-n #procs
是其中之一接受的方法来指定MPI进程的初始数量。因此,除非您准确指定您正在使用的MPI实现,否则提出的问题是没有意义的。正如我在评论中已经说过的,对于大多数实现,两个选项都是同义词。
请注意,某些MPI实现可以与批处理调度系统(如Slurm,Torque等)集成,这些可能会提供自己的机制来启动MPI作业。例如,Open MPI提供orterun
流程启动器,符号链接为mpirun
和mpiexec
,它们同时了解-n
和-np
选项。但是,当在Slurm作业中运行时,会使用srun
而它只能理解-n
(它实际上有一组完全不同的选项)。