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
218      integer(kind=omp_memspace_handle_kind)omp_default_mem_space
219      parameter(omp_default_mem_space=0)
220      integer(kind=omp_memspace_handle_kind)omp_large_cap_mem_space
221      parameter(omp_large_cap_mem_space=1)
222      integer(kind=omp_memspace_handle_kind)omp_const_mem_space
223      parameter(omp_const_mem_space=2)
224      integer(kind=omp_memspace_handle_kind)omp_high_bw_mem_space
225      parameter(omp_high_bw_mem_space=3)
226      integer(kind=omp_memspace_handle_kind)omp_low_lat_mem_space
227      parameter(omp_low_lat_mem_space=4)
228
229      integer(kind=omp_pause_resource_kind)omp_pause_resume
230      parameter(omp_pause_resume=0)
231      integer(kind=omp_pause_resource_kind)omp_pause_soft
232      parameter(omp_pause_soft=1)
233      integer(kind=omp_pause_resource_kind)omp_pause_hard
234      parameter(omp_pause_hard=2)
235
236      interface
237
238!       ***
239!       *** omp_* entry points
240!       ***
241
242        subroutine omp_set_num_threads(num_threads) bind(c)
243          import
244          integer (kind=omp_integer_kind), value :: num_threads
245        end subroutine omp_set_num_threads
246
247        subroutine omp_set_dynamic(dynamic_threads) bind(c)
248          import
249          logical (kind=omp_logical_kind), value :: dynamic_threads
250        end subroutine omp_set_dynamic
251
252        subroutine omp_set_nested(nested) bind(c)
253          import
254          logical (kind=omp_logical_kind), value :: nested
255        end subroutine omp_set_nested
256
257        function omp_get_num_threads() bind(c)
258          import
259          integer (kind=omp_integer_kind) omp_get_num_threads
260        end function omp_get_num_threads
261
262        function omp_get_max_threads() bind(c)
263          import
264          integer (kind=omp_integer_kind) omp_get_max_threads
265        end function omp_get_max_threads
266
267        function omp_get_thread_num() bind(c)
268          import
269          integer (kind=omp_integer_kind) omp_get_thread_num
270        end function omp_get_thread_num
271
272        function omp_get_num_procs() bind(c)
273          import
274          integer (kind=omp_integer_kind) omp_get_num_procs
275        end function omp_get_num_procs
276
277        function omp_in_parallel() bind(c)
278          import
279          logical (kind=omp_logical_kind) omp_in_parallel
280        end function omp_in_parallel
281
282        function omp_in_final() bind(c)
283          import
284          logical (kind=omp_logical_kind) omp_in_final
285        end function omp_in_final
286
287        function omp_get_dynamic() bind(c)
288          import
289          logical (kind=omp_logical_kind) omp_get_dynamic
290        end function omp_get_dynamic
291
292        function omp_get_nested() bind(c)
293          import
294          logical (kind=omp_logical_kind) omp_get_nested
295        end function omp_get_nested
296
297        function omp_get_thread_limit() bind(c)
298          import
299          integer (kind=omp_integer_kind) omp_get_thread_limit
300        end function omp_get_thread_limit
301
302        subroutine omp_set_max_active_levels(max_levels) bind(c)
303          import
304          integer (kind=omp_integer_kind), value :: max_levels
305        end subroutine omp_set_max_active_levels
306
307        function omp_get_max_active_levels() bind(c)
308          import
309          integer (kind=omp_integer_kind) omp_get_max_active_levels
310        end function omp_get_max_active_levels
311
312        function omp_get_level() bind(c)
313          import
314          integer (kind=omp_integer_kind) omp_get_level
315        end function omp_get_level
316
317        function omp_get_active_level() bind(c)
318          import
319          integer (kind=omp_integer_kind) omp_get_active_level
320        end function omp_get_active_level
321
322        function omp_get_ancestor_thread_num(level) bind(c)
323          import
324          integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
325          integer (kind=omp_integer_kind), value :: level
326        end function omp_get_ancestor_thread_num
327
328        function omp_get_team_size(level) bind(c)
329          import
330          integer (kind=omp_integer_kind) omp_get_team_size
331          integer (kind=omp_integer_kind), value :: level
332        end function omp_get_team_size
333
334        subroutine omp_set_schedule(kind, chunk_size) bind(c)
335          import
336          integer (kind=omp_sched_kind), value :: kind
337          integer (kind=omp_integer_kind), value :: chunk_size
338        end subroutine omp_set_schedule
339
340        subroutine omp_get_schedule(kind, chunk_size) bind(c)
341          import
342          integer (kind=omp_sched_kind) kind
343          integer (kind=omp_integer_kind) chunk_size
344        end subroutine omp_get_schedule
345
346        function omp_get_proc_bind() bind(c)
347          import
348          integer (kind=omp_proc_bind_kind) omp_get_proc_bind
349        end function omp_get_proc_bind
350
351        function omp_get_num_places() bind(c)
352          import
353          integer (kind=omp_integer_kind) omp_get_num_places
354        end function omp_get_num_places
355
356        function omp_get_place_num_procs(place_num) bind(c)
357          import
358          integer (kind=omp_integer_kind), value :: place_num
359          integer (kind=omp_integer_kind) omp_get_place_num_procs
360        end function omp_get_place_num_procs
361
362        subroutine omp_get_place_proc_ids(place_num, ids) bind(c)
363          import
364          integer (kind=omp_integer_kind), value :: place_num
365          integer (kind=omp_integer_kind) ids(*)
366        end subroutine omp_get_place_proc_ids
367
368        function omp_get_place_num() bind(c)
369          import
370          integer (kind=omp_integer_kind) omp_get_place_num
371        end function omp_get_place_num
372
373        function omp_get_partition_num_places() bind(c)
374          import
375          integer (kind=omp_integer_kind) omp_get_partition_num_places
376        end function omp_get_partition_num_places
377
378        subroutine omp_get_partition_place_nums(place_nums) bind(c)
379          import
380          integer (kind=omp_integer_kind) place_nums(*)
381        end subroutine omp_get_partition_place_nums
382
383        function omp_get_wtime() bind(c)
384          double precision omp_get_wtime
385        end function omp_get_wtime
386
387        function omp_get_wtick() bind(c)
388          double precision omp_get_wtick
389        end function omp_get_wtick
390
391        function omp_get_default_device() bind(c)
392          import
393          integer (kind=omp_integer_kind) omp_get_default_device
394        end function omp_get_default_device
395
396        subroutine omp_set_default_device(device_num) bind(c)
397          import
398          integer (kind=omp_integer_kind), value :: device_num
399        end subroutine omp_set_default_device
400
401        function omp_get_num_devices() bind(c)
402          import
403          integer (kind=omp_integer_kind) omp_get_num_devices
404        end function omp_get_num_devices
405
406        function omp_get_num_teams() bind(c)
407          import
408          integer (kind=omp_integer_kind) omp_get_num_teams
409        end function omp_get_num_teams
410
411        function omp_get_team_num() bind(c)
412          import
413          integer (kind=omp_integer_kind) omp_get_team_num
414        end function omp_get_team_num
415
416        function omp_is_initial_device() bind(c)
417          import
418          logical (kind=omp_logical_kind) omp_is_initial_device
419        end function omp_is_initial_device
420
421        function omp_get_initial_device() bind(c)
422          import
423          integer (kind=omp_integer_kind) omp_get_initial_device
424        end function omp_get_initial_device
425
426        function omp_get_device_num() bind(c)
427          import
428          integer (kind=omp_integer_kind) omp_get_device_num
429        end function omp_get_device_num
430
431        function omp_pause_resource(kind, device_num) bind(c)
432          import
433          integer (kind=omp_pause_resource_kind), value :: kind
434          integer (kind=omp_integer_kind), value :: device_num
435          integer (kind=omp_integer_kind) omp_pause_resource
436        end function omp_pause_resource
437
438        function omp_pause_resource_all(kind) bind(c)
439          import
440          integer (kind=omp_pause_resource_kind), value :: kind
441          integer (kind=omp_integer_kind) omp_pause_resource_all
442        end function omp_pause_resource_all
443
444        function omp_get_supported_active_levels() bind(c)
445          import
446          integer (kind=omp_integer_kind) omp_get_supported_active_levels
447        end function omp_get_supported_active_levels
448
449        subroutine omp_fulfill_event(event) bind(c)
450          import
451          integer (kind=omp_event_handle_kind), value :: event
452        end subroutine omp_fulfill_event
453
454        subroutine omp_init_lock(svar) bind(c)
455!DIR$ IF(__INTEL_COMPILER.GE.1400)
456!DIR$ attributes known_intrinsic :: omp_init_lock
457!DIR$ ENDIF
458          import
459          integer (kind=omp_lock_kind) svar
460        end subroutine omp_init_lock
461
462        subroutine omp_destroy_lock(svar) bind(c)
463!DIR$ IF(__INTEL_COMPILER.GE.1400)
464!DIR$ attributes known_intrinsic :: omp_destroy_lock
465!DIR$ ENDIF
466          import
467          integer (kind=omp_lock_kind) svar
468        end subroutine omp_destroy_lock
469
470        subroutine omp_set_lock(svar) bind(c)
471!DIR$ IF(__INTEL_COMPILER.GE.1400)
472!DIR$ attributes known_intrinsic :: omp_set_lock
473!DIR$ ENDIF
474          import
475          integer (kind=omp_lock_kind) svar
476        end subroutine omp_set_lock
477
478        subroutine omp_unset_lock(svar) bind(c)
479!DIR$ IF(__INTEL_COMPILER.GE.1400)
480!DIR$ attributes known_intrinsic :: omp_unset_lock
481!DIR$ ENDIF
482          import
483          integer (kind=omp_lock_kind) svar
484        end subroutine omp_unset_lock
485
486        function omp_test_lock(svar) bind(c)
487!DIR$ IF(__INTEL_COMPILER.GE.1400)
488!DIR$ attributes known_intrinsic :: omp_test_lock
489!DIR$ ENDIF
490          import
491          logical (kind=omp_logical_kind) omp_test_lock
492          integer (kind=omp_lock_kind) svar
493        end function omp_test_lock
494
495        subroutine omp_init_nest_lock(nvar) bind(c)
496!DIR$ IF(__INTEL_COMPILER.GE.1400)
497!DIR$ attributes known_intrinsic :: omp_init_nest_lock
498!DIR$ ENDIF
499          import
500          integer (kind=omp_nest_lock_kind) nvar
501        end subroutine omp_init_nest_lock
502
503        subroutine omp_destroy_nest_lock(nvar) bind(c)
504!DIR$ IF(__INTEL_COMPILER.GE.1400)
505!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
506!DIR$ ENDIF
507          import
508          integer (kind=omp_nest_lock_kind) nvar
509        end subroutine omp_destroy_nest_lock
510
511        subroutine omp_set_nest_lock(nvar) bind(c)
512!DIR$ IF(__INTEL_COMPILER.GE.1400)
513!DIR$ attributes known_intrinsic :: omp_set_nest_lock
514!DIR$ ENDIF
515          import
516          integer (kind=omp_nest_lock_kind) nvar
517        end subroutine omp_set_nest_lock
518
519        subroutine omp_unset_nest_lock(nvar) bind(c)
520!DIR$ IF(__INTEL_COMPILER.GE.1400)
521!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
522!DIR$ ENDIF
523          import
524          integer (kind=omp_nest_lock_kind) nvar
525        end subroutine omp_unset_nest_lock
526
527        function omp_test_nest_lock(nvar) bind(c)
528!DIR$ IF(__INTEL_COMPILER.GE.1400)
529!DIR$ attributes known_intrinsic :: omp_test_nest_lock
530!DIR$ ENDIF
531          import
532          integer (kind=omp_integer_kind) omp_test_nest_lock
533          integer (kind=omp_nest_lock_kind) nvar
534        end function omp_test_nest_lock
535
536        function omp_get_max_task_priority() bind(c)
537          import
538          integer (kind=omp_integer_kind) omp_get_max_task_priority
539        end function omp_get_max_task_priority
540
541        function omp_init_allocator(memspace, ntraits, traits)
542          import
543          integer (omp_allocator_handle_kind) omp_init_allocator
544          integer (omp_memspace_handle_kind) :: memspace
545          integer (omp_integer_kind) :: ntraits
546          type(omp_alloctrait), intent(in) :: traits(*)
547        end function omp_init_allocator
548
549        subroutine omp_destroy_allocator(allocator) bind(c)
550          import
551          integer (omp_allocator_handle_kind), value :: allocator
552        end subroutine omp_destroy_allocator
553
554        subroutine omp_set_default_allocator(allocator) bind(c)
555          import
556          integer (omp_allocator_handle_kind), value :: allocator
557        end subroutine omp_set_default_allocator
558
559        function omp_get_default_allocator() bind(c)
560          import
561          integer (omp_allocator_handle_kind) omp_get_default_allocator
562        end function omp_get_default_allocator
563
564        subroutine omp_set_affinity_format(format)
565          character (len=*) :: format
566        end subroutine omp_set_affinity_format
567
568        function omp_get_affinity_format(buffer)
569          import
570          character (len=*) :: buffer
571          integer (kind=kmp_size_t_kind) :: omp_get_affinity_format
572        end function omp_get_affinity_format
573
574        subroutine omp_display_affinity(format)
575          character (len=*) :: format
576        end subroutine omp_display_affinity
577
578        function omp_capture_affinity(buffer, format)
579          import
580          character (len=*) :: format
581          character (len=*) :: buffer
582          integer (kind=kmp_size_t_kind) :: omp_capture_affinity
583        end function omp_capture_affinity
584
585        subroutine omp_set_num_teams(num_teams) bind(c)
586          import
587          integer (kind=omp_integer_kind), value :: num_teams
588        end subroutine omp_set_num_teams
589
590        function omp_get_max_teams() bind(c)
591          import
592          integer (kind=omp_integer_kind) omp_get_max_teams
593        end function omp_get_max_teams
594
595        subroutine omp_set_teams_thread_limit(thread_limit) bind(c)
596          import
597          use omp_lib_kinds
598          integer (kind=omp_integer_kind), value :: thread_limit
599        end subroutine omp_set_teams_thread_limit
600
601        function omp_get_teams_thread_limit() bind(c)
602          import
603          use omp_lib_kinds
604          integer (kind=omp_integer_kind) omp_get_teams_thread_limit
605        end function omp_get_teams_thread_limit
606
607        subroutine omp_display_env(verbose) bind(c)
608          import
609          logical (kind=omp_logical_kind), value :: verbose
610        end subroutine omp_display_env
611
612        function omp_target_alloc(size, device_num) bind(c)
613          use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
614          type(c_ptr) omp_target_alloc
615          integer(c_size_t), value :: size
616          integer(c_int), value :: device_num
617        end function omp_target_alloc
618
619        subroutine omp_target_free(device_ptr, device_num) bind(c)
620          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
621          type(c_ptr), value :: device_ptr
622          integer(c_int), value :: device_num
623        end subroutine omp_target_free
624
625        function omp_target_is_present(ptr, device_num) bind(c)
626          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
627          integer(c_int) omp_target_is_present
628          type(c_ptr), value :: ptr
629          integer(c_int), value :: device_num
630        end function omp_target_is_present
631
632        function omp_target_memcpy(dst, src, length, dst_offset,                                                                    &
633     &      src_offset, dst_device_num, src_device_num) bind(c)
634          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
635          integer(c_int) omp_target_memcpy
636          type(c_ptr), value :: dst, src
637          integer(c_size_t), value :: length, dst_offset, src_offset
638          integer(c_int), value :: dst_device_num, src_device_num
639        end function omp_target_memcpy
640
641        function omp_target_memcpy_rect(dst, src, element_size,                                                                     &
642     &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,                                                             &
643     &      src_dimensions, dst_device_num, src_device_num) bind(c)
644          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
645          integer(c_int) omp_target_memcpy_rect
646          type(c_ptr), value :: dst, src
647          integer(c_size_t), value :: element_size
648          integer(c_int), value :: num_dims, dst_device_num,                                                                        &
649     &        src_device_num
650          integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),                                                               &
651     &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
652        end function omp_target_memcpy_rect
653
654        function omp_target_memcpy_async(dst, src, length, dst_offset,                                                              &
655     &      src_offset, dst_device_num, src_device_num, depobj_count,                                                               &
656     &      depobj_list) bind(c)
657          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
658          import
659          integer(c_int) omp_target_memcpy_async
660          type(c_ptr), value :: dst, src
661          integer(c_size_t), value :: length, dst_offset, src_offset
662          integer(c_int), value :: dst_device_num, src_device_num,                                                                  &
663     &        depobj_count
664          integer(omp_depend_kind), optional :: depobj_list(*)
665        end function omp_target_memcpy_async
666
667        function omp_target_memcpy_rect_async(dst, src, element_size,                                                               &
668     &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,                                                             &
669     &      src_dimensions, dst_device_num, src_device_num,                                                                         &
670     &      depobj_count, depobj_list) bind(c)
671          use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
672          import
673          integer(c_int) omp_target_memcpy_rect_async
674          type(c_ptr), value :: dst, src
675          integer(c_size_t), value :: element_size
676          integer(c_int), value :: num_dims, dst_device_num,                                                                        &
677     &        src_device_num, depobj_count
678          integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),                                                               &
679     &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
680          integer(omp_depend_kind), optional :: depobj_list(*)
681        end function omp_target_memcpy_rect_async
682
683        function omp_target_associate_ptr(host_ptr, device_ptr, size,                                                               &
684     &      device_offset, device_num) bind(c)
685          use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
686          integer(c_int) omp_target_associate_ptr
687          type(c_ptr), value :: host_ptr, device_ptr
688          integer(c_size_t), value :: size, device_offset
689          integer(c_int), value :: device_num
690        end function omp_target_associate_ptr
691
692        function omp_get_mapped_ptr(ptr, device_num) bind(c)
693          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
694          type(c_ptr) omp_get_mapped_ptr
695          type(c_ptr), value :: ptr
696          integer(c_int), value :: device_num
697        end function omp_get_mapped_ptr
698
699        function omp_target_disassociate_ptr(ptr, device_num) bind(c)
700          use, intrinsic :: iso_c_binding, only : c_ptr, c_int
701          integer(c_int) omp_target_disassociate_ptr
702          type(c_ptr), value :: ptr
703          integer(c_int), value :: device_num
704        end function omp_target_disassociate_ptr
705
706!       ***
707!       *** kmp_* entry points
708!       ***
709
710        subroutine kmp_set_stacksize(size) bind(c)
711          import
712          integer (kind=omp_integer_kind), value :: size
713        end subroutine kmp_set_stacksize
714
715        subroutine kmp_set_stacksize_s(size) bind(c)
716          import
717          integer (kind=kmp_size_t_kind), value :: size
718        end subroutine kmp_set_stacksize_s
719
720        subroutine kmp_set_blocktime(msec) bind(c)
721          import
722          integer (kind=omp_integer_kind), value :: msec
723        end subroutine kmp_set_blocktime
724
725        subroutine kmp_set_library_serial() bind(c)
726        end subroutine kmp_set_library_serial
727
728        subroutine kmp_set_library_turnaround() bind(c)
729        end subroutine kmp_set_library_turnaround
730
731        subroutine kmp_set_library_throughput() bind(c)
732        end subroutine kmp_set_library_throughput
733
734        subroutine kmp_set_library(libnum) bind(c)
735          import
736          integer (kind=omp_integer_kind), value :: libnum
737        end subroutine kmp_set_library
738
739        subroutine kmp_set_defaults(string) bind(c)
740          character string(*)
741        end subroutine kmp_set_defaults
742
743        function kmp_get_stacksize() bind(c)
744          import
745          integer (kind=omp_integer_kind) kmp_get_stacksize
746        end function kmp_get_stacksize
747
748        function kmp_get_stacksize_s() bind(c)
749          import
750          integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
751        end function kmp_get_stacksize_s
752
753        function kmp_get_blocktime() bind(c)
754          import
755          integer (kind=omp_integer_kind) kmp_get_blocktime
756        end function kmp_get_blocktime
757
758        function kmp_get_library() bind(c)
759          import
760          integer (kind=omp_integer_kind) kmp_get_library
761        end function kmp_get_library
762
763        subroutine kmp_set_disp_num_buffers(num) bind(c)
764          import
765          integer (kind=omp_integer_kind), value :: num
766        end subroutine kmp_set_disp_num_buffers
767
768        function kmp_set_affinity(mask) bind(c)
769          import
770          integer (kind=omp_integer_kind) kmp_set_affinity
771          integer (kind=kmp_affinity_mask_kind) mask
772        end function kmp_set_affinity
773
774        function kmp_get_affinity(mask) bind(c)
775          import
776          integer (kind=omp_integer_kind) kmp_get_affinity
777          integer (kind=kmp_affinity_mask_kind) mask
778        end function kmp_get_affinity
779
780        function kmp_get_affinity_max_proc() bind(c)
781          import
782          integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
783        end function kmp_get_affinity_max_proc
784
785        subroutine kmp_create_affinity_mask(mask) bind(c)
786          import
787          integer (kind=kmp_affinity_mask_kind) mask
788        end subroutine kmp_create_affinity_mask
789
790        subroutine kmp_destroy_affinity_mask(mask) bind(c)
791          import
792          integer (kind=kmp_affinity_mask_kind) mask
793        end subroutine kmp_destroy_affinity_mask
794
795        function kmp_set_affinity_mask_proc(proc, mask) bind(c)
796          import
797          integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
798          integer (kind=omp_integer_kind), value :: proc
799          integer (kind=kmp_affinity_mask_kind) mask
800        end function kmp_set_affinity_mask_proc
801
802        function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
803          import
804          integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
805          integer (kind=omp_integer_kind), value :: proc
806          integer (kind=kmp_affinity_mask_kind) mask
807        end function kmp_unset_affinity_mask_proc
808
809        function kmp_get_affinity_mask_proc(proc, mask) bind(c)
810          import
811          integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
812          integer (kind=omp_integer_kind), value :: proc
813          integer (kind=kmp_affinity_mask_kind) mask
814        end function kmp_get_affinity_mask_proc
815
816        function kmp_malloc(size) bind(c)
817          import
818          integer (kind=kmp_pointer_kind) kmp_malloc
819          integer (kind=kmp_size_t_kind), value :: size
820        end function kmp_malloc
821
822        function kmp_aligned_malloc(size, alignment) bind(c)
823          import
824          integer (kind=kmp_pointer_kind) kmp_aligned_malloc
825          integer (kind=kmp_size_t_kind), value :: size
826          integer (kind=kmp_size_t_kind), value :: alignment
827        end function kmp_aligned_malloc
828
829        function kmp_calloc(nelem, elsize) bind(c)
830          import
831          integer (kind=kmp_pointer_kind) kmp_calloc
832          integer (kind=kmp_size_t_kind), value :: nelem
833          integer (kind=kmp_size_t_kind), value :: elsize
834        end function kmp_calloc
835
836        function kmp_realloc(ptr, size) bind(c)
837          import
838          integer (kind=kmp_pointer_kind) kmp_realloc
839          integer (kind=kmp_pointer_kind), value :: ptr
840          integer (kind=kmp_size_t_kind), value :: size
841        end function kmp_realloc
842
843        subroutine kmp_free(ptr) bind(c)
844          import
845          integer (kind=kmp_pointer_kind), value :: ptr
846        end subroutine kmp_free
847
848        subroutine kmp_set_warnings_on() bind(c)
849        end subroutine kmp_set_warnings_on
850
851        subroutine kmp_set_warnings_off() bind(c)
852        end subroutine kmp_set_warnings_off
853
854        subroutine omp_init_lock_with_hint(svar, hint) bind(c)
855          import
856          integer (kind=omp_lock_kind) svar
857          integer (kind=omp_lock_hint_kind), value :: hint
858        end subroutine omp_init_lock_with_hint
859
860        subroutine omp_init_nest_lock_with_hint(nvar, hint) bind(c)
861          import
862          integer (kind=omp_nest_lock_kind) nvar
863          integer (kind=omp_lock_hint_kind), value :: hint
864        end subroutine omp_init_nest_lock_with_hint
865
866        function omp_control_tool(command, modifier, arg) bind(c)
867          import
868          integer (kind=omp_integer_kind) omp_control_tool
869          integer (kind=omp_control_tool_kind), value :: command
870          integer (kind=omp_control_tool_kind), value :: modifier
871          integer (kind=kmp_pointer_kind), optional :: arg
872        end function omp_control_tool
873
874      end interface
875
876!DIR$ IF DEFINED (__INTEL_OFFLOAD)
877
878!DIR$ IF(__INTEL_COMPILER.LT.1900)
879!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_num_threads
880!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_dynamic
881!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nested
882!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_threads
883!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_threads
884!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_num
885!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_procs
886!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_parallel
887!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_final
888!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_dynamic
889!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_nested
890!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_limit
891!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_max_active_levels
892!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_active_levels
893!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_level
894!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_active_level
895!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_ancestor_thread_num
896!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_size
897!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_schedule
898!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_schedule
899!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_proc_bind
900!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtime
901!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtick
902!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device
903!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device
904!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device
905!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_initial_device
906!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices
907!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_device_num
908!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource
909!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource_all
910!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_supported_active_levels
911!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_fulfill_event
912!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams
913!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num
914!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock
915!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_lock
916!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_lock
917!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_lock
918!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_lock
919!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock
920!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_nest_lock
921!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nest_lock
922!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_nest_lock
923!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_nest_lock
924!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_task_priority
925!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_affinity_format
926!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_affinity_format
927!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_display_affinity
928!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_capture_affinity
929!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize
930!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize_s
931!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_blocktime
932!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_serial
933!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_turnaround
934!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_throughput
935!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library
936!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_defaults
937!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize
938!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize_s
939!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_blocktime
940!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_library
941!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_disp_num_buffers
942!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity
943!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity
944!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_max_proc
945!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_create_affinity_mask
946!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_destroy_affinity_mask
947!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity_mask_proc
948!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_unset_affinity_mask_proc
949!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_mask_proc
950!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_malloc
951!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_aligned_malloc
952!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_calloc
953!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_realloc
954!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_free
955!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_on
956!DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_off
957!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock_with_hint
958!DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock_with_hint
959!DIR$ ENDIF
960
961!DIR$ IF(__INTEL_COMPILER.GE.1400)
962!$omp declare target(omp_set_num_threads )
963!$omp declare target(omp_set_dynamic )
964!$omp declare target(omp_set_nested )
965!$omp declare target(omp_get_num_threads )
966!$omp declare target(omp_get_max_threads )
967!$omp declare target(omp_get_thread_num )
968!$omp declare target(omp_get_num_procs )
969!$omp declare target(omp_in_parallel )
970!$omp declare target(omp_in_final )
971!$omp declare target(omp_get_dynamic )
972!$omp declare target(omp_get_nested )
973!$omp declare target(omp_get_thread_limit )
974!$omp declare target(omp_set_max_active_levels )
975!$omp declare target(omp_get_max_active_levels )
976!$omp declare target(omp_get_level )
977!$omp declare target(omp_get_active_level )
978!$omp declare target(omp_get_ancestor_thread_num )
979!$omp declare target(omp_get_team_size )
980!$omp declare target(omp_set_schedule )
981!$omp declare target(omp_get_schedule )
982!$omp declare target(omp_get_proc_bind )
983!$omp declare target(omp_get_wtime )
984!$omp declare target(omp_get_wtick )
985!$omp declare target(omp_get_default_device )
986!$omp declare target(omp_set_default_device )
987!$omp declare target(omp_is_initial_device )
988!$omp declare target(omp_get_initial_device )
989!$omp declare target(omp_get_num_devices )
990!$omp declare target(omp_get_device_num )
991!$omp declare target(omp_pause_resource )
992!$omp declare target(omp_pause_resource_all )
993!$omp declare target(omp_get_supported_active_levels )
994!$omp declare target(omp_fulfill_event)
995!$omp declare target(omp_get_num_teams )
996!$omp declare target(omp_get_team_num )
997!$omp declare target(omp_init_lock )
998!$omp declare target(omp_destroy_lock )
999!$omp declare target(omp_set_lock )
1000!$omp declare target(omp_unset_lock )
1001!$omp declare target(omp_test_lock )
1002!$omp declare target(omp_init_nest_lock )
1003!$omp declare target(omp_destroy_nest_lock )
1004!$omp declare target(omp_set_nest_lock )
1005!$omp declare target(omp_unset_nest_lock )
1006!$omp declare target(omp_test_nest_lock )
1007!$omp declare target(omp_get_max_task_priority )
1008!$omp declare target(omp_set_affinity_format )
1009!$omp declare target(omp_get_affinity_format )
1010!$omp declare target(omp_display_affinity )
1011!$omp declare target(omp_capture_affinity )
1012!$omp declare target(kmp_set_stacksize )
1013!$omp declare target(kmp_set_stacksize_s )
1014!$omp declare target(kmp_set_blocktime )
1015!$omp declare target(kmp_set_library_serial )
1016!$omp declare target(kmp_set_library_turnaround )
1017!$omp declare target(kmp_set_library_throughput )
1018!$omp declare target(kmp_set_library )
1019!$omp declare target(kmp_set_defaults )
1020!$omp declare target(kmp_get_stacksize )
1021!$omp declare target(kmp_get_stacksize_s )
1022!$omp declare target(kmp_get_blocktime )
1023!$omp declare target(kmp_get_library )
1024!$omp declare target(kmp_set_disp_num_buffers )
1025!$omp declare target(kmp_set_affinity )
1026!$omp declare target(kmp_get_affinity )
1027!$omp declare target(kmp_get_affinity_max_proc )
1028!$omp declare target(kmp_create_affinity_mask )
1029!$omp declare target(kmp_destroy_affinity_mask )
1030!$omp declare target(kmp_set_affinity_mask_proc )
1031!$omp declare target(kmp_unset_affinity_mask_proc )
1032!$omp declare target(kmp_get_affinity_mask_proc )
1033!$omp declare target(kmp_malloc )
1034!$omp declare target(kmp_aligned_malloc )
1035!$omp declare target(kmp_calloc )
1036!$omp declare target(kmp_realloc )
1037!$omp declare target(kmp_free )
1038!$omp declare target(kmp_set_warnings_on )
1039!$omp declare target(kmp_set_warnings_off )
1040!$omp declare target(omp_init_lock_with_hint )
1041!$omp declare target(omp_init_nest_lock_with_hint )
1042!DIR$ ENDIF
1043!DIR$ ENDIF
1044