并行执行多个作业时指定SLURM资源

时间:2018-12-28 00:48:41

标签: bash slurm sbatch

根据此处的What does the --ntasks or -n tasks does in SLURM?答案,可以通过ntasks参数并随后srun并行执行多个作业。问一个后续问题-像这样并行运行作业时,如何指定所需的内存量?

如果说有3个作业并行运行,每个作业需要8G内存,那么将在sbatch中指定24G内存(即所有作业的内存总和),还是在sbatch中不给出内存参数而是为每个srun指定8G内存?

1 个答案:

答案 0 :(得分:1)

您需要在sbatch提交的脚本中指定内存需求,否则最终将获得默认的内存分配,这可能与您的需求不符。如果然后在srun调用中指定8GB内存,则可能会导致默认内存低于该内存而无法启动任何作业,或者如果默认内存低于该内存,则只能并行运行一两个作业在16至24GB之间。

您可以请求--mem=24GB,但是比指定--mem-per-cpu=8G的灵活性要小。