Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: Re: [hwloc-devel] SWIG bindings
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2010-12-02 17:58:42

On Dec 2, 2010, at 4:25 PM, Bernd Kallies wrote:

> Your understanding was right. There may be a method hwloc_get_obj_data
> which returns a hasref containing (at least most of) the hwloc_obj_t
> struct members in a perl representation. The hwloc_obj_t struct members
> that are of type hwloc_obj_t would be still the C pointer values, which
> are meaningless outside the API.


Per your comments below (that I snipped), it's a shame that doing the hash tree of objects is terrible. This is simply reflecting my bias how I've written perl scripts to read XML and C code to traverse the obj tree directly. But if it really does become performance inhibitive on large-core-count machines, then you're right and something else will have to be done (e.g., the "combo" method of hashes + accessor functions).

> Hmm. I did no profiling. The machines in question have 64 NUMA nodes
> with 16 logical CPUs, each. The topology depth is 10. So parsing
> of /sys/devices/system/node/* and evaluating the distance matrix to
> fiddle out the topology tree should be quite expensive. But I guess this
> statement is trivial and does not help very much.

If you ever get some time to compile hwloc with -g and run it through a profiler, that would be great. Maybe we can't avoid the overhead of traversing /sys/devices/system/node/*, but the data may point out some other inadvertent bottlenecks.


Jeff Squyres
For corporate legal information go to: