[OptTable] Fix typo VALUE => VALUES (NFCI) (#121523)
[llvm-project.git] / openmp / runtime / src / include / omp_lib.h.var
blobdb1dc889d129989f6ab155d71a92ee9d33f8e5cc
1 ! include/omp_lib.h.var
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 !//===----------------------------------------------------------------------===//
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       integer omp_interop_kind
56       parameter(omp_interop_kind=int_ptr_kind())
57       integer omp_interop_fr_kind
58       parameter(omp_interop_fr_kind=omp_integer_kind)
60       integer(kind=omp_integer_kind)openmp_version
61       parameter(openmp_version=@LIBOMP_OMP_YEAR_MONTH@)
62       integer(kind=omp_integer_kind)kmp_version_major
63       parameter(kmp_version_major=@LIBOMP_VERSION_MAJOR@)
64       integer(kind=omp_integer_kind)kmp_version_minor
65       parameter(kmp_version_minor=@LIBOMP_VERSION_MINOR@)
66       integer(kind=omp_integer_kind)kmp_version_build
67       parameter(kmp_version_build=@LIBOMP_VERSION_BUILD@)
68       character(*)kmp_build_date
69       parameter(kmp_build_date='@LIBOMP_BUILD_DATE@')
71       integer(kind=omp_sched_kind)omp_sched_static
72       parameter(omp_sched_static=1)
73       integer(kind=omp_sched_kind)omp_sched_dynamic
74       parameter(omp_sched_dynamic=2)
75       integer(kind=omp_sched_kind)omp_sched_guided
76       parameter(omp_sched_guided=3)
77       integer(kind=omp_sched_kind)omp_sched_auto
78       parameter(omp_sched_auto=4)
79       integer(kind=omp_sched_kind)omp_sched_monotonic
80       parameter(omp_sched_monotonic=Z'80000000')
82       integer(kind=omp_proc_bind_kind)omp_proc_bind_false
83       parameter(omp_proc_bind_false=0)
84       integer(kind=omp_proc_bind_kind)omp_proc_bind_true
85       parameter(omp_proc_bind_true=1)
86       integer(kind=omp_proc_bind_kind)omp_proc_bind_master
87       parameter(omp_proc_bind_master=2)
88       integer(kind=omp_proc_bind_kind)omp_proc_bind_close
89       parameter(omp_proc_bind_close=3)
90       integer(kind=omp_proc_bind_kind)omp_proc_bind_spread
91       parameter(omp_proc_bind_spread=4)
93       integer(kind=omp_sync_hint_kind)omp_sync_hint_none
94       parameter(omp_sync_hint_none=0)
95       integer(kind=omp_sync_hint_kind)omp_sync_hint_uncontended
96       parameter(omp_sync_hint_uncontended=1)
97       integer(kind=omp_sync_hint_kind)omp_sync_hint_contended
98       parameter(omp_sync_hint_contended=2)
99       integer(kind=omp_sync_hint_kind)omp_sync_hint_nonspeculative
100       parameter(omp_sync_hint_nonspeculative=4)
101       integer(kind=omp_sync_hint_kind)omp_sync_hint_speculative
102       parameter(omp_sync_hint_speculative=8)
103       integer(kind=omp_lock_hint_kind)omp_lock_hint_none
104       parameter(omp_lock_hint_none=omp_sync_hint_none)
105       integer(kind=omp_lock_hint_kind)omp_lock_hint_uncontended
106       parameter(omp_lock_hint_uncontended=omp_sync_hint_uncontended)
107       integer(kind=omp_lock_hint_kind)omp_lock_hint_contended
108       parameter(omp_lock_hint_contended=omp_sync_hint_contended)
109       integer(kind=omp_lock_hint_kind)omp_lock_hint_nonspeculative
110       parameter(omp_lock_hint_nonspeculative=4)
111       integer(kind=omp_lock_hint_kind)omp_lock_hint_speculative
112       parameter(omp_lock_hint_speculative=omp_sync_hint_speculative)
113       integer(kind=omp_lock_hint_kind)kmp_lock_hint_hle
114       parameter(kmp_lock_hint_hle=65536)
115       integer(kind=omp_lock_hint_kind)kmp_lock_hint_rtm
116       parameter(kmp_lock_hint_rtm=131072)
117       integer(kind=omp_lock_hint_kind)kmp_lock_hint_adaptive
118       parameter(kmp_lock_hint_adaptive=262144)
120       integer(kind=omp_control_tool_kind)omp_control_tool_start
121       parameter(omp_control_tool_start=1)
122       integer(kind=omp_control_tool_kind)omp_control_tool_pause
123       parameter(omp_control_tool_pause=2)
124       integer(kind=omp_control_tool_kind)omp_control_tool_flush
125       parameter(omp_control_tool_flush=3)
126       integer(kind=omp_control_tool_kind)omp_control_tool_end
127       parameter(omp_control_tool_end=4)
129       integer(omp_control_tool_result_kind)omp_control_tool_notool
130       parameter(omp_control_tool_notool=-2)
131       integer(omp_control_tool_result_kind)omp_control_tool_nocallback
132       parameter(omp_control_tool_nocallback=-1)
133       integer(omp_control_tool_result_kind)omp_control_tool_success
134       parameter(omp_control_tool_success=0)
135       integer(omp_control_tool_result_kind)omp_control_tool_ignored
136       parameter(omp_control_tool_ignored=1)
138       integer(kind=omp_alloctrait_key_kind)omp_atk_sync_hint
139       parameter(omp_atk_sync_hint=1)
140       integer(kind=omp_alloctrait_key_kind)omp_atk_alignment
141       parameter(omp_atk_alignment=2)
142       integer(kind=omp_alloctrait_key_kind)omp_atk_access
143       parameter(omp_atk_access=3)
144       integer(kind=omp_alloctrait_key_kind)omp_atk_pool_size
145       parameter(omp_atk_pool_size=4)
146       integer(kind=omp_alloctrait_key_kind)omp_atk_fallback
147       parameter(omp_atk_fallback=5)
148       integer(kind=omp_alloctrait_key_kind)omp_atk_fb_data
149       parameter(omp_atk_fb_data=6)
150       integer(kind=omp_alloctrait_key_kind)omp_atk_pinned
151       parameter(omp_atk_pinned=7)
152       integer(kind=omp_alloctrait_key_kind)omp_atk_partition
153       parameter(omp_atk_partition=8)
155       integer(kind=omp_alloctrait_val_kind)omp_atv_default
156       parameter(omp_atv_default=-1)
157       ! Reserved for future use
158       integer(kind=omp_alloctrait_val_kind)omp_atv_false
159       parameter(omp_atv_false=0)
160       ! Reserved for future use
161       integer(kind=omp_alloctrait_val_kind)omp_atv_true
162       parameter(omp_atv_true=1)
163       integer(kind=omp_alloctrait_val_kind)omp_atv_contended
164       parameter(omp_atv_contended=3)
165       integer(kind=omp_alloctrait_val_kind)omp_atv_uncontended
166       parameter(omp_atv_uncontended=4)
167       integer(kind=omp_alloctrait_val_kind)omp_atv_serialized
168       parameter(omp_atv_serialized=5)
169       integer(kind=omp_alloctrait_val_kind)omp_atv_sequential
170       parameter(omp_atv_sequential=5)
171       integer(kind=omp_alloctrait_val_kind)omp_atv_private
172       parameter(omp_atv_private=6)
173       integer(kind=omp_alloctrait_val_kind)omp_atv_all
174       parameter(omp_atv_all=7)
175       integer(kind=omp_alloctrait_val_kind)omp_atv_thread
176       parameter(omp_atv_thread=8)
177       integer(kind=omp_alloctrait_val_kind)omp_atv_pteam
178       parameter(omp_atv_pteam=9)
179       integer(kind=omp_alloctrait_val_kind)omp_atv_cgroup
180       parameter(omp_atv_cgroup=10)
181       integer(kind=omp_alloctrait_val_kind)omp_atv_default_mem_fb
182       parameter(omp_atv_default_mem_fb=11)
183       integer(kind=omp_alloctrait_val_kind)omp_atv_null_fb
184       parameter(omp_atv_null_fb=12)
185       integer(kind=omp_alloctrait_val_kind)omp_atv_abort_fb
186       parameter(omp_atv_abort_fb=13)
187       integer(kind=omp_alloctrait_val_kind)omp_atv_allocator_fb
188       parameter(omp_atv_allocator_fb=14)
189       integer(kind=omp_alloctrait_val_kind)omp_atv_environment
190       parameter(omp_atv_environment=15)
191       integer(kind=omp_alloctrait_val_kind)omp_atv_nearest
192       parameter(omp_atv_nearest=16)
193       integer(kind=omp_alloctrait_val_kind)omp_atv_blocked
194       parameter(omp_atv_blocked=17)
195       integer(kind=omp_alloctrait_val_kind)omp_atv_interleaved
196       parameter(omp_atv_interleaved=18)
198       type omp_alloctrait
199         integer (kind=omp_alloctrait_key_kind) key
200         integer (kind=omp_alloctrait_val_kind) value
201       end type omp_alloctrait
203       integer(kind=omp_allocator_handle_kind)omp_null_allocator
204       parameter(omp_null_allocator=0)
205       integer(kind=omp_allocator_handle_kind)omp_default_mem_alloc
206       parameter(omp_default_mem_alloc=1)
207       integer(kind=omp_allocator_handle_kind)omp_large_cap_mem_alloc
208       parameter(omp_large_cap_mem_alloc=2)
209       integer(kind=omp_allocator_handle_kind)omp_const_mem_alloc
210       parameter(omp_const_mem_alloc=3)
211       integer(kind=omp_allocator_handle_kind)omp_high_bw_mem_alloc
212       parameter(omp_high_bw_mem_alloc=4)
213       integer(kind=omp_allocator_handle_kind)omp_low_lat_mem_alloc
214       parameter(omp_low_lat_mem_alloc=5)
215       integer(kind=omp_allocator_handle_kind)omp_cgroup_mem_alloc
216       parameter(omp_cgroup_mem_alloc=6)
217       integer(kind=omp_allocator_handle_kind)omp_pteam_mem_alloc
218       parameter(omp_pteam_mem_alloc=7)
219       integer(kind=omp_allocator_handle_kind)omp_thread_mem_alloc
220       parameter(omp_thread_mem_alloc=8)
221       integer(omp_allocator_handle_kind)llvm_omp_target_host_mem_alloc
222       parameter(llvm_omp_target_host_mem_alloc=100)
223       integer(omp_allocator_handle_kind)llvm_omp_target_shared_mem_alloc
224       parameter(llvm_omp_target_shared_mem_alloc=101)
225       integer(omp_allocator_handle_kind)llvm_omp_target_device_mem_alloc
226       parameter(llvm_omp_target_device_mem_alloc=102)
228       integer(kind=omp_memspace_handle_kind)omp_default_mem_space
229       parameter(omp_default_mem_space=0)
230       integer(kind=omp_memspace_handle_kind)omp_large_cap_mem_space
231       parameter(omp_large_cap_mem_space=1)
232       integer(kind=omp_memspace_handle_kind)omp_const_mem_space
233       parameter(omp_const_mem_space=2)
234       integer(kind=omp_memspace_handle_kind)omp_high_bw_mem_space
235       parameter(omp_high_bw_mem_space=3)
236       integer(kind=omp_memspace_handle_kind)omp_low_lat_mem_space
237       parameter(omp_low_lat_mem_space=4)
238       integer(omp_memspace_handle_kind)llvm_omp_target_host_mem_space
239       parameter(llvm_omp_target_host_mem_space=100)
240       integer(omp_memspace_handle_kind)llvm_omp_target_shared_mem_space
241       parameter(llvm_omp_target_shared_mem_space=101)
242       integer(omp_memspace_handle_kind)llvm_omp_target_device_mem_space
243       parameter(llvm_omp_target_device_mem_space=102)
245       integer(kind=omp_pause_resource_kind)omp_pause_resume
246       parameter(omp_pause_resume=0)
247       integer(kind=omp_pause_resource_kind)omp_pause_soft
248       parameter(omp_pause_soft=1)
249       integer(kind=omp_pause_resource_kind)omp_pause_hard
250       parameter(omp_pause_hard=2)
251       integer(kind=omp_pause_resource_kind)omp_pause_stop_tool
252       parameter(omp_pause_stop_tool=3)
254       integer(kind=omp_interop_fr_kind)omp_ifr_cuda
255       parameter(omp_ifr_cuda=1)
256       integer(kind=omp_interop_fr_kind)omp_ifr_cuda_driver
257       parameter(omp_ifr_cuda_driver=2)
258       integer(kind=omp_interop_fr_kind)omp_ifr_opencl
259       parameter(omp_ifr_opencl=3)
260       integer(kind=omp_interop_fr_kind)omp_ifr_sycl
261       parameter(omp_ifr_sycl=4)
262       integer(kind=omp_interop_fr_kind)omp_ifr_hip
263       parameter(omp_ifr_hip=5)
264       integer(kind=omp_interop_fr_kind)omp_ifr_level_zero
265       parameter(omp_ifr_level_zero=6)
266       integer(kind=omp_interop_fr_kind)omp_ifr_last
267       parameter(omp_ifr_last=7)
269       integer(kind=omp_interop_kind)omp_interop_none
270       parameter(omp_interop_none=0)
272       interface
274 !       ***
275 !       *** omp_* entry points
276 !       ***
278         subroutine omp_set_num_threads(num_threads) bind(c)
279           import
280           integer (kind=omp_integer_kind), value :: num_threads
281         end subroutine omp_set_num_threads
283         subroutine omp_set_dynamic(dynamic_threads) bind(c)
284           import
285           logical (kind=omp_logical_kind), value :: dynamic_threads
286         end subroutine omp_set_dynamic
288         subroutine omp_set_nested(nested) bind(c)
289           import
290           logical (kind=omp_logical_kind), value :: nested
291         end subroutine omp_set_nested
293         function omp_get_num_threads() bind(c)
294           import
295           integer (kind=omp_integer_kind) omp_get_num_threads
296         end function omp_get_num_threads
298         function omp_get_max_threads() bind(c)
299           import
300           integer (kind=omp_integer_kind) omp_get_max_threads
301         end function omp_get_max_threads
303         function omp_get_thread_num() bind(c)
304           import
305           integer (kind=omp_integer_kind) omp_get_thread_num
306         end function omp_get_thread_num
308         function omp_get_num_procs() bind(c)
309           import
310           integer (kind=omp_integer_kind) omp_get_num_procs
311         end function omp_get_num_procs
313         function omp_in_parallel() bind(c)
314           import
315           logical (kind=omp_logical_kind) omp_in_parallel
316         end function omp_in_parallel
318         function omp_in_final() bind(c)
319           import
320           logical (kind=omp_logical_kind) omp_in_final
321         end function omp_in_final
323         function omp_get_dynamic() bind(c)
324           import
325           logical (kind=omp_logical_kind) omp_get_dynamic
326         end function omp_get_dynamic
328         function omp_get_nested() bind(c)
329           import
330           logical (kind=omp_logical_kind) omp_get_nested
331         end function omp_get_nested
333         function omp_get_thread_limit() bind(c)
334           import
335           integer (kind=omp_integer_kind) omp_get_thread_limit
336         end function omp_get_thread_limit
338         subroutine omp_set_max_active_levels(max_levels) bind(c)
339           import
340           integer (kind=omp_integer_kind), value :: max_levels
341         end subroutine omp_set_max_active_levels
343         function omp_get_max_active_levels() bind(c)
344           import
345           integer (kind=omp_integer_kind) omp_get_max_active_levels
346         end function omp_get_max_active_levels
348         function omp_get_level() bind(c)
349           import
350           integer (kind=omp_integer_kind) omp_get_level
351         end function omp_get_level
353         function omp_get_active_level() bind(c)
354           import
355           integer (kind=omp_integer_kind) omp_get_active_level
356         end function omp_get_active_level
358         function omp_get_ancestor_thread_num(level) bind(c)
359           import
360           integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
361           integer (kind=omp_integer_kind), value :: level
362         end function omp_get_ancestor_thread_num
364         function omp_get_team_size(level) bind(c)
365           import
366           integer (kind=omp_integer_kind) omp_get_team_size
367           integer (kind=omp_integer_kind), value :: level
368         end function omp_get_team_size
370         subroutine omp_set_schedule(kind, chunk_size) bind(c)
371           import
372           integer (kind=omp_sched_kind), value :: kind
373           integer (kind=omp_integer_kind), value :: chunk_size
374         end subroutine omp_set_schedule
376         subroutine omp_get_schedule(kind, chunk_size) bind(c)
377           import
378           integer (kind=omp_sched_kind) kind
379           integer (kind=omp_integer_kind) chunk_size
380         end subroutine omp_get_schedule
382         function omp_get_proc_bind() bind(c)
383           import
384           integer (kind=omp_proc_bind_kind) omp_get_proc_bind
385         end function omp_get_proc_bind
387         function omp_get_num_places() bind(c)
388           import
389           integer (kind=omp_integer_kind) omp_get_num_places
390         end function omp_get_num_places
392         function omp_get_place_num_procs(place_num) bind(c)
393           import
394           integer (kind=omp_integer_kind), value :: place_num
395           integer (kind=omp_integer_kind) omp_get_place_num_procs
396         end function omp_get_place_num_procs
398         subroutine omp_get_place_proc_ids(place_num, ids) bind(c)
399           import
400           integer (kind=omp_integer_kind), value :: place_num
401           integer (kind=omp_integer_kind) ids(*)
402         end subroutine omp_get_place_proc_ids
404         function omp_get_place_num() bind(c)
405           import
406           integer (kind=omp_integer_kind) omp_get_place_num
407         end function omp_get_place_num
409         function omp_get_partition_num_places() bind(c)
410           import
411           integer (kind=omp_integer_kind) omp_get_partition_num_places
412         end function omp_get_partition_num_places
414         subroutine omp_get_partition_place_nums(place_nums) bind(c)
415           import
416           integer (kind=omp_integer_kind) place_nums(*)
417         end subroutine omp_get_partition_place_nums
419         function omp_get_wtime() bind(c)
420           double precision omp_get_wtime
421         end function omp_get_wtime
423         function omp_get_wtick() bind(c)
424           double precision omp_get_wtick
425         end function omp_get_wtick
427         function omp_get_default_device() bind(c)
428           import
429           integer (kind=omp_integer_kind) omp_get_default_device
430         end function omp_get_default_device
432         subroutine omp_set_default_device(device_num) bind(c)
433           import
434           integer (kind=omp_integer_kind), value :: device_num
435         end subroutine omp_set_default_device
437         function omp_get_num_devices() bind(c)
438           import
439           integer (kind=omp_integer_kind) omp_get_num_devices
440         end function omp_get_num_devices
442         function omp_get_num_teams() bind(c)
443           import
444           integer (kind=omp_integer_kind) omp_get_num_teams
445         end function omp_get_num_teams
447         function omp_get_team_num() bind(c)
448           import
449           integer (kind=omp_integer_kind) omp_get_team_num
450         end function omp_get_team_num
452         function omp_is_initial_device() bind(c)
453           import
454           logical (kind=omp_logical_kind) omp_is_initial_device
455         end function omp_is_initial_device
457         function omp_get_initial_device() bind(c)
458           import
459           integer (kind=omp_integer_kind) omp_get_initial_device
460         end function omp_get_initial_device
462         function omp_get_device_num() bind(c)
463           import
464           integer (kind=omp_integer_kind) omp_get_device_num
465         end function omp_get_device_num
467         function omp_pause_resource(kind, device_num) bind(c)
468           import
469           integer (kind=omp_pause_resource_kind), value :: kind
470           integer (kind=omp_integer_kind), value :: device_num
471           integer (kind=omp_integer_kind) omp_pause_resource
472         end function omp_pause_resource
474         function omp_pause_resource_all(kind) bind(c)
475           import
476           integer (kind=omp_pause_resource_kind), value :: kind
477           integer (kind=omp_integer_kind) omp_pause_resource_all
478         end function omp_pause_resource_all
480         function omp_get_supported_active_levels() bind(c)
481           import
482           integer(kind=omp_integer_kind)omp_get_supported_active_levels
483         end function omp_get_supported_active_levels
485         subroutine omp_fulfill_event(event) bind(c)
486           import
487           integer (kind=omp_event_handle_kind), value :: event
488         end subroutine omp_fulfill_event
490         subroutine omp_init_lock(svar) bind(c)
491 #ifdef __INTEL_COMPILER
492 !DIR$ IF(__INTEL_COMPILER.GE.1400)
493 !DIR$ attributes known_intrinsic :: omp_init_lock
494 !DIR$ ENDIF
495 #endif
496           import
497           integer (kind=omp_lock_kind) svar
498         end subroutine omp_init_lock
500         subroutine omp_destroy_lock(svar) bind(c)
501 #ifdef __INTEL_COMPILER
502 !DIR$ IF(__INTEL_COMPILER.GE.1400)
503 !DIR$ attributes known_intrinsic :: omp_destroy_lock
504 !DIR$ ENDIF
505 #endif
506           import
507           integer (kind=omp_lock_kind) svar
508         end subroutine omp_destroy_lock
510         subroutine omp_set_lock(svar) bind(c)
511 #ifdef __INTEL_COMPILER
512 !DIR$ IF(__INTEL_COMPILER.GE.1400)
513 !DIR$ attributes known_intrinsic :: omp_set_lock
514 !DIR$ ENDIF
515 #endif
516           import
517           integer (kind=omp_lock_kind) svar
518         end subroutine omp_set_lock
520         subroutine omp_unset_lock(svar) bind(c)
521 #ifdef __INTEL_COMPILER
522 !DIR$ IF(__INTEL_COMPILER.GE.1400)
523 !DIR$ attributes known_intrinsic :: omp_unset_lock
524 !DIR$ ENDIF
525 #endif
526           import
527           integer (kind=omp_lock_kind) svar
528         end subroutine omp_unset_lock
530         function omp_test_lock(svar) bind(c)
531 #ifdef __INTEL_COMPILER
532 !DIR$ IF(__INTEL_COMPILER.GE.1400)
533 !DIR$ attributes known_intrinsic :: omp_test_lock
534 !DIR$ ENDIF
535 #endif
536           import
537           logical (kind=omp_logical_kind) omp_test_lock
538           integer (kind=omp_lock_kind) svar
539         end function omp_test_lock
541         subroutine omp_init_nest_lock(nvar) bind(c)
542 #ifdef __INTEL_COMPILER
543 !DIR$ IF(__INTEL_COMPILER.GE.1400)
544 !DIR$ attributes known_intrinsic :: omp_init_nest_lock
545 !DIR$ ENDIF
546 #endif
547           import
548           integer (kind=omp_nest_lock_kind) nvar
549         end subroutine omp_init_nest_lock
551         subroutine omp_destroy_nest_lock(nvar) bind(c)
552 #ifdef __INTEL_COMPILER
553 !DIR$ IF(__INTEL_COMPILER.GE.1400)
554 !DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
555 !DIR$ ENDIF
556 #endif
557           import
558           integer (kind=omp_nest_lock_kind) nvar
559         end subroutine omp_destroy_nest_lock
561         subroutine omp_set_nest_lock(nvar) bind(c)
562 #ifdef __INTEL_COMPILER
563 !DIR$ IF(__INTEL_COMPILER.GE.1400)
564 !DIR$ attributes known_intrinsic :: omp_set_nest_lock
565 !DIR$ ENDIF
566 #endif
567           import
568           integer (kind=omp_nest_lock_kind) nvar
569         end subroutine omp_set_nest_lock
571         subroutine omp_unset_nest_lock(nvar) bind(c)
572 #ifdef __INTEL_COMPILER
573 !DIR$ IF(__INTEL_COMPILER.GE.1400)
574 !DIR$ attributes known_intrinsic :: omp_unset_nest_lock
575 !DIR$ ENDIF
576 #endif
577           import
578           integer (kind=omp_nest_lock_kind) nvar
579         end subroutine omp_unset_nest_lock
581         function omp_test_nest_lock(nvar) bind(c)
582 #ifdef __INTEL_COMPILER
583 !DIR$ IF(__INTEL_COMPILER.GE.1400)
584 !DIR$ attributes known_intrinsic :: omp_test_nest_lock
585 !DIR$ ENDIF
586 #endif
587           import
588           integer (kind=omp_integer_kind) omp_test_nest_lock
589           integer (kind=omp_nest_lock_kind) nvar
590         end function omp_test_nest_lock
592         function omp_get_max_task_priority() bind(c)
593           import
594           integer (kind=omp_integer_kind) omp_get_max_task_priority
595         end function omp_get_max_task_priority
597         subroutine omp_init_lock_with_hint(svar, hint) bind(c)
598           import
599           integer (kind=omp_lock_kind) svar
600           integer (kind=omp_lock_hint_kind), value :: hint
601         end subroutine omp_init_lock_with_hint
603         subroutine omp_init_nest_lock_with_hint(nvar, hint) bind(c)
604           import
605           integer (kind=omp_nest_lock_kind) nvar
606           integer (kind=omp_lock_hint_kind), value :: hint
607         end subroutine omp_init_nest_lock_with_hint
609         function omp_control_tool(command, modifier, arg) bind(c)
610           import
611           integer (kind=omp_integer_kind) omp_control_tool
612           integer (kind=omp_control_tool_kind), value :: command
613           integer (kind=omp_control_tool_kind), value :: modifier
614           integer (kind=kmp_pointer_kind), optional :: arg
615         end function omp_control_tool
617         function omp_init_allocator(memspace, ntraits, traits)
618           import
619           integer (omp_allocator_handle_kind) omp_init_allocator
620           integer (omp_memspace_handle_kind) :: memspace
621           integer (omp_integer_kind) :: ntraits
622           type(omp_alloctrait), intent(in) :: traits(*)
623         end function omp_init_allocator
625         subroutine omp_destroy_allocator(allocator) bind(c)
626           import
627           integer (omp_allocator_handle_kind), value :: allocator
628         end subroutine omp_destroy_allocator
630         subroutine omp_set_default_allocator(allocator) bind(c)
631           import
632           integer (omp_allocator_handle_kind), value :: allocator
633         end subroutine omp_set_default_allocator
635         function omp_get_default_allocator() bind(c)
636           import
637           integer (omp_allocator_handle_kind) omp_get_default_allocator
638         end function omp_get_default_allocator
640         subroutine omp_set_affinity_format(format)
641           character (len=*) :: format
642         end subroutine omp_set_affinity_format
644         function omp_get_affinity_format(buffer)
645           import
646           character (len=*) :: buffer
647           integer (kind=kmp_size_t_kind) :: omp_get_affinity_format
648         end function omp_get_affinity_format
650         subroutine omp_display_affinity(format)
651           character (len=*) :: format
652         end subroutine omp_display_affinity
654         function omp_capture_affinity(buffer, format)
655           import
656           character (len=*) :: format
657           character (len=*) :: buffer
658           integer (kind=kmp_size_t_kind) :: omp_capture_affinity
659         end function omp_capture_affinity
661         subroutine omp_set_num_teams(num_teams) bind(c)
662           import
663           integer (kind=omp_integer_kind), value :: num_teams
664         end subroutine omp_set_num_teams
666         function omp_get_max_teams() bind(c)
667           import
668           integer (kind=omp_integer_kind) omp_get_max_teams
669         end function omp_get_max_teams
671         subroutine omp_set_teams_thread_limit(thread_limit) bind(c)
672           import
673           integer (kind=omp_integer_kind), value :: thread_limit
674         end subroutine omp_set_teams_thread_limit
676         function omp_get_teams_thread_limit() bind(c)
677           import
678           integer (kind=omp_integer_kind) omp_get_teams_thread_limit
679         end function omp_get_teams_thread_limit
681         subroutine omp_display_env(verbose) bind(c)
682           import
683           logical (kind=omp_logical_kind), value :: verbose
684         end subroutine omp_display_env
686         function omp_target_alloc(size, device_num) bind(c)
687           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
688           type(c_ptr) omp_target_alloc
689           integer(c_size_t), value :: size
690           integer(c_int), value :: device_num
691         end function omp_target_alloc
693         subroutine omp_target_free(device_ptr, device_num) bind(c)
694           use, intrinsic :: iso_c_binding, only : c_ptr, c_int
695           type(c_ptr), value :: device_ptr
696           integer(c_int), value :: device_num
697         end subroutine omp_target_free
699         function omp_target_is_present(ptr, device_num) bind(c)
700           use, intrinsic :: iso_c_binding, only : c_ptr, c_int
701           integer(c_int) omp_target_is_present
702           type(c_ptr), value :: ptr
703           integer(c_int), value :: device_num
704         end function omp_target_is_present
706         function omp_target_memcpy(dst, src, length, dst_offset,                                                                    &
707      &      src_offset, dst_device_num, src_device_num) bind(c)
708           use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
709           integer(c_int) omp_target_memcpy
710           type(c_ptr), value :: dst, src
711           integer(c_size_t), value :: length, dst_offset, src_offset
712           integer(c_int), value :: dst_device_num, src_device_num
713         end function omp_target_memcpy
715         function omp_target_memcpy_rect(dst, src, element_size,                                                                     &
716      &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,                                                             &
717      &      src_dimensions, dst_device_num, src_device_num) bind(c)
718           use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
719           integer(c_int) omp_target_memcpy_rect
720           type(c_ptr), value :: dst, src
721           integer(c_size_t), value :: element_size
722           integer(c_int), value :: num_dims, dst_device_num,                                                                        &
723      &        src_device_num
724           integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),                                                               &
725      &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
726         end function omp_target_memcpy_rect
728         function omp_target_memcpy_async(dst, src, length, dst_offset,                                                              &
729      &      src_offset, dst_device_num, src_device_num, depobj_count,                                                               &
730      &      depobj_list) bind(c)
731           use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
732           import
733           integer(c_int) omp_target_memcpy_async
734           type(c_ptr), value :: dst, src
735           integer(c_size_t), value :: length, dst_offset, src_offset
736           integer(c_int), value :: dst_device_num, src_device_num,                                                                  &
737      &        depobj_count
738           integer(omp_depend_kind), optional :: depobj_list(*)
739         end function omp_target_memcpy_async
741         function omp_target_memcpy_rect_async(dst, src, element_size,                                                               &
742      &      num_dims, volume, dst_offsets, src_offsets, dst_dimensions,                                                             &
743      &      src_dimensions, dst_device_num, src_device_num,                                                                         &
744      &      depobj_count, depobj_list) bind(c)
745           use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
746           import
747           integer(c_int) omp_target_memcpy_rect_async
748           type(c_ptr), value :: dst, src
749           integer(c_size_t), value :: element_size
750           integer(c_int), value :: num_dims, dst_device_num,                                                                        &
751      &        src_device_num, depobj_count
752           integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),                                                               &
753      &        src_offsets(*), dst_dimensions(*), src_dimensions(*)
754           integer(omp_depend_kind), optional :: depobj_list(*)
755         end function omp_target_memcpy_rect_async
757         function omp_target_memset(ptr, val, count, device_num) bind(c)
758           use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
759           type(c_ptr) :: omp_target_memset
760           type(c_ptr), value :: ptr
761           integer(c_int), value :: val
762           integer(c_size_t), value :: count
763           integer(c_int), value :: device_num
764         end function
766         function omp_target_memset_async(ptr, val, count, device_num,                                                               &
767      &      depobj_count, depobj_list) bind(c)
768           use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t
769           import
770           type(c_ptr) :: omp_target_memset_async
771           type(c_ptr), value :: ptr
772           integer(c_int), value :: val
773           integer(c_size_t), value :: count
774           integer(c_int), value :: device_num
775           integer(c_int), value :: depobj_count
776           integer(omp_depend_kind), optional :: depobj_list(*)
777         end function
779         function omp_target_associate_ptr(host_ptr, device_ptr, size,                                                               &
780      &      device_offset, device_num) bind(c)
781           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
782           integer(c_int) omp_target_associate_ptr
783           type(c_ptr), value :: host_ptr, device_ptr
784           integer(c_size_t), value :: size, device_offset
785           integer(c_int), value :: device_num
786         end function omp_target_associate_ptr
788         function omp_get_mapped_ptr(ptr, device_num) bind(c)
789           use, intrinsic :: iso_c_binding, only : c_ptr, c_int
790           type(c_ptr) omp_get_mapped_ptr
791           type(c_ptr), value :: ptr
792           integer(c_int), value :: device_num
793         end function omp_get_mapped_ptr
795         function omp_target_disassociate_ptr(ptr, device_num) bind(c)
796           use, intrinsic :: iso_c_binding, only : c_ptr, c_int
797           integer(c_int) omp_target_disassociate_ptr
798           type(c_ptr), value :: ptr
799           integer(c_int), value :: device_num
800         end function omp_target_disassociate_ptr
802         function omp_target_is_accessible(ptr, size, device_num) bind(c)
803           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int
804           integer(c_int) omp_target_is_accessible
805           type(c_ptr), value :: ptr
806           integer(c_size_t), value :: size
807           integer(c_int), value :: device_num
808         end function omp_target_is_accessible
810         function omp_alloc(size, allocator) bind(c)
811           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
812           import :: omp_allocator_handle_kind
813           type(c_ptr) omp_alloc
814           integer(c_size_t), value :: size
815           integer(omp_allocator_handle_kind), value :: allocator
816         end function omp_alloc
818         function omp_aligned_alloc(alignment, size, allocator) bind(c)
819           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
820           import :: omp_allocator_handle_kind
821           type(c_ptr) omp_aligned_alloc
822           integer(c_size_t), value :: alignment, size
823           integer(omp_allocator_handle_kind), value :: allocator
824         end function omp_aligned_alloc
826         function omp_calloc(nmemb, size, allocator) bind(c)
827           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
828           import :: omp_allocator_handle_kind
829           type(c_ptr) omp_calloc
830           integer(c_size_t), value :: nmemb, size
831           integer(omp_allocator_handle_kind), value :: allocator
832         end function omp_calloc
834         function omp_aligned_calloc(alignment, nmemb, size,                                                                         &
835      &      allocator) bind(c)
836           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
837           import :: omp_allocator_handle_kind
838           type(c_ptr) omp_aligned_calloc
839           integer(c_size_t), value :: alignment, nmemb, size
840           integer(omp_allocator_handle_kind), value :: allocator
841         end function omp_aligned_calloc
843         function omp_realloc(ptr, size, allocator,                                                                                  &
844      &      free_allocator) bind(c)
845           use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t
846           import :: omp_allocator_handle_kind
847           type(c_ptr) omp_realloc
848           type(c_ptr), value :: ptr
849           integer(c_size_t), value :: size
850           integer(omp_allocator_handle_kind), value :: allocator
851           integer(omp_allocator_handle_kind), value :: free_allocator
852         end function omp_realloc
854         subroutine omp_free(ptr, allocator) bind(c)
855           use, intrinsic :: iso_c_binding, only : c_ptr
856           import :: omp_allocator_handle_kind
857           type(c_ptr), value :: ptr
858           integer(omp_allocator_handle_kind), value :: allocator
859         end subroutine omp_free
861         function omp_in_explicit_task() bind(c)
862           import
863           logical (kind=omp_logical_kind) omp_in_explicit_task
864         end function omp_in_explicit_task
866 !       ***
867 !       *** kmp_* entry points
868 !       ***
870         subroutine kmp_set_stacksize(size) bind(c)
871           import
872           integer (kind=omp_integer_kind), value :: size
873         end subroutine kmp_set_stacksize
875         subroutine kmp_set_stacksize_s(size) bind(c)
876           import
877           integer (kind=kmp_size_t_kind), value :: size
878         end subroutine kmp_set_stacksize_s
880         subroutine kmp_set_blocktime(msec) bind(c)
881           import
882           integer (kind=omp_integer_kind), value :: msec
883         end subroutine kmp_set_blocktime
885         subroutine kmp_set_library_serial() bind(c)
886         end subroutine kmp_set_library_serial
888         subroutine kmp_set_library_turnaround() bind(c)
889         end subroutine kmp_set_library_turnaround
891         subroutine kmp_set_library_throughput() bind(c)
892         end subroutine kmp_set_library_throughput
894         subroutine kmp_set_library(libnum) bind(c)
895           import
896           integer (kind=omp_integer_kind), value :: libnum
897         end subroutine kmp_set_library
899         subroutine kmp_set_defaults(string) bind(c)
900           character string(*)
901         end subroutine kmp_set_defaults
903         function kmp_get_stacksize() bind(c)
904           import
905           integer (kind=omp_integer_kind) kmp_get_stacksize
906         end function kmp_get_stacksize
908         function kmp_get_stacksize_s() bind(c)
909           import
910           integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
911         end function kmp_get_stacksize_s
913         function kmp_get_blocktime() bind(c)
914           import
915           integer (kind=omp_integer_kind) kmp_get_blocktime
916         end function kmp_get_blocktime
918         function kmp_get_library() bind(c)
919           import
920           integer (kind=omp_integer_kind) kmp_get_library
921         end function kmp_get_library
923         subroutine kmp_set_disp_num_buffers(num) bind(c)
924           import
925           integer (kind=omp_integer_kind), value :: num
926         end subroutine kmp_set_disp_num_buffers
928         function kmp_set_affinity(mask) bind(c)
929           import
930           integer (kind=omp_integer_kind) kmp_set_affinity
931           integer (kind=kmp_affinity_mask_kind) mask
932         end function kmp_set_affinity
934         function kmp_get_affinity(mask) bind(c)
935           import
936           integer (kind=omp_integer_kind) kmp_get_affinity
937           integer (kind=kmp_affinity_mask_kind) mask
938         end function kmp_get_affinity
940         function kmp_get_affinity_max_proc() bind(c)
941           import
942           integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
943         end function kmp_get_affinity_max_proc
945         subroutine kmp_create_affinity_mask(mask) bind(c)
946           import
947           integer (kind=kmp_affinity_mask_kind) mask
948         end subroutine kmp_create_affinity_mask
950         subroutine kmp_destroy_affinity_mask(mask) bind(c)
951           import
952           integer (kind=kmp_affinity_mask_kind) mask
953         end subroutine kmp_destroy_affinity_mask
955         function kmp_set_affinity_mask_proc(proc, mask) bind(c)
956           import
957           integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
958           integer (kind=omp_integer_kind), value :: proc
959           integer (kind=kmp_affinity_mask_kind) mask
960         end function kmp_set_affinity_mask_proc
962         function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
963           import
964           integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
965           integer (kind=omp_integer_kind), value :: proc
966           integer (kind=kmp_affinity_mask_kind) mask
967         end function kmp_unset_affinity_mask_proc
969         function kmp_get_affinity_mask_proc(proc, mask) bind(c)
970           import
971           integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
972           integer (kind=omp_integer_kind), value :: proc
973           integer (kind=kmp_affinity_mask_kind) mask
974         end function kmp_get_affinity_mask_proc
976         function kmp_malloc(size) bind(c)
977           import
978           integer (kind=kmp_pointer_kind) kmp_malloc
979           integer (kind=kmp_size_t_kind), value :: size
980         end function kmp_malloc
982         function kmp_aligned_malloc(size, alignment) bind(c)
983           import
984           integer (kind=kmp_pointer_kind) kmp_aligned_malloc
985           integer (kind=kmp_size_t_kind), value :: size
986           integer (kind=kmp_size_t_kind), value :: alignment
987         end function kmp_aligned_malloc
989         function kmp_calloc(nelem, elsize) bind(c)
990           import
991           integer (kind=kmp_pointer_kind) kmp_calloc
992           integer (kind=kmp_size_t_kind), value :: nelem
993           integer (kind=kmp_size_t_kind), value :: elsize
994         end function kmp_calloc
996         function kmp_realloc(ptr, size) bind(c)
997           import
998           integer (kind=kmp_pointer_kind) kmp_realloc
999           integer (kind=kmp_pointer_kind), value :: ptr
1000           integer (kind=kmp_size_t_kind), value :: size
1001         end function kmp_realloc
1003         subroutine kmp_free(ptr) bind(c)
1004           import
1005           integer (kind=kmp_pointer_kind), value :: ptr
1006         end subroutine kmp_free
1008         subroutine kmp_set_warnings_on() bind(c)
1009         end subroutine kmp_set_warnings_on
1011         subroutine kmp_set_warnings_off() bind(c)
1012         end subroutine kmp_set_warnings_off
1013       end interface
1015 #ifdef __INTEL_COMPILER
1016 !DIR$ IF DEFINED (__INTEL_OFFLOAD)
1018 !DIR$ IF(__INTEL_COMPILER.LT.1900)
1019 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_num_threads
1020 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_dynamic
1021 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nested
1022 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_threads
1023 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_threads
1024 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_num
1025 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_procs
1026 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_parallel
1027 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_final
1028 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_dynamic
1029 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_nested
1030 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_limit
1031 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_max_active_levels
1032 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_active_levels
1033 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_level
1034 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_active_level
1035 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_ancestor_thread_num
1036 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_size
1037 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_schedule
1038 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_schedule
1039 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_proc_bind
1040 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtime
1041 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtick
1042 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device
1043 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device
1044 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device
1045 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_initial_device
1046 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices
1047 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_device_num
1048 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource
1049 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_pause_resource_all
1050 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_supported_active_levels
1051 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_fulfill_event
1052 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams
1053 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num
1054 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock
1055 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_lock
1056 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_lock
1057 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_lock
1058 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_lock
1059 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock
1060 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_nest_lock
1061 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nest_lock
1062 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_nest_lock
1063 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_nest_lock
1064 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_task_priority
1065 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_affinity_format
1066 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_affinity_format
1067 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_display_affinity
1068 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_capture_affinity
1069 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize
1070 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize_s
1071 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_blocktime
1072 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_serial
1073 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_turnaround
1074 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_throughput
1075 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library
1076 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_defaults
1077 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize
1078 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize_s
1079 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_blocktime
1080 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_library
1081 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_disp_num_buffers
1082 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity
1083 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity
1084 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_max_proc
1085 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_create_affinity_mask
1086 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_destroy_affinity_mask
1087 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity_mask_proc
1088 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_unset_affinity_mask_proc
1089 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_mask_proc
1090 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_malloc
1091 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_aligned_malloc
1092 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_calloc
1093 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_realloc
1094 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_free
1095 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_on
1096 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_off
1097 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock_with_hint
1098 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock_with_hint
1099 !DIR$ ENDIF
1101 !DIR$ IF(__INTEL_COMPILER.GE.1400)
1102 !$omp declare target(omp_set_num_threads )
1103 !$omp declare target(omp_set_dynamic )
1104 !$omp declare target(omp_set_nested )
1105 !$omp declare target(omp_get_num_threads )
1106 !$omp declare target(omp_get_max_threads )
1107 !$omp declare target(omp_get_thread_num )
1108 !$omp declare target(omp_get_num_procs )
1109 !$omp declare target(omp_in_parallel )
1110 !$omp declare target(omp_in_final )
1111 !$omp declare target(omp_get_dynamic )
1112 !$omp declare target(omp_get_nested )
1113 !$omp declare target(omp_get_thread_limit )
1114 !$omp declare target(omp_set_max_active_levels )
1115 !$omp declare target(omp_get_max_active_levels )
1116 !$omp declare target(omp_get_level )
1117 !$omp declare target(omp_get_active_level )
1118 !$omp declare target(omp_get_ancestor_thread_num )
1119 !$omp declare target(omp_get_team_size )
1120 !$omp declare target(omp_set_schedule )
1121 !$omp declare target(omp_get_schedule )
1122 !$omp declare target(omp_get_proc_bind )
1123 !$omp declare target(omp_get_wtime )
1124 !$omp declare target(omp_get_wtick )
1125 !$omp declare target(omp_get_default_device )
1126 !$omp declare target(omp_set_default_device )
1127 !$omp declare target(omp_is_initial_device )
1128 !$omp declare target(omp_get_initial_device )
1129 !$omp declare target(omp_get_num_devices )
1130 !$omp declare target(omp_get_device_num )
1131 !$omp declare target(omp_pause_resource )
1132 !$omp declare target(omp_pause_resource_all )
1133 !$omp declare target(omp_get_supported_active_levels )
1134 !$omp declare target(omp_fulfill_event)
1135 !$omp declare target(omp_get_num_teams )
1136 !$omp declare target(omp_get_team_num )
1137 !$omp declare target(omp_init_lock )
1138 !$omp declare target(omp_destroy_lock )
1139 !$omp declare target(omp_set_lock )
1140 !$omp declare target(omp_unset_lock )
1141 !$omp declare target(omp_test_lock )
1142 !$omp declare target(omp_init_nest_lock )
1143 !$omp declare target(omp_destroy_nest_lock )
1144 !$omp declare target(omp_set_nest_lock )
1145 !$omp declare target(omp_unset_nest_lock )
1146 !$omp declare target(omp_test_nest_lock )
1147 !$omp declare target(omp_get_max_task_priority )
1148 !$omp declare target(omp_set_affinity_format )
1149 !$omp declare target(omp_get_affinity_format )
1150 !$omp declare target(omp_display_affinity )
1151 !$omp declare target(omp_capture_affinity )
1152 !$omp declare target(kmp_set_stacksize )
1153 !$omp declare target(kmp_set_stacksize_s )
1154 !$omp declare target(kmp_set_blocktime )
1155 !$omp declare target(kmp_set_library_serial )
1156 !$omp declare target(kmp_set_library_turnaround )
1157 !$omp declare target(kmp_set_library_throughput )
1158 !$omp declare target(kmp_set_library )
1159 !$omp declare target(kmp_set_defaults )
1160 !$omp declare target(kmp_get_stacksize )
1161 !$omp declare target(kmp_get_stacksize_s )
1162 !$omp declare target(kmp_get_blocktime )
1163 !$omp declare target(kmp_get_library )
1164 !$omp declare target(kmp_set_disp_num_buffers )
1165 !$omp declare target(kmp_set_affinity )
1166 !$omp declare target(kmp_get_affinity )
1167 !$omp declare target(kmp_get_affinity_max_proc )
1168 !$omp declare target(kmp_create_affinity_mask )
1169 !$omp declare target(kmp_destroy_affinity_mask )
1170 !$omp declare target(kmp_set_affinity_mask_proc )
1171 !$omp declare target(kmp_unset_affinity_mask_proc )
1172 !$omp declare target(kmp_get_affinity_mask_proc )
1173 !$omp declare target(kmp_malloc )
1174 !$omp declare target(kmp_aligned_malloc )
1175 !$omp declare target(kmp_calloc )
1176 !$omp declare target(kmp_realloc )
1177 !$omp declare target(kmp_free )
1178 !$omp declare target(kmp_set_warnings_on )
1179 !$omp declare target(kmp_set_warnings_off )
1180 !$omp declare target(omp_init_lock_with_hint )
1181 !$omp declare target(omp_init_nest_lock_with_hint )
1182 !DIR$ ENDIF
1183 !DIR$ ENDIF
1184 #endif