我在一台24核的机器上使用Open MPI运行Torque。为什么可以在我的工作中指定sh,例如,nodes = 1:ppn:2并且仍然能够运行mpirun -np指定的作业12 WhatEverCommand?在这种情况下,作业在12个核心上执行,即使"节点"说2 cpus。 没有指定"节点"选项是否对提交的作业使用的资源进行任何限制?如果它没有,那么如何通过覆盖声明的资源来防止用户违反服务器规则?
另一方面 - 指定nodes = 1:ppn = 8和mpirun没有" -np"选项,只给我1个运行该作业的cpu。
我是那么糟糕,在这里缺少一些基本的东西吗?
答案 0 :(得分:2)
默认情况下,OpenMPI根本不与Torque集成。您必须使用--with-tm
配置选项编译OpenMPI,这在大多数发行版软件包中似乎都没有启用。 OpenMPI项目在building和running OpenMPI的常见问题解答中提到了Torque集成。
同样,除非启用cpuset support,否则Torque实际上不会限制对CPU的访问。同样,在大多数发行版包中似乎都没有。这就是为什么你的OpenMPI应用程序在没有Torque集成的情况下编译时可以无限制地击中所有内核。
从源代码构建两个软件包并不太难,因此值得研究配置选项并构建对您有用的支持。