如何迭代qsub作业?
让一个变量i=2:10,对于每个i,我想运行"tmp.r“,并在转到下一个i之前暂停10秒。我的脚本名是test.pbs。我试过这个:
for i in `seq 1 10`;do;qsub job$i.sub;sleep 10;done但此提交的作业将立即返回..
我想在Cray XE6上运行这个。我的R代码使用遍历算法,因此作业的迭代提交将使其更高效。
你知道如何使用bash或python做到这一点吗?
谢谢!
发布于 2013-07-24 00:42:28
从本质上讲,qsub会立即返回一个作业id,所以你不能像你所描述的那样批量提交作业。
如果您使用的是torque,则可以使用作业数组。请参阅此文档
http://docs.adaptivecomputing.com/torque/help.htm#topics/commands/qsub.htm#-t
echo sleep 300 | qsub -t 10
[adaptive@mongo-test3 ~]$ qstat
Job id Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
19188[].mongo-test3 STDIN adaptive 0 R batch如果您使用的是诸如Moab之类的调度程序
[adaptive@mongo-test3 ~]$ showq
active jobs------------------------
JOBID USERNAME STATE PROCS REMAINING STARTTIME
19188[10] adaptive Running 1 00:59:19 Tue Jul 23 16:40:25
1 active job 1 of 8 processors in use by local jobs (12.50%)
1 of 1 nodes active (100.00%)
eligible jobs----------------------
JOBID USERNAME STATE PROCS WCLIMIT QUEUETIME
0 eligible jobs
blocked jobs-----------------------
JOBID USERNAME STATE PROCS WCLIMIT QUEUETIME
0 blocked jobs
Total job: 1发布于 2013-08-05 23:25:17
我不确定为什么您不能只使用qsub一个脚本,该脚本将在运行后按顺序执行作业。
但如果有帮助,您可以提交作业,并为它们提供条件,使其仅在另一个作业(在本例中为前一个作业)完成时才执行:
https://stackoverflow.com/questions/16953903
复制相似问题