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

FreeBSD Manual Pages

  
 
  

home | help
hwlocality...distribute(3) Library Functions Manual hwlocality...distribute(3)

NAME
       hwlocality_helper_distribute - Distributing items over a	topology

SYNOPSIS
   Enumerations
       enum hwloc_distrib_flags_e { HWLOC_DISTRIB_FLAG_REVERSE }

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

Detailed Description
Enumeration Type Documentation
   enum	hwloc_distrib_flags_e
       Flags to	be given to hwloc_distrib().

       Enumerator

       HWLOC_DISTRIB_FLAG_REVERSE
	      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, int 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.

       Returns
	   0 on	success, -1 on error.

       Note
	   On hybrid CPUs  (or	asymmetric  platforms),	 distribution  may  be
	   suboptimal  since  the  number  of  cores or	PUs inside packages or
	   below caches	may vary (the top-down recursive partitioning  ignores
	   these numbers until reaching	their levels). Hence it	is recommended
	   to distribute only inside a single homogeneous domain. For instance
	   on  a  CPU  with  energy-efficient  E-cores and high-performance P-
	   cores, one should distribute	separately N tasks on  E-cores	and  M
	   tasks on P-cores instead of trying to distribute directly M+N tasks
	   on the entire CPUs.

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

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

Hardware Locality (hwloc)	Version	2.11.2	    hwlocality...distribute(3)

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

home | help