LLVM OpenMP* Runtime Library
|
These functions are used for implementing #pragma omp parallel
.
More...
Typedefs | |
typedef void(* | kmpc_micro) (kmp_int32 *global_tid, kmp_int32 *bound_tid,...) |
Functions | |
void | __kmpc_push_num_threads (ident_t *loc, kmp_int32 global_tid, kmp_int32 num_threads) |
void | __kmpc_fork_call (ident_t *loc, kmp_int32 argc, kmpc_micro microtask,...) |
void | __kmpc_push_num_teams (ident_t *loc, kmp_int32 global_tid, kmp_int32 num_teams, kmp_int32 num_threads) |
void | __kmpc_fork_teams (ident_t *loc, kmp_int32 argc, kmpc_micro microtask,...) |
void | __kmpc_serialized_parallel (ident_t *loc, kmp_int32 global_tid) |
void | __kmpc_end_serialized_parallel (ident_t *loc, kmp_int32 global_tid) |
These functions are used for implementing #pragma omp parallel
.
typedef void(* kmpc_micro) (kmp_int32 *global_tid, kmp_int32 *bound_tid,...) |
The type for a microtask which gets passed to __kmpc_fork_call(). The arguments to the outlined function are
global_tid | the global thread identity of the thread executing the function. |
bound_tid | the local identity of the thread executing the function |
... | pointers to shared variables accessed by the function. |
void __kmpc_end_serialized_parallel | ( | ident_t * | loc, |
kmp_int32 | global_tid | ||
) |
loc | source location information |
global_tid | global thread number |
Leave a serialized parallel construct.
Definition at line 493 of file kmp_csupport.cpp.
void __kmpc_fork_call | ( | ident_t * | loc, |
kmp_int32 | argc, | ||
kmpc_micro | microtask, | ||
... | |||
) |
loc | source location information |
argc | total number of arguments in the ellipsis |
microtask | pointer to callback routine consisting of outlined parallel construct |
... | pointers to shared variables that aren't global |
Do the actual fork and call the microtask in the relevant number of threads.
Definition at line 262 of file kmp_csupport.cpp.
void __kmpc_fork_teams | ( | ident_t * | loc, |
kmp_int32 | argc, | ||
kmpc_micro | microtask, | ||
... | |||
) |
loc | source location information |
argc | total number of arguments in the ellipsis |
microtask | pointer to callback routine consisting of outlined teams construct |
... | pointers to shared variables that aren't global |
Do the actual fork and call the microtask in the relevant number of threads.
Definition at line 370 of file kmp_csupport.cpp.
void __kmpc_push_num_teams | ( | ident_t * | loc, |
kmp_int32 | global_tid, | ||
kmp_int32 | num_teams, | ||
kmp_int32 | num_threads | ||
) |
loc | source location information |
global_tid | global thread number |
num_teams | number of teams requested for the teams construct |
num_threads | number of threads per team requested for the teams construct |
Set the number of teams to be used by the teams construct. This call is only required if the teams construct has a num_teams
clause or a thread_limit
clause (or both).
Definition at line 351 of file kmp_csupport.cpp.
void __kmpc_push_num_threads | ( | ident_t * | loc, |
kmp_int32 | global_tid, | ||
kmp_int32 | num_threads | ||
) |
loc | source location information |
global_tid | global thread number |
num_threads | number of threads requested for this parallel construct |
Set the number of threads to be used by the next fork spawned by this thread. This call is only required if the parallel construct has a num_threads
clause.
Definition at line 230 of file kmp_csupport.cpp.
void __kmpc_serialized_parallel | ( | ident_t * | loc, |
kmp_int32 | global_tid | ||
) |
loc | source location information |
global_tid | global thread number |
Enter a serialized parallel construct. This interface is used to handle a conditional parallel region, like this,
when the condition is false.
Definition at line 476 of file kmp_csupport.cpp.