【问题标题】:Torque + mpirun + resources allocationTorque + mpirun + 资源分配
【发布时间】:2013-10-31 19:20:10
【问题描述】:
我在具有 24 个内核的单台机器上使用 Open MPI 运行 Torque。为什么可以在我的作业中指定 sh,例如,nodes=1:ppn:2 并且仍然能够运行 mpirun -np 12 WhatEverCommand 指定的作业?在这种情况下,作业在 12 个核心上执行,即使“节点”表示 2 个 CPU。
指定“节点”选项不会对提交的作业使用的资源有任何限制吗?如果没有,那么如何通过覆盖声明的资源来防止用户违反服务器规则?
另一方面 - 指定 nodes=1:ppn=8 和 mpirun 不带“-np”选项,只给我 1 个 cpu 运行作业。
我是不是很糟糕,错过了一些基本的东西?
【问题讨论】:
标签:
mpi
job-scheduling
pbs
torque
【解决方案1】:
默认情况下,OpenMPI 根本不与 Torque 集成。您必须使用 --with-tm 配置选项编译 OpenMPI,这似乎在大多数发行版软件包中都没有启用。 OpenMPI 项目在 building 和 running OpenMPI 的常见问题解答中提到了 Torque 集成。
同样,Torque 实际上并不限制对 CPU 的访问,除非启用了 cpuset support。同样,这在大多数发行包中似乎都不存在。这就是为什么您的 OpenMPI 应用程序在没有 Torque 集成的情况下编译时可以不受限制地访问所有内核。
从源代码构建这两个包并不太难,因此值得研究配置选项并构建对您有意义的支持。