Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
hwlocality_distances_add(3) Library Functions Manual hwlocality_distances_add(3)

NAME
     hwlocality_distances_add - Add distances between objects

SYNOPSIS
   Typedefs
     typedef void * hwloc_distances_add_handle_t

   Enumerations
     enum     hwloc_distances_add_flag_e    {	 HWLOC_DISTANCES_ADD_FLAG_GROUP,
	 HWLOC_DISTANCES_ADD_FLAG_GROUP_INACCURATE }

   Functions
     hwloc_distances_add_handle_t  hwloc_distances_add_create  (hwloc_topology_t
	 topology, const char *name, unsigned long kind, unsigned long flags)
     int   hwloc_distances_add_values	(hwloc_topology_t  topology,  hwloc_dis-
	 tances_add_handle_t  handle,  unsigned   nbobjs,   hwloc_obj_t   *objs,
	 hwloc_uint64_t *values, unsigned long flags)
     int   hwloc_distances_add_commit	(hwloc_topology_t  topology,  hwloc_dis-
	 tances_add_handle_t handle, unsigned long flags)

Detailed Description
     The usual way to add distances is:

     hwloc_distances_add_handle_t handle;
     int err = -1;
     handle = hwloc_distances_add_create(topology, "name", kind, 0);
     if (handle) {
       err = hwloc_distances_add_values(topology, handle, nbobjs, objs, values, 0);
       if (!err)
	 err = hwloc_distances_add_commit(topology, handle, flags);
     }

      If err is 0 at the end, then addition was successful.

Typedef Documentation
   typedef void* hwloc_distances_add_handle_t
     Handle to a new distances structure during its addition to the topology.

Enumeration Type Documentation
   enum hwloc_distances_add_flag_e
     Flags for adding a new distances to a topology.

     Enumerator

     HWLOC_DISTANCES_ADD_FLAG_GROUP
	    Try to group objects based on the newly provided  distance	informa-
	    tion.  Grouping  is only performed when the distances structure con-
	    tains latencies, and when all objects are of the same type.

     HWLOC_DISTANCES_ADD_FLAG_GROUP_INACCURATE
	    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
   int	 hwloc_distances_add_commit   (hwloc_topology_t   topology,   hwloc_dis-
     tances_add_handle_t handle, unsigned long flags)
     Commit a new distances structure. This  function  finalizes  the  distances
     structure and inserts in it the topology.

     Parameter	handle	was previously returned by hwloc_distances_add_create().
     Then objects and values were specified with hwloc_distances_add_values().

     flags configures the behavior of the function using an optional  OR'ed  set
     of  hwloc_distances_add_flag_e.  It  may be used to request the grouping of
     existing objects based on distances.

     On error, the temporary distances structure and its content are destroyed.

     Returns
	 0 on success.

	 -1 on error.

   hwloc_distances_add_handle_t   hwloc_distances_add_create   (hwloc_topology_t
     topology, const char * name, unsigned long kind, unsigned long flags)
     Create a new empty distances structure. Create an empty distances structure
     to  be  filled  with  hwloc_distances_add_values()  and then committed with
     hwloc_distances_add_commit().

     Parameter name is optional, it may be NULL. Otherwise, it	will  be  copied
     internally and may later be freed by the caller.

     kind  specifies  the  kind  of  distance  as  a  OR'ed  set  of  hwloc_dis-
     tances_kind_e. Only one kind of meaning and one kind of provenance  may  be
     given   if   appropriate	(e.g.  HWLOC_DISTANCES_KIND_MEANS_BANDWIDTH  and
     HWLOC_DISTANCES_KIND_FROM_USER).	 Kind	  HWLOC_DISTANCES_KIND_HETEROGE-
     NEOUS_TYPES will be automatically set according to objects having different
     types in hwloc_distances_add_values().

     flags must be 0 for now.

     Returns
	 A hwloc_distances_add_handle_t that should then be passed to hwloc_dis-
	 tances_add_values() and hwloc_distances_add_commit().

	 NULL on error.

   int	 hwloc_distances_add_values   (hwloc_topology_t   topology,   hwloc_dis-
     tances_add_handle_t  handle,   unsigned   nbobjs,	 hwloc_obj_t   *   objs,
     hwloc_uint64_t * values, unsigned long flags)
     Specify  the objects and values in a new empty distances structure. Specify
     the objects and values for a new distances structure that was returned as a
     handle by hwloc_distances_add_create(). The structure must then be  commit-
     ted with hwloc_distances_add_commit().

     The  number of objects is nbobjs and the array of objects is objs. Distance
     values are stored as a one-dimension array in values. The distance from ob-
     ject i to object j is in slot i*nbobjs+j.

     nbobjs must be at least 2.

     Arrays objs and values will be copied internally, they may later  be  freed
     by the caller.

     On error, the temporary distances structure and its content are destroyed.

     flags must be 0 for now.

     Returns
	 0 on success.

	 -1 on error.

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

Hardware Locality (hwloc)	 Version 2.12.1      hwlocality_distances_add(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=hwloc_distances_add_values&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help