Sun Grid Engine(SGE)进程号与OpenMPI进程号之间的关系是什么?

时间:2013-12-08 05:05:33

标签: mpi openmpi sungridengine

在SGE集群中运行MPI应用程序时,我必须分配两个进程号参数,一个用于SGE本身,另一个用于OpenMPI。例如:

qrsh -pe <pe_name> <number1> mpirun -np <number2> ./program

命令中number1number2的含义是什么?它们之间的关系是什么?

如果我的MPI应用程序需要128个(number2个)进程,并且我将16分配给number1,会发生什么?

编辑:

以下是PE配置:

pe_name           impl
slots             999
user_lists        NONE
xuser_lists       NONE
start_proc_args   NONE
stop_proc_args    NONE
allocation_rule   $round_robin
control_slaves    TRUE
job_is_first_task FALSE
urgency_slots     min

1 个答案:

答案 0 :(得分:1)

答案取决于<pe_name>并行环境(PE)的配置方式。通常,-pe <pe_name> <number1>请求<number1> PE中的<pe_name>个插槽。每个PE可以配置为在节点上提供固定数量的插槽,或者填充一个节点上的可用插槽,然后移动到下一个节点,以便始终在同一节点上分配插槽,依此类推。 SGE中的插槽通常对应CPU核心,但完全由SGE管理员决定是否属于这种情况。

-np <number2>告诉Open MPI在MPI作业中启动多少个进程。在许多情况下,此数字应等于所请求的SGE插槽数。如果Open MPI是使用SGE集成构建的,它会自动获取批处理系统授予的插槽总数,并且只在某些特殊情况下才需要明确指定进程数。

同样,这完全取决于如何配置SGE。没有群集的详细信息,例如来自qconf -sp <pe_name>的输出,你不会得到一个非常具体的答案。