Sadly, lama has fallen into a stale, unsupported condition. I’ve been thinking 
about your mapping request, and I don’t currently see a way to do it with the 
existing options. I understand the request, however, and will see if I can come 
up with something over the weekend.


> On Feb 12, 2016, at 2:13 PM, Stephen Guzik <stephen.gu...@colostate.edu> 
> wrote:
> 
> We've also tested lama with
> 
> -np 10 --mca rmaps_base_verbose 10 --mca rmaps_lama_priority 91 --mca
> rmaps_lama_map sNbnch --mca rmaps_lama_bind 1h --mca rmaps_lama_mppr 1:c,5:s
> 
> It seems like this would do the right thing except a priority < 10 does
> nothing and greater than 10 segfaults.  Is lama still intended to be
> supported?  If not, any other workarounds?
> 
> [node4:30795] [[32231,0],0]: Final mapper priorities
> [node4:30795]     Mapper: lama Priority: 91
> [node4:30795]     Mapper: ppr Priority: 90
> [node4:30795]     Mapper: seq Priority: 60
> [node4:30795]     Mapper: resilient Priority: 40
> [node4:30795]     Mapper: mindist Priority: 20
> [node4:30795]     Mapper: round_robin Priority: 10
> [node4:30795]     Mapper: staged Priority: 5
> [node4:30795]     Mapper: rank_file Priority: 0
> [node4:30795] mca:rmaps: mapping job [32231,1]
> [node4:30795] mca:rmaps: creating new map for job [32231,1]
> [node4:30795] mca:rmaps: nprocs 10
> [node4:30795] mca:rmaps[139] mapping not given - using bysocket
> [node4:30795] mca:rmaps[288] binding not given - using bysocket
> [node4:30795] mca:rmaps:lama: Mapping job [32231,1]
> [node4:30795] mca:rmaps:lama: Revised Parameters -----
> [node4:30795] mca:rmaps:lama: Map   : sNbnch
> [node4:30795] mca:rmaps:lama: Bind  : 1h
> [node4:30795] mca:rmaps:lama: MPPR  : 1:c,5:s
> [node4:30795] mca:rmaps:lama: Order : s
> [node4:30795] mca:rmaps:lama: ---------------------------------
> [node4:30795] mca:rmaps:lama: ----- Binding  : [1h]
> [node4:30795] mca:rmaps:lama: ----- Binding  :    1 x Hw. Thread
> [node4:30795] mca:rmaps:lama: ---------------------------------
> [node4:30795] mca:rmaps:lama: ----- Mapping  : [sNbnch]
> [node4:30795] mca:rmaps:lama: ----- Mapping  : (0)     Socket (3 vs 0)
> [node4:30795] mca:rmaps:lama: ----- Mapping  : (1)       NUMA (2 vs 1)
> [node4:30795] mca:rmaps:lama: ----- Mapping  : (2)      Board (1 vs 2)
> [node4:30795] mca:rmaps:lama: ----- Mapping  : (3)    Machine (0 vs 3)
> [node4:30795] mca:rmaps:lama: ----- Mapping  : (4)       Core (7 vs 7)
> [node4:30795] mca:rmaps:lama: ----- Mapping  : (5) Hw. Thread (8 vs 8)
> [node4:30795] mca:rmaps:lama: ---------------------------------
> [node4:30795] mca:rmaps:lama: ----- MPPR     : [1:c,5:s]
> [node4:30795] mca:rmaps:lama: ----- MPPR     :    1 at       Core
> [node4:30795] mca:rmaps:lama: ----- MPPR     :    5 at     Socket
> [node4:30795] mca:rmaps:lama: ---------------------------------
> [node4:30795] mca:rmaps:lama: ----- Ordering : [s]
> [node4:30795] mca:rmaps:lama: ----- Ordering : Sequential
> [node4:30795] mca:rmaps:lama: ---------------------------------
> [node4:30795] AVAILABLE NODES FOR MAPPING:
> [node4:30795]     node: node4 daemon: 0
> [node4:30795] mca:rmaps:lama: ---------------------------------
> [node4:30795] mca:rmaps:lama: ----- Building the Max Tree...
> [node4:30795] mca:rmaps:lama: ---------------------------------
> [node4:30795] mca:rmaps:lama: ----- Converting Remote Tree: node4
> [node4:30795] *** Process received signal ***
> [node4:30795] Signal: Segmentation fault (11)
> [node4:30795] Signal code: Address not mapped (1)
> 
> Stephen
> 
> On 02/11/2016 05:30 PM, Stephen Guzik wrote:
>> Hi,
>> 
>> I would like to divide n processes between the sockets on a node, with
>> one process per core, and bind them to a hwthread.  Consider a system
>> with 2 sockets, 10 cores per socket, and 2 hwthreads per core.  If I enter
>> 
>> -np 20 --map-by ppr:1:core --bind-to hwthread
>> 
>> then this works as I intend.  But if I only want 10 processes with 5 on
>> each socket, then
>> 
>> -np 10 --map-by ppr:5:socket --bind-to hwthread
>> 
>> will map two processes to each core (1 per hwthread).  I also tried
>> 
>> -np 10 --map-by ppr:5:socket:pe=2 --bind-to hwthread
>> -np 10 --map-by ppr:5:socket --bind-to core
>> 
>> but both of those will bind to the core.  How can I say 5 per socket and
>> only 1 per core and bind to a single hardware thread?
>> 
>> I am using openmpi 1.8.8.
>> 
>> Thanks,
>> Stephen
>> 
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post: 
> http://www.open-mpi.org/community/lists/users/2016/02/28520.php 
> <http://www.open-mpi.org/community/lists/users/2016/02/28520.php>

Reply via email to