Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: Re: [hwloc-devel] 1.3.1 and 1.4rc1
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2011-12-09 15:22:40

Le 09/12/2011 13:47, Jeff Squyres a écrit :
> 1. Will there ever be any differentiation between cache levels in hwloc_obj.type? I ask because in OMPI, we found that the various counting routines were not helpful because they only search by *type*, not by (obj.type, obj.attr->cache.depth). This was somewhat of a bummer; we basically ended up writing our own traversal helpers in OMPI because when searching for an OBJ_CACHE, we had to search on the tuple -- not just the type.

What you need is just a way to convert OBJ_CACHE + cache.depth into a
hwloc level depth, and then use hwloc_get_obj_by_depth() and friends as
usual. This is actually included in ticket #41. However, ticket #41 is
blocked until #50 is sorted out because adding instruction caches may
mean that OBJ_CACHE + cache.depth does not always identify a unique
level anymore.

In the meantime, I could easily write a helper that you guys would use
for OMPI for now.

Adding new types OBJ_CACHE_L1... L3 may not help that much if we add
instruction caches. We'd need L1d L1i ... many possible types.

> 2. It would be helpful to have a member in the obj that represents the logical AND of online_cpuset and allowed_cpuset.

I am never sure about all this. I don't like all these cpusets. Samuel
will answer better :)