10 #ifndef HWLOC_DISTANCES_H    11 #define HWLOC_DISTANCES_H    14 #error Please include the main hwloc.h instead   124                     unsigned long kind, 
unsigned long flags);
   133                              unsigned long kind, 
unsigned long flags);
   142                             unsigned long kind, 
unsigned long flags);
   151                             unsigned long flags);
   158 HWLOC_DECLSPEC 
const char *
   180 static __hwloc_inline 
int   184   for(i=0; i<distances->
nbobjs; i++)
   185     if (distances->
objs[i] == obj)
   197 static __hwloc_inline 
int   200                                 hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
   204   if (i1 < 0 || i2 < 0)
   206   *value1to2 = distances->
values[i1 * distances->
nbobjs + i2];
   207   *value2to1 = distances->
values[i2 * distances->
nbobjs + i1];
   249                                        unsigned long kind, 
unsigned long flags);
   271 static __hwloc_inline 
int void hwloc_distances_release(hwloc_topology_t topology, struct hwloc_distances_s *distances)
Release a distance matrix structure previously returned by hwloc_distances_get(). ...
int hwloc_distances_get_by_depth(hwloc_topology_t topology, int depth, unsigned *nr, struct hwloc_distances_s **distances, unsigned long kind, unsigned long flags)
Retrieve distance matrices for object at a specific depth in the topology. 
int hwloc_distances_remove_by_depth(hwloc_topology_t topology, int depth)
Remove distance matrices for objects at a specific depth in the topology. 
int hwloc_distances_release_remove(hwloc_topology_t topology, struct hwloc_distances_s *distances)
Release and remove the given distance matrice from the topology. 
Matrix of distances between a set of objects. 
Definition: distances.h:41
Distance values are similar to bandwidths between objects. Values are higher for closer objects...
Definition: distances.h:90
Distance values are similar to latencies between objects. Values are smaller for closer objects...
Definition: distances.h:83
Structure of a topology object. 
Definition: hwloc.h:381
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. 
Definition: distances.h:272
hwloc_obj_type_t
Definition: hwloc.h:177
If grouping, consider the distance values as inaccurate and relax the comparisons during the grouping...
Definition: distances.h:230
hwloc_distances_add_flag_e
Flags for adding a new distances to a topology. 
Definition: distances.h:220
const char * hwloc_distances_get_name(hwloc_topology_t topology, struct hwloc_distances_s *distances)
Get a description of what a distances structure contains. 
static int hwloc_distances_obj_pair_values(struct hwloc_distances_s *distances, hwloc_obj_t obj1, hwloc_obj_t obj2, hwloc_uint64_t *value1to2, hwloc_uint64_t *value2to1)
Find the values between two objects in a distance matrices. 
Definition: distances.h:198
int hwloc_distances_get(hwloc_topology_t topology, unsigned *nr, struct hwloc_distances_s **distances, unsigned long kind, unsigned long flags)
Retrieve distance matrices. 
These distances were provided by the user. 
Definition: distances.h:75
hwloc_uint64_t * values
Matrix of distances between objects, stored as a one-dimension array. 
Definition: distances.h:49
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. 
These distances were obtained from the operating system or hardware. 
Definition: distances.h:71
int hwloc_distances_remove(hwloc_topology_t topology)
Remove all distance matrices from a topology. 
struct hwloc_topology * hwloc_topology_t
Topology context. 
Definition: hwloc.h:667
hwloc_obj_t * objs
Array of objects described by the distance matrix. These objects are not in any particular order...
Definition: distances.h:43
Objects of given type exist at different depth in the topology (only for Groups). ...
Definition: hwloc.h:798
static int hwloc_distances_obj_index(struct hwloc_distances_s *distances, hwloc_obj_t obj)
Find the index of an object in a distances structure. 
Definition: distances.h:181
No object of given type exists in the topology. 
Definition: hwloc.h:797
This distances structure covers objects of different types. 
Definition: distances.h:95
Try to group objects based on the newly provided distance information. 
Definition: distances.h:224
unsigned nbobjs
Number of objects described by the distance matrix. 
Definition: distances.h:42
hwloc_distances_kind_e
Kinds of distance matrices. 
Definition: distances.h:67
int hwloc_get_type_depth(hwloc_topology_t topology, hwloc_obj_type_t type)
Returns the depth of objects of type type. 
int hwloc_distances_get_by_type(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned *nr, struct hwloc_distances_s **distances, unsigned long kind, unsigned long flags)
Retrieve distance matrices for object of a specific type. 
unsigned long kind
OR'ed set of hwloc_distances_kind_e. 
Definition: distances.h:48
int hwloc_distances_get_by_name(hwloc_topology_t topology, const char *name, unsigned *nr, struct hwloc_distances_s **distances, unsigned long flags)
Retrieve a distance matrix with the given name.