Distributing items over a topology(3)

NAME
Distributing items over a topology -

  Functions
static inline void hwloc_distributev (hwloc_topology_t topology, hwloc_obj_t *root, unsigned n_roots, hwloc_cpuset_t *cpuset, unsigned n, unsigned until)
static inline void hwloc_distribute (hwloc_topology_t topology, hwloc_obj_t root, hwloc_cpuset_t *set, unsigned n, unsigned until)

Detailed Description

Function Documentation

  static inline void hwloc_distribute (hwloc_topology_ttopology, hwloc_obj_troot, hwloc_cpuset_t *set, unsignedn, unsigneduntil) [static]

  static inline void hwloc_distributev (hwloc_topology_ttopology, hwloc_obj_t *roots, unsignedn_roots, hwloc_cpuset_t *set, unsignedn, unsigneduntil) [static]

Distribute n items over the topology under root. Distribute n items over the topology under roots.

Array cpuset will be filled with n cpusets recursively distributed linearly over the topology under root, down to depth until (which can be INT_MAX to distribute down to the finest level).

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.

Note:
    This function requires the root object to have a CPU set.

This is the same as hwloc_distribute, but takes an array of roots instead of just one root.

Note:
    This function requires the roots objects to have a CPU set.

Author

Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code.