Assuming you're allocating two logical cpus per task (-c 2) and your hyperthreading uses two threads per core (ThreadsPerCore=2), you should be able to force each task to bind to two threads on the same core using -m xxxx:block. --threads-per-core=2 will constrain node selection to nodes with at least two threads per core.
Regards, Martin Perry From: Aaron Knister <[email protected]> To: "slurm-dev" <[email protected]>, Date: 03/07/2013 04:56 AM Subject: [slurm-dev] Re: hyperthreading scheduling question As far as a users mailing list, this is it I believe. So, the desired result is 1 process with 2 hardware threads(logical cores)? You could try the -c 2 option but there's no guarantee that both allocated logical cores will map to two hardware threads on the same physical core. You could also try --threads-per-core=2 perhaps in conjunction with the -c option. Sent from my iPhone On Mar 7, 2013, at 4:31 AM, Evren Yurtesen IB <[email protected]> wrote: > > Hello, > > First question, dont you have a users mailing list? > > I am on a system with 2 sockets, 6 cores per socket and withhyper-threading. I have the following options set: > > TaskPlugin=task/affinity > TaskPluginParam=threads > SelectType=select/cons_res > SelectTypeParameters=CR_Core_Memory > > I am trying to run a process and allocate 2 threads per core. However it looks like slurm is allocating this strangely and 2 processes end up in the threads of 1 core. I am not 100% certain if this is the case but I thought I would ask how is the best way to accomplish this? > > Thanks, > Evren
