我用来触发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个作业吗?我可以尝试,但我想先了解一下。
谢谢。
答案 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