|
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.
1.8.17