StarPU Internal Handbook
|
#include <starpu.h>
#include <common/list.h>
#include <common/starpu_spinlock.h>
#include <common/uthash.h>
#include <ucontext.h>
Go to the source code of this file.
Data Structures | |
struct | starpu_omp_numeric_place |
struct | starpu_omp_place |
struct | starpu_omp_data_environment_icvs |
struct | starpu_omp_device_icvs |
struct | starpu_omp_implicit_task_icvs |
struct | starpu_omp_global_icvs |
struct | starpu_omp_initial_icv_values |
struct | starpu_omp_task_group |
struct | starpu_omp_task_link |
struct | starpu_omp_condition |
struct | starpu_omp_critical |
Macros | |
#define | _XOPEN_SOURCE |
#define | STARPU_OMP_MAX_ACTIVE_LEVELS |
Enumerations | |
enum | starpu_omp_place_name { starpu_omp_place_undefined , starpu_omp_place_threads , starpu_omp_place_cores , starpu_omp_place_sockets , starpu_omp_place_numerical } |
enum | starpu_omp_task_state { starpu_omp_task_state_clear , starpu_omp_task_state_preempted , starpu_omp_task_state_terminated , starpu_omp_task_state_zombie , starpu_omp_task_state_target } |
enum | starpu_omp_task_wait_on { starpu_omp_task_wait_on_task_childs , starpu_omp_task_wait_on_region_tasks , starpu_omp_task_wait_on_barrier , starpu_omp_task_wait_on_group , starpu_omp_task_wait_on_critical , starpu_omp_task_wait_on_ordered , starpu_omp_task_wait_on_lock , starpu_omp_task_wait_on_nest_lock } |
enum | starpu_omp_task_flags { STARPU_OMP_TASK_FLAGS_IMPLICIT , STARPU_OMP_TASK_FLAGS_UNDEFERRED , STARPU_OMP_TASK_FLAGS_FINAL , STARPU_OMP_TASK_FLAGS_UNTIED } |
Variables | |
starpu_pthread_key_t | omp_thread_key |
starpu_pthread_key_t | omp_task_key |
struct starpu_omp_numeric_place |
struct starpu_omp_place |
OpenMP place for thread afinity, defined by the OpenMP spec
Data Fields | ||
---|---|---|
int | abstract_name | |
int | abstract_excluded | |
int | abstract_length | |
struct starpu_omp_numeric_place * | numeric_places | |
int | nb_numeric_places |
struct starpu_omp_data_environment_icvs |
Internal Control Variables (ICVs) declared following OpenMP 4.0.0 spec section 2.3.1
struct starpu_omp_device_icvs |
struct starpu_omp_initial_icv_values |
Data Fields | ||
---|---|---|
int | dyn_var | |
int | nest_var | |
int * | nthreads_var | |
int | run_sched_var | |
unsigned long long | run_sched_chunk_var | |
int | def_sched_var | |
unsigned long long | def_sched_chunk_var | |
int * | bind_var | |
int | stacksize_var | |
int | wait_policy_var | |
int | thread_limit_var | |
int | max_active_levels_var | |
int | active_levels_var | |
int | levels_var | |
int | place_partition_var | |
int | cancel_var | |
int | default_device_var | |
int | max_task_priority_var | |
struct starpu_omp_place | places |
not a real ICV, but needed to store the contents of OMP_PLACES |
struct starpu_omp_task_group |
Data Fields | ||
---|---|---|
int | descendent_task_count | |
struct starpu_omp_task * | leader_task | |
struct starpu_omp_task_group * | p_previous_task_group |
struct starpu_omp_task_link |
Data Fields | ||
---|---|---|
struct starpu_omp_task * | task | |
struct starpu_omp_task_link * | next |
struct starpu_omp_condition |
Data Fields | ||
---|---|---|
struct starpu_omp_task_link * | contention_list_head |
struct starpu_omp_critical |
Data Fields | ||
---|---|---|
UT_hash_handle | hh | |
struct _starpu_spinlock | lock | |
unsigned | state | |
struct starpu_omp_task_link * | contention_list_head | |
const char * | name |
#define _XOPEN_SOURCE |
ucontexts have been deprecated as of POSIX 1-2004 _XOPEN_SOURCE required at least on OS/X
TODO: add detection in configure.ac
#define STARPU_OMP_MAX_ACTIVE_LEVELS |
Arbitrary limit on the number of nested parallel sections
Possible abstract names for OpenMP places