本文介绍了slurm sbatch -n和-c之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近使用的集群从SGE切换到SLURM.我想知道sbatch选项--ntasks--cpus-per-task之间的区别是什么?

The cluster that I work with recently switched from SGE to SLURM. I was wondering what the difference between sbatch options --ntasks and --cpus-per-task?

--ntasks似乎适合我运行的某些MPI作业,但似乎不适合我运行的某些OpenMP作业.

--ntasks seemed appropriate for some MPI jobs that I ran but did not seem appropriate for some OpenMP jobs that I ran.

对于SLURM脚本中的OpenMP作业,我指定了:

For the OpenMP jobs in my SLURM script, I specified:

#SBATCH --ntasks=20

分区中的所有节点都是20核计算机,因此每台计算机只能运行1个作业.但是,每个节点上同时运行多个作业.

All the nodes in the partition are 20core machines, so only 1 job should run per machine. However, multiple jobs were running simultaneously on each node.

推荐答案

SLURM中的任务基本上是进程/mpi等级-看来您只想要一个任务.任务可以是多线程的.每辆车的cpus值是通过-c, --cpus-per-task设置的.如man srun中所述,如果您使用超线程,它将变得更加复杂.

Tasks in SLURM are basically processes / mpi ranks - it seems you just want a single task. A task can be multithreaded. The of cpus per taks is set via -c, --cpus-per-task. If you use hyperthreading it becomes a little bit more complicated, as explains in man srun.

这篇关于slurm sbatch -n和-c之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-07 04:33