0

我想知道 Torque 是否足够聪明,可以根据您请求的 mpi 核心分配正确数量的节点。对于我们的集群,我们有异构节点,仅放置您想要的节点数量和每个节点的处理器可能会非常浪费。所以我想知道你是否可以做这样的事情

qsub -I -l procs:1000
mpiexec -n 1000 mympijob

但是,扭矩仅使用此命令分配一个节点(因为我没有指定节点数)。有没有一种方法可以根据我的 procs 数量来确定正确数量的节点,以便最大限度地提高效率?

侧边栏 - 我们可能很快就会切换到 SLURM,这在能力范围内吗?

4

1 回答 1

1

通常情况下,我们在分配资源后所做的事情不是调度程序可以控制的。

在这种情况下,

mpirun/mpiexec -n 1000

在调度器分配资源后执行。

最好的方法是使用调度程序设置的环境变量

$MPI_HOSTS

作为通过开关 -n 传递的值。

例子:

mpirun $MPI_HOSTS <your program of choice>

您可以通过将 ppn 参数添加到节点来请求所需的核心数。

qsub -l nodes=2:ppn=16

这在两个节点中分配了 32 个内核。

于 2015-03-05T00:12:00.903 回答