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

Reply via email to