|
CCCC
C bytecode compiler + VM interpreter
|
OpenMP runtime API for -fopenmp. See docs/openmp.md.
More...
#include <stdio.h>#include <time.h>#include <unistd.h>
Go to the source code of this file.
Data Structures | |
| struct | omp_lock_t |
| Simple lock. More... | |
| struct | omp_nest_lock_t |
| Nestable lock. More... | |
Macros | |
| #define | omp_sched_monotonic ((omp_sched_t)0x80000000u) |
| Modifier bit that may be or'ed into a schedule kind; it is ignored. | |
| #define | omp_lock_hint_none omp_sync_hint_none |
| #define | omp_lock_hint_uncontended omp_sync_hint_uncontended |
| #define | omp_lock_hint_contended omp_sync_hint_contended |
| #define | omp_lock_hint_nonspeculative omp_sync_hint_nonspeculative |
| #define | omp_lock_hint_speculative omp_sync_hint_speculative |
Typedefs | |
| typedef enum omp_sched_t | omp_sched_t |
| Loop schedule kinds for omp_set_schedule() and omp_get_schedule(). | |
| typedef enum omp_sync_hint_t | omp_sync_hint_t |
Hints for #pragma omp atomic hint(...); or them together, but not contended with uncontended or speculative with nonspeculative. | |
| typedef omp_sync_hint_t | omp_lock_hint_t |
Enumerations | |
| enum | omp_sched_t { omp_sched_static = 1 , omp_sched_dynamic = 2 , omp_sched_guided = 3 , omp_sched_auto = 4 } |
| Loop schedule kinds for omp_set_schedule() and omp_get_schedule(). More... | |
| enum | omp_sync_hint_t { omp_sync_hint_none = 0 , omp_sync_hint_uncontended = 1 , omp_sync_hint_contended = 2 , omp_sync_hint_nonspeculative = 4 , omp_sync_hint_speculative = 8 } |
Hints for #pragma omp atomic hint(...); or them together, but not contended with uncontended or speculative with nonspeculative. More... | |
OpenMP runtime API for -fopenmp. See docs/openmp.md.
In the VM parallel regions run on one thread, so the team is always the initial thread and locks cannot contend. -c=native, -m and -c=generated run them on real threads with the same API. Documented here is the VM form.
| #define omp_lock_hint_contended omp_sync_hint_contended |
| #define omp_lock_hint_none omp_sync_hint_none |
| #define omp_lock_hint_nonspeculative omp_sync_hint_nonspeculative |
| #define omp_lock_hint_speculative omp_sync_hint_speculative |
| #define omp_lock_hint_uncontended omp_sync_hint_uncontended |
| #define omp_sched_monotonic ((omp_sched_t)0x80000000u) |
Modifier bit that may be or'ed into a schedule kind; it is ignored.
| typedef omp_sync_hint_t omp_lock_hint_t |
| typedef enum omp_sched_t omp_sched_t |
Loop schedule kinds for omp_set_schedule() and omp_get_schedule().
| typedef enum omp_sync_hint_t omp_sync_hint_t |
Hints for #pragma omp atomic hint(...); or them together, but not contended with uncontended or speculative with nonspeculative.
| enum omp_sched_t |
| enum omp_sync_hint_t |