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