Brice Goglin, on mar. 19 déc. 2017 11:48:39 +0100, wrote:
>   + Memory, I/O and Misc objects are now stored in dedicated children lists,
>     not in the usual children list that is now only used for CPU-side objects.
>     - hwloc_get_next_child() may still be used to iterate over these 4 lists
>       of children at once.

I hadn't realized this before: so the NUMA-related hierarchy level can
not be easily obtained with hwloc_get_type_depth and such, that's really
a concern. For instance in slurm-llnl one can find

        if (hwloc_get_type_depth(topology, HWLOC_OBJ_NODE) >
            hwloc_get_type_depth(topology, HWLOC_OBJ_SOCKET)) {

and probably others are doing this too, e.g. looking up from a CPU to
find the NUMA level becomes very different from looking up from a cPU to
find the L3 level etc.

Instead of moving these objects to another place which is very
different to find, can't we rather create another type of object, e.g.
HWLOC_OBJ_MEMORY, to represent the different kinds of memories that can
be found in a given NUMA level, and keep HWLOC_OBJ_NODE as it is?

I'm really afraid that otherwise this change will hurt a lot of people
and remain a pain for programming things for a long time.

hwloc-devel mailing list

Reply via email to