Functions | |
static inline void | hwloc_distribute (hwloc_topology_t topology, hwloc_obj_t root, hwloc_cpuset_t *cpuset, int n) |
Distribute n items over the topology under root . |
static inline void hwloc_distribute | ( | hwloc_topology_t | topology, | |
hwloc_obj_t | root, | |||
hwloc_cpuset_t * | cpuset, | |||
int | 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 typicall want to additionally call hwloc_cpuset_singlify() before binding a thread, so that it doesn't move at all.