[slurm-users] Meaning of --cpus-per-task and --mem-per-cpu when SMT processors are used

Loris Bennett loris.bennett at fu-berlin.de
Wed Mar 4 13:08:09 UTC 2020

Hi Marcus,

Thanks for the clarification - I'd actually missed the 'SMT' in subject.

Marcus Wagner <wagner at itc.rwth-aachen.de> writes:

> Hi Loris,
> CPU is the smallest schedulable unit, in case of SMT its threads.

Would it be reasonable to say it's *always* threads and with HT you just
have twice as many as without?  Having said that, it seems a little
strange to say a CPU *is* a thread, as that blurs the distinction
between hardware and executing software somewhat. 

> At the moment we have HT disabled on our systems, therefore CPU is equal to the
> cores for us. But with HT enabled, CPU is double that large (at least form slurm
> 18.08).

We also have HT disabled, so I had slightly forgotten about it.

It is rather annoying that the Slurm terminology is so inconsistent as
it is potentially confusing for users.



> Best
> Marcus
> On 3/4/20 10:33 AM, Loris Bennett wrote:
>> Hi Alexander,
>> Alexander Grund <alexander.grund at tu-dresden.de> writes:
>>> Hi,
>>> we have a Power9 partition with 44 processors having 4 cores each
>>> totaling 176.
>>> `scontrol show node <node>` shows "CoresPerSocket=22" and "CPUTot=176"
>>> which confuses me. Especially as `whypending` reports e.g. "172 cores
>>> free: 1"
>> What's 'whypending'?
>>> So what are "CPUs" and what are "Cores" to SLURM? Why does it mix up those 2?
>> This is just historical as far as I can tell.  I think 'CPU' almost
>> always means 'core'.
>>> Most importantly: Does this mean `--cpus-per-task` can be as high as
>>> 176 on this node and `--mem-per-cpu` can be up to the reported
>>> "RealMemory"/176?
>> Yes.
>> Cheers,
>> Loris
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email loris.bennett at fu-berlin.de

More information about the slurm-users mailing list