StarPU Handbook - StarPU Extensions
Using Parallel Workers

Macros

#define STARPU_PARALLEL_WORKER_MIN_NB
 
#define STARPU_PARALLEL_WORKER_MAX_NB
 
#define STARPU_PARALLEL_WORKER_NB
 
#define STARPU_PARALLEL_WORKER_PREFERE_MIN
 
#define STARPU_PARALLEL_WORKER_KEEP_HOMOGENEOUS
 
#define STARPU_PARALLEL_WORKER_POLICY_NAME
 
#define STARPU_PARALLEL_WORKER_POLICY_STRUCT
 
#define STARPU_PARALLEL_WORKER_CREATE_FUNC
 
#define STARPU_PARALLEL_WORKER_CREATE_FUNC_ARG
 
#define STARPU_PARALLEL_WORKER_TYPE
 
#define STARPU_PARALLEL_WORKER_AWAKE_WORKERS
 
#define STARPU_PARALLEL_WORKER_PARTITION_ONE
 
#define STARPU_PARALLEL_WORKER_NEW
 
#define STARPU_PARALLEL_WORKER_NCORES
 
#define starpu_parallel_worker_intel_openmp_mkl_prologue
 
#define STARPU_CLUSTER_MIN_NB
 
#define STARPU_CLUSTER_MAX_NB
 
#define STARPU_CLUSTER_NB
 
#define STARPU_CLUSTER_PREFERE_MIN
 
#define STARPU_CLUSTER_KEEP_HOMOGENEOUS
 
#define STARPU_CLUSTER_POLICY_NAME
 
#define STARPU_CLUSTER_POLICY_STRUCT
 
#define STARPU_CLUSTER_CREATE_FUNC
 
#define STARPU_CLUSTER_CREATE_FUNC_ARG
 
#define STARPU_CLUSTER_TYPE
 
#define STARPU_CLUSTER_AWAKE_WORKERS
 
#define STARPU_CLUSTER_PARTITION_ONE
 
#define STARPU_CLUSTER_NEW
 
#define STARPU_CLUSTER_NCORES
 

Enumerations

enum  starpu_parallel_worker_types { STARPU_PARALLEL_WORKER_OPENMP , STARPU_PARALLEL_WORKER_INTEL_OPENMP_MKL , STARPU_PARALLEL_WORKER_GNU_OPENMP_MKL }
 
enum  starpu_cluster_types { STARPU_CLUSTER_OPENMP , STARPU_CLUSTER_INTEL_OPENMP_MKL , STARPU_CLUSTER_GNU_OPENMP_MKL }
 

Functions

struct starpu_parallel_worker_config * starpu_parallel_worker_init (hwloc_obj_type_t parallel_worker_level,...)
 
int starpu_parallel_worker_shutdown (struct starpu_parallel_worker_config *parallel_workers)
 
int starpu_parallel_worker_print (struct starpu_parallel_worker_config *parallel_workers)
 
void starpu_parallel_worker_openmp_prologue (void *)
 
void starpu_parallel_worker_gnu_openmp_mkl_prologue (void *)
 
struct starpu_cluster_machine * starpu_cluster_machine (hwloc_obj_type_t cluster_level,...)
 
int starpu_uncluster_machine (struct starpu_cluster_machine *clusters)
 
int starpu_cluster_print (struct starpu_cluster_machine *clusters)
 

Detailed Description

Macro Definition Documentation

◆ STARPU_PARALLEL_WORKER_MIN_NB

#define STARPU_PARALLEL_WORKER_MIN_NB

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_MAX_NB

#define STARPU_PARALLEL_WORKER_MAX_NB

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_NB

#define STARPU_PARALLEL_WORKER_NB

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_PREFERE_MIN

#define STARPU_PARALLEL_WORKER_PREFERE_MIN

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_KEEP_HOMOGENEOUS

#define STARPU_PARALLEL_WORKER_KEEP_HOMOGENEOUS

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_POLICY_NAME

#define STARPU_PARALLEL_WORKER_POLICY_NAME

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_POLICY_STRUCT

#define STARPU_PARALLEL_WORKER_POLICY_STRUCT

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_CREATE_FUNC

#define STARPU_PARALLEL_WORKER_CREATE_FUNC

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_CREATE_FUNC_ARG

