1! include/omp_lib.f.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!***
14!*** Some of the directives for the following routine extend past column 72,
15!*** so process this file in 132-column mode.
16!***
17
18!dec$ fixedformlinesize:132
19
20      module omp_lib_kinds
21
22        integer, parameter :: omp_integer_kind       = 4
23        integer, parameter :: omp_logical_kind       = 4
24        integer, parameter :: omp_real_kind          = 4
25        integer, parameter :: omp_lock_kind          = int_ptr_kind()
26        integer, parameter :: omp_nest_lock_kind     = int_ptr_kind()
27        integer, parameter :: omp_sched_kind         = omp_integer_kind
28        integer, parameter :: omp_proc_bind_kind     = omp_integer_kind
29        integer, parameter :: kmp_pointer_kind       = int_ptr_kind()
30        integer, parameter :: kmp_size_t_kind        = int_ptr_kind()
31        integer, parameter :: kmp_affinity_mask_kind = int_ptr_kind()
32        integer, parameter :: kmp_cancel_kind        = omp_integer_kind
33        integer, parameter :: omp_lock_hint_kind     = omp_integer_kind
34        integer, parameter :: omp_control_tool_kind  = omp_integer_kind
35        integer, parameter :: omp_control_tool_result_kind = omp_integer_kind
36        integer, parameter :: omp_allocator_handle_kind = int_ptr_kind()
37        integer, parameter :: omp_memspace_handle_kind = int_ptr_kind()
38        integer, parameter :: omp_alloctrait_key_kind = omp_integer_kind
39        integer, parameter :: omp_alloctrait_val_kind = int_ptr_kind()
40
41        type omp_alloctrait
42          integer(kind=omp_alloctrait_key_kind) key
43          integer(kind=omp_alloctrait_val_kind) value
44        end type omp_alloctrait
45
46        integer, parameter :: omp_pause_resource_kind = omp_integer_kind
47        integer, parameter :: omp_depend_kind = int_ptr_kind()
48        integer, parameter :: omp_event_handle_kind = int_ptr_kind()
49
50      end module omp_lib_kinds
51
52      module omp_lib
53
54        use omp_lib_kinds
55
56        integer (kind=omp_integer_kind), parameter :: kmp_version_major = @LIBOMP_VERSION_MAJOR@
57        integer (kind=omp_integer_kind), parameter :: kmp_version_minor = @LIBOMP_VERSION_MINOR@
58        integer (kind=omp_integer_kind), parameter :: kmp_version_build = @LIBOMP_VERSION_BUILD@
59        character(*), parameter :: kmp_build_date    = '@LIBOMP_BUILD_DATE@'
60        integer (kind=omp_integer_kind), parameter :: openmp_version    = @LIBOMP_OMP_YEAR_MONTH@
61
62        integer(kind=omp_sched_kind), parameter :: omp_sched_static  = 1
63        integer(kind=omp_sched_kind), parameter :: omp_sched_dynamic = 2
64        integer(kind=omp_sched_kind), parameter :: omp_sched_guided  = 3
65        integer(kind=omp_sched_kind), parameter :: omp_sched_auto    = 4
66        integer(kind=omp_sched_kind), parameter :: omp_sched_monotonic = Z'80000000'
67
68        integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_false = 0
69        integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_true = 1
70        integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_master = 2
71        integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_close = 3
72        integer (kind=omp_proc_bind_kind), parameter :: omp_proc_bind_spread = 4
73
74        integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_parallel = 1
75        integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_loop = 2
76        integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_sections = 3
77        integer (kind=kmp_cancel_kind), parameter :: kmp_cancel_taskgroup = 4
78
79        integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_none           = 0
80        integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_uncontended    = 1
81        integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_contended      = 2
82        integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_nonspeculative = 4
83        integer (kind=omp_lock_hint_kind), parameter :: omp_lock_hint_speculative    = 8
84        integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_hle            = 65536
85        integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_rtm            = 131072
86        integer (kind=omp_lock_hint_kind), parameter :: kmp_lock_hint_adaptive       = 262144
87
88        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_threadmodel = 1
89        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_alignment = 2
90        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_access = 3
91        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_pool_size = 4
92        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_fallback = 5
93        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_fb_data = 6
94        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_pinned = 7
95        integer (kind=omp_alloctrait_key_kind), parameter :: omp_atk_partition = 8
96
97        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_false = 0
98        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_true = 1
99        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_default = 2
100        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_contended = 3
101        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_uncontended = 4
102        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_sequential = 5
103        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_private = 6
104        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_all = 7
105        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_thread = 8
106        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_pteam = 9
107        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_cgroup = 10
108        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_default_mem_fb = 11
109        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_null_fb = 12
110        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_abort_fb = 13
111        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_allocator_fb = 14
112        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_environment = 15
113        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_nearest = 16
114        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_blocked = 17
115        integer (kind=omp_alloctrait_val_kind), parameter :: omp_atv_interleaved = 18
116
117        integer (kind=omp_allocator_handle_kind), parameter :: omp_null_allocator = 0
118        integer (kind=omp_allocator_handle_kind), parameter :: omp_default_mem_alloc = 1
119        integer (kind=omp_allocator_handle_kind), parameter :: omp_large_cap_mem_alloc = 2
120        integer (kind=omp_allocator_handle_kind), parameter :: omp_const_mem_alloc = 3
121        integer (kind=omp_allocator_handle_kind), parameter :: omp_high_bw_mem_alloc = 4
122        integer (kind=omp_allocator_handle_kind), parameter :: omp_low_lat_mem_alloc = 5
123        integer (kind=omp_allocator_handle_kind), parameter :: omp_cgroup_mem_alloc = 6
124        integer (kind=omp_allocator_handle_kind), parameter :: omp_pteam_mem_alloc = 7
125        integer (kind=omp_allocator_handle_kind), parameter :: omp_thread_mem_alloc = 8
126
127        integer (kind=omp_memspace_handle_kind), parameter :: omp_default_mem_space = 0
128        integer (kind=omp_memspace_handle_kind), parameter :: omp_large_cap_mem_space = 1
129        integer (kind=omp_memspace_handle_kind), parameter :: omp_const_mem_space = 2
130        integer (kind=omp_memspace_handle_kind), parameter :: omp_high_bw_mem_space = 3
131        integer (kind=omp_memspace_handle_kind), parameter :: omp_low_lat_mem_space = 4
132
133        integer (kind=omp_pause_resource_kind), parameter :: omp_pause_resume = 0
134        integer (kind=omp_pause_resource_kind), parameter :: omp_pause_soft = 1
135        integer (kind=omp_pause_resource_kind), parameter :: omp_pause_hard = 2
136
137        interface
138
139!         ***
140!         *** omp_* entry points
141!         ***
142
143          subroutine omp_set_num_threads(num_threads)
144            use omp_lib_kinds
145            integer (kind=omp_integer_kind) num_threads
146          end subroutine omp_set_num_threads
147
148          subroutine omp_set_dynamic(dynamic_threads)
149            use omp_lib_kinds
150            logical (kind=omp_logical_kind) dynamic_threads
151          end subroutine omp_set_dynamic
152
153          subroutine omp_set_nested(nested)
154            use omp_lib_kinds
155            logical (kind=omp_logical_kind) nested
156          end subroutine omp_set_nested
157
158          function omp_get_num_threads()
159            use omp_lib_kinds
160            integer (kind=omp_integer_kind) omp_get_num_threads
161          end function omp_get_num_threads
162
163          function omp_get_max_threads()
164            use omp_lib_kinds
165            integer (kind=omp_integer_kind) omp_get_max_threads
166          end function omp_get_max_threads
167
168          function omp_get_thread_num()
169            use omp_lib_kinds
170            integer (kind=omp_integer_kind) omp_get_thread_num
171          end function omp_get_thread_num
172
173          function omp_get_num_procs()
174            use omp_lib_kinds
175            integer (kind=omp_integer_kind) omp_get_num_procs
176          end function omp_get_num_procs
177
178          function omp_in_parallel()
179            use omp_lib_kinds
180            logical (kind=omp_logical_kind) omp_in_parallel
181          end function omp_in_parallel
182
183          function omp_in_final()
184            use omp_lib_kinds
185            logical (kind=omp_logical_kind) omp_in_final
186          end function omp_in_final
187
188          function omp_get_dynamic()
189            use omp_lib_kinds
190            logical (kind=omp_logical_kind) omp_get_dynamic
191          end function omp_get_dynamic
192
193          function omp_get_nested()
194            use omp_lib_kinds
195            logical (kind=omp_logical_kind) omp_get_nested
196          end function omp_get_nested
197
198          function omp_get_thread_limit()
199            use omp_lib_kinds
200            integer (kind=omp_integer_kind) omp_get_thread_limit
201          end function omp_get_thread_limit
202
203          subroutine omp_set_max_active_levels(max_levels)
204            use omp_lib_kinds
205            integer (kind=omp_integer_kind) max_levels
206          end subroutine omp_set_max_active_levels
207
208          function omp_get_max_active_levels()
209            use omp_lib_kinds
210            integer (kind=omp_integer_kind) omp_get_max_active_levels
211          end function omp_get_max_active_levels
212
213          function omp_get_level()
214            use omp_lib_kinds
215            integer (kind=omp_integer_kind) omp_get_level
216          end function omp_get_level
217
218          function omp_get_active_level()
219            use omp_lib_kinds
220            integer (kind=omp_integer_kind) omp_get_active_level
221          end function omp_get_active_level
222
223          function omp_get_ancestor_thread_num(level)
224            use omp_lib_kinds
225            integer (kind=omp_integer_kind) level
226            integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
227          end function omp_get_ancestor_thread_num
228
229          function omp_get_team_size(level)
230            use omp_lib_kinds
231            integer (kind=omp_integer_kind) level
232            integer (kind=omp_integer_kind) omp_get_team_size
233          end function omp_get_team_size
234
235          subroutine omp_set_schedule(kind, chunk_size)
236            use omp_lib_kinds
237            integer (kind=omp_sched_kind) kind
238            integer (kind=omp_integer_kind) chunk_size
239          end subroutine omp_set_schedule
240
241          subroutine omp_get_schedule(kind, chunk_size)
242            use omp_lib_kinds
243            integer (kind=omp_sched_kind) kind
244            integer (kind=omp_integer_kind) chunk_size
245          end subroutine omp_get_schedule
246
247          function omp_get_proc_bind()
248            use omp_lib_kinds
249            integer (kind=omp_proc_bind_kind) omp_get_proc_bind
250          end function omp_get_proc_bind
251
252          function omp_get_num_places()
253            use omp_lib_kinds
254            integer (kind=omp_integer_kind) omp_get_num_places
255          end function omp_get_num_places
256
257          function omp_get_place_num_procs(place_num)
258            use omp_lib_kinds
259            integer (kind=omp_integer_kind) place_num
260            integer (kind=omp_integer_kind) omp_get_place_num_procs
261          end function omp_get_place_num_procs
262
263          subroutine omp_get_place_proc_ids(place_num, ids)
264            use omp_lib_kinds
265            integer (kind=omp_integer_kind) place_num
266            integer (kind=omp_integer_kind) ids(*)
267          end subroutine omp_get_place_proc_ids
268
269          function omp_get_place_num()
270            use omp_lib_kinds
271            integer (kind=omp_integer_kind) omp_get_place_num
272          end function omp_get_place_num
273
274          function omp_get_partition_num_places()
275            use omp_lib_kinds
276            integer (kind=omp_integer_kind) omp_get_partition_num_places
277          end function omp_get_partition_num_places
278
279          subroutine omp_get_partition_place_nums(place_nums)
280            use omp_lib_kinds
281            integer (kind=omp_integer_kind) place_nums(*)
282          end subroutine omp_get_partition_place_nums
283
284          function omp_get_wtime()
285            double precision omp_get_wtime
286          end function omp_get_wtime
287
288          function omp_get_wtick ()
289            double precision omp_get_wtick
290          end function omp_get_wtick
291
292          function omp_get_default_device()
293            use omp_lib_kinds
294            integer (kind=omp_integer_kind) omp_get_default_device
295          end function omp_get_default_device
296
297          subroutine omp_set_default_device(device_num)
298            use omp_lib_kinds
299            integer (kind=omp_integer_kind) device_num
300          end subroutine omp_set_default_device
301
302          function omp_get_num_devices()
303            use omp_lib_kinds
304            integer (kind=omp_integer_kind) omp_get_num_devices
305          end function omp_get_num_devices
306
307          function omp_get_num_teams()
308            use omp_lib_kinds
309            integer (kind=omp_integer_kind) omp_get_num_teams
310          end function omp_get_num_teams
311
312          function omp_get_team_num()
313            use omp_lib_kinds
314            integer (kind=omp_integer_kind) omp_get_team_num
315          end function omp_get_team_num
316
317          function omp_get_cancellation()
318            use omp_lib_kinds
319            integer (kind=omp_integer_kind) omp_get_cancellation
320          end function omp_get_cancellation
321
322          function omp_is_initial_device()
323            use omp_lib_kinds
324            logical (kind=omp_logical_kind) omp_is_initial_device
325          end function omp_is_initial_device
326
327          function omp_get_initial_device()
328            use omp_lib_kinds
329            integer (kind=omp_integer_kind) omp_get_initial_device
330          end function omp_get_initial_device
331
332          function omp_get_device_num()
333            use omp_lib_kinds
334            integer (kind=omp_integer_kind) omp_get_device_num
335          end function omp_get_device_num
336
337          function omp_pause_resource(kind, device_num)
338            use omp_lib_kinds
339            integer (kind=omp_pause_resource_kind) kind
340            integer (kind=omp_integer_kind) device_num
341            integer (kind=omp_integer_kind) omp_pause_resource
342          end function omp_pause_resource
343
344          function omp_pause_resource_all(kind)
345            use omp_lib_kinds
346            integer (kind=omp_pause_resource_kind) kind
347            integer (kind=omp_integer_kind) omp_pause_resource_all
348          end function omp_pause_resource_all
349
350          function omp_get_supported_active_levels()
351            use omp_lib_kinds
352            integer (kind=omp_integer_kind) omp_get_supported_active_levels
353          end function omp_get_supported_active_levels
354
355          subroutine omp_fulfill_event(event)
356            use omp_lib_kinds
357            integer (kind=omp_event_handle_kind) event
358          end subroutine omp_fulfill_event
359
360          subroutine omp_init_lock(svar)
361!DIR$ IF(__INTEL_COMPILER.GE.1400)
362!DIR$ attributes known_intrinsic :: omp_init_lock
363!DIR$ ENDIF
364            use omp_lib_kinds
365            integer (kind=omp_lock_kind) svar
366          end subroutine omp_init_lock
367
368          subroutine omp_destroy_lock(svar)
369!DIR$ IF(__INTEL_COMPILER.GE.1400)
370!DIR$ attributes known_intrinsic :: omp_destroy_lock
371!DIR$ ENDIF
372            use omp_lib_kinds
373            integer (kind=omp_lock_kind) svar
374          end subroutine omp_destroy_lock
375
376          subroutine omp_set_lock(svar)
377!DIR$ IF(__INTEL_COMPILER.GE.1400)
378!DIR$ attributes known_intrinsic :: omp_set_lock
379!DIR$ ENDIF
380            use omp_lib_kinds
381            integer (kind=omp_lock_kind) svar
382          end subroutine omp_set_lock
383
384          subroutine omp_unset_lock(svar)
385!DIR$ IF(__INTEL_COMPILER.GE.1400)
386!DIR$ attributes known_intrinsic :: omp_unset_lock
387!DIR$ ENDIF
388            use omp_lib_kinds
389            integer (kind=omp_lock_kind) svar
390          end subroutine omp_unset_lock
391
392          function omp_test_lock(svar)
393!DIR$ IF(__INTEL_COMPILER.GE.1400)
394!DIR$ attributes known_intrinsic :: omp_test_lock
395!DIR$ ENDIF
396            use omp_lib_kinds
397            logical (kind=omp_logical_kind) omp_test_lock
398            integer (kind=omp_lock_kind) svar
399          end function omp_test_lock
400
401          subroutine omp_init_nest_lock(nvar)
402!DIR$ IF(__INTEL_COMPILER.GE.1400)
403!DIR$ attributes known_intrinsic :: omp_init_nest_lock
404!DIR$ ENDIF
405            use omp_lib_kinds
406            integer (kind=omp_nest_lock_kind) nvar
407          end subroutine omp_init_nest_lock
408
409          subroutine omp_destroy_nest_lock(nvar)
410!DIR$ IF(__INTEL_COMPILER.GE.1400)
411!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
412!DIR$ ENDIF
413            use omp_lib_kinds
414            integer (kind=omp_nest_lock_kind) nvar
415          end subroutine omp_destroy_nest_lock
416
417          subroutine omp_set_nest_lock(nvar)
418!DIR$ IF(__INTEL_COMPILER.GE.1400)
419!DIR$ attributes known_intrinsic :: omp_set_nest_lock
420!DIR$ ENDIF
421            use omp_lib_kinds
422            integer (kind=omp_nest_lock_kind) nvar
423          end subroutine omp_set_nest_lock
424
425          subroutine omp_unset_nest_lock(nvar)
426!DIR$ IF(__INTEL_COMPILER.GE.1400)
427!DIR$ attributes known_intrinsic :: omp_unset_nest_lock
428!DIR$ ENDIF
429            use omp_lib_kinds
430            integer (kind=omp_nest_lock_kind) nvar
431          end subroutine omp_unset_nest_lock
432
433          function omp_test_nest_lock(nvar)
434!DIR$ IF(__INTEL_COMPILER.GE.1400)
435!DIR$ attributes known_intrinsic :: omp_test_nest_lock
436!DIR$ ENDIF
437            use omp_lib_kinds
438            integer (kind=omp_integer_kind) omp_test_nest_lock
439            integer (kind=omp_nest_lock_kind) nvar
440          end function omp_test_nest_lock
441
442          function omp_get_max_task_priority()
443            use omp_lib_kinds
444            integer (kind=omp_integer_kind) omp_get_max_task_priority
445          end function omp_get_max_task_priority
446
447          function omp_init_allocator(memspace, ntraits, traits)
448            use omp_lib_kinds
449            integer (omp_allocator_handle_kind) omp_init_allocator
450            integer (omp_memspace_handle_kind) :: memspace
451            integer (omp_integer_kind) :: ntraits
452            type(omp_alloctrait), intent(in) :: traits(*)
453          end function omp_init_allocator
454
455          subroutine omp_destroy_allocator(allocator) bind(c)
456            use omp_lib_kinds
457            integer (omp_allocator_handle_kind), value :: allocator
458          end subroutine omp_destroy_allocator
459
460          subroutine omp_set_default_allocator(allocator) bind(c)
461            use omp_lib_kinds
462            integer (omp_allocator_handle_kind) allocator
463          end subroutine omp_set_default_allocator
464
465          function omp_get_default_allocator() bind(c)
466            use omp_lib_kinds
467            integer(omp_allocator_handle_kind)omp_get_default_allocator
468          end function omp_get_default_allocator
469
470          subroutine omp_set_affinity_format(format)
471            character (len=*) format
472          end subroutine omp_set_affinity_format
473
474          function omp_get_affinity_format(buffer)
475            use omp_lib_kinds
476            character (len=*) buffer
477            integer (kind=kmp_size_t_kind) omp_get_affinity_format
478          end function omp_get_affinity_format
479
480          subroutine omp_display_affinity(format)
481            character (len=*) format
482          end subroutine omp_display_affinity
483
484          function omp_capture_affinity(buffer, format)
485            use omp_lib_kinds
486            character (len=*) format
487            character (len=*) buffer
488            integer (kind=kmp_size_t_kind) omp_capture_affinity
489          end function omp_capture_affinity
490
491!         ***
492!         *** kmp_* entry points
493!         ***
494
495          subroutine kmp_set_stacksize(size)
496            use omp_lib_kinds
497            integer (kind=omp_integer_kind) size
498          end subroutine kmp_set_stacksize
499
500          subroutine kmp_set_stacksize_s(size)
501            use omp_lib_kinds
502            integer (kind=kmp_size_t_kind) size
503          end subroutine kmp_set_stacksize_s
504
505          subroutine kmp_set_blocktime(msec)
506            use omp_lib_kinds
507            integer (kind=omp_integer_kind) msec
508          end subroutine kmp_set_blocktime
509
510          subroutine kmp_set_library_serial()
511          end subroutine kmp_set_library_serial
512
513          subroutine kmp_set_library_turnaround()
514          end subroutine kmp_set_library_turnaround
515
516          subroutine kmp_set_library_throughput()
517          end subroutine kmp_set_library_throughput
518
519          subroutine kmp_set_library(libnum)
520            use omp_lib_kinds
521            integer (kind=omp_integer_kind) libnum
522          end subroutine kmp_set_library
523
524          subroutine kmp_set_defaults(string)
525            character*(*) string
526          end subroutine kmp_set_defaults
527
528          function kmp_get_stacksize()
529            use omp_lib_kinds
530            integer (kind=omp_integer_kind) kmp_get_stacksize
531          end function kmp_get_stacksize
532
533          function kmp_get_stacksize_s()
534            use omp_lib_kinds
535            integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
536          end function kmp_get_stacksize_s
537
538          function kmp_get_blocktime()
539            use omp_lib_kinds
540            integer (kind=omp_integer_kind) kmp_get_blocktime
541          end function kmp_get_blocktime
542
543          function kmp_get_library()
544            use omp_lib_kinds
545            integer (kind=omp_integer_kind) kmp_get_library
546          end function kmp_get_library
547
548          subroutine kmp_set_disp_num_buffers(num)
549            use omp_lib_kinds
550            integer (kind=omp_integer_kind) num
551          end subroutine kmp_set_disp_num_buffers
552
553          function kmp_set_affinity(mask)
554            use omp_lib_kinds
555            integer (kind=omp_integer_kind) kmp_set_affinity
556            integer (kind=kmp_affinity_mask_kind) mask
557          end function kmp_set_affinity
558
559          function kmp_get_affinity(mask)
560            use omp_lib_kinds
561            integer (kind=omp_integer_kind) kmp_get_affinity
562            integer (kind=kmp_affinity_mask_kind) mask
563          end function kmp_get_affinity
564
565          function kmp_get_affinity_max_proc()
566            use omp_lib_kinds
567            integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
568          end function kmp_get_affinity_max_proc
569
570          subroutine kmp_create_affinity_mask(mask)
571            use omp_lib_kinds
572            integer (kind=kmp_affinity_mask_kind) mask
573          end subroutine kmp_create_affinity_mask
574
575          subroutine kmp_destroy_affinity_mask(mask)
576            use omp_lib_kinds
577            integer (kind=kmp_affinity_mask_kind) mask
578          end subroutine kmp_destroy_affinity_mask
579
580          function kmp_set_affinity_mask_proc(proc, mask)
581            use omp_lib_kinds
582            integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
583            integer (kind=omp_integer_kind) proc
584            integer (kind=kmp_affinity_mask_kind) mask
585          end function kmp_set_affinity_mask_proc
586
587          function kmp_unset_affinity_mask_proc(proc, mask)
588            use omp_lib_kinds
589            integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
590            integer (kind=omp_integer_kind) proc
591            integer (kind=kmp_affinity_mask_kind) mask
592          end function kmp_unset_affinity_mask_proc
593
594          function kmp_get_affinity_mask_proc(proc, mask)
595            use omp_lib_kinds
596            integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
597            integer (kind=omp_integer_kind) proc
598            integer (kind=kmp_affinity_mask_kind) mask
599          end function kmp_get_affinity_mask_proc
600
601          function kmp_malloc(size)
602            use omp_lib_kinds
603            integer (kind=kmp_pointer_kind) kmp_malloc
604            integer (kind=kmp_size_t_kind) size
605          end function kmp_malloc
606
607          function kmp_aligned_malloc(size, alignment)
608            use omp_lib_kinds
609            integer (kind=kmp_pointer_kind) kmp_aligned_malloc
610            integer (kind=kmp_size_t_kind) size
611            integer (kind=kmp_size_t_kind) alignment
612          end function kmp_aligned_malloc
613
614          function kmp_calloc(nelem, elsize)
615            use omp_lib_kinds
616            integer (kind=kmp_pointer_kind) kmp_calloc
617            integer (kind=kmp_size_t_kind) nelem
618            integer (kind=kmp_size_t_kind) elsize
619          end function kmp_calloc
620
621          function kmp_realloc(ptr, size)
622            use omp_lib_kinds
623            integer (kind=kmp_pointer_kind) kmp_realloc
624            integer (kind=kmp_pointer_kind) ptr
625            integer (kind=kmp_size_t_kind) size
626          end function kmp_realloc
627
628          subroutine kmp_free(ptr)
629            use omp_lib_kinds
630            integer (kind=kmp_pointer_kind) ptr
631          end subroutine kmp_free
632
633          subroutine kmp_set_warnings_on()
634          end subroutine kmp_set_warnings_on
635
636          subroutine kmp_set_warnings_off()
637          end subroutine kmp_set_warnings_off
638
639          function kmp_get_cancellation_status(cancelkind)
640            use omp_lib_kinds
641            integer (kind=kmp_cancel_kind) cancelkind
642            logical (kind=omp_logical_kind) kmp_get_cancellation_status
643          end function kmp_get_cancellation_status
644
645          subroutine omp_init_lock_with_hint(svar, hint)
646            use omp_lib_kinds
647            integer (kind=omp_lock_kind) svar
648            integer (kind=omp_lock_hint_kind) hint
649          end subroutine omp_init_lock_with_hint
650
651          subroutine omp_init_nest_lock_with_hint(nvar, hint)
652            use omp_lib_kinds
653            integer (kind=omp_nest_lock_kind) nvar
654            integer (kind=omp_lock_hint_kind) hint
655          end subroutine omp_init_nest_lock_with_hint
656
657          function omp_control_tool(command, modifier)
658            use omp_lib_kinds
659            integer (kind=omp_integer_kind) omp_control_tool
660            integer (kind=omp_control_tool_kind) command
661            integer (kind=omp_control_tool_kind) modifier
662          end function omp_control_tool
663
664        end interface
665
666!dec$ if defined(_WIN32)
667!dec$   if defined(_WIN64) .or. defined(_M_AMD64)
668
669!***
670!*** The Fortran entry points must be in uppercase, even if the /Qlowercase
671!*** option is specified.  The alias attribute ensures that the specified
672!*** string is used as the entry point.
673!***
674!*** On the Windows* OS IA-32 architecture, the Fortran entry points have an
675!*** underscore prepended.  On the Windows* OS Intel(R) 64
676!*** architecture, no underscore is prepended.
677!***
678
679!dec$ attributes alias:'OMP_SET_NUM_THREADS' :: omp_set_num_threads
680!dec$ attributes alias:'OMP_SET_DYNAMIC' :: omp_set_dynamic
681!dec$ attributes alias:'OMP_SET_NESTED' :: omp_set_nested
682!dec$ attributes alias:'OMP_GET_NUM_THREADS' :: omp_get_num_threads
683!dec$ attributes alias:'OMP_GET_MAX_THREADS' :: omp_get_max_threads
684!dec$ attributes alias:'OMP_GET_THREAD_NUM' :: omp_get_thread_num
685!dec$ attributes alias:'OMP_GET_NUM_PROCS' :: omp_get_num_procs
686!dec$ attributes alias:'OMP_IN_PARALLEL' :: omp_in_parallel
687!dec$ attributes alias:'OMP_GET_DYNAMIC' :: omp_get_dynamic
688!dec$ attributes alias:'OMP_GET_NESTED' :: omp_get_nested
689!dec$ attributes alias:'OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
690!dec$ attributes alias:'OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
691!dec$ attributes alias:'OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
692!dec$ attributes alias:'OMP_GET_LEVEL' :: omp_get_level
693!dec$ attributes alias:'OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
694!dec$ attributes alias:'OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
695!dec$ attributes alias:'OMP_GET_TEAM_SIZE' :: omp_get_team_size
696!dec$ attributes alias:'OMP_SET_SCHEDULE' :: omp_set_schedule
697!dec$ attributes alias:'OMP_GET_SCHEDULE' :: omp_get_schedule
698!dec$ attributes alias:'OMP_GET_PROC_BIND' :: omp_get_proc_bind
699!dec$ attributes alias:'OMP_GET_WTIME' :: omp_get_wtime
700!dec$ attributes alias:'OMP_GET_WTICK' :: omp_get_wtick
701!dec$ attributes alias:'OMP_GET_DEFAULT_DEVICE' :: omp_get_default_device
702!dec$ attributes alias:'OMP_SET_DEFAULT_DEVICE' :: omp_set_default_device
703!dec$ attributes alias:'OMP_GET_NUM_DEVICES' :: omp_get_num_devices
704!dec$ attributes alias:'OMP_GET_NUM_TEAMS' :: omp_get_num_teams
705!dec$ attributes alias:'OMP_GET_TEAM_NUM' :: omp_get_team_num
706!dec$ attributes alias:'OMP_GET_CANCELLATION' :: omp_get_cancellation
707!dec$ attributes alias:'OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device
708!dec$ attributes alias:'OMP_GET_INITIAL_DEVICE' :: omp_get_initial_device
709!dec$ attributes alias:'OMP_GET_MAX_TASK_PRIORITY' :: omp_get_max_task_priority
710!dec$ attributes alias:'OMP_GET_DEVICE_NUM' :: omp_get_device_num
711!dec$ attributes alias:'OMP_PAUSE_RESOURCE' :: omp_pause_resource
712!dec$ attributes alias:'OMP_PAUSE_RESOURCE_ALL' :: omp_pause_resource_all
713!dec$ attributes alias:'OMP_GET_SUPPORTED_ACTIVE_LEVELS' :: omp_get_supported_active_levels
714!dec$ attributes alias:'OMP_FULFILL_EVENT' :: omp_fulfill_event
715
716!dec$ attributes alias:'OMP_CONTROL_TOOL' :: omp_control_tool
717!dec$ attributes alias:'OMP_SET_AFFINITY_FORMAT' :: omp_set_affinity_format
718!dec$ attributes alias:'OMP_GET_AFFINITY_FORMAT' :: omp_get_affinity_format
719!dec$ attributes alias:'OMP_DISPLAY_AFFINITY' :: omp_display_affinity
720!dec$ attributes alias:'OMP_CAPTURE_AFFINITY' :: omp_capture_affinity
721
722!dec$ attributes alias:'omp_init_lock' :: omp_init_lock
723!dec$ attributes alias:'omp_init_lock_with_hint' :: omp_init_lock_with_hint
724!dec$ attributes alias:'omp_destroy_lock' :: omp_destroy_lock
725!dec$ attributes alias:'omp_set_lock' :: omp_set_lock
726!dec$ attributes alias:'omp_unset_lock' :: omp_unset_lock
727!dec$ attributes alias:'omp_test_lock' :: omp_test_lock
728!dec$ attributes alias:'omp_init_nest_lock' :: omp_init_nest_lock
729!dec$ attributes alias:'omp_init_nest_lock_with_hint' :: omp_init_nest_lock_with_hint
730!dec$ attributes alias:'omp_destroy_nest_lock' :: omp_destroy_nest_lock
731!dec$ attributes alias:'omp_set_nest_lock' :: omp_set_nest_lock
732!dec$ attributes alias:'omp_unset_nest_lock' :: omp_unset_nest_lock
733!dec$ attributes alias:'omp_test_nest_lock' :: omp_test_nest_lock
734
735!dec$ attributes alias:'KMP_SET_STACKSIZE'::kmp_set_stacksize
736!dec$ attributes alias:'KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
737!dec$ attributes alias:'KMP_SET_BLOCKTIME'::kmp_set_blocktime
738!dec$ attributes alias:'KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
739!dec$ attributes alias:'KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
740!dec$ attributes alias:'KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
741!dec$ attributes alias:'KMP_SET_LIBRARY'::kmp_set_library
742!dec$ attributes alias:'KMP_GET_STACKSIZE'::kmp_get_stacksize
743!dec$ attributes alias:'KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
744!dec$ attributes alias:'KMP_GET_BLOCKTIME'::kmp_get_blocktime
745!dec$ attributes alias:'KMP_GET_LIBRARY'::kmp_get_library
746!dec$ attributes alias:'KMP_SET_AFFINITY'::kmp_set_affinity
747!dec$ attributes alias:'KMP_GET_AFFINITY'::kmp_get_affinity
748!dec$ attributes alias:'KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
749!dec$ attributes alias:'KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
750!dec$ attributes alias:'KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
751!dec$ attributes alias:'KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
752!dec$ attributes alias:'KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
753!dec$ attributes alias:'KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
754!dec$ attributes alias:'KMP_MALLOC'::kmp_malloc
755!dec$ attributes alias:'KMP_ALIGNED_MALLOC'::kmp_aligned_malloc
756!dec$ attributes alias:'KMP_CALLOC'::kmp_calloc
757!dec$ attributes alias:'KMP_REALLOC'::kmp_realloc
758!dec$ attributes alias:'KMP_FREE'::kmp_free
759
760!dec$ attributes alias:'KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
761!dec$ attributes alias:'KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
762
763!dec$ attributes alias:'KMP_GET_CANCELLATION_STATUS' :: kmp_get_cancellation_status
764
765!dec$   else
766
767!***
768!*** On Windows* OS IA-32 architecture, the Fortran entry points have an underscore prepended.
769!***
770
771!dec$ attributes alias:'_OMP_SET_NUM_THREADS' :: omp_set_num_threads
772!dec$ attributes alias:'_OMP_SET_DYNAMIC' :: omp_set_dynamic
773!dec$ attributes alias:'_OMP_SET_NESTED' :: omp_set_nested
774!dec$ attributes alias:'_OMP_GET_NUM_THREADS' :: omp_get_num_threads
775!dec$ attributes alias:'_OMP_GET_MAX_THREADS' :: omp_get_max_threads
776!dec$ attributes alias:'_OMP_GET_THREAD_NUM' :: omp_get_thread_num
777!dec$ attributes alias:'_OMP_GET_NUM_PROCS' :: omp_get_num_procs
778!dec$ attributes alias:'_OMP_IN_PARALLEL' :: omp_in_parallel
779!dec$ attributes alias:'_OMP_GET_DYNAMIC' :: omp_get_dynamic
780!dec$ attributes alias:'_OMP_GET_NESTED' :: omp_get_nested
781!dec$ attributes alias:'_OMP_GET_THREAD_LIMIT' :: omp_get_thread_limit
782!dec$ attributes alias:'_OMP_SET_MAX_ACTIVE_LEVELS' :: omp_set_max_active_levels
783!dec$ attributes alias:'_OMP_GET_MAX_ACTIVE_LEVELS' :: omp_get_max_active_levels
784!dec$ attributes alias:'_OMP_GET_LEVEL' :: omp_get_level
785!dec$ attributes alias:'_OMP_GET_ACTIVE_LEVEL' :: omp_get_active_level
786!dec$ attributes alias:'_OMP_GET_ANCESTOR_THREAD_NUM' :: omp_get_ancestor_thread_num
787!dec$ attributes alias:'_OMP_GET_TEAM_SIZE' :: omp_get_team_size
788!dec$ attributes alias:'_OMP_SET_SCHEDULE' :: omp_set_schedule
789!dec$ attributes alias:'_OMP_GET_SCHEDULE' :: omp_get_schedule
790!dec$ attributes alias:'_OMP_GET_PROC_BIND' :: omp_get_proc_bind
791!dec$ attributes alias:'_OMP_GET_WTIME' :: omp_get_wtime
792!dec$ attributes alias:'_OMP_GET_WTICK' :: omp_get_wtick
793!dec$ attributes alias:'_OMP_GET_DEFAULT_DEVICE' :: omp_get_default_device
794!dec$ attributes alias:'_OMP_SET_DEFAULT_DEVICE' :: omp_set_default_device
795!dec$ attributes alias:'_OMP_GET_NUM_DEVICES' :: omp_get_num_devices
796!dec$ attributes alias:'_OMP_GET_NUM_TEAMS' :: omp_get_num_teams
797!dec$ attributes alias:'_OMP_GET_TEAM_NUM' :: omp_get_team_num
798!dec$ attributes alias:'_OMP_GET_CANCELLATION' :: omp_get_cancellation
799!dec$ attributes alias:'_OMP_IS_INITIAL_DEVICE' :: omp_is_initial_device
800!dec$ attributes alias:'_OMP_GET_INITIAL_DEVICE' :: omp_get_initial_device
801!dec$ attributes alias:'_OMP_GET_MAX_TASK_PRIORTY' :: omp_get_max_task_priority
802!dec$ attributes alias:'_OMP_GET_DEVICE_NUM' :: omp_get_device_num
803!dec$ attributes alias:'_OMP_PAUSE_RESOURCE' :: omp_pause_resource
804!dec$ attributes alias:'_OMP_PAUSE_RESOURCE_ALL' :: omp_pause_resource_all
805!dec$ attributes alias:'_OMP_GET_SUPPORTED_ACTIVE_LEVELS' :: omp_get_supported_active_levels
806!dec$ attributes alias:'_OMP_FULFILL_EVENT' :: omp_fulfill_event
807
808!dec$ attributes alias:'_OMP_CONTROL_TOOL' :: omp_control_tool
809!dec$ attributes alias:'_OMP_SET_AFFINITY_FORMAT' :: omp_set_affinity_format
810!dec$ attributes alias:'_OMP_GET_AFFINITY_FORMAT' :: omp_get_affinity_format
811!dec$ attributes alias:'_OMP_DISPLAY_AFFINITY' :: omp_display_affinity
812!dec$ attributes alias:'_OMP_CAPTURE_AFFINITY' :: omp_capture_affinity
813
814!dec$ attributes alias:'_omp_init_lock' :: omp_init_lock
815!dec$ attributes alias:'_omp_init_lock_with_hint' :: omp_init_lock_with_hint
816!dec$ attributes alias:'_omp_destroy_lock' :: omp_destroy_lock
817!dec$ attributes alias:'_omp_set_lock' :: omp_set_lock
818!dec$ attributes alias:'_omp_unset_lock' :: omp_unset_lock
819!dec$ attributes alias:'_omp_test_lock' :: omp_test_lock
820!dec$ attributes alias:'_omp_init_nest_lock' :: omp_init_nest_lock
821!dec$ attributes alias:'_omp_init_nest_lock_with_hint' :: omp_init_nest_lock_with_hint
822!dec$ attributes alias:'_omp_destroy_nest_lock' :: omp_destroy_nest_lock
823!dec$ attributes alias:'_omp_set_nest_lock' :: omp_set_nest_lock
824!dec$ attributes alias:'_omp_unset_nest_lock' :: omp_unset_nest_lock
825!dec$ attributes alias:'_omp_test_nest_lock' :: omp_test_nest_lock
826
827!dec$ attributes alias:'_KMP_SET_STACKSIZE'::kmp_set_stacksize
828!dec$ attributes alias:'_KMP_SET_STACKSIZE_S'::kmp_set_stacksize_s
829!dec$ attributes alias:'_KMP_SET_BLOCKTIME'::kmp_set_blocktime
830!dec$ attributes alias:'_KMP_SET_LIBRARY_SERIAL'::kmp_set_library_serial
831!dec$ attributes alias:'_KMP_SET_LIBRARY_TURNAROUND'::kmp_set_library_turnaround
832!dec$ attributes alias:'_KMP_SET_LIBRARY_THROUGHPUT'::kmp_set_library_throughput
833!dec$ attributes alias:'_KMP_SET_LIBRARY'::kmp_set_library
834!dec$ attributes alias:'_KMP_GET_STACKSIZE'::kmp_get_stacksize
835!dec$ attributes alias:'_KMP_GET_STACKSIZE_S'::kmp_get_stacksize_s
836!dec$ attributes alias:'_KMP_GET_BLOCKTIME'::kmp_get_blocktime
837!dec$ attributes alias:'_KMP_GET_LIBRARY'::kmp_get_library
838!dec$ attributes alias:'_KMP_SET_AFFINITY'::kmp_set_affinity
839!dec$ attributes alias:'_KMP_GET_AFFINITY'::kmp_get_affinity
840!dec$ attributes alias:'_KMP_GET_AFFINITY_MAX_PROC'::kmp_get_affinity_max_proc
841!dec$ attributes alias:'_KMP_CREATE_AFFINITY_MASK'::kmp_create_affinity_mask
842!dec$ attributes alias:'_KMP_DESTROY_AFFINITY_MASK'::kmp_destroy_affinity_mask
843!dec$ attributes alias:'_KMP_SET_AFFINITY_MASK_PROC'::kmp_set_affinity_mask_proc
844!dec$ attributes alias:'_KMP_UNSET_AFFINITY_MASK_PROC'::kmp_unset_affinity_mask_proc
845!dec$ attributes alias:'_KMP_GET_AFFINITY_MASK_PROC'::kmp_get_affinity_mask_proc
846!dec$ attributes alias:'_KMP_MALLOC'::kmp_malloc
847!dec$ attributes alias:'_KMP_ALIGNED_MALLOC'::kmp_aligned_malloc
848!dec$ attributes alias:'_KMP_CALLOC'::kmp_calloc
849!dec$ attributes alias:'_KMP_REALLOC'::kmp_realloc
850!dec$ attributes alias:'_KMP_FREE'::kmp_free
851
852!dec$ attributes alias:'_KMP_SET_WARNINGS_ON'::kmp_set_warnings_on
853!dec$ attributes alias:'_KMP_SET_WARNINGS_OFF'::kmp_set_warnings_off
854
855!dec$ attributes alias:'_KMP_GET_CANCELLATION_STATUS' :: kmp_get_cancellation_status
856
857!dec$   endif
858!dec$ endif
859
860!dec$ if defined(__linux)
861
862!***
863!*** The Linux* OS entry points are in lowercase, with an underscore appended.
864!***
865
866!dec$ attributes alias:'omp_set_num_threads_'::omp_set_num_threads
867!dec$ attributes alias:'omp_set_dynamic_'::omp_set_dynamic
868!dec$ attributes alias:'omp_set_nested_'::omp_set_nested
869!dec$ attributes alias:'omp_get_num_threads_'::omp_get_num_threads
870!dec$ attributes alias:'omp_get_max_threads_'::omp_get_max_threads
871!dec$ attributes alias:'omp_get_thread_num_'::omp_get_thread_num
872!dec$ attributes alias:'omp_get_num_procs_'::omp_get_num_procs
873!dec$ attributes alias:'omp_in_parallel_'::omp_in_parallel
874!dec$ attributes alias:'omp_get_dynamic_'::omp_get_dynamic
875!dec$ attributes alias:'omp_get_nested_'::omp_get_nested
876!dec$ attributes alias:'omp_get_thread_limit_'::omp_get_thread_limit
877!dec$ attributes alias:'omp_set_max_active_levels_'::omp_set_max_active_levels
878!dec$ attributes alias:'omp_get_max_active_levels_'::omp_get_max_active_levels
879!dec$ attributes alias:'omp_get_level_'::omp_get_level
880!dec$ attributes alias:'omp_get_active_level_'::omp_get_active_level
881!dec$ attributes alias:'omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
882!dec$ attributes alias:'omp_get_team_size_'::omp_get_team_size
883!dec$ attributes alias:'omp_set_schedule_'::omp_set_schedule
884!dec$ attributes alias:'omp_get_schedule_'::omp_get_schedule
885!dec$ attributes alias:'omp_get_proc_bind_' :: omp_get_proc_bind
886!dec$ attributes alias:'omp_get_wtime_'::omp_get_wtime
887!dec$ attributes alias:'omp_get_wtick_'::omp_get_wtick
888!dec$ attributes alias:'omp_get_default_device_'::omp_get_default_device
889!dec$ attributes alias:'omp_set_default_device_'::omp_set_default_device
890!dec$ attributes alias:'omp_get_num_devices_'::omp_get_num_devices
891!dec$ attributes alias:'omp_get_num_teams_'::omp_get_num_teams
892!dec$ attributes alias:'omp_get_team_num_'::omp_get_team_num
893!dec$ attributes alias:'omp_get_cancellation_'::omp_get_cancellation
894!dec$ attributes alias:'omp_is_initial_device_'::omp_is_initial_device
895!dec$ attributes alias:'omp_get_initial_device_'::omp_get_initial_device
896!dec$ attributes alias:'omp_get_max_task_priority_'::omp_get_max_task_priority
897!dec$ attributes alias:'omp_get_device_num_'::omp_get_device_num
898!dec$ attributes alias:'omp_pause_resource_' :: omp_pause_resource
899!dec$ attributes alias:'omp_pause_resource_all_' :: omp_pause_resource_all
900!dec$ attributes alias:'omp_get_supported_active_levels_' :: omp_get_supported_active_levels
901!dec$ attributes alias:'omp_fulfill_event_' :: omp_fulfill_event
902
903!dec$ attributes alias:'omp_set_affinity_format_' :: omp_set_affinity_format
904!dec$ attributes alias:'omp_get_affinity_format_' :: omp_get_affinity_format
905!dec$ attributes alias:'omp_display_affinity_' :: omp_display_affinity
906!dec$ attributes alias:'omp_capture_affinity_' :: omp_capture_affinity
907
908!dec$ attributes alias:'omp_init_lock_'::omp_init_lock
909!dec$ attributes alias:'omp_init_lock_with_hint_'::omp_init_lock_with_hint
910!dec$ attributes alias:'omp_destroy_lock_'::omp_destroy_lock
911!dec$ attributes alias:'omp_set_lock_'::omp_set_lock
912!dec$ attributes alias:'omp_unset_lock_'::omp_unset_lock
913!dec$ attributes alias:'omp_test_lock_'::omp_test_lock
914!dec$ attributes alias:'omp_init_nest_lock_'::omp_init_nest_lock
915!dec$ attributes alias:'omp_init_nest_lock_with_hint_'::omp_init_nest_lock_with_hint
916!dec$ attributes alias:'omp_destroy_nest_lock_'::omp_destroy_nest_lock
917!dec$ attributes alias:'omp_set_nest_lock_'::omp_set_nest_lock
918!dec$ attributes alias:'omp_unset_nest_lock_'::omp_unset_nest_lock
919!dec$ attributes alias:'omp_test_nest_lock_'::omp_test_nest_lock
920!dec$ attributes alias:'omp_control_tool_'::omp_control_tool
921
922!dec$ attributes alias:'kmp_set_stacksize_'::kmp_set_stacksize
923!dec$ attributes alias:'kmp_set_stacksize_s_'::kmp_set_stacksize_s
924!dec$ attributes alias:'kmp_set_blocktime_'::kmp_set_blocktime
925!dec$ attributes alias:'kmp_set_library_serial_'::kmp_set_library_serial
926!dec$ attributes alias:'kmp_set_library_turnaround_'::kmp_set_library_turnaround
927!dec$ attributes alias:'kmp_set_library_throughput_'::kmp_set_library_throughput
928!dec$ attributes alias:'kmp_set_library_'::kmp_set_library
929!dec$ attributes alias:'kmp_get_stacksize_'::kmp_get_stacksize
930!dec$ attributes alias:'kmp_get_stacksize_s_'::kmp_get_stacksize_s
931!dec$ attributes alias:'kmp_get_blocktime_'::kmp_get_blocktime
932!dec$ attributes alias:'kmp_get_library_'::kmp_get_library
933!dec$ attributes alias:'kmp_set_affinity_'::kmp_set_affinity
934!dec$ attributes alias:'kmp_get_affinity_'::kmp_get_affinity
935!dec$ attributes alias:'kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
936!dec$ attributes alias:'kmp_create_affinity_mask_'::kmp_create_affinity_mask
937!dec$ attributes alias:'kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
938!dec$ attributes alias:'kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
939!dec$ attributes alias:'kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
940!dec$ attributes alias:'kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
941!dec$ attributes alias:'kmp_malloc_'::kmp_malloc
942!dec$ attributes alias:'kmp_aligned_malloc_'::kmp_aligned_malloc
943!dec$ attributes alias:'kmp_calloc_'::kmp_calloc
944!dec$ attributes alias:'kmp_realloc_'::kmp_realloc
945!dec$ attributes alias:'kmp_free_'::kmp_free
946
947!dec$ attributes alias:'kmp_set_warnings_on_'::kmp_set_warnings_on
948!dec$ attributes alias:'kmp_set_warnings_off_'::kmp_set_warnings_off
949!dec$ attributes alias:'kmp_get_cancellation_status_'::kmp_get_cancellation_status
950
951!dec$ endif
952
953!dec$ if defined(__APPLE__)
954
955!***
956!*** The Mac entry points are in lowercase, with both an underscore
957!*** appended and an underscore prepended.
958!***
959
960!dec$ attributes alias:'_omp_set_num_threads_'::omp_set_num_threads
961!dec$ attributes alias:'_omp_set_dynamic_'::omp_set_dynamic
962!dec$ attributes alias:'_omp_set_nested_'::omp_set_nested
963!dec$ attributes alias:'_omp_get_num_threads_'::omp_get_num_threads
964!dec$ attributes alias:'_omp_get_max_threads_'::omp_get_max_threads
965!dec$ attributes alias:'_omp_get_thread_num_'::omp_get_thread_num
966!dec$ attributes alias:'_omp_get_num_procs_'::omp_get_num_procs
967!dec$ attributes alias:'_omp_in_parallel_'::omp_in_parallel
968!dec$ attributes alias:'_omp_get_dynamic_'::omp_get_dynamic
969!dec$ attributes alias:'_omp_get_nested_'::omp_get_nested
970!dec$ attributes alias:'_omp_get_thread_limit_'::omp_get_thread_limit
971!dec$ attributes alias:'_omp_set_max_active_levels_'::omp_set_max_active_levels
972!dec$ attributes alias:'_omp_get_max_active_levels_'::omp_get_max_active_levels
973!dec$ attributes alias:'_omp_get_level_'::omp_get_level
974!dec$ attributes alias:'_omp_get_active_level_'::omp_get_active_level
975!dec$ attributes alias:'_omp_get_ancestor_thread_num_'::omp_get_ancestor_thread_num
976!dec$ attributes alias:'_omp_get_team_size_'::omp_get_team_size
977!dec$ attributes alias:'_omp_set_schedule_'::omp_set_schedule
978!dec$ attributes alias:'_omp_get_schedule_'::omp_get_schedule
979!dec$ attributes alias:'_omp_get_proc_bind_' :: omp_get_proc_bind
980!dec$ attributes alias:'_omp_get_wtime_'::omp_get_wtime
981!dec$ attributes alias:'_omp_get_wtick_'::omp_get_wtick
982!dec$ attributes alias:'_omp_get_default_device_'::omp_get_default_device
983!dec$ attributes alias:'_omp_set_default_device_'::omp_set_default_device
984!dec$ attributes alias:'_omp_get_num_devices_'::omp_get_num_devices
985!dec$ attributes alias:'_omp_get_num_teams_'::omp_get_num_teams
986!dec$ attributes alias:'_omp_get_team_num_'::omp_get_team_num
987!dec$ attributes alias:'_omp_get_cancellation_'::omp_get_cancellation
988!dec$ attributes alias:'_omp_is_initial_device_'::omp_is_initial_device
989!dec$ attributes alias:'_omp_get_initial_device_'::omp_get_initial_device
990!dec$ attributes alias:'_omp_get_max_task_priorty_'::omp_get_max_task_priority
991!dec$ attributes alias:'_omp_get_device_num_'::omp_get_device_num
992!dec$ attributes alias:'_omp_pause_resource_' :: omp_pause_resource
993!dec$ attributes alias:'_omp_pause_resource_all_' :: omp_pause_resource_all
994!dec$ attributes alias:'_omp_get_supported_active_levels_' :: omp_get_supported_active_levels
995!dec$ attributes alias:'_omp_fulfill_event_' :: omp_fulfill_event
996
997!dec$ attributes alias:'_omp_init_lock_'::omp_init_lock
998!dec$ attributes alias:'_omp_init_lock_with_hint_'::omp_init_lock_with_hint
999!dec$ attributes alias:'_omp_destroy_lock_'::omp_destroy_lock
1000!dec$ attributes alias:'_omp_set_lock_'::omp_set_lock
1001!dec$ attributes alias:'_omp_unset_lock_'::omp_unset_lock
1002!dec$ attributes alias:'_omp_test_lock_'::omp_test_lock
1003!dec$ attributes alias:'_omp_init_nest_lock_'::omp_init_nest_lock
1004!dec$ attributes alias:'_omp_init_nest_lock_with_hint_'::omp_init_nest_lock_with_hint
1005!dec$ attributes alias:'_omp_destroy_nest_lock_'::omp_destroy_nest_lock
1006!dec$ attributes alias:'_omp_set_nest_lock_'::omp_set_nest_lock
1007!dec$ attributes alias:'_omp_unset_nest_lock_'::omp_unset_nest_lock
1008!dec$ attributes alias:'_omp_test_nest_lock_'::omp_test_nest_lock
1009!dec$ attributes alias:'_omp_control_tool_'::omp_control_tool
1010!dec$ attributes alias:'_omp_set_affinity_format_' :: omp_set_affinity_format
1011!dec$ attributes alias:'_omp_get_affinity_format_' :: omp_get_affinity_format
1012!dec$ attributes alias:'_omp_display_affinity_' :: omp_display_affinity
1013!dec$ attributes alias:'_omp_capture_affinity_' :: omp_capture_affinity
1014
1015!dec$ attributes alias:'_kmp_set_stacksize_'::kmp_set_stacksize
1016!dec$ attributes alias:'_kmp_set_stacksize_s_'::kmp_set_stacksize_s
1017!dec$ attributes alias:'_kmp_set_blocktime_'::kmp_set_blocktime
1018!dec$ attributes alias:'_kmp_set_library_serial_'::kmp_set_library_serial
1019!dec$ attributes alias:'_kmp_set_library_turnaround_'::kmp_set_library_turnaround
1020!dec$ attributes alias:'_kmp_set_library_throughput_'::kmp_set_library_throughput
1021!dec$ attributes alias:'_kmp_set_library_'::kmp_set_library
1022!dec$ attributes alias:'_kmp_get_stacksize_'::kmp_get_stacksize
1023!dec$ attributes alias:'_kmp_get_stacksize_s_'::kmp_get_stacksize_s
1024!dec$ attributes alias:'_kmp_get_blocktime_'::kmp_get_blocktime
1025!dec$ attributes alias:'_kmp_get_library_'::kmp_get_library
1026!dec$ attributes alias:'_kmp_set_affinity_'::kmp_set_affinity
1027!dec$ attributes alias:'_kmp_get_affinity_'::kmp_get_affinity
1028!dec$ attributes alias:'_kmp_get_affinity_max_proc_'::kmp_get_affinity_max_proc
1029!dec$ attributes alias:'_kmp_create_affinity_mask_'::kmp_create_affinity_mask
1030!dec$ attributes alias:'_kmp_destroy_affinity_mask_'::kmp_destroy_affinity_mask
1031!dec$ attributes alias:'_kmp_set_affinity_mask_proc_'::kmp_set_affinity_mask_proc
1032!dec$ attributes alias:'_kmp_unset_affinity_mask_proc_'::kmp_unset_affinity_mask_proc
1033!dec$ attributes alias:'_kmp_get_affinity_mask_proc_'::kmp_get_affinity_mask_proc
1034!dec$ attributes alias:'_kmp_malloc_'::kmp_malloc
1035!dec$ attributes alias:'_kmp_aligned_malloc_'::kmp_aligned_malloc
1036!dec$ attributes alias:'_kmp_calloc_'::kmp_calloc
1037!dec$ attributes alias:'_kmp_realloc_'::kmp_realloc
1038!dec$ attributes alias:'_kmp_free_'::kmp_free
1039
1040!dec$ attributes alias:'_kmp_set_warnings_on_'::kmp_set_warnings_on
1041!dec$ attributes alias:'_kmp_set_warnings_off_'::kmp_set_warnings_off
1042
1043!dec$ attributes alias:'_kmp_get_cancellation_status_'::kmp_get_cancellation_status
1044
1045!dec$ endif
1046
1047      end module omp_lib
1048