I agree.   

-----Original Message-----
From: devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Jeff Squyres 
(jsquyres)
Sent: Tuesday, April 21, 2015 7:17 AM
To: Open MPI Developers List
Subject: Re: [OMPI devel] binding output error

+1

Devendar, you seem to be reporting a different issue than Elena...?  FWIW: Open 
MPI has always used logical CPU numbering.  As far as I can tell from your 
output, it looks like Open MPI did the Right Thing with your examples.

Elena's example seemed to show conflicting cpu numbering -- where OMPI said it 
would bind a process and then where it actually bound it.  Ralph mentioned to 
me that he would look at this as soon as he could; he thinks it might just be 
an error in the printf output (and that the binding is actually occurring in 
the right location).



> On Apr 20, 2015, at 9:48 PM, tmish...@jcity.maeda.co.jp wrote:
> 
> Hi Devendar,
> 
> As far as I know, the report-bindings option shows the logical cpu 
> order. On the other hand, you are talking about physical one, I guess.
> 
> Regards,
> Tetsuya Mishima
> 
> 2015/04/21 9:04:37、"devel"さんは「Re: [OMPI devel] binding output
> error」で書きました
>> HT is not enabled.  All node are same topo . This is reproducible 
>> even on
> single node.
>> 
>> 
>> 
>> I ran osu latency to see if it is really is mapped to other socket or 
>> not
> with –map-by socket.  It looks likes mapping is correct as per latency 
> test.
>> 
>> 
>> 
>> $mpirun -np 2 -report-bindings -map-by
> socket  
> /hpc/local/benchmarks/hpc-stack-icc/install/ompi-mellanox-v1.8/tests/o
> su-micro-benchmarks-4.4.1/osu_latency
> 
>> 
>> [clx-orion-001:10084] MCW rank 0 bound to socket 0[core 0[hwt 0]]:
> [B/././././././././././././.][./././././././././././././.]
>> 
>> [clx-orion-001:10084] MCW rank 1 bound to socket 1[core 14[hwt 0]]:
> [./././././././././././././.][B/././././././././././././.]
>> 
>> # OSU MPI Latency Test v4.4.1
>> 
>> # Size          Latency (us)
>> 
>> 0                       0.50
>> 
>> 1                       0.50
>> 
>> 2                       0.50
>> 
>> 4                       0.49
>> 
>> 
>> 
>> 
>> 
>> $mpirun -np 2 -report-bindings -cpu-set
> 1,7 
> /hpc/local/benchmarks/hpc-stack-icc/install/ompi-mellanox-v1.8/tests/o
> su-micro-benchmarks-4.4.1/osu_latency
> 
>> 
>> [clx-orion-001:10155] MCW rank 0 bound to socket 0[core 1[hwt 0]]:
> [./B/./././././././././././.][./././././././././././././.]
>> 
>> [clx-orion-001:10155] MCW rank 1 bound to socket 0[core 7[hwt 0]]:
> [./././././././B/./././././.][./././././././././././././.]
>> 
>> # OSU MPI Latency Test v4.4.1
>> 
>> # Size          Latency (us)
>> 
>> 0                       0.23
>> 
>> 1                       0.24
>> 
>> 2                       0.23
>> 
>> 4                       0.22
>> 
>> 8                       0.23
>> 
>> 
>> 
>> Both hwloc and /proc/cpuinfo indicates following cpu numbering
>> 
>> socket 0 cpus: 0 1 2 3 4 5 6 14 15 16 17 18 19 20
>> 
>> socket 1 cpus: 7 8 9 10 11 12 13 21 22 23 24 25 26 27
>> 
>> 
>> 
>> $hwloc-info -f
>> 
>> Machine (256GB)
>> 
>>   NUMANode L#0 (P#0 128GB) + Socket L#0 + L3 L#0 (35MB)
>> 
>>     L2 L#0 (256KB) + L1 L#0 (32KB) + Core L#0 + PU L#0 (P#0)
>> 
>>     L2 L#1 (256KB) + L1 L#1 (32KB) + Core L#1 + PU L#1 (P#1)
>> 
>>     L2 L#2 (256KB) + L1 L#2 (32KB) + Core L#2 + PU L#2 (P#2)
>> 
>>     L2 L#3 (256KB) + L1 L#3 (32KB) + Core L#3 + PU L#3 (P#3)
>> 
>>     L2 L#4 (256KB) + L1 L#4 (32KB) + Core L#4 + PU L#4 (P#4)
>> 
>>     L2 L#5 (256KB) + L1 L#5 (32KB) + Core L#5 + PU L#5 (P#5)
>> 
>>     L2 L#6 (256KB) + L1 L#6 (32KB) + Core L#6 + PU L#6 (P#6)
>> 
>>     L2 L#7 (256KB) + L1 L#7 (32KB) + Core L#7 + PU L#7 (P#14)
>> 
>>     L2 L#8 (256KB) + L1 L#8 (32KB) + Core L#8 + PU L#8 (P#15)
>> 
>>     L2 L#9 (256KB) + L1 L#9 (32KB) + Core L#9 + PU L#9 (P#16)
>> 
>>     L2 L#10 (256KB) + L1 L#10 (32KB) + Core L#10 + PU L#10 (P#17)
>> 
>>     L2 L#11 (256KB) + L1 L#11 (32KB) + Core L#11 + PU L#11 (P#18)
>> 
>>     L2 L#12 (256KB) + L1 L#12 (32KB) + Core L#12 + PU L#12 (P#19)
>> 
>>     L2 L#13 (256KB) + L1 L#13 (32KB) + Core L#13 + PU L#13 (P#20)
>> 
>>   NUMANode L#1 (P#1 128GB) + Socket L#1 + L3 L#1 (35MB)
>> 
>>     L2 L#14 (256KB) + L1 L#14 (32KB) + Core L#14 + PU L#14 (P#7)
>> 
>>     L2 L#15 (256KB) + L1 L#15 (32KB) + Core L#15 + PU L#15 (P#8)
>> 
>>     L2 L#16 (256KB) + L1 L#16 (32KB) + Core L#16 + PU L#16 (P#9)
>> 
>>     L2 L#17 (256KB) + L1 L#17 (32KB) + Core L#17 + PU L#17 (P#10)
>> 
>>     L2 L#18 (256KB) + L1 L#18 (32KB) + Core L#18 + PU L#18 (P#11)
>> 
>>     L2 L#19 (256KB) + L1 L#19 (32KB) + Core L#19 + PU L#19 (P#12)
>> 
>>     L2 L#20 (256KB) + L1 L#20 (32KB) + Core L#20 + PU L#20 (P#13)
>> 
>>     L2 L#21 (256KB) + L1 L#21 (32KB) + Core L#21 + PU L#21 (P#21)
>> 
>>     L2 L#22 (256KB) + L1 L#22 (32KB) + Core L#22 + PU L#22 (P#22)
>> 
>>     L2 L#23 (256KB) + L1 L#23 (32KB) + Core L#23 + PU L#23 (P#23)
>> 
>>     L2 L#24 (256KB) + L1 L#24 (32KB) + Core L#24 + PU L#24 (P#24)
>> 
>>     L2 L#25 (256KB) + L1 L#25 (32KB) + Core L#25 + PU L#25 (P#25)
>> 
>>     L2 L#26 (256KB) + L1 L#26 (32KB) + Core L#26 + PU L#26 (P#26)
>> 
>>     L2 L#27 (256KB) + L1 L#27 (32KB) + Core L#27 + PU L#27 (P#27)
>> 
>> 
>> 
>> 
>> 
>> So, Is --reporting-binding shows one more level of logical CPU numbering?
>> 
>> 
>> 
>> 
>> 
>> -Devendar
>> 
>> 
>> 
>> 
>> 
>> From:devel [mailto:devel-boun...@open-mpi.org] On Behalf Of Ralph 
>> Castain
>> Sent: Monday, April 20, 2015 3:52 PM
>> To: Open MPI Developers
>> Subject: Re: [OMPI devel] binding output error
>> 
>> 
>> 
>> Also, was this with HT's enabled? I'm wondering if the print code is
> incorrectly computing the core because it isn't correctly accounting 
> for HT cpus.
>> 
>> 
>> 
>> 
>> 
>> On Mon, Apr 20, 2015 at 3:49 PM, Jeff Squyres (jsquyres)
> <jsquy...@cisco.com> wrote:
>> 
>> Ralph's the authority on this one, but just to be sure: are all nodes 
>> the
> same topology? E.g., does adding "--hetero-nodes" to the mpirun 
> command line fix the problem?
>> 
>> 
>> 
>>> On Apr 20, 2015, at 9:29 AM, Elena Elkina <elena.elk...@itseez.com>
> wrote:
>>> 
>>> Hi guys,
>>> 
>>> I faced with an issue on our cluster related to mapping & binding
> policies on 1.8.5.
>>> 
>>> The matter is that --report-bindings output doesn't correspond to 
>>> the
> locale. It looks like there is a mistake on the output itself, because 
> it just puts serial core number while that core can be
>> on another socket. For example,
>>> 
>>> mpirun -np 2 --display-devel-map --report-bindings --map-by socket
> hostname
>>>   Data for JOB [43064,1] offset 0
>>> 
>>>   Mapper requested: NULL  Last mapper: round_robin  Mapping policy:
> BYSOCKET  Ranking policy: SOCKET
>>>   Binding policy: CORE  Cpu set: NULL  PPR: NULL  Cpus-per-rank: 1
>>>        Num new daemons: 0      New daemon starting vpid INVALID
>>>        Num nodes: 1
>>> 
>>>   Data for node: clx-orion-001         Launch id: -1   State: 2
>>>        Daemon: [[43064,0],0]   Daemon launched: True
>>>        Num slots: 28   Slots in use: 2 Oversubscribed: FALSE
>>>        Num slots allocated: 28 Max slots: 0
>>>        Username on node: NULL
>>>        Num procs: 2    Next node_rank: 2
>>>        Data for proc: [[43064,1],0]
>>>                Pid: 0  Local rank: 0   Node rank: 0    App rank: 0
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 0-6,14-20       Bind location: 0        Binding: 0
>>>        Data for proc: [[43064,1],1]
>>>                Pid: 0  Local rank: 1   Node rank: 1    App rank: 1
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 7-13,21-27      Bind location: 7        Binding: 7
>>> [clx-orion-001:26951] MCW rank 0 bound to socket 0[core 0[hwt 0]]:
> [B/././././././././././././.][./././././././././././././.]
>>> [clx-orion-001:26951] MCW rank 1 bound to socket 1[core 14[hwt 0]]:
> [./././././././././././././.][B/././././././././././././.]
>>> 
>>> The second process should be bound at core 7 (not core 14).
>>> 
>>> 
>>> Another example:
>>> mpirun -np 8 --display-devel-map --report-bindings --map-by core
> hostname
>>>   Data for JOB [43202,1] offset 0
>>> 
>>>   Mapper requested: NULL  Last mapper: round_robin  Mapping policy:
> BYCORE  Ranking policy: CORE
>>>   Binding policy: CORE  Cpu set: NULL  PPR: NULL  Cpus-per-rank: 1
>>>        Num new daemons: 0      New daemon starting vpid INVALID
>>>        Num nodes: 1
>>> 
>>>   Data for node: clx-orion-001         Launch id: -1   State: 2
>>>        Daemon: [[43202,0],0]   Daemon launched: True
>>>        Num slots: 28   Slots in use: 8 Oversubscribed: FALSE
>>>        Num slots allocated: 28 Max slots: 0
>>>        Username on node: NULL
>>>        Num procs: 8    Next node_rank: 8
>>>        Data for proc: [[43202,1],0]
>>>                Pid: 0  Local rank: 0   Node rank: 0    App rank: 0
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 0       Bind location: 0        Binding: 0
>>>        Data for proc: [[43202,1],1]
>>>                Pid: 0  Local rank: 1   Node rank: 1    App rank: 1
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 1       Bind location: 1        Binding: 1
>>>        Data for proc: [[43202,1],2]
>>>                Pid: 0  Local rank: 2   Node rank: 2    App rank: 2
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 2       Bind location: 2        Binding: 2
>>>        Data for proc: [[43202,1],3]
>>>                Pid: 0  Local rank: 3   Node rank: 3    App rank: 3
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 3       Bind location: 3        Binding: 3
>>>        Data for proc: [[43202,1],4]
>>>                Pid: 0  Local rank: 4   Node rank: 4    App rank: 4
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 4       Bind location: 4        Binding: 4
>>>        Data for proc: [[43202,1],5]
>>>                Pid: 0  Local rank: 5   Node rank: 5    App rank: 5
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 5       Bind location: 5        Binding: 5
>>>        Data for proc: [[43202,1],6]
>>>                Pid: 0  Local rank: 6   Node rank: 6    App rank: 6
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 6       Bind location: 6        Binding: 6
>>>        Data for proc: [[43202,1],7]
>>>                Pid: 0  Local rank: 7   Node rank: 7    App rank: 7
>>>                State: INITIALIZED      Restarts: 0     App_context: 0
> Locale: 14      Bind location: 14       Binding: 14
>>> [clx-orion-001:27069] MCW rank 0 bound to socket 0[core 0[hwt 0]]:
> [B/././././././././././././.][./././././././././././././.]
>>> [clx-orion-001:27069] MCW rank 1 bound to socket 0[core 1[hwt 0]]:
> [./B/./././././././././././.][./././././././././././././.]
>>> [clx-orion-001:27069] MCW rank 2 bound to socket 0[core 2[hwt 0]]:
> [././B/././././././././././.][./././././././././././././.]
>>> [clx-orion-001:27069] MCW rank 3 bound to socket 0[core 3[hwt 0]]:
> [./././B/./././././././././.][./././././././././././././.]
>>> [clx-orion-001:27069] MCW rank 4 bound to socket 0[core 4[hwt 0]]:
> [././././B/././././././././.][./././././././././././././.]
>>> [clx-orion-001:27069] MCW rank 5 bound to socket 0[core 5[hwt 0]]:
> [./././././B/./././././././.][./././././././././././././.]
>>> [clx-orion-001:27069] MCW rank 6 bound to socket 0[core 6[hwt 0]]:
> [././././././B/././././././.][./././././././././././././.]
>>> [clx-orion-001:27069] MCW rank 7 bound to socket 0[core 7[hwt 0]]:
> [./././././././B/./././././.][./././././././././././././.]
>>> 
>>> Rank 7 should be bound at core 14 instead of core 7 since core 7 is 
>>> at
> another socket.
>>> 
>>> Best regards,
>>> Elena
>>> 
>>> 
>> 
>>> _______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org
>>> Subscription:  http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>> Link to this post:
> http://www.open-mpi.org/community/lists/devel/2015/04/17273.php
>> 
>> 
>> --
>> Jeff Squyres
>> jsquy...@cisco.com
>> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>> 
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> Subscription:  http://www.open-mpi.org/mailman/listinfo.cgi/devel
>> Link to this post:
> http://www.open-mpi.org/community/lists/devel/2015/04/17282.php
>> 
>>  _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/develLink 
>> to
> this post: 
> http://www.open-mpi.org/community/lists/devel/2015/04/17287.php
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2015/04/17291.php


--
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

_______________________________________________
devel mailing list
de...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
Link to this post: 
http://www.open-mpi.org/community/lists/devel/2015/04/17295.php

Reply via email to