我的工作流程运行在具有不同CPU数量的不同计算机上,我希望能够设置一个使用"除了N"之外的所有规则的规则。核心。即我希望能够做到:
threads: lambda cores: max(2, cores-4)
但我找不到任何方法来访问我的规则中的核心(即传递给或由命令行上的-j / - 核心推断的值)。有办法做到吗?
答案 0 :(得分:0)
如 @bli 在评论中所述,这应该有效:
from multiprocessing import cpu_count
rule test:
output:
example.txt
threads:
lambda cores: max(2, cpu_count() - 4)
shell:
cmd -{threads}