17 #ifndef __STARPU_PARALLEL_WORKERS_UTIL_H__
18 #define __STARPU_PARALLEL_WORKERS_UTIL_H__
22 #ifdef STARPU_PARALLEL_WORKER
23 #ifdef STARPU_HAVE_HWLOC
39 #define STARPU_PARALLEL_WORKER_MIN_NB (1 << STARPU_MODE_SHIFT)
44 #define STARPU_PARALLEL_WORKER_MAX_NB (2 << STARPU_MODE_SHIFT)
49 #define STARPU_PARALLEL_WORKER_NB (3 << STARPU_MODE_SHIFT)
54 #define STARPU_PARALLEL_WORKER_PREFERE_MIN (4 << STARPU_MODE_SHIFT)
59 #define STARPU_PARALLEL_WORKER_KEEP_HOMOGENEOUS (5 << STARPU_MODE_SHIFT)
64 #define STARPU_PARALLEL_WORKER_POLICY_NAME (6 << STARPU_MODE_SHIFT)
69 #define STARPU_PARALLEL_WORKER_POLICY_STRUCT (7 << STARPU_MODE_SHIFT)
74 #define STARPU_PARALLEL_WORKER_CREATE_FUNC (8 << STARPU_MODE_SHIFT)
79 #define STARPU_PARALLEL_WORKER_CREATE_FUNC_ARG (9 << STARPU_MODE_SHIFT)
83 #define STARPU_PARALLEL_WORKER_TYPE (10 << STARPU_MODE_SHIFT)
88 #define STARPU_PARALLEL_WORKER_AWAKE_WORKERS (11 << STARPU_MODE_SHIFT)
93 #define STARPU_PARALLEL_WORKER_PARTITION_ONE (12 << STARPU_MODE_SHIFT)
98 #define STARPU_PARALLEL_WORKER_NEW (13 << STARPU_MODE_SHIFT)
103 #define STARPU_PARALLEL_WORKER_NCORES (14 << STARPU_MODE_SHIFT)
121 struct starpu_parallel_worker_config;
142 #define starpu_intel_openmp_mkl_prologue starpu_openmp_prologue
144 void starpu_gnu_openmp_mkl_prologue(
void *);
147 #define STARPU_CLUSTER_MIN_NB STARPU_PARALLEL_WORKER_MIN_NB
148 #define STARPU_CLUSTER_MAX_NB STARPU_PARALLEL_WORKER_MAX_NB
149 #define STARPU_CLUSTER_NB STARPU_PARALLEL_WORKER_NB
150 #define STARPU_CLUSTER_PREFERE_MIN STARPU_PARALLEL_WORKER_PREFERE_MIN
151 #define STARPU_CLUSTER_KEEP_HOMOGENEOUS STARPU_PARALLEL_WORKER_KEEP_HOMOGENEOUS
152 #define STARPU_CLUSTER_POLICY_NAME STARPU_PARALLEL_WORKER_POLICY_NAME
153 #define STARPU_CLUSTER_POLICY_STRUCT STARPU_PARALLEL_WORKER_POLICY_STRUCT
154 #define STARPU_CLUSTER_CREATE_FUNC STARPU_PARALLEL_WORKER_CREATE_FUNC
155 #define STARPU_CLUSTER_CREATE_FUNC_ARG STARPU_PARALLEL_WORKER_CREATE_FUNC_ARG
156 #define STARPU_CLUSTER_TYPE STARPU_PARALLEL_WORKER_TYPE
157 #define STARPU_CLUSTER_AWAKE_WORKERS STARPU_PARALLEL_WORKER_AWAKE_WORKERS
158 #define STARPU_CLUSTER_PARTITION_ONE STARPU_PARALLEL_WORKER_PARTITION_ONE
159 #define STARPU_CLUSTER_NEW STARPU_PARALLEL_WORKER_NEW
160 #define STARPU_CLUSTER_NCORES STARPU_PARALLEL_WORKER_NCORES
int starpu_parallel_worker_print(struct starpu_parallel_worker_config *parallel_workers)
struct starpu_cluster_machine * starpu_cluster_machine(hwloc_obj_type_t cluster_level,...)
int starpu_parallel_worker_shutdown(struct starpu_parallel_worker_config *parallel_workers)
int starpu_uncluster_machine(struct starpu_cluster_machine *clusters)
void starpu_openmp_prologue(void *)
starpu_cluster_types
Definition: starpu_parallel_worker.h:164
struct starpu_parallel_worker_config * starpu_parallel_worker_init(hwloc_obj_type_t parallel_worker_level,...)
starpu_parallel_worker_types
Definition: starpu_parallel_worker.h:110
int starpu_cluster_print(struct starpu_cluster_machine *clusters)
@ STARPU_CLUSTER_OPENMP
Definition: starpu_parallel_worker.h:165
@ STARPU_CLUSTER_INTEL_OPENMP_MKL
Definition: starpu_parallel_worker.h:166
@ STARPU_CLUSTER_GNU_OPENMP_MKL
Definition: starpu_parallel_worker.h:168
@ STARPU_PARALLEL_WORKER_GNU_OPENMP_MKL
Definition: starpu_parallel_worker.h:114
@ STARPU_PARALLEL_WORKER_OPENMP
Definition: starpu_parallel_worker.h:111
@ STARPU_PARALLEL_WORKER_INTEL_OPENMP_MKL
Definition: starpu_parallel_worker.h:112