Hardware Locality (hwloc)
v2.0-20191027.0400.gite37e7d8
|
Enumerations | |
enum | hwloc_distrib_flags_e { HWLOC_DISTRIB_FLAG_REVERSE } |
Functions | |
static int | hwloc_distrib (hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, int until, unsigned long flags) |
Flags to be given to hwloc_distrib().
static int hwloc_distrib | ( | hwloc_topology_t | topology, |
hwloc_obj_t * | roots, | ||
unsigned | n_roots, | ||
hwloc_cpuset_t * | set, | ||
unsigned | n, | ||
int | until, | ||
unsigned long | flags | ||
) | [inline, static] |
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.
roots
objects to have a CPU set.