Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v2.2.0

  |   Home   |   Support   |   FAQ   |  
Add or remove distances between objects




int hwloc_distances_add (hwloc_topology_t topology, unsigned nbobjs, hwloc_obj_t *objs, hwloc_uint64_t *values, unsigned long kind, unsigned long flags)
int hwloc_distances_remove (hwloc_topology_t topology)
int hwloc_distances_remove_by_depth (hwloc_topology_t topology, int depth)
static int hwloc_distances_remove_by_type (hwloc_topology_t topology, hwloc_obj_type_t type)
int hwloc_distances_release_remove (hwloc_topology_t topology, struct hwloc_distances_s *distances)

Detailed Description

Enumeration Type Documentation

◆ hwloc_distances_add_flag_e

Flags for adding a new distances to a topology.


Try to group objects based on the newly provided distance information.


If grouping, consider the distance values as inaccurate and relax the comparisons during the grouping algorithms. The actual accuracy may be modified through the HWLOC_GROUPING_ACCURACY environment variable (see Environment Variables).

Function Documentation

◆ hwloc_distances_add()

int hwloc_distances_add ( hwloc_topology_t  topology,
unsigned  nbobjs,
hwloc_obj_t objs,
hwloc_uint64_t *  values,
unsigned long  kind,
unsigned long  flags 

Provide a new distance matrix.

Provide the matrix of distances between a set of objects given by nbobjs and the objs array. nbobjs must be at least 2. The distances are stored as a one-dimension array in values. The distance from object i to object j is in slot i*nbobjs+j.

kind specifies the kind of distance as a OR'ed set of hwloc_distances_kind_e. Kind HWLOC_DISTANCES_KIND_HETEROGENEOUS_TYPES will be automatically added if objects of different types are given.

flags configures the behavior of the function using an optional OR'ed set of hwloc_distances_add_flag_e.

◆ hwloc_distances_release_remove()

int hwloc_distances_release_remove ( hwloc_topology_t  topology,
struct hwloc_distances_s distances 

Release and remove the given distance matrice from the topology.

This function includes a call to hwloc_distances_release().

◆ hwloc_distances_remove()

int hwloc_distances_remove ( hwloc_topology_t  topology)

Remove all distance matrices from a topology.

Remove all distance matrices, either provided by the user or gathered through the OS.

If these distances were used to group objects, these additional Group objects are not removed from the topology.

◆ hwloc_distances_remove_by_depth()

int hwloc_distances_remove_by_depth ( hwloc_topology_t  topology,
int  depth 

Remove distance matrices for objects at a specific depth in the topology.

Identical to hwloc_distances_remove() but only applies to one level of the topology.

◆ hwloc_distances_remove_by_type()

static int hwloc_distances_remove_by_type ( hwloc_topology_t  topology,
hwloc_obj_type_t  type 

Remove distance matrices for objects of a specific type in the topology.

Identical to hwloc_distances_remove() but only applies to one level of the topology.