Hi,

On 08/23/2016 22:29, Tom G wrote:
> I have some slurm nodes with 8 core processors and hyperthreading, so 16
> CPUs in effect.  I'd like to restrict slurm to only use 12 CPUs on this
> machine.  What are the right slurm.conf settings to do this?

> Doing 8 or 16 CPUs seems straightforward since i can set
> CoresPerSocket=8 + ThreadsPerCore=1, or CoresPerSocket=8 +
> ThreadsPerCore=2 .  But if I want to do 12, does that mean i do
> ThreadsPerCore=1.5 ?  Seems strange.  

Wouldn't 6*2=12 be more natural[sic!] than 8*1.5=12?

Anyway http://slurm.schedmd.com/mc_support.html says:
<quote>
Slurm will automatically detect the architecture of the nodes used by
examining /proc/cpuinfo. If, for some reason, the administrator wishes
to override the automatically selected architecture, the NodeName
parameter can be used in combination with FastSchedule:

FastSchedule=1
NodeName=dualcore[01-16] CPUs=4 CoresPerSocket=2 ThreadsPerCore=1

For a more complete description of the various node configuration
options see the slurm.conf man page.
</quote>

So, according to this

Fastschedule=1
NodeName=<younameit> CPUs=12 CoresPerSocket=6 ThreadsPerCore=2

should be enough.

I didn't try myself because I currently prefer to partition hosts via KVM.

Maybe that could be solved more lightweight via cgroup/cpusets.

Side note: if you only want slurmd and slurmstepd to be confined from
user jobs that can be done via CoreSpecCount, CPUSpecList +
TaskPlugin/cgroup ConstrainCores=yes
s. http://slurm.schedmd.com/slurm.conf.html


Best regards,
Benjamin
-- 
FSU Jena | JULIELab.de/Staff/Benjamin+Redling.html
vox: +49 3641 9 44323 | fax: +49 3641 9 44321

Reply via email to