24 typedef void *omp_lock_t;
25 typedef void *omp_nest_lock_t;
26 typedef void *omp_depend_t;
31 typedef enum omp_lock_hint_t
33 omp_lock_hint_none = 0,
34 omp_lock_hint_uncontended = 1,
35 omp_lock_hint_contended = 2,
36 omp_lock_hint_nonspeculative = 4,
37 omp_lock_hint_speculative = 8
47 typedef enum omp_sched_t
50 omp_sched_dynamic = 2,
58 typedef enum omp_proc_bind_t
60 omp_proc_bind_false = 0,
61 omp_proc_bind_true = 1,
62 omp_proc_bind_master = 2,
63 omp_proc_bind_close = 3,
64 omp_proc_bind_spread = 4
75 extern void omp_set_num_threads(
int num);
76 extern int omp_get_num_threads(
void);
77 extern int omp_get_max_threads(
void);
78 extern int omp_get_thread_num(
void);
79 extern int omp_get_num_procs(
void);
81 int omp_in_parallel(
void);
82 void omp_set_dynamic(
int dynamic_thds);
83 int omp_get_dynamic(
void);
85 int omp_get_cancellation(
void);
87 void omp_set_nested(
int n_nested);
88 int omp_get_nested(
void);
94 void omp_set_schedule (omp_sched_t,
int);
95 void omp_get_schedule (omp_sched_t *,
int *);
96 int omp_get_thread_limit (
void);
97 void omp_set_max_active_levels (
int);
98 int omp_get_max_active_levels (
void);
99 int omp_get_level (
void);
100 int omp_get_ancestor_thread_num (
int);
101 int omp_get_team_size (
int);
102 int omp_get_active_level (
void);
104 int omp_in_final(
void);
105 omp_proc_bind_t omp_get_proc_bind(
void);
106 int omp_get_num_places(
void);
107 int omp_get_place_num_procs(
int place_num);
108 void omp_get_place_proc_ids(
int place_num,
int *ids);
109 int omp_get_place_num(
void);
110 int omp_get_partition_num_places(
void);
111 void omp_get_partition_place_nums(
int *place_nums);
117 void omp_set_default_device(
int device_num);
118 int omp_get_default_device(
void);
121 int omp_get_max_devices(
void);
123 void omp_set_num_devices(
int);
126 int omp_get_num_devices(
void);
129 int xomp_get_num_devices(
void);
131 int omp_get_num_teams(
void);
132 int omp_get_team_num(
void);
134 int omp_is_initial_device(
void);
135 int omp_get_initial_device(
void);
136 int omp_get_max_task_priority(
void);
141 void omp_init_lock(omp_lock_t *lock);
142 void omp_init_lock_with_hint(omp_lock_t *lock,
143 omp_lock_hint_t hint);
144 void omp_destroy_lock(omp_lock_t *lock);
145 void omp_set_lock(omp_lock_t *lock);
146 void omp_unset_lock(omp_lock_t *lock);
147 int omp_test_lock(omp_lock_t *lock);
148 void omp_init_nest_lock(omp_nest_lock_t *lock);
149 void omp_init_nest_lock_with_hint(omp_nest_lock_t *lock,
150 omp_lock_hint_t hint);
151 void omp_destroy_nest_lock(omp_nest_lock_t *lock);
152 void omp_set_nest_lock(omp_nest_lock_t *lock);
153 void omp_unset_nest_lock(omp_nest_lock_t *lock);
154 int omp_test_nest_lock(omp_nest_lock_t *lock);
159 double omp_get_wtime(
void);
160 double omp_get_wtick(
void);
162 void * omp_target_alloc(
size_t _size,
int _device_num);
163 void omp_target_free(
void * device_ptr,
int _device_num);
164 int omp_target_is_present(
void * ptr,
int _device_num);
165 int omp_target_memcpy(
void *dst,
void *src,
size_t _length,
166 size_t dst_offset,
size_t src_offset,
167 int dst_device_num,
int src_device_num);
169 int omp_target_memcpy_rect(
170 void *dst,
void *src,
173 const size_t *volume,
174 const size_t *dst_offsets,
175 const size_t *src_offsets,
176 const size_t *dst_dimensions,
177 const size_t *src_dimensions,
178 int dst_device_num,
int src_device_num);
180 int omp_target_associate_ptr(
void * host_ptr,
183 size_t device_offset,
186 int omp_target_disassociate_ptr(
void * ptr,