LLVM OpenMP* Runtime Library
|
Functions | |
kmp_int32 | __kmpc_omp_task_with_deps (ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *new_task, kmp_int32 ndeps, kmp_depend_info_t *dep_list, kmp_int32 ndeps_noalias, kmp_depend_info_t *noalias_dep_list) |
void | __kmpc_omp_wait_deps (ident_t *loc_ref, kmp_int32 gtid, kmp_int32 ndeps, kmp_depend_info_t *dep_list, kmp_int32 ndeps_noalias, kmp_depend_info_t *noalias_dep_list) |
kmp_int32 | __kmpc_omp_reg_task_with_affinity (ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *new_task, kmp_int32 naffins, kmp_task_affinity_info_t *affin_list) |
void * | __kmpc_task_reduction_init (int gtid, int num, void *data) |
void * | __kmpc_taskred_init (int gtid, int num, void *data) |
void * | __kmpc_task_reduction_get_th_data (int gtid, void *tskgrp, void *data) |
void * | __kmpc_task_reduction_modifier_init (ident_t *loc, int gtid, int is_ws, int num, void *data) |
void * | __kmpc_taskred_modifier_init (ident_t *loc, int gtid, int is_ws, int num, void *data) |
void | __kmpc_task_reduction_modifier_fini (ident_t *loc, int gtid, int is_ws) |
void | __kmpc_proxy_task_completed (kmp_int32 gtid, kmp_task_t *ptask) |
void | __kmpc_proxy_task_completed_ooo (kmp_task_t *ptask) |
void | __kmpc_taskloop (ident_t *loc, int gtid, kmp_task_t *task, int if_val, kmp_uint64 *lb, kmp_uint64 *ub, kmp_int64 st, int nogroup, int sched, kmp_uint64 grainsize, void *task_dup) |
void | __kmpc_taskloop_5 (ident_t *loc, int gtid, kmp_task_t *task, int if_val, kmp_uint64 *lb, kmp_uint64 *ub, kmp_int64 st, int nogroup, int sched, kmp_uint64 grainsize, int modifier, void *task_dup) |
These functions support tasking constructs.
kmp_int32 __kmpc_omp_reg_task_with_affinity | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_task_t * | new_task, | ||
kmp_int32 | naffins, | ||
kmp_task_affinity_info_t * | affin_list | ||
) |
loc_ref | location of the original task directive |
gtid | Global Thread ID of encountering thread |
new_task | task thunk allocated by __kmpc_omp_task_alloc() for the ''new task'' |
naffins | Number of affinity items |
affin_list | List of affinity items |
Definition at line 1465 of file kmp_tasking.cpp.
kmp_int32 __kmpc_omp_task_with_deps | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_task_t * | new_task, | ||
kmp_int32 | ndeps, | ||
kmp_depend_info_t * | dep_list, | ||
kmp_int32 | ndeps_noalias, | ||
kmp_depend_info_t * | noalias_dep_list | ||
) |
loc_ref | location of the original task directive |
gtid | Global Thread ID of encountering thread |
new_task | task thunk allocated by __kmp_omp_task_alloc() for the ''new task'' |
ndeps | Number of depend items with possible aliasing |
dep_list | List of depend items with possible aliasing |
ndeps_noalias | Number of depend items with no aliasing |
noalias_dep_list | List of depend items with no aliasing |
Schedule a non-thread-switchable task with dependences for execution
Definition at line 508 of file kmp_taskdeps.cpp.
void __kmpc_omp_wait_deps | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_int32 | ndeps, | ||
kmp_depend_info_t * | dep_list, | ||
kmp_int32 | ndeps_noalias, | ||
kmp_depend_info_t * | noalias_dep_list | ||
) |
loc_ref | location of the original task directive |
gtid | Global Thread ID of encountering thread |
ndeps | Number of depend items with possible aliasing |
dep_list | List of depend items with possible aliasing |
ndeps_noalias | Number of depend items with no aliasing |
noalias_dep_list | List of depend items with no aliasing |
Blocks the current task until all specifies dependences have been fulfilled.
Definition at line 667 of file kmp_taskdeps.cpp.
void __kmpc_proxy_task_completed | ( | kmp_int32 | gtid, |
kmp_task_t * | ptask | ||
) |
gtid | Global Thread ID of encountering thread |
ptask | Task which execution is completed |
Execute the completion of a proxy task from a thread of that is part of the team. Run first and bottom halves directly.
Definition at line 3909 of file kmp_tasking.cpp.
Referenced by __kmpc_proxy_task_completed_ooo().
void __kmpc_proxy_task_completed_ooo | ( | kmp_task_t * | ptask | ) |
ptask | Task which execution is completed |
Execute the completion of a proxy task from a thread that could not belong to the team.
Definition at line 3962 of file kmp_tasking.cpp.
void* __kmpc_task_reduction_get_th_data | ( | int | gtid, |
void * | tskgrp, | ||
void * | data | ||
) |
gtid | Global thread ID |
tskgrp | The taskgroup ID (optional) |
data | Shared location of the item |
Get thread-specific location of data item
Definition at line 2281 of file kmp_tasking.cpp.
void* __kmpc_task_reduction_init | ( | int | gtid, |
int | num, | ||
void * | data | ||
) |
gtid | Global thread ID |
num | Number of data items to reduce |
data | Array of data for reduction |
Initialize task reduction for the taskgroup.
Note: this entry supposes the optional compiler-generated initializer routine has single parameter - pointer to object to be initialized. That means the reduction either does not use omp_orig object, or the omp_orig is accessible without help of the runtime library.
Definition at line 2233 of file kmp_tasking.cpp.
void __kmpc_task_reduction_modifier_fini | ( | ident_t * | loc, |
int | gtid, | ||
int | is_ws | ||
) |
loc | Source location info |
gtid | Global thread ID |
is_ws | Is 1 if the reduction is for worksharing, 0 otherwise |
Finalize task reduction for a parallel or worksharing.
Definition at line 2478 of file kmp_tasking.cpp.
void* __kmpc_task_reduction_modifier_init | ( | ident_t * | loc, |
int | gtid, | ||
int | is_ws, | ||
int | num, | ||
void * | data | ||
) |
loc | Source location info |
gtid | Global thread ID |
is_ws | Is 1 if the reduction is for worksharing, 0 otherwise |
num | Number of data items to reduce |
data | Array of data for reduction |
Initialize task reduction for a parallel or worksharing.
Note: this entry supposes the optional compiler-generated initializer routine has single parameter - pointer to object to be initialized. That means the reduction either does not use omp_orig object, or the omp_orig is accessible without help of the runtime library.
Definition at line 2444 of file kmp_tasking.cpp.
void __kmpc_taskloop | ( | ident_t * | loc, |
int | gtid, | ||
kmp_task_t * | task, | ||
int | if_val, | ||
kmp_uint64 * | lb, | ||
kmp_uint64 * | ub, | ||
kmp_int64 | st, | ||
int | nogroup, | ||
int | sched, | ||
kmp_uint64 | grainsize, | ||
void * | task_dup | ||
) |
loc | Source location information |
gtid | Global thread ID |
task | Task structure |
if_val | Value of the if clause |
lb | Pointer to loop lower bound in task structure |
ub | Pointer to loop upper bound in task structure |
st | Loop stride |
nogroup | Flag, 1 if nogroup clause specified, 0 otherwise |
sched | Schedule specified 0/1/2 for none/grainsize/num_tasks |
grainsize | Schedule value if specified |
task_dup | Tasks duplication routine |
Execute the taskloop construct.
Definition at line 4735 of file kmp_tasking.cpp.
void __kmpc_taskloop_5 | ( | ident_t * | loc, |
int | gtid, | ||
kmp_task_t * | task, | ||
int | if_val, | ||
kmp_uint64 * | lb, | ||
kmp_uint64 * | ub, | ||
kmp_int64 | st, | ||
int | nogroup, | ||
int | sched, | ||
kmp_uint64 | grainsize, | ||
int | modifier, | ||
void * | task_dup | ||
) |
loc | Source location information |
gtid | Global thread ID |
task | Task structure |
if_val | Value of the if clause |
lb | Pointer to loop lower bound in task structure |
ub | Pointer to loop upper bound in task structure |
st | Loop stride |
nogroup | Flag, 1 if nogroup clause specified, 0 otherwise |
sched | Schedule specified 0/1/2 for none/grainsize/num_tasks |
grainsize | Schedule value if specified |
modifer | Modifier 'strict' for sched, 1 if present, 0 otherwise |
task_dup | Tasks duplication routine |
Execute the taskloop construct.
Definition at line 4762 of file kmp_tasking.cpp.
void* __kmpc_taskred_init | ( | int | gtid, |
int | num, | ||
void * | data | ||
) |
gtid | Global thread ID |
num | Number of data items to reduce |
data | Array of data for reduction |
Initialize task reduction for the taskgroup.
Note: this entry supposes the optional compiler-generated initializer routine has two parameters, pointer to object to be initialized and pointer to omp_orig
Definition at line 2249 of file kmp_tasking.cpp.
void* __kmpc_taskred_modifier_init | ( | ident_t * | loc, |
int | gtid, | ||
int | is_ws, | ||
int | num, | ||
void * | data | ||
) |
loc | Source location info |
gtid | Global thread ID |
is_ws | Is 1 if the reduction is for worksharing, 0 otherwise |
num | Number of data items to reduce |
data | Array of data for reduction |
Initialize task reduction for a parallel or worksharing.
Note: this entry supposes the optional compiler-generated initializer routine has two parameters, pointer to object to be initialized and pointer to omp_orig
Definition at line 2464 of file kmp_tasking.cpp.