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:14:01


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>