Open MPI logo

Hardware Locality Users' Mailing List Archives

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

Subject: Re: [hwloc-users] PCI devices in the topology
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2012-02-10 15:48:22


Le 10/02/2012 21:46, Jeff Squyres a écrit :
> On Feb 10, 2012, at 3:37 PM, Brice Goglin wrote:
>
>> All objects of the same type are *always* at the same depth (for caches
>> and groups, replace "same type" with "same type and same level" so that
>> L1 is not at the same depth as L3). That works even if your topology is
>> not symmetric at all, because a children can have a depth that is
>> different from its parent depth plus one.
>>
>> PCI objects are not placed in levels are other regular objects do. There
>> are in specific list. However, to make the API more uniform, we have
>> some fake depth values that let us identify and walk in the list of
>> bridges, PCI devices or OS devices.
>>
>> In the above case, the NUMA node P#0 should be at depth 1, it has two
>> children. The first one is Socket P#1 at depth 2. The second one is a
>> hostbridge at depth -3 (fake depth for bridges iirc).
> Ok. But in terms of walking down the hwloc tree, PCI devices will show up in someone's children[] array, right? I.e., they're not in a separate list somewhere, right?

Yes, they are children as any other object. There are usually at the
very end of the children array (because objects with no cpusets go there).

Brice