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,