Functions | |
static __hwloc_inline void | hwloc_distribute (hwloc_topology_t topology, hwloc_obj_t root, hwloc_cpuset_t *cpuset, unsigned n) |
Distribute n items over the topology under root . |
static __hwloc_inline void hwloc_distribute | ( | hwloc_topology_t | topology, | |
hwloc_obj_t | root, | |||
hwloc_cpuset_t * | cpuset, | |||
unsigned | n | |||
) | [static] |
Distribute n
items over the topology under root
.
Array cpuset
will be filled with n
cpusets distributed linearly over the topology under root
.
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_cpuset_singlify() before binding a thread so that it does not move at all.