1! include/omp_lib.h.var
2
3!
4!//===----------------------------------------------------------------------===//
5!//
6!// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
7!// See https://llvm.org/LICENSE.txt for license information.
8!// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
9!//
10!//===----------------------------------------------------------------------===//
11!
12
13      integer omp_integer_kind
14      parameter(omp_integer_kind=4)
15      integer omp_logical_kind
16      parameter(omp_logical_kind=4)
17      integer omp_real_kind
18      parameter(omp_real_kind=4)
19      integer omp_lock_kind
20      parameter(omp_lock_kind=int_ptr_kind())
21      integer omp_nest_lock_kind
22      parameter(omp_nest_lock_kind=int_ptr_kind())
23      integer omp_sched_kind
24      parameter(omp_sched_kind=omp_integer_kind)
25      integer omp_proc_bind_kind
26      parameter(omp_proc_bind_kind=omp_integer_kind)
27      integer kmp_pointer_kind
28      parameter(kmp_pointer_kind=int_ptr_kind())
29      integer kmp_size_t_kind
30      parameter(kmp_size_t_kind=int_ptr_kind())
31      integer kmp_affinity_mask_kind
32      parameter(kmp_affinity_mask_kind=int_ptr_kind())
33      integer omp_sync_hint_kind
34      parameter(omp_sync_hint_kind=omp_integer_kind)
35      integer omp_lock_hint_kind
36      parameter(omp_lock_hint_kind=omp_sync_hint_kind)
37      integer omp_control_tool_kind
38      parameter(omp_control_tool_kind=omp_integer_kind)
39      integer omp_control_tool_result_kind
40      parameter(omp_control_tool_result_kind=omp_integer_kind)
41      integer omp_allocator_handle_kind
42      parameter(omp_allocator_handle_kind=int_ptr_kind())
43      integer omp_memspace_handle_kind
44      parameter(omp_memspace_handle_kind=int_ptr_kind())
45      integer omp_alloctrait_key_kind
46      parameter(omp_alloctrait_key_kind=omp_integer_kind)
47      integer omp_alloctrait_val_kind
48      parameter(omp_alloctrait_val_kind=int_ptr_kind())
49      integer omp_pause_resource_kind
50      parameter(omp_pause_resource_kind=omp_integer_kind)
51      integer omp_depend_kind
52      parameter(omp_depend_kind=int_ptr_kind())
53      integer omp_event_handle_kind
54      parameter(omp_event_handle_kind=int_ptr_kind())
55
56      integer(kind=omp_integer_kind)openmp_version
57      parameter(openmp_version=@LIBOMP_OMP_YEAR_MONTH@)
58      integer(kind=omp_integer_kind)kmp_version_major
59      parameter(kmp_version_major=@LIBOMP_VERSION_MAJOR@)
60      integer(kind=omp_integer_kind)kmp_version_minor
61      parameter(kmp_version_minor=@LIBOMP_VERSION_MINOR@)
62      integer(kind=omp_integer_kind)kmp_version_build
63      parameter(kmp_version_build=@LIBOMP_VERSION_BUILD@)
64      character(*)kmp_build_date
65      parameter(kmp_build_date='@LIBOMP_BUILD_DATE@')
66
67      integer(kind=omp_sched_kind)omp_sched_static
68      parameter(omp_sched_static=1)
69      integer(kind=omp_sched_kind)omp_sched_dynamic
70      parameter(omp_sched_dynamic=2)
71      integer(kind=omp_sched_kind)omp_sched_guided
72      parameter(omp_sched_guided=3)
73      integer(kind=omp_sched_kind)omp_sched_auto
74      parameter(omp_sched_auto=4)
75      integer(kind=omp_sched_kind)omp_sched_monotonic
76      parameter(omp_sched_monotonic=Z'80000000')
77
78      integer(kind=omp_proc_bind_kind)omp_proc_bind_false
79      parameter(omp_proc_bind_false=0)
80      integer(kind=omp_proc_bind_kind)omp_proc_bind_true
81      parameter(omp_proc_bind_true=1)
82      integer(kind=omp_proc_bind_kind)omp_proc_bind_master
83      parameter(omp_proc_bind_master=2)
84      integer(kind=omp_proc_bind_kind)omp_proc_bind_close
85      parameter(omp_proc_bind_close=3)
86      integer(kind=omp_proc_bind_kind)omp_proc_bind_spread
87      parameter(omp_proc_bind_spread=4)
88
89      integer(kind=omp_sync_hint_kind)omp_sync_hint_none
90      parameter(omp_sync_hint_none=0)
91      integer(kind=omp_sync_hint_kind)omp_sync_hint_uncontended
92      parameter(omp_sync_hint_uncontended=1)
93      integer(kind=omp_sync_hint_kind)omp_sync_hint_contended
94      parameter(omp_sync_hint_contended=2)
95      integer(kind=omp_sync_hint_kind)omp_sync_hint_nonspeculative
96      parameter(omp_sync_hint_nonspeculative=4)
97      integer(kind=omp_sync_hint_kind)omp_sync_hint_speculative
98      parameter(omp_sync_hint_speculative=8)
99      integer(kind=omp_lock_hint_kind)omp_lock_hint_none
100      parameter(omp_lock_hint_none=omp_sync_hint_none)
101      integer(kind=omp_lock_hint_kind)omp_lock_hint_uncontended
102      parameter(omp_lock_hint_uncontended=omp_sync_hint_uncontended)
103      integer(kind=omp_lock_hint_kind)omp_lock_hint_contended
104      parameter(omp_lock_hint_contended=omp_sync_hint_contended)
105      integer(kind=omp_lock_hint_kind)omp_lock_hint_nonspeculative
106      parameter(omp_lock_hint_nonspeculative=4)
107      integer(kind=omp_lock_hint_kind)omp_lock_hint_speculative
108      parameter(omp_lock_hint_speculative=omp_sync_hint_speculative)
109      integer(kind=omp_lock_hint_kind)kmp_lock_hint_hle
110      parameter(kmp_lock_hint_hle=65536)
111      integer(kind=omp_lock_hint_kind)kmp_lock_hint_rtm
112      parameter(kmp_lock_hint_rtm=131072)
113      integer(kind=omp_lock_hint_kind)kmp_lock_hint_adaptive
114      parameter(kmp_lock_hint_adaptive=262144)
115
116      integer(kind=omp_control_tool_kind)omp_control_tool_start
117      parameter(omp_control_tool_start=1)
118      integer(kind=omp_control_tool_kind)omp_control_tool_pause
119      parameter(omp_control_tool_pause=2)
120      integer(kind=omp_control_tool_kind)omp_control_tool_flush
121      parameter(omp_control_tool_flush=3)
122      integer(kind=omp_control_tool_kind)omp_control_tool_end
123      parameter(omp_control_tool_end=4)
124
125      integer(omp_control_tool_result_kind)omp_control_tool_notool
126      parameter(omp_control_tool_notool=-2)
127      integer(omp_control_tool_result_kind)omp_control_tool_nocallback
128      parameter(omp_control_tool_nocallback=-1)
129      integer(omp_control_tool_result_kind)omp_control_tool_success
130      parameter(omp_control_tool_success=0)
131      integer(omp_control_tool_result_kind)omp_control_tool_ignored
132      parameter(omp_control_tool_ignored=1)
133
134      integer(kind=omp_alloctrait_key_kind)omp_atk_sync_hint
135      parameter(omp_atk_sync_hint=1)
136      integer(kind=omp_alloctrait_key_kind)omp_atk_alignment
137      parameter(omp_atk_alignment=2)
138      integer(kind=omp_alloctrait_key_kind)omp_atk_access
139      parameter(omp_atk_access=3)
140      integer(kind=omp_alloctrait_key_kind)omp_atk_pool_size
141      parameter(omp_atk_pool_size=4)
142      integer(kind=omp_alloctrait_key_kind)omp_atk_fallback
143      parameter(omp_atk_fallback=5)
144      integer(kind=omp_alloctrait_key_kind)omp_atk_fb_data
145      parameter(omp_atk_fb_data=6)
146      integer(kind=omp_alloctrait_key_kind)omp_atk_pinned
147      parameter(omp_atk_pinned=7)
148      integer(kind=omp_alloctrait_key_kind)omp_atk_partition
149      parameter(omp_atk_partition=8)
150
151      integer(kind=omp_alloctrait_val_kind)omp_atv_default
152      parameter(omp_atv_default=-1)
153      ! Reserved for future use
154      integer(kind=omp_alloctrait_val_kind)omp_atv_false
155      parameter(omp_atv_false=0)
156      ! Reserved for future use
157      integer(kind=omp_alloctrait_val_kind)omp_atv_true
158      parameter(omp_atv_true=1)
159      integer(kind=omp_alloctrait_val_kind)omp_atv_contended
160      parameter(omp_atv_contended=3)
161      integer(kind=omp_alloctrait_val_kind)omp_atv_uncontended
162      parameter(omp_atv_uncontended=4)
163      integer(kind=omp_alloctrait_val_kind)omp_atv_serialized
164      parameter(omp_atv_serialized=5)
165      integer(kind=omp_alloctrait_val_kind)omp_atv_sequential
166      parameter(omp_atv_sequential=5)
167      integer(kind=omp_alloctrait_val_kind)omp_atv_private
168      parameter(omp_atv_private=6)
169      integer(kind=omp_alloctrait_val_kind)omp_atv_all
170      parameter(omp_atv_all=7)
171      integer(kind=omp_alloctrait_val_kind)omp_atv_thread
172      parameter(omp_atv_thread=8)
173      integer(kind=omp_alloctrait_val_kind)omp_atv_pteam
174      parameter(omp_atv_pteam=9)
175      integer(kind=omp_alloctrait_val_kind)omp_atv_cgroup
176      parameter(omp_atv_cgroup=10)
177      integer(kind=omp_alloctrait_val_kind)omp_atv_default_mem_fb
178      parameter(omp_atv_default_mem_fb=11)
179      integer(kind=omp_alloctrait_val_kind)omp_atv_null_fb
180      parameter(omp_atv_null_fb=12)
181      integer(kind=omp_alloctrait_val_kind)omp_atv_abort_fb
182      parameter(omp_atv_abort_fb=13)
183      integer(kind=omp_alloctrait_val_kind)omp_atv_allocator_fb
184      parameter(omp_atv_allocator_fb=14)
185      integer(kind=omp_alloctrait_val_kind)omp_atv_environment
186      parameter(omp_atv_environment=15)
187      integer(kind=omp_alloctrait_val_kind)omp_atv_nearest
188      parameter(omp_atv_nearest=16)
189      integer(kind=omp_alloctrait_val_kind)omp_atv_blocked
190      parameter(omp_atv_blocked=17)
191      integer(kind=omp_alloctrait_val_kind)omp_atv_interleaved
192      parameter(omp_atv_interleaved=18)
193
194      type omp_alloctrait
195        integer (kind=omp_alloctrait_key_kind) key
196        integer (kind=omp_alloctrait_val_kind) value
197      end type omp_alloctrait
198
199      integer(kind=omp_allocator_handle_kind)omp_null_allocator
200      parameter(omp_null_allocator=0)
201      integer(kind=omp_allocator_handle_kind)omp_default_mem_alloc
202      parameter(omp_default_mem_alloc=1)
203      integer(kind=omp_allocator_handle_kind)omp_large_cap_mem_alloc
204      parameter(omp_large_cap_mem_alloc=2)
205      integer(kind=omp_allocator_handle_kind)omp_const_mem_alloc
206      parameter(omp_const_mem_alloc=3)
207      integer(kind=omp_allocator_handle_kind)omp_high_bw_mem_alloc
208      parameter(omp_high_bw_mem_alloc=4)
209      integer(kind=omp_allocator_handle_kind)omp_low_lat_mem_alloc
210      parameter(omp_low_lat_mem_alloc=5)
211      integer(kind=omp_allocator_handle_kind)omp_cgroup_mem_alloc
212      parameter(omp_cgroup_mem_alloc=6)
213      integer(kind=omp_allocator_handle_kind)omp_pteam_mem_alloc
214      parameter(omp_pteam_mem_alloc=7)
215      integer(kind=omp_allocator_handle_kind)omp_thread_mem_alloc
216      parameter(omp_thread_mem_alloc=8)
217      ! Preview of target memory support
218      integer(kind=omp_allocator_handle_kind)llvm_omp_target_host_mem_alloc
219      parameter(llvm_omp_target_host_mem_alloc=100)
220      integer(kind=omp_allocator_handle_kind)llvm_omp_target_shared_mem_alloc
221      parameter(llvm_omp_target_shared_mem_alloc=101)
222      integer(kind=omp_allocator_handle_kind)llvm_omp_target_device_mem_alloc
223      parameter(llvm_omp_target_device_mem_alloc=102)
224
225      integer(kind=omp_memspace_handle_kind)omp_default_mem_space
226      parameter(omp_default_mem_space=0)
227      integer(kind=omp_memspace_handle_kind)omp_large_cap_mem_space
228      parameter(omp_large_cap_mem_space=1)
229      integer(kind=omp_memspace_handle_kind)omp_const_mem_space
230      parameter(omp_const_mem_space=2)
231      integer(kind=omp_memspace_handle_kind)omp_high_bw_mem_space
232      parameter(omp_high_bw_mem_space=3)
233      integer(kind=omp_memspace_handle_kind)omp_low_lat_mem_space
234      parameter(omp_low_lat_mem_space=4)
235      ! Preview of target memory support
236      integer(kind=omp_memspace_handle_kind)llvm_omp_target_host_mem_space
237      parameter(llvm_omp_target_host_mem_space=100)
238      integer(kind=omp_memspace_handle_kind)llvm_omp_target_shared_mem_space
239      parameter(llvm_omp_target_shared_mem_space=101)
240      integer(kind=omp_memspace_handle_kind)llvm_omp_target_device_mem_space
241      parameter(llvm_omp_target_device_mem_space=102)
242
243      integer(kind=omp_pause_resource_kind)omp_pause_resume
244      parameter(omp_pause_resume=0)
245      integer(kind=omp_pause_resource_kind)omp_pause_soft
246      parameter(omp_pause_soft=1)
247      integer(kind=omp_pause_resource_kind)omp_pause_hard
248      parameter(omp_pause_hard=2)
249
250      interface
251
252!       ***
253!       *** omp_* entry points
254!       ***
255
256        subroutine omp_set_num_threads(num_threads) bind(c)
257          import
258          integer (kind=omp_integer_kind), value :: num_threads
259        end subroutine omp_set_num_threads
260
261        subroutine omp_set_dynamic(dynamic_threads) bind(c)
262          import
263          logical (kind=omp_logical_kind), value :: dynamic_threads
264        end subroutine omp_set_dynamic
265
266        subroutine omp_set_nested(nested) bind(c)
267          import
268          logical (kind=omp_logical_kind), value :: nested
269        end subroutine omp_set_nested
270
271        function omp_get_num_threads() bind(c)
272          import
273          integer (kind=omp_integer_kind) omp_get_num_threads
274        end function omp_get_num_threads
275
276        function omp_get_max_threads() bind(c)
277          import
278          integer (kind=omp_integer_kind) omp_get_max_threads
279        end function omp_get_max_threads
280
281        function omp_get_thread_num() bind(c)
282          import
283          integer (kind=omp_integer_kind) omp_get_thread_num
284        end function omp_get_thread_num
285
286        function omp_get_num_procs() bind(c)
287          import
288          integer (kind=omp_integer_kind) omp_get_num_procs
289        end function omp_get_num_procs
290
291        function omp_in_parallel() bind(c)
292          import
293          logical (kind=omp_logical_kind) omp_in_parallel
294        end function omp_in_parallel
295
296        function omp_in_final() bind(c)
297          import
298          logical (kind=omp_logical_kind) omp_in_final
299        end function omp_in_final
300
301        function omp_get_dynamic() bind(c)
302          import
303          logical (kind=omp_logical_kind) omp_get_dynamic
304        end function omp_get_dynamic
305
306        function omp_get_nested() bind(c)
307          import
308          logical (kind=omp_logical_kind) omp_get_nested
309        end function omp_get_nested
310
311        function omp_get_thread_limit() bind(c)
312          import
313          integer (kind=omp_integer_kind) omp_get_thread_limit
314        end function omp_get_thread_limit
315
316        subroutine omp_set_max_active_levels(max_levels) bind(c)
317          import
318          integer (kind=omp_integer_kind), value :: max_levels
319        end subroutine omp_set_max_active_levels
320
321        function omp_get_max_active_levels() bind(c)
322          import
323          integer (kind=omp_integer_kind) omp_get_max_active_levels
324        end function omp_get_max_active_levels
325
326        function omp_get_level() bind(c)
327          import
328          integer (kind=omp_integer_kind) omp_get_level
329        end function omp_get_level
330
331        function omp_get_active_level() bind(c)
332          import
333          integer (kind=omp_integer_kind) omp_get_active_level
334        end function omp_get_active_level
335
336        function omp_get_ancestor_thread_num(level) bind(c)
337          import
338          integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
339          integer (kind=omp_integer_kind), value :: level
340        end function omp_get_ancestor_thread_num
341
342        function omp_get_team_size(level) bind(c)
343          import
344          integer (kind=omp_integer_kind) omp_get_team_size
345          integer (kind=omp_integer_kind), value :: level
346        end function omp_get_team_size
347
348        subroutine omp_set_schedule(kind, chunk_size) bind(c)
349          import
350          integer (kind=omp_sched_kind), value :: kind
351          integer (kind=omp_integer_kind), value :: chunk_size
352        end subroutine omp_set_schedule
353
354        subroutine omp_get_schedule(kind, chunk_size) bind(c)
355          import
356          integer (kind=omp_sched_kind) kind
357          integer (kind=omp_integer_kind) chunk_size
358        end subroutine omp_get_schedule
359
360        function omp_get_proc_bind() bind(c)
361          import
362          integer (kind=omp_proc_bind_kind) omp_get_proc_bind
363        end function omp_get_proc_bind
364
365        function omp_get_num_places() bind(c)
366          import
367          integer (kind=omp_integer_kind) omp_get_num_places
368        end function omp_get_num_places
369
370        function omp_get_place_num_procs(place_num) bind(c)
371          import
372          integer (kind=omp_integer_kind), value :: place_num
373          integer (kind=omp_integer_kind) omp_get_place_num_procs
374        end function omp_get_place_num_procs
375
376        subroutine omp_get_place_proc_ids(place_num, ids) bind(c)
377          import
378          integer (kind=omp_integer_kind), value :: place_num
379          integer (kind=omp_integer_kind) ids(*)
380        end subroutine omp_get_place_proc_ids
381
382        function omp_get_place_num() bind(c)
383          import
384          integer (kind=omp_integer_kind) omp_get_place_num
385        end function omp_get_place_num
386
387        function omp_get_partition_num_places() bind(c)
388          import
389          integer (kind=omp_integer_kind) omp_get_partition_num_places
390        end function omp_get_partition_num_places
391
392        subroutine omp_get_partition_place_nums(place_nums) bind(c)
393          import
394          integer (kind=omp_integer_kind) place_nums(*)
395        end subroutine omp_get_partition_place_nums
396
397        function omp_get_wtime() bind(c)
398          double precision omp_get_wtime
399        end function omp_get_wtime
400
401        function omp_get_wtick() bind(c)
402          double precision omp_get_wtick
403        end function omp_get_wtick
404
405        function omp_get_default_device() bind(c)
406          import
407          integer (kind=omp_integer_kind) omp_get_default_device
408        end function omp_get_default_device
409
410        subroutine omp_set_default_device(device_num) bind(c)
411          import
412          integer (kind=omp_integer_kind), value :: device_num
413        end subroutine omp_set_default_device
414
415        function omp_get_num_devices() bind(c)
416          import
417          integer (kind=omp_integer_kind) omp_get_num_devices
418        end function omp_get_num_devices
419
420        function omp_get_num_teams() bind(c)
421          import
422          integer (kind=omp_integer_kind) omp_get_num_teams
423        end function omp_get_num_teams
424
425        function omp_get_team_num() bind(c)
426          import
427          integer (kind=omp_integer_kind) omp_get_team_num
428        end function omp_get_team_num
429
430        function omp_is_initial_device() bind(c)
431          import
432          logical (kind=omp_logical_kind) omp_is_initial_device
433        end function omp_is_initial_device
434
435        function omp_get_initial_device() bind(c)
436          import
437          integer (kind=omp_integer_kind) omp_get_initial_device
438        end function omp_get_initial_device
439
440        function omp_get_device_num() bind(c)
441          import
442          integer (kind=omp_integer_kind) omp_get_device_num
443        end function omp_get_device_num
444
445        function omp_pause_resource(kind, device_num) bind(c)
446          import
447          integer (kind=omp_pause_resource_kind), value :: kind
448          integer (kind=omp_integer_kind), value :: device_num
449          integer (kind=omp_integer_kind) omp_pause_resource
450        end function omp_pause_resource
451
452        function omp_pause_resource_all(kind) bind(c)
453          import
454          integer (kind=omp_pause_resource_kind), value :: kind
455          integer (kind=omp_integer_kind) omp_pause_resource_all
456        end function omp_pause_resource_all
457
458        function omp_get_supported_active_levels() bind(c)
459          import
460          integer (kind=omp_integer_kind) omp_get_supported_active_levels
461        end function omp_get_supported_active_levels
462
463        subroutine omp_fulfill_event(event) bind(c)
464          import
465          integer (kind=omp_event_handle_kind), value :: event
466        end subroutine omp_fulfill_event
467
468        subroutine omp_init_lock(svar) bind(c)
469!DIR$ IF(__INTEL_COMPILER.GE.1400)
470!DIR$ attributes known_intrinsic :: omp_init_lock
471!DIR$ ENDIF
472          import
473          integer (kind=omp_lock_kind) svar
474        end subroutine omp_init_lock
475
476        subroutine omp_destroy_lock(svar) bind(c)
477!DIR$ IF(__INTEL_COMPILER.GE.1400)
478!DIR$ attributes known_intrinsic :: omp_destroy_lock
479!DIR$ ENDIF
480          import
481          integer (kind=omp_lock_kind) svar
482        end subroutine omp_destroy_lock
483
484        subroutine omp_set_lock(svar) bind(c)
485!DIR$ IF(__INTEL_COMPILER.GE.1400)
486!DIR$ attributes known_intrinsic :: omp_set_lock
487!DIR$ ENDIF
488          import
489          integer (kind=omp_lock_kind) svar
490        end subroutine omp_set_lock
491
492        subroutine omp_unset_lock(svar) bind(c)
493!DIR$ IF(__INTEL_COMPILER.GE.1400)
494!DIR$ attributes known_intrinsic :: omp_unset_lock
495!DIR$ ENDIF
496          import
497          integer (kind=omp_lock_kind) svar
498        end subroutine omp_unset_lock
499
500        function omp_test_lock(svar) bind(c)
501!DIR$ IF(__INTEL_COMPILER.GE.1400)
502!DIR$ attributes known_intrinsic :: omp_test_lock
503!DIR$ ENDIF
504          import
505          logical (kind=omp_logical_kind) omp_test_lock
506          integer (kind=omp_lock_kind) svar
507        end function omp_test_lock
508
509        subroutine omp_init_nest_lock(nvar) bind(c)
510!DIR$ IF(__INTEL_COMPILER.GE.1400)
511!DIR$ attributes known_intrinsic :: omp_init_nest_lock
512!DIR$ ENDIF
513          import
514          integer (kind=omp_nest_lock_kind) nvar
515        end subroutine omp_init_nest_lock
516
517        subroutine omp_destroy_nest_lock(nvar) bind(c)
518!DIR$ IF(__INTEL_COMPILER.GE.1400)
519!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
520!DIR$ ENDIF
521          import
522          integer (kind=omp_nest_lock_kind) nvar
523        end subroutine omp_destroy_nest_lock
524
525        subroutine omp_set_nest_lock(nvar) bind(c)
526!DIR$ IF(__INTEL_COMPILER.GE.1400)
527!DIR$ attributes known_intrinsic :: omp_set_nest_lock
528!DIR$ ENDIF
529          import
530          integer (kind=omp_nest_lock_kind) nvar
531        end subroutine omp_set_nest_lock
532
533        subroutine omp_unset_nest_lock(nvar) bind(c)
534!DIR$ IF(__INTEL_COMPILER.GE.1400)
535!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
536!DIR$ ENDIF
537          import
538          integer (kind=omp_nest_lock_kind) nvar
539        end subroutine omp_unset_nest_lock
540
541        function omp_test_nest_lock(nvar) bind(c)
542!DIR$ IF(__INTEL_COMPILER.GE.1400)
543!DIR$ attributes known_intrinsic :: omp_test_nest_lock
544!DIR$ ENDIF
545          import
546          integer (kind=omp_integer_kind) omp_test_nest_lock
547          integer (kind=omp_nest_lock_kind) nvar
548        end function omp_test_nest_lock
549
550        function omp_get_max_task_priority() bind(c)
551          import
552          integer (kind=omp_integer_kind) omp_get_max_task_priority
553        end function omp_get_max_task_priority
554
555        function omp_init_allocator(memspace, ntraits, traits)
556          import
557          integer (omp_allocator_handle_kind) omp_init_allocator
558          integer (omp_memspace_handle_kind) :: memspace
559          integer (omp_integer_kind) :: ntraits
560          type(omp_alloctrait), intent(in) :: traits(*)
561        end function omp_init_allocator
562
563        subroutine omp_destroy_allocator(allocator) bind(c)
564          import
565          integer (omp_allocator_handle_kind), value :: allocator
566        end subroutine omp_destroy_allocator
567
568        subroutine omp_set_default_allocator(allocator) bind(c)
569          import
570          integer (omp_allocator_handle_kind), value :: allocator
571        end subroutine omp_set_default_allocator
572
573        function omp_get_default_allocator() bind(c)
574          import
575          integer (omp_allocator_handle_kind) omp_get_default_allocator
576        end function omp_get_default_allocator
577
578        subroutine omp_set_affinity_format(format)
579          character (len=*) :: format
580        end subroutine omp_set_affinity_format
581
582        function omp_get_affinity_format(buffer)
583          import
584          character (len=*) :: buffer
585          integer (kind=kmp_size_t_kind) :: omp_get_affinity_format
586        end function omp_get_affinity_format
587
588        subroutine omp_display_affinity(format)
589          character (len=*) :: format
590        end subroutine omp_display_affinity
591
592        function omp_capture_affinity(buffer, format)
593          import
594          character (len=*) :: format
595          character (len=*) :: buffer
596          integer (kind=kmp_size_t_kind) :: omp_capture_affinity
597        end function omp_capture_affinity
598
599        subroutine omp_set_num_teams(num_teams) bind(c)
600          import
601          integer (kind=omp_integer_kind), value :: num_teams
602        end subroutine omp_set_num_teams
603
604        function omp_get_max_teams() bind(c)
605          import
606          integer (kind=omp_integer_kind) omp_get_max_teams
607        end function omp_get_max_teams
608
609        subroutine omp_set_teams_thread_limit(thread_limit) bind(c)
610          import
611          integer (kind=omp_integer_kind), value :: thread_limit
612        end subroutine omp_set_teams_thread_limit
613
614        function omp_get_teams_thread_limit() bind(c)
615          import
616          integer (kind=omp_integer_kind) omp_get_teams_thread_limit
617        end function omp_get_teams_thread_limit
618
619        subroutine omp_display_env(verbose) bind(c)
620          import
621          logical (kind=omp_logical_kind), value :: verbose
622        end subroutine omp_display_env
623
624        function omp_target_alloc(size, device_num) bind(c)
625          use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
626          type(c_ptr) omp_target_alloc
627          integer(c_size_t), value :: size
628          integer(c_int), value :: device_num
629        end function omp_target_alloc
630
631        subroutine omp_target_free(device_ptr, device_num) bind(c)
632          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
633          type(c_ptr), value :: device_ptr
634          integer(c_int), value :: device_num
635        end subroutine omp_target_free
636
637        function omp_target_is_present(ptr, device_num) bind(c)
638          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
639          integer(c_int) omp_target_is_present
640          type(c_ptr), value :: ptr
641          integer(c_int), value :: device_num
642        end function omp_target_is_present
643
644        function omp_target_memcpy(dst, src, length, dst_offset,                                                                    &
645     &      src_offset, dst_device_num, src_device_num) bind(c)
646          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
647          integer(c_int) omp_target_memcpy
648          type(c_ptr), value :: dst, src
649          integer(c_size_t), value :: length, dst_offset, src_offset
650          integer(c_int), value :: dst_device_num, src_device_num
651        end function omp_target_memcpy
652
653        function omp_target_memcpy_rect(dst, src, element_size,                                                                     &
654     &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,                                                             &
655     &      src_dimensions, dst_device_num, src_device_num) bind(c)
656          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
657          integer(c_int) omp_target_memcpy_rect
658          type(c_ptr), value :: dst, src
659          integer(c_size_t), value :: element_size
660          integer(c_int), value :: num_dims, dst_device_num,                                                                        &
661     &        src_device_num
662          integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),                                                               &
663     &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
664        end function omp_target_memcpy_rect
665
666        function omp_target_memcpy_async(dst, src, length, dst_offset,                                                              &
667     &      src_offset, dst_device_num, src_device_num, depobj_count,                                                               &
668     &      depobj_list) bind(c)
669          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
670          import
671          integer(c_int) omp_target_memcpy_async
672          type(c_ptr), value :: dst, src
673          integer(c_size_t), value :: length, dst_offset, src_offset
674          integer(c_int), value :: dst_device_num, src_device_num,                                                                  &
675     &        depobj_count
676          integer(omp_depend_kind), optional :: depobj_list(*)
677        end function omp_target_memcpy_async
678
679        function omp_target_memcpy_rect_async(dst, src, element_size,                                                               &
680     &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,                                                             &
681     &      src_dimensions, dst_device_num, src_device_num,                                                                         &
682     &      depobj_count, depobj_list) bind(c)
683          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
684          import
685          integer(c_int) omp_target_memcpy_rect_async
686          type(c_ptr), value :: dst, src
687          integer(c_size_t), value :: element_size
688          integer(c_int), value :: num_dims, dst_device_num,                                                                        &
689     &        src_device_num, depobj_count
690          integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),                                                               &
691     &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
692          integer(omp_depend_kind), optional :: depobj_list(*)
693        end function omp_target_memcpy_rect_async
694
695        function omp_target_associate_ptr(host_ptr, device_ptr, size,                                                               &
696     &      device_offset, device_num) bind(c)
697          use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
698          integer(c_int) omp_target_associate_ptr
699          type(c_ptr), value :: host_ptr, device_ptr
700          integer(c_size_t), value :: size, device_offset
701          integer(c_int), value :: device_num
702        end function omp_target_associate_ptr
703
704        function omp_get_mapped_ptr(ptr, device_num) bind(c)
705          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
706          type(c_ptr) omp_get_mapped_ptr
707          type(c_ptr), value :: ptr
708          integer(c_int), value :: device_num
709        end function omp_get_mapped_ptr
710
711        function omp_target_disassociate_ptr(ptr, device_num) bind(c)
712          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
713          integer(c_int) omp_target_disassociate_ptr
714          type(c_ptr), value :: ptr
715          integer(c_int), value :: device_num
716        end function omp_target_disassociate_ptr
717
718        function omp_target_is_accessible(ptr, size, device_num) bind(c)
719          use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
720          integer(c_int) omp_target_is_accessible
721          type(c_ptr), value :: ptr
722          integer(c_size_t), value :: size
723          integer(c_int), value :: device_num
724        end function omp_target_is_accessible
725
726!       ***
727!       *** kmp_* entry points
728!       ***
729
730        subroutine kmp_set_stacksize(size) bind(c)
731          import
732          integer (kind=omp_integer_kind), value :: size
733        end subroutine kmp_set_stacksize
734
735        subroutine kmp_set_stacksize_s(size) bind(c)
736          import
737          integer (kind=kmp_size_t_kind), value :: size
738        end subroutine kmp_set_stacksize_s
739
740        subroutine kmp_set_blocktime(msec) bind(c)
741          import
742          integer (kind=omp_integer_kind), value :: msec
743        end subroutine kmp_set_blocktime
744
745        subroutine kmp_set_library_serial() bind(c)
746        end subroutine kmp_set_library_serial
747
748        subroutine kmp_set_library_turnaround() bind(c)
749        end subroutine kmp_set_library_turnaround
750
751        subroutine kmp_set_library_throughput() bind(c)
752        end subroutine kmp_set_library_throughput
753
754        subroutine kmp_set_library(libnum) bind(c)
755          import
756          integer (kind=omp_integer_kind), value :: libnum
757        end subroutine kmp_set_library
758
759        subroutine kmp_set_defaults(string) bind(c)
760          character string(*)
761        end subroutine kmp_set_defaults
762
763        function kmp_get_stacksize() bind(c)
764          import
765          integer (kind=omp_integer_kind) kmp_get_stacksize
766        end function kmp_get_stacksize
767
768        function kmp_get_stacksize_s() bind(c)
769          import
770          integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
771        end function kmp_get_stacksize_s
772
773        function kmp_get_blocktime() bind(c)
774          import
775          integer (kind=omp_integer_kind) kmp_get_blocktime
776        end function kmp_get_blocktime
777
778        function kmp_get_library() bind(c)
779          import
780          integer (kind=omp_integer_kind) kmp_get_library
781        end function kmp_get_library
782
783        subroutine kmp_set_disp_num_buffers(num) bind(c)
784          import
785          integer (kind=omp_integer_kind), value :: num
786        end subroutine kmp_set_disp_num_buffers
787
788        function kmp_set_affinity(mask) bind(c)
789          import
790          integer (kind=omp_integer_kind) kmp_set_affinity
791          integer (kind=kmp_affinity_mask_kind) mask
792        end function kmp_set_affinity
793
794        function kmp_get_affinity(mask) bind(c)
795          import
796          integer (kind=omp_integer_kind) kmp_get_affinity
797          integer (kind=kmp_affinity_mask_kind) mask
798        end function kmp_get_affinity
799
800        function kmp_get_affinity_max_proc() bind(c)
801          import
802          integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
803        end function kmp_get_affinity_max_proc
804
805        subroutine kmp_create_affinity_mask(mask) bind(c)
806          import
807          integer (kind=kmp_affinity_mask_kind) mask
808        end subroutine kmp_create_affinity_mask
809
810        subroutine kmp_destroy_affinity_mask(mask) bind(c)
811          import
812          integer (kind=kmp_affinity_mask_kind) mask
813        end subroutine kmp_destroy_affinity_mask
814
815        function kmp_set_affinity_mask_proc(proc, mask) bind(c)
816          import
817          integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
818          integer (kind=omp_integer_kind), value :: proc
819          integer (kind=kmp_affinity_mask_kind) mask
820        end function kmp_set_affinity_mask_proc
821
822        function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
823          import
824          integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
825          integer (kind=omp_integer_kind), value :: proc
826          integer (kind=kmp_affinity_mask_kind) mask
827        end function kmp_unset_affinity_mask_proc
828
829        function kmp_get_affinity_mask_proc(proc, mask) bind(c)
830          import
831          integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
832          integer (kind=omp_integer_kind), value :: proc
833          integer (kind=kmp_affinity_mask_kind) mask
834        end function kmp_get_affinity_mask_proc
835
836        function kmp_malloc(size) bind(c)
837          import
838          integer (kind=kmp_pointer_kind) kmp_malloc
839          integer (kind=kmp_size_t_kind), value :: size
840        end function kmp_malloc
841
842        function kmp_aligned_malloc(size, alignment) bind(c)
843          import
844          integer (kind=kmp_pointer_kind) kmp_aligned_malloc
845          integer (kind=kmp_size_t_kind), value :: size
846          integer (kind=kmp_size_t_kind), value :: alignment
847        end function kmp_aligned_malloc
848
849        function kmp_calloc(nelem, elsize) bind(c)
850          import
851          integer (kind=kmp_pointer_kind) kmp_calloc
852          integer (kind=kmp_size_t_kind), value :: nelem
853          integer (kind=kmp_size_t_kind), value :: elsize
854        end function kmp_calloc
855
856        function kmp_realloc(ptr, size) bind(c)
857          import
858          integer (kind=kmp_pointer_kind) kmp_realloc
859          integer (kind=kmp_pointer_kind), value :: ptr
860          integer (kind=kmp_size_t_kind), value :: size
861        end function kmp_realloc
862
863        subroutine kmp_free(ptr) bind(c)
864          import
865          integer (kind=kmp_pointer_kind), value :: ptr
866        end subroutine kmp_free
867
868        subroutine kmp_set_warnings_on() bind(c)
869        end subroutine kmp_set_warnings_on
870
871        subroutine kmp_set_warnings_off() bind(c)
872        end subroutine kmp_set_warnings_off
873
874        subroutine omp_init_lock_with_hint(svar, hint) bind(c)
875          import
876          integer (kind=omp_lock_kind) svar
877          integer (kind=omp_lock_hint_kind), value :: hint
878        end subroutine omp_init_lock_with_hint
879
880        subroutine omp_init_nest_lock_with_hint(nvar, hint) bind(c)
881          import
882          integer (kind=omp_nest_lock_kind) nvar
883          integer (kind=omp_lock_hint_kind), value :: hint
884        end subroutine omp_init_nest_lock_with_hint
885
886        function omp_control_tool(command, modifier, arg) bind(c)
887          import
888          integer (kind=omp_integer_kind) omp_control_tool
889          integer (kind=omp_control_tool_kind), value :: command
890          integer (kind=omp_control_tool_kind), value :: modifier
891          integer (kind=kmp_pointer_kind), optional :: arg
892        end function omp_control_tool
893
894      end interface
895
896!DIR$ IF DEFINED (__INTEL_OFFLOAD)
897
898!DIR$ IF(__INTEL_COMPILER.LT.1900)
899!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_num_threads
900!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_dynamic
901!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nested
902!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_threads
903!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_threads
904!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_num
905!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_procs
906!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_parallel
907!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_final
908!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_dynamic
909!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_nested
910!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_limit
911!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_max_active_levels
912!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_active_levels
913!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_level
914!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_active_level
915!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_ancestor_thread_num
916!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_size
917!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_schedule
918!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_schedule
919!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_proc_bind
920!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtime
921!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtick
922!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device
923!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device
924!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device
925!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_initial_device
926!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices
927!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_device_num
928!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource
929!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource_all
930!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_supported_active_levels
931!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_fulfill_event
932!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams
933!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num
934!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock
935!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_lock
936!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_lock
937!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_lock
938!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_lock
939!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock
940!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_nest_lock
941!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nest_lock
942!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_nest_lock
943!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_nest_lock
944!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_task_priority
945!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_affinity_format
946!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_affinity_format
947!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_display_affinity
948!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_capture_affinity
949!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize
950!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize_s
951!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_blocktime
952!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_serial
953!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_turnaround
954!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_throughput
955!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library
956!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_defaults
957!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize
958!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize_s
959!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_blocktime
960!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_library
961!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_disp_num_buffers
962!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity
963!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity
964!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_max_proc
965!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_create_affinity_mask
966!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_destroy_affinity_mask
967!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity_mask_proc
968!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_unset_affinity_mask_proc
969!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_mask_proc
970!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_malloc
971!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_aligned_malloc
972!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_calloc
973!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_realloc
974!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_free
975!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_on
976!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_off
977!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock_with_hint
978!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock_with_hint
979!DIR$ ENDIF
980
981!DIR$ IF(__INTEL_COMPILER.GE.1400)
982!$omp declare target(omp_set_num_threads )
983!$omp declare target(omp_set_dynamic )
984!$omp declare target(omp_set_nested )
985!$omp declare target(omp_get_num_threads )
986!$omp declare target(omp_get_max_threads )
987!$omp declare target(omp_get_thread_num )
988!$omp declare target(omp_get_num_procs )
989!$omp declare target(omp_in_parallel )
990!$omp declare target(omp_in_final )
991!$omp declare target(omp_get_dynamic )
992!$omp declare target(omp_get_nested )
993!$omp declare target(omp_get_thread_limit )
994!$omp declare target(omp_set_max_active_levels )
995!$omp declare target(omp_get_max_active_levels )
996!$omp declare target(omp_get_level )
997!$omp declare target(omp_get_active_level )
998!$omp declare target(omp_get_ancestor_thread_num )
999!$omp declare target(omp_get_team_size )
1000!$omp declare target(omp_set_schedule )
1001!$omp declare target(omp_get_schedule )
1002!$omp declare target(omp_get_proc_bind )
1003!$omp declare target(omp_get_wtime )
1004!$omp declare target(omp_get_wtick )
1005!$omp declare target(omp_get_default_device )
1006!$omp declare target(omp_set_default_device )
1007!$omp declare target(omp_is_initial_device )
1008!$omp declare target(omp_get_initial_device )
1009!$omp declare target(omp_get_num_devices )
1010!$omp declare target(omp_get_device_num )
1011!$omp declare target(omp_pause_resource )
1012!$omp declare target(omp_pause_resource_all )
1013!$omp declare target(omp_get_supported_active_levels )
1014!$omp declare target(omp_fulfill_event)
1015!$omp declare target(omp_get_num_teams )
1016!$omp declare target(omp_get_team_num )
1017!$omp declare target(omp_init_lock )
1018!$omp declare target(omp_destroy_lock )
1019!$omp declare target(omp_set_lock )
1020!$omp declare target(omp_unset_lock )
1021!$omp declare target(omp_test_lock )
1022!$omp declare target(omp_init_nest_lock )
1023!$omp declare target(omp_destroy_nest_lock )
1024!$omp declare target(omp_set_nest_lock )
1025!$omp declare target(omp_unset_nest_lock )
1026!$omp declare target(omp_test_nest_lock )
1027!$omp declare target(omp_get_max_task_priority )
1028!$omp declare target(omp_set_affinity_format )
1029!$omp declare target(omp_get_affinity_format )
1030!$omp declare target(omp_display_affinity )
1031!$omp declare target(omp_capture_affinity )
1032!$omp declare target(kmp_set_stacksize )
1033!$omp declare target(kmp_set_stacksize_s )
1034!$omp declare target(kmp_set_blocktime )
1035!$omp declare target(kmp_set_library_serial )
1036!$omp declare target(kmp_set_library_turnaround )
1037!$omp declare target(kmp_set_library_throughput )
1038!$omp declare target(kmp_set_library )
1039!$omp declare target(kmp_set_defaults )
1040!$omp declare target(kmp_get_stacksize )
1041!$omp declare target(kmp_get_stacksize_s )
1042!$omp declare target(kmp_get_blocktime )
1043!$omp declare target(kmp_get_library )
1044!$omp declare target(kmp_set_disp_num_buffers )
1045!$omp declare target(kmp_set_affinity )
1046!$omp declare target(kmp_get_affinity )
1047!$omp declare target(kmp_get_affinity_max_proc )
1048!$omp declare target(kmp_create_affinity_mask )
1049!$omp declare target(kmp_destroy_affinity_mask )
1050!$omp declare target(kmp_set_affinity_mask_proc )
1051!$omp declare target(kmp_unset_affinity_mask_proc )
1052!$omp declare target(kmp_get_affinity_mask_proc )
1053!$omp declare target(kmp_malloc )
1054!$omp declare target(kmp_aligned_malloc )
1055!$omp declare target(kmp_calloc )
1056!$omp declare target(kmp_realloc )
1057!$omp declare target(kmp_free )
1058!$omp declare target(kmp_set_warnings_on )
1059!$omp declare target(kmp_set_warnings_off )
1060!$omp declare target(omp_init_lock_with_hint )
1061!$omp declare target(omp_init_nest_lock_with_hint )
1062!DIR$ ENDIF
1063!DIR$ ENDIF
1064