2016-06-12 22 views
2

该文档是有点不清楚的正是-t选项使用qsub了解-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 
+0

你使用什么调度程序? – clusterdude

回答

1

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

指定与qsub -t的数组只是创建单个作业,全部使用相同的主ID。提交您指定的方式将创建16个作业,每个作业请求16个核心。这个语法只是简单的一次提交大量的工作,而不必编写提交循环。

单独扭矩(即不考虑调度),可以说这样的强制作业的特定节点:

的qsub -l节点= GPU-NODE01:PPN = 8 + GPU-NODE02:PPN = 8

更高级的调度程序可以给你更大的灵活性(例如,Moab或Maui允许“-l nodes = 2:ppn = 8,nallocpolicy = exactnode”,在调度时将NODEALLOCATIONPOLICY EXACTNODE应用于作业,你在正好两个节点上有8个核心(在这种情况下,任何两个节点))。

+1

谢谢,这很有帮助。一路上,我遇到了'pbsdsh',这对了解将命令分发给没有-t选项的节点也很有用。 –