我目前正在使用基于Linux的HPC,它只使用SLURM提交作业,而HPC只允许工作运行12个小时。但是,我可能需要连续工作24个工作一周才能取得好成绩。
有没有办法在完成后再次(自动)运行作业?
亲切的问候
添加:
作业完成后,将创建.out文件。换句话说,.out文件的数量将增加1。
当.out的数量增加时,是否可以重新排队?
λ_2,...,λ_k
答案 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之类的包装器使其可重新启动。