2

我在具有 24 个内核的单台机器上使用 Open MPI 运行 Torque。为什么可以在我的作业中指定,例如,nodes=1:ppn:2 并且仍然能够运行 mpirun -np 12 WhatEverCommand 指定的作业?在这种情况下,作业在 12 个核心上执行,即使“节点”表示 2 个 CPU。指定“节点”选项不会对提交的作业使用的资源有任何限制吗?如果没有,那么如何通过覆盖声明的资源来防止用户违反服务器规则?

另一方面 - 指定 nodes=1:ppn=8 和 mpirun 没有“-np”选项,只给我 1 个 cpu 运行作业。

我有那么糟糕并且在这里缺少一些基本的东西吗?

4

1 回答 1

2

默认情况下,OpenMPI 根本不与 Torque 集成。您必须使用--with-tmconfigure 选项编译 OpenMPI,这在大多数发行版包中似乎都没有启用。OpenMPI 项目在其关于构建运行OpenMPI 的常见问题解答中提到了 Torque 集成。

同样,除非启用了cpuset 支持,否则 Torque 实际上并不限制对 CPU的访问。同样,这在大多数发行包中似乎都不存在。这就是为什么您的 OpenMPI 应用程序在没有 Torque 集成的情况下编译时可以不受限制地访问所有内核。

从源代码构建这两个包并不太困难,因此值得研究配置选项并构建对您有意义的支持。

于 2013-11-01T04:37:30.243 回答