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).