工作选项未定义已提交工作的数量

时间:2019-12-12 12:33:05

标签: python slurm snakemake sbatch

我用来触发snakemake的命令是:

snakemake --snakefile Snakefile --configfile config.json --latency-wait 60 --rerun-incomplete --keep-going --notemp --reason --use-singularity --singularity-args "--bind /somepath/folder" --jobs 400 --cores 16 --cluster-config clusterConfiguration/cluster.json --cluster "sbatch --partition={cluster.queue} --job-name={cluster.name} --cpus-per-task={cluster.nCPUs} --mem={cluster.memory} --time={cluster.maxTime} --output=\"jobs/{cluster.rulename}/slurm_%x_%A_%a.out\""

由于某种原因,我一次提交的职位不超过20个。查看文档,我认为我必须使用:

--max-jobs-per-second
--max-status-checks-per-second

我不明白为什么这些选项可用。如果--jobs定义了已提交作业的最大数量,为什么我们应该定义每秒最大的集群/ drmaa作业数量?什么意思?

对于第二个选项,“每秒最大的作业状态检查次数”是什么意思?

最后,将这两个选项设置为400可使我同时运行400个作业吗?我可以尝试,但我想先了解一下。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您运行 var df1 = DateFormat('dd-MM-yyyy').parse('22-10-2019'); var df2 = DateFormat('dd-MM-yyyy').parse('25-10-2019'); print(df1.isBefore(df2).toString()); ,这些选项将全部记录在案。 snakemake --help标志与您已经在使用的--jobs标志同义,在您的情况下,这会将内核(即多处理作业)的数量限制为--core

16是作业提交到集群的最大速率(即对调度程序的影响)。您通常不需要指定此标志或--max-jobs-per-second一个标志;默认值通常可以。

--max-status-checks-per-second