运行 MPI 脚本时 -n 和 -np 之间的区别?

Posted

技术标签:

【中文标题】运行 MPI 脚本时 -n 和 -np 之间的区别?【英文标题】:Difference between -n and -np when running MPI script? 【发布时间】:2019-11-03 15:11:03 【问题描述】:

我正在学习如何使用 MPI,并且在调用脚本时对 -n 和 -np 之间的区别感到困惑。作为参考,我正在尝试使用 OpenMPI 3 在 Slurm 集群上运行脚本。

例如,我可以像这样运行我的脚本:

mpirun -n 4 --oversubscribe python par_PyScript2.py

或者像这样:

mpirun -np 4 --oversubscribe python par_PyScript2.py

有人能描述一下这些选项的实际含义吗?

【问题讨论】:

【参考方案1】:

使用手册

man mpirun

通过输入/-n 进行搜索,然后按n 转到下一个匹配项。

从在线手册中,我看不到选项-n。不过,-n 可能只是-np 的别名

【讨论】:

【参考方案2】:

manual 表示 -n-np 是同义词。 -c--n 也是如此。他们指示mpirun

在给定节点上运行这么多的程序副本。

所以基本上就是你想要的 MPI 等级数。请注意,在 Slurm 上下文中,您不应明确指定它;信息从 Slurm 传递到 OpenMPI。

【讨论】:

以上是关于运行 MPI 脚本时 -n 和 -np 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

openacc 与 openmp 和 mpi 的区别?

mpi中的darray和子数组有啥区别?

西门子PPI与MPI有何区别?

使用和不使用 mpirun 运行程序的区别

通过 MPI 发送和接收二维数组

MPI +线程并行化与仅MPI的优势(如果有的话)是什么?