Distribute n items over the topology under roots.
Array set will be filled with n cpusets recursively distributed linearly over the topology under objects roots, down to depth until (which can be INT_MAX to distribute down to the finest level).
n_roots is usually 1 and roots only contains the topology root object so as to distribute over the entire topology.
This is typically useful when an application wants to distribute n threads over a machine, giving each of them as much private cache as possible and keeping them locally in number order.
The caller may typically want to also call hwloc_bitmap_singlify() before binding a thread so that it does not move at all.
flags should be 0 or a OR'ed set of hwloc_distrib_flags_e.
- Note
- This function requires the
roots objects to have a CPU set.
-
This function replaces the now deprecated hwloc_distribute() and hwloc_distributev() functions.