SLURM如何在另一个任务完成时qsub任务?

时间:2016-10-12 17:04:13

标签: qsub slurm

我目前正在使用基于Linux的HPC,它只使用SLURM提交作业,而HPC只允许工作运行12个小时。但是,我可能需要连续工作24个工作一周才能取得好成绩。

有没有办法在完成后再次(自动)运行作业?

亲切的问候

添加:

作业完成后,将创建.out文件。换句话说,.out文件的数量将增加1。

当.out的数量增加时,是否可以重新排队?

λ_2,...,λ_k

1 个答案:

答案 0 :(得分:0)

如果您的工作本质上是可重启的,那么您需要做的就是在提交脚本结束时调用sbatch。假设它被称为submit.sh

if ! job_is_done;
then
sbatch submit.sh
fi

job_is_done部分应该被一个命令替换,该命令在作业完成时返回0(即计算完成,进程收敛等),例如通过日志文件中的'grepping'获取某些线索。

您还可以重新排队作业:

job_is_done || scontrol requeue $SLURM_JOB_ID

如果您的程序本身无法重新启动,则可以使用DMCTP之类的包装器使其可重新启动。