【发布时间】:2018-10-07 14:04:41
【问题描述】:
我有一个由三部分组成的 R 分析(partA、partB 和 partC)。我将每个部分提交给 SLURM(例如sbatch partA),每个部分通过#SBATCH --array=1-1500 并行化。这些部分是串行的,所以我需要等待一个完成才能开始下一个。现在我手动开始每项工作,但这不是一个很好的解决方案。
我想自动化三个 sbatch 调用。 例如:
sbatch partA-
partA完成后,sbatch partB -
partB完成后,sbatch partC
我使用this solution 获取partA 的作业ID,并将其传递给strigger 以完成上面的步骤2。但是我被困在了这一点上,因为我不知道如何从strigger 获取partB 的工作ID。这是我的代码的样子:
#!/bin/bash
# step 1: sbatch partA
partA_ID=$(sbatch --parsable partA.sh)
# step 2: sbatch partB
strigger --set --jobid=$partA_ID --fini --program=/path/to/partB.batch
# step 3: sbatch partC
... ?
如何完成第 3 步?
【问题讨论】:
标签: r linux batch-processing hpc slurm