#define STARPU_PARALLEL_WORKER_CREATE_FUNC_ARG

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_TYPE

#define STARPU_PARALLEL_WORKER_TYPE

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_AWAKE_WORKERS

#define STARPU_PARALLEL_WORKER_AWAKE_WORKERS

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_PARTITION_ONE

#define STARPU_PARALLEL_WORKER_PARTITION_ONE

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_NEW

#define STARPU_PARALLEL_WORKER_NEW

Used when calling starpu_parallel_worker_init()

◆ STARPU_PARALLEL_WORKER_NCORES

#define STARPU_PARALLEL_WORKER_NCORES

Used when calling starpu_parallel_worker_init()

◆ STARPU_CLUSTER_MIN_NB

#define STARPU_CLUSTER_MIN_NB

◆ STARPU_CLUSTER_MAX_NB

#define STARPU_CLUSTER_MAX_NB

◆ STARPU_CLUSTER_NB

#define STARPU_CLUSTER_NB

◆ STARPU_CLUSTER_PREFERE_MIN

#define STARPU_CLUSTER_PREFERE_MIN

◆ STARPU_CLUSTER_KEEP_HOMOGENEOUS

#define STARPU_CLUSTER_KEEP_HOMOGENEOUS

◆ STARPU_CLUSTER_POLICY_NAME

#define STARPU_CLUSTER_POLICY_NAME

◆ STARPU_CLUSTER_POLICY_STRUCT

#define STARPU_CLUSTER_POLICY_STRUCT

◆ STARPU_CLUSTER_CREATE_FUNC

#define STARPU_CLUSTER_CREATE_FUNC

◆ STARPU_CLUSTER_CREATE_FUNC_ARG

#define STARPU_CLUSTER_CREATE_FUNC_ARG

◆ STARPU_CLUSTER_TYPE

#define STARPU_CLUSTER_TYPE

◆ STARPU_CLUSTER_AWAKE_WORKERS

#define STARPU_CLUSTER_AWAKE_WORKERS

◆ STARPU_CLUSTER_PARTITION_ONE

#define STARPU_CLUSTER_PARTITION_ONE

◆ STARPU_CLUSTER_NEW

#define STARPU_CLUSTER_NEW

◆ STARPU_CLUSTER_NCORES

#define STARPU_CLUSTER_NCORES

Enumeration Type Documentation

◆ starpu_parallel_worker_types

These represent the default available functions to enforce parallel_worker use by the sub-runtime

Enumerator
STARPU_PARALLEL_WORKER_OPENMP 

todo

STARPU_PARALLEL_WORKER_INTEL_OPENMP_MKL 

todo

STARPU_PARALLEL_WORKER_GNU_OPENMP_MKL 

todo

◆ starpu_cluster_types

Deprecated:
Use starpu_parallel_worker_types
Enumerator
STARPU_CLUSTER_OPENMP 

deprecated

STARPU_CLUSTER_INTEL_OPENMP_MKL 

deprecated

STARPU_CLUSTER_GNU_OPENMP_MKL 

deprecated

Function Documentation

◆ starpu_parallel_worker_init()

struct starpu_parallel_worker_config * starpu_parallel_worker_init ( hwloc_obj_type_t  parallel_worker_level,
  ... 
)

Create parallel_workers on the machine with the given parameters. See Workers Creating Parallel Workers for more details.

◆ starpu_parallel_worker_shutdown()

int starpu_parallel_worker_shutdown ( struct starpu_parallel_worker_config *  parallel_workers)

Delete the given parallel_workers configuration

◆ starpu_parallel_worker_print()

int starpu_parallel_worker_print ( struct starpu_parallel_worker_config *  parallel_workers)

Print the given parallel_workers configuration. See Workers Creating Parallel Workers for more details.

◆ starpu_parallel_worker_openmp_prologue()

void starpu_parallel_worker_openmp_prologue ( void *  )

Prologue functions

◆ starpu_cluster_machine()

struct starpu_cluster_machine * starpu_cluster_machine ( hwloc_obj_type_t  cluster_level,
  ... 
)

◆ starpu_uncluster_machine()

int starpu_uncluster_machine ( struct starpu_cluster_machine clusters)

◆ starpu_cluster_print()

int starpu_cluster_print ( struct starpu_cluster_machine clusters)