Hello I just pushed the "type-filter" branch. It's supposed to replace the old "ignore" API as well as ICACHES and IO topology flags in v2.0.
Main points: * you may now enable, disable and query the "ignoring" (now called filter) for any object type * instruction caches and I/O don't need special topology flags anymore, you may just set their filtering to KEEP_ALL * there are 4 kinds of filter. KEEP_ALL and KEEP_NONE (obvious). KEEP_STRUCTURE (similar to what we have in v1.x). KEEP_IMPORTANT (for I/Os without too many useless objects). * defaults are unchanged, both in the C API and in command-line tools If you want everything (like lstopo), you just hwloc_topology_set_all_types_filter(topology, HWLOC_TYPE_FILTER_KEEP_ALL). There are variants for just changing the filter for all I/O types, all caches, or all instruction caches. Examples: https://github.com/open-mpi/hwloc/blob/type-filter/utils/hwloc/hwloc-diff.c#L72 https://github.com/open-mpi/hwloc/blob/type-filter/doc/examples/sharedcaches.c#L35 https://github.com/open-mpi/hwloc/blob/type-filter/tests/hwloc/cuda.c#L37 Full API: https://github.com/open-mpi/hwloc/blob/type-filter/include/hwloc.h#L1919 Brice