我在一台有24个核心的机器上运行着开放MPI的扭矩。为什么可以在我的作业中指定sh,例如nodes=1:ppn:2,但仍然能够运行mpirun -np 12 WhatEverCommand指定的作业?在这种情况下,作业在12个核心上执行,即使“节点”表示2个cpus。指定“节点”选项对提交的作业使用的资源没有任何限制吗?如果没有,那么如何通过覆盖声明的资源来防止用户违反服务器规则?
另一方面,在没有“nodes=1:ppn=8”选项的情况下指定-np和mpirun,只给我一个运行作业的cpu。
我在这里有那么糟糕和缺少什么基本的东西吗?
发布于 2013-11-01 04:37:30
默认情况下,OpenMPI根本不与扭矩集成。您必须使用OpenMPI配置选项编译--with-tm,这个选项在大多数发行版包中似乎没有启用。OpenMPI项目在其关于建筑和正在运行 OpenMPI的常见问题中提到了扭矩集成。
类似地,除非启用了cpuset支撑,Torque实际上并不限制对CPU的访问。再一次,这似乎没有在大多数发行包。这就是为什么你的OpenMPI应用,当编译没有扭矩集成,可以击中所有的核心不受限制。
从源构建两个包并不太困难,因此值得研究配置选项和构建对您有意义的支持。
https://stackoverflow.com/questions/19714914
复制相似问题