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)
119struct starpu_parallel_worker_config;
140#define starpu_parallel_worker_intel_openmp_mkl_prologue starpu_parallel_worker_openmp_prologue
142void starpu_parallel_worker_gnu_openmp_mkl_prologue(
void *);
145#define STARPU_CLUSTER_MIN_NB STARPU_PARALLEL_WORKER_MIN_NB
146#define STARPU_CLUSTER_MAX_NB STARPU_PARALLEL_WORKER_MAX_NB
147#define STARPU_CLUSTER_NB STARPU_PARALLEL_WORKER_NB
148#define STARPU_CLUSTER_PREFERE_MIN STARPU_PARALLEL_WORKER_PREFERE_MIN
149#define STARPU_CLUSTER_KEEP_HOMOGENEOUS STARPU_PARALLEL_WORKER_KEEP_HOMOGENEOUS
150#define STARPU_CLUSTER_POLICY_NAME STARPU_PARALLEL_WORKER_POLICY_NAME
151#define STARPU_CLUSTER_POLICY_STRUCT STARPU_PARALLEL_WORKER_POLICY_STRUCT
152#define STARPU_CLUSTER_CREATE_FUNC STARPU_PARALLEL_WORKER_CREATE_FUNC
153#define STARPU_CLUSTER_CREATE_FUNC_ARG STARPU_PARALLEL_WORKER_CREATE_FUNC_ARG
154#define STARPU_CLUSTER_TYPE STARPU_PARALLEL_WORKER_TYPE
155#define STARPU_CLUSTER_AWAKE_WORKERS STARPU_PARALLEL_WORKER_AWAKE_WORKERS
156#define STARPU_CLUSTER_PARTITION_ONE STARPU_PARALLEL_WORKER_PARTITION_ONE
157#define STARPU_CLUSTER_NEW STARPU_PARALLEL_WORKER_NEW
158#define STARPU_CLUSTER_NCORES STARPU_PARALLEL_WORKER_NCORES
int starpu_parallel_worker_print(struct starpu_parallel_worker_config *parallel_workers)
int starpu_parallel_worker_shutdown(struct starpu_parallel_worker_config *parallel_workers)
int starpu_uncluster_machine(struct starpu_cluster_machine *clusters)
starpu_cluster_types
Definition: starpu_parallel_worker.h:162
struct starpu_cluster_machine * starpu_cluster_machine(hwloc_obj_type_t cluster_level,...)
void starpu_parallel_worker_openmp_prologue(void *)
starpu_parallel_worker_types
Definition: starpu_parallel_worker.h:110
int starpu_cluster_print(struct starpu_cluster_machine *clusters)
struct starpu_parallel_worker_config * starpu_parallel_worker_init(hwloc_obj_type_t parallel_worker_level,...)
@ STARPU_CLUSTER_OPENMP
Definition: starpu_parallel_worker.h:163
@ STARPU_CLUSTER_INTEL_OPENMP_MKL
Definition: starpu_parallel_worker.h:164
@ STARPU_CLUSTER_GNU_OPENMP_MKL
Definition: starpu_parallel_worker.h:166
@ STARPU_PARALLEL_WORKER_GNU_OPENMP_MKL
Definition: starpu_parallel_worker.h:113
@ STARPU_PARALLEL_WORKER_OPENMP
Definition: starpu_parallel_worker.h:111
@ STARPU_PARALLEL_WORKER_INTEL_OPENMP_MKL
Definition: starpu_parallel_worker.h:112