根据此处的What does the --ntasks or -n tasks does in SLURM?答案,可以通过ntasks
参数并随后srun
并行执行多个作业。问一个后续问题-像这样并行运行作业时,如何指定所需的内存量?
如果说有3个作业并行运行,每个作业需要8G内存,那么将在sbatch
中指定24G内存(即所有作业的内存总和),还是在sbatch
中不给出内存参数而是为每个srun
指定8G内存?
答案 0 :(得分:1)
您需要在sbatch
提交的脚本中指定内存需求,否则最终将获得默认的内存分配,这可能与您的需求不符。如果然后在srun
调用中指定8GB内存,则可能会导致默认内存低于该内存而无法启动任何作业,或者如果默认内存低于该内存,则只能并行运行一两个作业在16至24GB之间。
您可以请求--mem=24GB
,但是比指定--mem-per-cpu=8G
的灵活性要小。