【问题标题】:Understanding the -t option in qsub了解 qsub 中的 -t 选项
【发布时间】:2016-06-12 18:23:47
【问题描述】:

文档有点不清楚-t 选项在使用qsub 提交作业时到底做了什么

http://docs.adaptivecomputing.com/torque/4-0-2/Content/topics/commands/qsub.htm

来自文档:

-t 指定作业数组的任务 ID。允许使用单个任务数组。 array_request 参数是一个整数 id 或一个整数范围。 多个 id 或 id 范围可以组合在一个逗号分隔的列表中。 示例:-t 1-100 或 -t 1,10,50-100

这是一个出现问题的示例,我请求了 2 个节点,每个节点 8 个进程,以及 16 个作业的数组。我曾希望这会自然地分布在 2 个节点上,但 16 个任务是临时分布在超过 2 个节点上的。

$ echo 'hostname' | qsub -q gpu -l nodes=2:ppn=8 -t 1-16
52727[]
$ cat STDIN.o52727-* | sort
gpu-3.local
gpu-3.local
gpu-3.local
gpu-3.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-5.local
gpu-7.local
gpu-7.local
gpu-7.local
gpu-7.local
gpu-7.local
gpu-7.local

【问题讨论】:

  • 你使用什么调度器?

标签: pbs qsub torque


【解决方案1】:

我怀疑这不能完全回答你的问题,但你究竟希望完成什么仍不清楚。

使用qsub -t 指定一个数组只会创建单个作业,所有作业都具有相同的主 ID。提交您指定的方式将创建 16 个作业,每个作业总共需要 16 个内核。这种语法只是使一次提交大量作业变得更容易,而无需编写提交循环脚本。

仅使用 Torque(即,忽略调度程序),您可以通过以下方式将作业强制到特定节点:

qsub -l 节点=gpu-node01:ppn=8+gpu-node02:ppn=8

更高级的调度程序可以为您提供更大的灵活性(例如,Moab 或 Maui 允许“-l nodes=2:ppn=8,nallocpolicy=exactnode”,它在调度时将NODEALLOCATIONPOLICY EXACTNODE 应用于作业,并且会给您8 个内核,每个内核恰好位于两个节点上(在本例中为任意两个节点)。

【讨论】:

  • 谢谢,这很有帮助。一路上我遇到了pbsdsh,这对于在没有 -t 选项的情况下向节点分发命令也很有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-06
相关资源
最近更新 更多