【问题标题】:Does mpirun require -np to be specified?mpirun 是否需要指定 -np?
【发布时间】:2021-05-07 08:37:18
【问题描述】:

我曾经喜欢跑步

mpirun -np N ./c_or_python_script 

但是,在具有PBS 作业提交队列的集群上(我不知道这种类型的提交叫什么),示例脚本不要求这个-np N 参数!我还是给的。有什么区别?我在下面的集群中指定了一个模拟示例脚本。

#!/bin/sh
#PBS -V
#PBS -N mpi_job
#PBS -q normal
#PBS -A etc
#PBS -l select=4:ncpus=64:mpiprocs=64
#PBS -l walltime=04:00:00

cd $PBS_O_WORKDIR

mpirun ./test_mpi.exe

如果我改成mpirun -np 256 ./test_mpi.exe会有什么变化?

谢谢。我不是这方面的专家。

附:在bsub提交系统中,我明白了其中的区别。

【问题讨论】:

    标签: python shell mpi cluster-computing pbs


    【解决方案1】:

    这取决于您使用的 MPI 实现以及它与资源管理器集成的程度。例如,Open MPI 与许多此类资源管理器紧密集成,包括 PBS、LSF、SLURM 等。在批处理作业中运行时,它会自动发现分配的详细信息并启动与分配的 CPU 插槽数量一样多的进程,除非您使用 -np 另有说明。在您的情况下,您要求 4 个节点和 64每个 CPU 插槽共有 256 个 CPU 插槽,因此通过 -np 256 不会改变任何内容。如果您要求 MPI 启动更少的进程,例如使用-np 128,那么一些 CPU 插槽将保持未使用状态。如果您要求更多进程,例如使用-np 300,那么Open MPI 通常会抱怨并拒绝运行程序,除非您使用-oversubscribe 明确启用超额订阅,这可能不符合资源管理器或集群的喜好管理员。其他 MPI 实现以类似的方式工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-06
      • 2015-07-19
      • 2015-06-02
      • 2010-09-27
      • 1970-01-01
      • 2015-11-25
      • 2011-12-28
      • 2023-01-07
      相关资源
      最近更新 更多