Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: Re: [hwloc-devel] Some practical hwloc API feedback
From: Samuel Thibault (samuel.thibault_at_[hidden])
Date: 2011-09-25 17:41:39

Jeff Squyres, le Thu 22 Sep 2011 21:36:31 +0200, a écrit :
> (SIDENOTE: reading this letter after I wrote it, I see that it sounds overwhelmingly negative. Please do not take it that way!

Sure! If these are the only negative points of our API, it's actually a
very positive mail ;)

> 1. The depth-specific accessors are Bad. Given the warning language in the docs paired with the practical realities that some people actually do mix and match CPUs in a single server (especially when testing new chips), the depth-based accessors *can/will* fail. Meaning: you have to write application code that can handle the non-uniform depth cases, making the depth-based accessors essentially useless.

I believe this issue is solved by better pointers at documentation,

> (2c) to find the set of any given Lx caches, you basically have to traverse the tree looking for HWLOC_OBJ_CACHE *and* attr->cache.depth==x. It would be cleaner if we could just look for HWLOC_OBJ_CACHE_L<whatever>.

But then you wouldn't be able to look at OBJ_CACHE when you only want to
care about caches, whatever their level.

> 4. src/topology-synthetic.c emits error messages on stderr when you try to import invalid XML.

Already fixed, AIUI.

> 3. It would be really great to have some kind of flag in each object that says whether all of its children are homogeneous or not.
> 5. The XML dump of the topology doesn't include all the support information, such as whether you can bind to threads/cores/etc.

These are doable, indeed (Thanks Brice for adding it to the TODO ticket).

Thanks for the feedback, that's extremely precious to make hwloc what
people want!