hwlocality_helper_distribute man page

hwlocality_helper_distribute — Distributing items over a topology


enum hwloc_distrib_flags_e { HWLOC_DISTRIB_FLAG_REVERSE }


static int hwloc_distrib (hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, unsigned until, unsigned long flags)

Enumeration Type Documentation

enum hwloc_distrib_flags_e

Flags to be given to hwloc_distrib().


Distrib in reverse order, starting from the last objects.

Function Documentation

static int hwloc_distrib (hwloc_topology_t topology, hwloc_obj_t * roots, unsigned n_roots, hwloc_cpuset_t * set, unsigned n, unsigned 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.


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

This function replaces the now deprecated hwloc_distribute() and hwloc_distributev() functions.


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

Referenced By

hwloc_distrib(3), HWLOC_DISTRIB_FLAG_REVERSE(3) and hwloc_distrib_flags_e(3) are aliases of hwlocality_helper_distribute(3).

Hardware Locality (hwloc) Version 1.11.0 Thu Jun 18 2015