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