【问题标题】:How do I schedule a job on multiple nodes with qsub Univa 8.1.7?如何使用 qsub Univa 8.1.7 在多个节点上安排作业?
【发布时间】:2014-11-28 17:53:24
【问题描述】:

我希望能够在多个节点上安排一个作业,每个节点一个进程。我还希望该进程使用使用该节点上所有可用内核的线程。我知道“ppn”用于调度 PBS 作业,所以我使用 Univa 调度程序进行了尝试。冒号分隔符不起作用,所以我使用了两个“-l”标志。我试过了

qsub -cwd -j y -l nodes=4 -l ppn=1 -N hellonodes mpirunscript.sh

这给了

无法运行作业:未知资源“ppn”。

退出。

在 qsub 的手册页中指出

complex(5) 描述了可用资源列表及其 可以获得相关的有效值说明符。

很遗憾,我正在使用的集群上不存在此类文档。但是,我找到了一个here。最终我发现要获取可设置资源值的列表,我需要运行

qconf - sc

这个输出如下(缩写):

#name               shortcut   type        relop   requestable consumable default  urgency 
#------------------------------------------------------------------------------------------
...
cpu                 cpu        DOUBLE      >=      YES         NO         0        0
...
m_numa_nodes        nodes      INT         <=      YES         NO         0        0
m_socket            socket     INT         <=      YES         NO         0        0
m_thread            thread     INT         <=      YES         NO         0        0
...
num_proc            p          INT         ==      YES         NO         0        0
...
slots               s          INT         <=      YES         YES        1        1000
...

“ppn”(PBS 的每个节点的进程)没有列出,我也找不到类似的东西。谁能告诉我这是否可行,如果可以,怎么做?

【问题讨论】:

    标签: qsub


    【解决方案1】:

    由于它是并行作业,您需要使用 -pe 请求并行环境 管理员必须首先创建一个满足您要求的并行环境。然后它是持久的,可以用于这种类型的并行作业。见:http://www.gridengine.eu/mangridengine/htmlman5/sge_pe.html

    用于创建并行环境:qconf -ap mype 列出所有 PE:qconf -spl 然后将 PE 附加到您的队列:qconf -mq all.q(如果是 all.q) --> "pe_list mype"

    重要的是:allocation_rule 这里需要设置:1 --> 这意味着每个计算主机一个进程。

    将插槽设置​​为较高的值(例如集群中的核心数量)。这是使用此并行环境的所有作业的限制。

    然后您或您的用户可以开始您的工作:qsub -pe mytpe 8 myscript.sh

    然后,您将获得 8 个计算节点用于此作业,每个节点有 1 个插槽。 qstat -g t 告诉你在哪里。

    这有帮助吗?

    丹尼尔

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 2017-10-28
      • 1970-01-01
      • 2016-04-23
      • 2020-05-05
      • 2014-04-02
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      相关资源
      最近更新 更多