19 #ifndef __STARPU_CLUSTERS_UTIL_H__
20 #define __STARPU_CLUSTERS_UTIL_H__
25 #ifdef STARPU_HAVE_HWLOC
39 #define STARPU_CLUSTER_MIN_NB (1<<STARPU_MODE_SHIFT)
40 #define STARPU_CLUSTER_MAX_NB (2<<STARPU_MODE_SHIFT)
41 #define STARPU_CLUSTER_NB (3<<STARPU_MODE_SHIFT)
42 #define STARPU_CLUSTER_PREFERE_MIN (4<<STARPU_MODE_SHIFT)
43 #define STARPU_CLUSTER_KEEP_HOMOGENEOUS (5<<STARPU_MODE_SHIFT)
45 #define STARPU_CLUSTER_POLICY_NAME (6<<STARPU_MODE_SHIFT)
46 #define STARPU_CLUSTER_POLICY_STRUCT (7<<STARPU_MODE_SHIFT)
47 #define STARPU_CLUSTER_CREATE_FUNC (8<<STARPU_MODE_SHIFT)
48 #define STARPU_CLUSTER_CREATE_FUNC_ARG (9<<STARPU_MODE_SHIFT)
49 #define STARPU_CLUSTER_TYPE (10<<STARPU_MODE_SHIFT)
50 #define STARPU_CLUSTER_AWAKE_WORKERS (11<<STARPU_MODE_SHIFT)
52 #define STARPU_CLUSTER_PARTITION_ONE (12<<STARPU_MODE_SHIFT)
53 #define STARPU_CLUSTER_NEW (13<<STARPU_MODE_SHIFT)
54 #define STARPU_CLUSTER_NCORES (14<<STARPU_MODE_SHIFT)
69 struct starpu_cluster_machine;
71 struct starpu_cluster_machine* starpu_cluster_machine(hwloc_obj_type_t cluster_level, ...);
72 int starpu_uncluster_machine(
struct starpu_cluster_machine* clusters);
73 int starpu_cluster_print(
struct starpu_cluster_machine* clusters);
76 void starpu_openmp_prologue(
void*);
77 #define starpu_intel_openmp_mkl_prologue starpu_openmp_prologue
79 void starpu_gnu_openmp_mkl_prologue(
void*);