首页 > 解决方案 > 将 Snakemake 与 slurm 配置文件一起使用时“--cores”的行为

问题描述

我一直在用这个 Snakefile 在我的集群上做一些测试:

rule all:
    input:[f"test.{id}.txt" for id in [1,2,3]]

rule test:
    output: temp(touch("test.{id}.txt"))
    threads: 10
    shell: "sleep 5"

使用slurm 配置文件时,--cores其行为与我预期的一样,并且每指定 10 个核心就会执行一个实例。

当您指定--profile slurm时,--cores其行为就好像限制了提交的作业数量:--cores 1将执行 1 个具有 10 个内核的--cores 2作业,2 个每个具有 10 个内核的作业,并且--cores 3这三个作业每个具有 10 个内核。

我一直觉得这很令人困惑-j(对于“工作”)并且--cores是等价的,而且在这个用例中,我的噩梦似乎成真了。

我将不胜感激任何帮助了解正在发生的事情,以及它是否可能与我的设置或我使用配置文件的方式有关。

标签: slurmsnakemake

解决方案


推荐阅读