【发布时间】:2013-10-22 12:28:47
【问题描述】:
我有一个将数据结构拆分成块的脚本。使用扭矩作业数组处理块,然后合并回单个结构。
合并操作取决于作业数组的完成。如何让合并操作等待扭矩作业数组完成?
$ qsub --version
Version: 4.1.6
我的脚本如下:
# Splits the data structure and processes the chunks
qsub -t 1-100 -l nodes=1:ppn=40,walltime=48:00:00,vmem=120G ./job.sh
# Merges the processed chunks back into a single structure
./merge.sh
我试过了:
qsub -t 1-100 -l nodes=1:ppn=40,walltime=48:00:00,vmem=120G -N job1 ./job.sh
qsub -W depend=afterokarray:job1 ./merge.sh
还有:
qsub -t 1-100 -l nodes=1:ppn=40,walltime=48:00:00,vmem=120G -N job1 ./job.sh
qsub -hold_jid job1 ./merge.sh
都没有用。前者导致错误[qsub: 非法-W值],后者也导致错误:qsub: script file 'job1' cannot be loaded - No such file or directory.
【问题讨论】:
-
您没有正确使用
afterokarray语法。它应该是 -W depend=afterokarray:12345[] 其中 12345[] 是前面的qsub返回的数组作业 ID。另请参阅here on SO。 -
@Josh - 在使用 -hold_jid 标志时,您是否解决了“无法加载'job1'”错误的问题?我目前正在尝试实现相同的功能并遇到相同的错误。谢谢!