24typedef void *omp_lock_t;
25typedef void *omp_nest_lock_t;
30typedef enum omp_lock_hint_t
32 omp_lock_hint_none = 0,
33 omp_lock_hint_uncontended = 1,
34 omp_lock_hint_contended = 2,
35 omp_lock_hint_nonspeculative = 4,
36 omp_lock_hint_speculative = 8
46typedef enum omp_sched_t
49 omp_sched_dynamic = 2,
57typedef enum omp_proc_bind_t
59 omp_proc_bind_false = 0,
60 omp_proc_bind_true = 1,
61 omp_proc_bind_master = 2,
62 omp_proc_bind_close = 3,
63 omp_proc_bind_spread = 4
74extern void omp_set_num_threads(
int num);
75extern int omp_get_num_threads(
void);
76extern int omp_get_max_threads(
void);
77extern int omp_get_thread_num(
void);
78extern int omp_get_num_procs(
void);
80int omp_in_parallel(
void);
81void omp_set_dynamic(
int dynamic_thds);
82int omp_get_dynamic(
void);
84int omp_get_cancellation(
void);
86void omp_set_nested(
int n_nested);
87int omp_get_nested(
void);
93void omp_set_schedule (omp_sched_t,
int);
94void omp_get_schedule (omp_sched_t *,
int *);
95int omp_get_thread_limit (
void);
96void omp_set_max_active_levels (
int);
97int omp_get_max_active_levels (
void);
98int omp_get_level (
void);
99int omp_get_ancestor_thread_num (
int);
100int omp_get_team_size (
int);
101int omp_get_active_level (
void);
103int omp_in_final(
void);
104omp_proc_bind_t omp_get_proc_bind(
void);
105int omp_get_num_places(
void);
106int omp_get_place_num_procs(
int place_num);
107void omp_get_place_proc_ids(
int place_num,
int *ids);
108int omp_get_place_num(
void);
109int omp_get_partition_num_places(
void);
110void omp_get_partition_place_nums(
int *place_nums);
116void omp_set_default_device(
int device_num);
117int omp_get_default_device(
void);
120int omp_get_max_devices(
void);
122void omp_set_num_devices(
int);
125int omp_get_num_devices(
void);
128int xomp_get_num_devices(
void);
130int omp_get_num_teams(
void);
131int omp_get_team_num(
void);
133int omp_is_initial_device(
void);
134int omp_get_initial_device(
void);
135int omp_get_max_task_priority(
void);
140void omp_init_lock(omp_lock_t *lock);
141void omp_init_lock_with_hint(omp_lock_t *lock,
142 omp_lock_hint_t hint);
143void omp_destroy_lock(omp_lock_t *lock);
144void omp_set_lock(omp_lock_t *lock);
145void omp_unset_lock(omp_lock_t *lock);
146int omp_test_lock(omp_lock_t *lock);
147void omp_init_nest_lock(omp_nest_lock_t *lock);
148void omp_init_nest_lock_with_hint(omp_nest_lock_t *lock,
149 omp_lock_hint_t hint);
150void omp_destroy_nest_lock(omp_nest_lock_t *lock);
151void omp_set_nest_lock(omp_nest_lock_t *lock);
152void omp_unset_nest_lock(omp_nest_lock_t *lock);
153int omp_test_nest_lock(omp_nest_lock_t *lock);
158double omp_get_wtime(
void);
159double omp_get_wtick(
void);
161void * omp_target_alloc(
size_t _size,
int _device_num);
162void omp_target_free(
void * device_ptr,
int _device_num);
163int omp_target_is_present(
void * ptr,
int _device_num);
164int omp_target_memcpy(
void *dst,
void *src,
size_t _length,
165 size_t dst_offset,
size_t src_offset,
166 int dst_device_num,
int src_device_num);
168int omp_target_memcpy_rect(
169 void *dst,
void *src,
172 const size_t *volume,
173 const size_t *dst_offsets,
174 const size_t *src_offsets,
175 const size_t *dst_dimensions,
176 const size_t *src_dimensions,
177 int dst_device_num,
int src_device_num);
179int omp_target_associate_ptr(
void * host_ptr,
182 size_t device_offset,
185int omp_target_disassociate_ptr(
void * ptr,