Open MPI logo

Hardware Locality Users' Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Users mailing list

Subject: Re: [hwloc-users] Thread core affinity
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2011-08-01 09:33:12


It's just a coincidence. Most modern machines (many of them are NUMA)
have non sequential numbers (to maximize memory bandwidth in the dumb
cases).

Brice

Le 01/08/2011 15:29, Gabriele Fatigati a écrit :
> Ok,
>
> now it's more clear. Just a little question. Why in a NUMA machine,
> PU# are sequential (page 17), and in a non NUMA machine are not
> sequential? ( page 16)
>
> 2011/8/1 Brice Goglin <Brice.Goglin_at_[hidden]
> <mailto:Brice.Goglin_at_[hidden]>>
>
> You're confusing object types with index types.
>
> PU is an object type, like Core, Socket, ... "logical processor"
> is a generic name for cores when there's no SMT, hardware threads
> when there's SMT/Hyperthreading, ... PU is basically the smallest
> thing that can run a software thread.
>
> "P#" is just the way you're numbering object, it works for PU and
> for other object types.
>
> Any object of any type can be identified through a unique logical
> index, and possibly non-unique physical index.
>
> We don't often use the name "logical processor" because it's
> indeed confusing. "Processing Unit" is less confusing, that's why
> it's the official name for the smallest objects in hwloc.
>
> Brice
>
>
>
>
>
>
>
> Le 01/08/2011 15:04, Gabriele Fatigati a écrit :
>> Hi Brice,
>>
>> you said:
>>
>> "PU P#0" means "PU object with physical index 0".
>> "P#" prefix means "physical index".
>>
>> But from the hwloc manual, page 58:
>>
>>
>> HWLOC_OBJ_PU: Processing Unit, or (Logical) Processor..
>>
>>
>> but it is in conflict with what you said :(
>>
>>
>> 2011/8/1 Brice Goglin <Brice.Goglin_at_[hidden]
>> <mailto:Brice.Goglin_at_[hidden]>>
>>
>> "PU P#0" means "PU object with physical index 0".
>> "P#" prefix means "physical index".
>> "L#" prefix means "logical index" (the one you want to use in
>> get_obj_by_type).
>> Use -l or -p to switch from one to the other in lstopo.
>>
>> Brice
>>
>>
>>
>> Le 01/08/2011 14:47, Gabriele Fatigati a écrit :
>>> Hi Brice,
>>>
>>> so, if I inderstand well, PU P# numbers are not the same
>>> specified as HWLOC_OBJ_PU flag?
>>>
>>> 2011/8/1 Brice Goglin <Brice.Goglin_at_[hidden]
>>> <mailto:Brice.Goglin_at_[hidden]>>
>>>
>>> Le 01/08/2011 12:16, Gabriele Fatigati a écrit :
>>> > Hi,
>>> >
>>> > reading a hwloc-v1.2-a4 manual, on page 15, i look an
>>> example
>>> > with 4-socket 2-core machine with hyperthreading.
>>> >
>>> > Core id's are not exclusive as said before. PU's id
>>> are exclusive but
>>> > not physically sequential (I suppose)
>>> >
>>> > PU P#0 is in socket P#0 on Core P#0. PU P#1 is in
>>> another socket!
>>>
>>> These indexes are "physical indexes" (that's the default
>>> in the
>>> graphical lstopo output). But we may want to make that
>>> clearer in the doc.
>>>
>>> Brice
>>>
>>>
>>>
>>>
>>> --
>>> Ing. Gabriele Fatigati
>>>
>>> Parallel programmer
>>>
>>> CINECA Systems & Tecnologies Department
>>>
>>> Supercomputing Group
>>>
>>> Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy
>>>
>>> www.cineca.it <http://www.cineca.it>
>>> Tel: +39 051 6171722
>>>
>>> g.fatigati [AT] cineca.it <http://cineca.it>
>>
>>
>>
>>
>> --
>> Ing. Gabriele Fatigati
>>
>> Parallel programmer
>>
>> CINECA Systems & Tecnologies Department
>>
>> Supercomputing Group
>>
>> Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy
>>
>> www.cineca.it <http://www.cineca.it> Tel:
>> +39 051 6171722
>>
>> g.fatigati [AT] cineca.it <http://cineca.it>
>
>
>
>
> --
> Ing. Gabriele Fatigati
>
> Parallel programmer
>
> CINECA Systems & Tecnologies Department
>
> Supercomputing Group
>
> Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy
>
> www.cineca.it <http://www.cineca.it> Tel: +39 051
> 6171722
>
> g.fatigati [AT] cineca.it <http://cineca.it>