hwloc 1.3 already has support for PCI device detection. These new
objects contain a "class" field that can help you know if it's a NIC/GPU/...
However it's hard to know which PCI device is eth0 or eth1, so we also
try to add some OS device inside PCI device. If you're using Linux, you
will see which network device (eth0, ...), IB device (mlx4_0, ...), or
disk (sda, ...) corresponds to each PCI device (if any). Just run lstopo
on your machine to see what I am talking about. Then you should read the
I/O devices section in the doc.
There's also some work to insert CUDA device information inside those
Additionally, we have some helpers to retrieve locality of some custom
libraries objects (OFED, CUDA, ...). See the interoperability section in
How are you using GPUs and NICs in your software? Which libraries or
ways do you use to access them?
hope this helps.
Le 29/11/2011 09:32, Stefan Eilemann a écrit :
> We have the need to discover which GPUs and NICs are close to which CPUs, independent from CUDA. From the overview page there are hints that there is some kind of support planned, but it's unclear to me of how much of this is implemented.
> Is there support in hwloc, and in which version, for this? If yes, can you give me a hint/code snippet on how to do this? If no, what does it take to get this support in hwloc?
>  https://github.com/Eyescale/Equalizer/issues/57