]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/openmp/runtime/src/include/50/omp_lib.h.var
MFC r355070:
[FreeBSD/FreeBSD.git] / contrib / openmp / runtime / src / include / 50 / omp_lib.h.var
1 ! include/50/omp_lib.h.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       integer omp_integer_kind
15       parameter(omp_integer_kind=4)
16       integer omp_logical_kind
17       parameter(omp_logical_kind=4)
18       integer omp_real_kind
19       parameter(omp_real_kind=4)
20       integer omp_lock_kind
21       parameter(omp_lock_kind=int_ptr_kind())
22       integer omp_nest_lock_kind
23       parameter(omp_nest_lock_kind=int_ptr_kind())
24       integer omp_sched_kind
25       parameter(omp_sched_kind=omp_integer_kind)
26       integer omp_proc_bind_kind
27       parameter(omp_proc_bind_kind=omp_integer_kind)
28       integer kmp_pointer_kind
29       parameter(kmp_pointer_kind=int_ptr_kind())
30       integer kmp_size_t_kind
31       parameter(kmp_size_t_kind=int_ptr_kind())
32       integer kmp_affinity_mask_kind
33       parameter(kmp_affinity_mask_kind=int_ptr_kind())
34       integer omp_sync_hint_kind
35       parameter(omp_sync_hint_kind=omp_integer_kind)
36       integer omp_lock_hint_kind
37       parameter(omp_lock_hint_kind=omp_sync_hint_kind)
38       integer omp_control_tool_kind
39       parameter(omp_control_tool_kind=omp_integer_kind)
40       integer omp_control_tool_result_kind
41       parameter(omp_control_tool_result_kind=omp_integer_kind)
42       integer omp_allocator_kind
43       parameter(omp_allocator_kind=int_ptr_kind())
44
45       integer(kind=omp_integer_kind)openmp_version
46       parameter(openmp_version=@LIBOMP_OMP_YEAR_MONTH@)
47       integer(kind=omp_integer_kind)kmp_version_major
48       parameter(kmp_version_major=@LIBOMP_VERSION_MAJOR@)
49       integer(kind=omp_integer_kind)kmp_version_minor
50       parameter(kmp_version_minor=@LIBOMP_VERSION_MINOR@)
51       integer(kind=omp_integer_kind)kmp_version_build
52       parameter(kmp_version_build=@LIBOMP_VERSION_BUILD@)
53       character(*)kmp_build_date
54       parameter(kmp_build_date='@LIBOMP_BUILD_DATE@')
55
56       integer(kind=omp_sched_kind)omp_sched_static
57       parameter(omp_sched_static=1)
58       integer(kind=omp_sched_kind)omp_sched_dynamic
59       parameter(omp_sched_dynamic=2)
60       integer(kind=omp_sched_kind)omp_sched_guided
61       parameter(omp_sched_guided=3)
62       integer(kind=omp_sched_kind)omp_sched_auto
63       parameter(omp_sched_auto=4)
64
65       integer(kind=omp_proc_bind_kind)omp_proc_bind_false
66       parameter(omp_proc_bind_false=0)
67       integer(kind=omp_proc_bind_kind)omp_proc_bind_true
68       parameter(omp_proc_bind_true=1)
69       integer(kind=omp_proc_bind_kind)omp_proc_bind_master
70       parameter(omp_proc_bind_master=2)
71       integer(kind=omp_proc_bind_kind)omp_proc_bind_close
72       parameter(omp_proc_bind_close=3)
73       integer(kind=omp_proc_bind_kind)omp_proc_bind_spread
74       parameter(omp_proc_bind_spread=4)
75
76       integer(kind=omp_sync_hint_kind)omp_sync_hint_none
77       parameter(omp_sync_hint_none=0)
78       integer(kind=omp_sync_hint_kind)omp_sync_hint_uncontended
79       parameter(omp_sync_hint_uncontended=1)
80       integer(kind=omp_sync_hint_kind)omp_sync_hint_contended
81       parameter(omp_sync_hint_contended=2)
82       integer(kind=omp_sync_hint_kind)omp_sync_hint_nonspeculative
83       parameter(omp_sync_hint_nonspeculative=4)
84       integer(kind=omp_sync_hint_kind)omp_sync_hint_speculative
85       parameter(omp_sync_hint_speculative=8)
86       integer(kind=omp_lock_hint_kind)omp_lock_hint_none
87       parameter(omp_lock_hint_none=omp_sync_hint_none)
88       integer(kind=omp_lock_hint_kind)omp_lock_hint_uncontended
89       parameter(omp_lock_hint_uncontended=omp_sync_hint_uncontended)
90       integer(kind=omp_lock_hint_kind)omp_lock_hint_contended
91       parameter(omp_lock_hint_contended=omp_sync_hint_contended)
92       integer(kind=omp_lock_hint_kind)omp_lock_hint_nonspeculative
93       parameter(omp_lock_hint_nonspeculative=4)
94       integer(kind=omp_lock_hint_kind)omp_lock_hint_speculative
95       parameter(omp_lock_hint_speculative=omp_sync_hint_speculative)
96       integer(kind=omp_lock_hint_kind)kmp_lock_hint_hle
97       parameter(kmp_lock_hint_hle=65536)
98       integer(kind=omp_lock_hint_kind)kmp_lock_hint_rtm
99       parameter(kmp_lock_hint_rtm=131072)
100       integer(kind=omp_lock_hint_kind)kmp_lock_hint_adaptive
101       parameter(kmp_lock_hint_adaptive=262144)
102
103       integer(kind=omp_control_tool_kind)omp_control_tool_start
104       parameter(omp_control_tool_start=1)
105       integer(kind=omp_control_tool_kind)omp_control_tool_pause
106       parameter(omp_control_tool_pause=2)
107       integer(kind=omp_control_tool_kind)omp_control_tool_flush
108       parameter(omp_control_tool_flush=3)
109       integer(kind=omp_control_tool_kind)omp_control_tool_end
110       parameter(omp_control_tool_end=4)
111
112       integer(omp_control_tool_result_kind)omp_control_tool_notool
113       parameter(omp_control_tool_notool=-2)
114       integer(omp_control_tool_result_kind)omp_control_tool_nocallback
115       parameter(omp_control_tool_nocallback=-1)
116       integer(omp_control_tool_result_kind)omp_control_tool_success
117       parameter(omp_control_tool_success=0)
118       integer(omp_control_tool_result_kind)omp_control_tool_ignored
119       parameter(omp_control_tool_ignored=1)
120
121       integer(kind=omp_allocator_kind)omp_null_allocator
122       parameter(omp_null_allocator=0)
123       integer(kind=omp_allocator_kind)omp_default_mem_alloc
124       parameter(omp_default_mem_alloc=1)
125       integer(kind=omp_allocator_kind)omp_large_cap_mem_alloc
126       parameter(omp_large_cap_mem_alloc=2)
127       integer(kind=omp_allocator_kind)omp_const_mem_alloc
128       parameter(omp_const_mem_alloc=3)
129       integer(kind=omp_allocator_kind)omp_high_bw_mem_alloc
130       parameter(omp_high_bw_mem_alloc=4)
131       integer(kind=omp_allocator_kind)omp_low_lat_mem_alloc
132       parameter(omp_low_lat_mem_alloc=5)
133       integer(kind=omp_allocator_kind)omp_cgroup_mem_alloc
134       parameter(omp_cgroup_mem_alloc=6)
135       integer(kind=omp_allocator_kind)omp_pteam_mem_alloc
136       parameter(omp_pteam_mem_alloc=7)
137       integer(kind=omp_allocator_kind)omp_thread_mem_alloc
138       parameter(omp_thread_mem_alloc=8)
139
140       interface
141
142 !       ***
143 !       *** omp_* entry points
144 !       ***
145
146         subroutine omp_set_num_threads(num_threads) bind(c)
147           import
148           integer (kind=omp_integer_kind), value :: num_threads
149         end subroutine omp_set_num_threads
150
151         subroutine omp_set_dynamic(dynamic_threads) bind(c)
152           import
153           logical (kind=omp_logical_kind), value :: dynamic_threads
154         end subroutine omp_set_dynamic
155
156         subroutine omp_set_nested(nested) bind(c)
157           import
158           logical (kind=omp_logical_kind), value :: nested
159         end subroutine omp_set_nested
160
161         function omp_get_num_threads() bind(c)
162           import
163           integer (kind=omp_integer_kind) omp_get_num_threads
164         end function omp_get_num_threads
165
166         function omp_get_max_threads() bind(c)
167           import
168           integer (kind=omp_integer_kind) omp_get_max_threads
169         end function omp_get_max_threads
170
171         function omp_get_thread_num() bind(c)
172           import
173           integer (kind=omp_integer_kind) omp_get_thread_num
174         end function omp_get_thread_num
175
176         function omp_get_num_procs() bind(c)
177           import
178           integer (kind=omp_integer_kind) omp_get_num_procs
179         end function omp_get_num_procs
180
181         function omp_in_parallel() bind(c)
182           import
183           logical (kind=omp_logical_kind) omp_in_parallel
184         end function omp_in_parallel
185
186         function omp_in_final() bind(c)
187           import
188           logical (kind=omp_logical_kind) omp_in_final
189         end function omp_in_final
190
191         function omp_get_dynamic() bind(c)
192           import
193           logical (kind=omp_logical_kind) omp_get_dynamic
194         end function omp_get_dynamic
195
196         function omp_get_nested() bind(c)
197           import
198           logical (kind=omp_logical_kind) omp_get_nested
199         end function omp_get_nested
200
201         function omp_get_thread_limit() bind(c)
202           import
203           integer (kind=omp_integer_kind) omp_get_thread_limit
204         end function omp_get_thread_limit
205
206         subroutine omp_set_max_active_levels(max_levels) bind(c)
207           import
208           integer (kind=omp_integer_kind), value :: max_levels
209         end subroutine omp_set_max_active_levels
210
211         function omp_get_max_active_levels() bind(c)
212           import
213           integer (kind=omp_integer_kind) omp_get_max_active_levels
214         end function omp_get_max_active_levels
215
216         function omp_get_level() bind(c)
217           import
218           integer (kind=omp_integer_kind) omp_get_level
219         end function omp_get_level
220
221         function omp_get_active_level() bind(c)
222           import
223           integer (kind=omp_integer_kind) omp_get_active_level
224         end function omp_get_active_level
225
226         function omp_get_ancestor_thread_num(level) bind(c)
227           import
228           integer (kind=omp_integer_kind) omp_get_ancestor_thread_num
229           integer (kind=omp_integer_kind), value :: level
230         end function omp_get_ancestor_thread_num
231
232         function omp_get_team_size(level) bind(c)
233           import
234           integer (kind=omp_integer_kind) omp_get_team_size
235           integer (kind=omp_integer_kind), value :: level
236         end function omp_get_team_size
237
238         subroutine omp_set_schedule(kind, chunk_size) bind(c)
239           import
240           integer (kind=omp_sched_kind), value :: kind
241           integer (kind=omp_integer_kind), value :: chunk_size
242         end subroutine omp_set_schedule
243
244         subroutine omp_get_schedule(kind, chunk_size) bind(c)
245           import
246           integer (kind=omp_sched_kind) kind
247           integer (kind=omp_integer_kind) chunk_size
248         end subroutine omp_get_schedule
249
250         function omp_get_proc_bind() bind(c)
251           import
252           integer (kind=omp_proc_bind_kind) omp_get_proc_bind
253         end function omp_get_proc_bind
254
255         function omp_get_num_places() bind(c)
256           import
257           integer (kind=omp_integer_kind) omp_get_num_places
258         end function omp_get_num_places
259
260         function omp_get_place_num_procs(place_num) bind(c)
261           import
262           integer (kind=omp_integer_kind), value :: place_num
263           integer (kind=omp_integer_kind) omp_get_place_num_procs
264         end function omp_get_place_num_procs
265
266         subroutine omp_get_place_proc_ids(place_num, ids) bind(c)
267           import
268           integer (kind=omp_integer_kind), value :: place_num
269           integer (kind=omp_integer_kind) ids(*)
270         end subroutine omp_get_place_proc_ids
271
272         function omp_get_place_num() bind(c)
273           import
274           integer (kind=omp_integer_kind) omp_get_place_num
275         end function omp_get_place_num
276
277         function omp_get_partition_num_places() bind(c)
278           import
279           integer (kind=omp_integer_kind) omp_get_partition_num_places
280         end function omp_get_partition_num_places
281
282         subroutine omp_get_partition_place_nums(place_nums) bind(c)
283           import
284           integer (kind=omp_integer_kind) place_nums(*)
285         end subroutine omp_get_partition_place_nums
286
287         function omp_get_wtime() bind(c)
288           double precision omp_get_wtime
289         end function omp_get_wtime
290
291         function omp_get_wtick() bind(c)
292           double precision omp_get_wtick
293         end function omp_get_wtick
294
295         function omp_get_default_device() bind(c)
296           import
297           integer (kind=omp_integer_kind) omp_get_default_device
298         end function omp_get_default_device
299
300         subroutine omp_set_default_device(device_num) bind(c)
301           import
302           integer (kind=omp_integer_kind), value :: device_num
303         end subroutine omp_set_default_device
304
305         function omp_get_num_devices() bind(c)
306           import
307           integer (kind=omp_integer_kind) omp_get_num_devices
308         end function omp_get_num_devices
309
310         function omp_get_num_teams() bind(c)
311           import
312           integer (kind=omp_integer_kind) omp_get_num_teams
313         end function omp_get_num_teams
314
315         function omp_get_team_num() bind(c)
316           import
317           integer (kind=omp_integer_kind) omp_get_team_num
318         end function omp_get_team_num
319
320         function omp_is_initial_device() bind(c)
321           import
322           logical (kind=omp_logical_kind) omp_is_initial_device
323         end function omp_is_initial_device
324
325         function omp_get_initial_device() bind(c)
326           import
327           integer (kind=omp_integer_kind) omp_get_initial_device
328         end function omp_get_initial_device
329
330         function omp_get_device_num() bind(c)
331           import
332           integer (kind=omp_integer_kind) omp_get_device_num
333         end function omp_get_device_num
334
335         subroutine omp_init_lock(svar) bind(c)
336 !DIR$ IF(__INTEL_COMPILER.GE.1400)
337 !DIR$ attributes known_intrinsic :: omp_init_lock
338 !DIR$ ENDIF
339           import
340           integer (kind=omp_lock_kind) svar
341         end subroutine omp_init_lock
342
343         subroutine omp_destroy_lock(svar) bind(c)
344 !DIR$ IF(__INTEL_COMPILER.GE.1400)
345 !DIR$ attributes known_intrinsic :: omp_destroy_lock
346 !DIR$ ENDIF
347           import
348           integer (kind=omp_lock_kind) svar
349         end subroutine omp_destroy_lock
350
351         subroutine omp_set_lock(svar) bind(c)
352 !DIR$ IF(__INTEL_COMPILER.GE.1400)
353 !DIR$ attributes known_intrinsic :: omp_set_lock
354 !DIR$ ENDIF
355           import
356           integer (kind=omp_lock_kind) svar
357         end subroutine omp_set_lock
358
359         subroutine omp_unset_lock(svar) bind(c)
360 !DIR$ IF(__INTEL_COMPILER.GE.1400)
361 !DIR$ attributes known_intrinsic :: omp_unset_lock
362 !DIR$ ENDIF
363           import
364           integer (kind=omp_lock_kind) svar
365         end subroutine omp_unset_lock
366
367         function omp_test_lock(svar) bind(c)
368 !DIR$ IF(__INTEL_COMPILER.GE.1400)
369 !DIR$ attributes known_intrinsic :: omp_test_lock
370 !DIR$ ENDIF
371           import
372           logical (kind=omp_logical_kind) omp_test_lock
373           integer (kind=omp_lock_kind) svar
374         end function omp_test_lock
375
376         subroutine omp_init_nest_lock(nvar) bind(c)
377 !DIR$ IF(__INTEL_COMPILER.GE.1400)
378 !DIR$ attributes known_intrinsic :: omp_init_nest_lock
379 !DIR$ ENDIF
380           import
381           integer (kind=omp_nest_lock_kind) nvar
382         end subroutine omp_init_nest_lock
383
384         subroutine omp_destroy_nest_lock(nvar) bind(c)
385 !DIR$ IF(__INTEL_COMPILER.GE.1400)
386 !DIR$ attributes known_intrinsic :: omp_destroy_nest_lock
387 !DIR$ ENDIF
388           import
389           integer (kind=omp_nest_lock_kind) nvar
390         end subroutine omp_destroy_nest_lock
391
392         subroutine omp_set_nest_lock(nvar) bind(c)
393 !DIR$ IF(__INTEL_COMPILER.GE.1400)
394 !DIR$ attributes known_intrinsic :: omp_set_nest_lock
395 !DIR$ ENDIF
396           import
397           integer (kind=omp_nest_lock_kind) nvar
398         end subroutine omp_set_nest_lock
399
400         subroutine omp_unset_nest_lock(nvar) bind(c)
401 !DIR$ IF(__INTEL_COMPILER.GE.1400)
402 !DIR$ attributes known_intrinsic :: omp_unset_nest_lock
403 !DIR$ ENDIF
404           import
405           integer (kind=omp_nest_lock_kind) nvar
406         end subroutine omp_unset_nest_lock
407
408         function omp_test_nest_lock(nvar) bind(c)
409 !DIR$ IF(__INTEL_COMPILER.GE.1400)
410 !DIR$ attributes known_intrinsic :: omp_test_nest_lock
411 !DIR$ ENDIF
412           import
413           integer (kind=omp_integer_kind) omp_test_nest_lock
414           integer (kind=omp_nest_lock_kind) nvar
415         end function omp_test_nest_lock
416
417         function omp_get_max_task_priority() bind(c)
418           import
419           integer (kind=omp_integer_kind) omp_get_max_task_priority
420         end function omp_get_max_task_priority
421
422         subroutine omp_set_default_allocator(svar) bind(c)
423           import
424           integer (kind=omp_allocator_kind), value :: svar
425         end subroutine omp_set_default_allocator
426
427         function omp_get_default_allocator() bind(c)
428           import
429           integer (kind=omp_allocator_kind) omp_get_default_allocator
430         end function omp_get_default_allocator
431
432         subroutine omp_set_affinity_format(format)
433           character (len=*) :: format
434         end subroutine omp_set_affinity_format
435
436         function omp_get_affinity_format(buffer)
437           import
438           character (len=*) :: buffer
439           integer (kind=kmp_size_t_kind) :: omp_get_affinity_format
440         end function omp_get_affinity_format
441
442         subroutine omp_display_affinity(format)
443           character (len=*) :: format
444         end subroutine omp_display_affinity
445
446         function omp_capture_affinity(buffer, format)
447           import
448           character (len=*) :: format
449           character (len=*) :: buffer
450           integer (kind=kmp_size_t_kind) :: omp_capture_affinity
451         end function omp_capture_affinity
452
453 !       ***
454 !       *** kmp_* entry points
455 !       ***
456
457         subroutine kmp_set_stacksize(size) bind(c)
458           import
459           integer (kind=omp_integer_kind), value :: size
460         end subroutine kmp_set_stacksize
461
462         subroutine kmp_set_stacksize_s(size) bind(c)
463           import
464           integer (kind=kmp_size_t_kind), value :: size
465         end subroutine kmp_set_stacksize_s
466
467         subroutine kmp_set_blocktime(msec) bind(c)
468           import
469           integer (kind=omp_integer_kind), value :: msec
470         end subroutine kmp_set_blocktime
471
472         subroutine kmp_set_library_serial() bind(c)
473         end subroutine kmp_set_library_serial
474
475         subroutine kmp_set_library_turnaround() bind(c)
476         end subroutine kmp_set_library_turnaround
477
478         subroutine kmp_set_library_throughput() bind(c)
479         end subroutine kmp_set_library_throughput
480
481         subroutine kmp_set_library(libnum) bind(c)
482           import
483           integer (kind=omp_integer_kind), value :: libnum
484         end subroutine kmp_set_library
485
486         subroutine kmp_set_defaults(string) bind(c)
487           character string(*)
488         end subroutine kmp_set_defaults
489
490         function kmp_get_stacksize() bind(c)
491           import
492           integer (kind=omp_integer_kind) kmp_get_stacksize
493         end function kmp_get_stacksize
494
495         function kmp_get_stacksize_s() bind(c)
496           import
497           integer (kind=kmp_size_t_kind) kmp_get_stacksize_s
498         end function kmp_get_stacksize_s
499
500         function kmp_get_blocktime() bind(c)
501           import
502           integer (kind=omp_integer_kind) kmp_get_blocktime
503         end function kmp_get_blocktime
504
505         function kmp_get_library() bind(c)
506           import
507           integer (kind=omp_integer_kind) kmp_get_library
508         end function kmp_get_library
509
510         subroutine kmp_set_disp_num_buffers(num) bind(c)
511           import
512           integer (kind=omp_integer_kind), value :: num
513         end subroutine kmp_set_disp_num_buffers
514
515         function kmp_set_affinity(mask) bind(c)
516           import
517           integer (kind=omp_integer_kind) kmp_set_affinity
518           integer (kind=kmp_affinity_mask_kind) mask
519         end function kmp_set_affinity
520
521         function kmp_get_affinity(mask) bind(c)
522           import
523           integer (kind=omp_integer_kind) kmp_get_affinity
524           integer (kind=kmp_affinity_mask_kind) mask
525         end function kmp_get_affinity
526
527         function kmp_get_affinity_max_proc() bind(c)
528           import
529           integer (kind=omp_integer_kind) kmp_get_affinity_max_proc
530         end function kmp_get_affinity_max_proc
531
532         subroutine kmp_create_affinity_mask(mask) bind(c)
533           import
534           integer (kind=kmp_affinity_mask_kind) mask
535         end subroutine kmp_create_affinity_mask
536
537         subroutine kmp_destroy_affinity_mask(mask) bind(c)
538           import
539           integer (kind=kmp_affinity_mask_kind) mask
540         end subroutine kmp_destroy_affinity_mask
541
542         function kmp_set_affinity_mask_proc(proc, mask) bind(c)
543           import
544           integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc
545           integer (kind=omp_integer_kind), value :: proc
546           integer (kind=kmp_affinity_mask_kind) mask
547         end function kmp_set_affinity_mask_proc
548
549         function kmp_unset_affinity_mask_proc(proc, mask) bind(c)
550           import
551           integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc
552           integer (kind=omp_integer_kind), value :: proc
553           integer (kind=kmp_affinity_mask_kind) mask
554         end function kmp_unset_affinity_mask_proc
555
556         function kmp_get_affinity_mask_proc(proc, mask) bind(c)
557           import
558           integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc
559           integer (kind=omp_integer_kind), value :: proc
560           integer (kind=kmp_affinity_mask_kind) mask
561         end function kmp_get_affinity_mask_proc
562
563         function kmp_malloc(size) bind(c)
564           import
565           integer (kind=kmp_pointer_kind) kmp_malloc
566           integer (kind=kmp_size_t_kind), value :: size
567         end function kmp_malloc
568
569         function kmp_aligned_malloc(size, alignment) bind(c)
570           import
571           integer (kind=kmp_pointer_kind) kmp_aligned_malloc
572           integer (kind=kmp_size_t_kind), value :: size
573           integer (kind=kmp_size_t_kind), value :: alignment
574         end function kmp_aligned_malloc
575
576         function kmp_calloc(nelem, elsize) bind(c)
577           import
578           integer (kind=kmp_pointer_kind) kmp_calloc
579           integer (kind=kmp_size_t_kind), value :: nelem
580           integer (kind=kmp_size_t_kind), value :: elsize
581         end function kmp_calloc
582
583         function kmp_realloc(ptr, size) bind(c)
584           import
585           integer (kind=kmp_pointer_kind) kmp_realloc
586           integer (kind=kmp_pointer_kind), value :: ptr
587           integer (kind=kmp_size_t_kind), value :: size
588         end function kmp_realloc
589
590         subroutine kmp_free(ptr) bind(c)
591           import
592           integer (kind=kmp_pointer_kind), value :: ptr
593         end subroutine kmp_free
594
595         subroutine kmp_set_warnings_on() bind(c)
596         end subroutine kmp_set_warnings_on
597
598         subroutine kmp_set_warnings_off() bind(c)
599         end subroutine kmp_set_warnings_off
600
601         subroutine omp_init_lock_with_hint(svar, hint) bind(c)
602           import
603           integer (kind=omp_lock_kind) svar
604           integer (kind=omp_lock_hint_kind), value :: hint
605         end subroutine omp_init_lock_with_hint
606
607         subroutine omp_init_nest_lock_with_hint(nvar, hint) bind(c)
608           import
609           integer (kind=omp_nest_lock_kind) nvar
610           integer (kind=omp_lock_hint_kind), value :: hint
611         end subroutine omp_init_nest_lock_with_hint
612
613         function omp_control_tool(command, modifier, arg) bind(c)
614           import
615           integer (kind=omp_integer_kind) omp_control_tool
616           integer (kind=omp_control_tool_kind), value :: command
617           integer (kind=omp_control_tool_kind), value :: modifier
618           integer (kind=kmp_pointer_kind), optional :: arg
619         end function omp_control_tool
620
621       end interface
622
623 !DIR$ IF DEFINED (__INTEL_OFFLOAD)
624
625 !DIR$ IF(__INTEL_COMPILER.LT.1900)
626 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_num_threads
627 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_dynamic
628 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nested
629 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_threads
630 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_threads
631 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_num
632 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_procs
633 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_parallel
634 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_in_final
635 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_dynamic
636 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_nested
637 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_thread_limit
638 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_max_active_levels
639 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_active_levels
640 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_level
641 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_active_level
642 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_ancestor_thread_num
643 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_size
644 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_schedule
645 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_schedule
646 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_proc_bind
647 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtime
648 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_wtick
649 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_default_device
650 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_default_device
651 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_is_initial_device
652 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_initial_device
653 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_devices
654 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_device_num
655 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_num_teams
656 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_team_num
657 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock
658 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_lock
659 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_lock
660 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_lock
661 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_lock
662 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock
663 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_destroy_nest_lock
664 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_nest_lock
665 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_unset_nest_lock
666 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_test_nest_lock
667 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_max_task_priority
668 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_set_affinity_format
669 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_get_affinity_format
670 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_display_affinity
671 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_capture_affinity
672 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize
673 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_stacksize_s
674 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_blocktime
675 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_serial
676 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_turnaround
677 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library_throughput
678 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_library
679 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_defaults
680 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize
681 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_stacksize_s
682 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_blocktime
683 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_library
684 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_disp_num_buffers
685 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity
686 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity
687 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_max_proc
688 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_create_affinity_mask
689 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_destroy_affinity_mask
690 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_affinity_mask_proc
691 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_unset_affinity_mask_proc
692 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_get_affinity_mask_proc
693 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_malloc
694 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_aligned_malloc
695 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_calloc
696 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_realloc
697 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_free
698 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_on
699 !DIR$ ATTRIBUTES OFFLOAD:MIC :: kmp_set_warnings_off
700 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_lock_with_hint
701 !DIR$ ATTRIBUTES OFFLOAD:MIC :: omp_init_nest_lock_with_hint
702 !DIR$ ENDIF
703
704 !DIR$ IF(__INTEL_COMPILER.GE.1400)
705 !$omp declare target(omp_set_num_threads )
706 !$omp declare target(omp_set_dynamic )
707 !$omp declare target(omp_set_nested )
708 !$omp declare target(omp_get_num_threads )
709 !$omp declare target(omp_get_max_threads )
710 !$omp declare target(omp_get_thread_num )
711 !$omp declare target(omp_get_num_procs )
712 !$omp declare target(omp_in_parallel )
713 !$omp declare target(omp_in_final )
714 !$omp declare target(omp_get_dynamic )
715 !$omp declare target(omp_get_nested )
716 !$omp declare target(omp_get_thread_limit )
717 !$omp declare target(omp_set_max_active_levels )
718 !$omp declare target(omp_get_max_active_levels )
719 !$omp declare target(omp_get_level )
720 !$omp declare target(omp_get_active_level )
721 !$omp declare target(omp_get_ancestor_thread_num )
722 !$omp declare target(omp_get_team_size )
723 !$omp declare target(omp_set_schedule )
724 !$omp declare target(omp_get_schedule )
725 !$omp declare target(omp_get_proc_bind )
726 !$omp declare target(omp_get_wtime )
727 !$omp declare target(omp_get_wtick )
728 !$omp declare target(omp_get_default_device )
729 !$omp declare target(omp_set_default_device )
730 !$omp declare target(omp_is_initial_device )
731 !$omp declare target(omp_get_initial_device )
732 !$omp declare target(omp_get_num_devices )
733 !$omp declare target(omp_get_device_num )
734 !$omp declare target(omp_get_num_teams )
735 !$omp declare target(omp_get_team_num )
736 !$omp declare target(omp_init_lock )
737 !$omp declare target(omp_destroy_lock )
738 !$omp declare target(omp_set_lock )
739 !$omp declare target(omp_unset_lock )
740 !$omp declare target(omp_test_lock )
741 !$omp declare target(omp_init_nest_lock )
742 !$omp declare target(omp_destroy_nest_lock )
743 !$omp declare target(omp_set_nest_lock )
744 !$omp declare target(omp_unset_nest_lock )
745 !$omp declare target(omp_test_nest_lock )
746 !$omp declare target(omp_get_max_task_priority )
747 !$omp declare target(omp_set_affinity_format )
748 !$omp declare target(omp_get_affinity_format )
749 !$omp declare target(omp_display_affinity )
750 !$omp declare target(omp_capture_affinity )
751 !$omp declare target(kmp_set_stacksize )
752 !$omp declare target(kmp_set_stacksize_s )
753 !$omp declare target(kmp_set_blocktime )
754 !$omp declare target(kmp_set_library_serial )
755 !$omp declare target(kmp_set_library_turnaround )
756 !$omp declare target(kmp_set_library_throughput )
757 !$omp declare target(kmp_set_library )
758 !$omp declare target(kmp_set_defaults )
759 !$omp declare target(kmp_get_stacksize )
760 !$omp declare target(kmp_get_stacksize_s )
761 !$omp declare target(kmp_get_blocktime )
762 !$omp declare target(kmp_get_library )
763 !$omp declare target(kmp_set_disp_num_buffers )
764 !$omp declare target(kmp_set_affinity )
765 !$omp declare target(kmp_get_affinity )
766 !$omp declare target(kmp_get_affinity_max_proc )
767 !$omp declare target(kmp_create_affinity_mask )
768 !$omp declare target(kmp_destroy_affinity_mask )
769 !$omp declare target(kmp_set_affinity_mask_proc )
770 !$omp declare target(kmp_unset_affinity_mask_proc )
771 !$omp declare target(kmp_get_affinity_mask_proc )
772 !$omp declare target(kmp_malloc )
773 !$omp declare target(kmp_aligned_malloc )
774 !$omp declare target(kmp_calloc )
775 !$omp declare target(kmp_realloc )
776 !$omp declare target(kmp_free )
777 !$omp declare target(kmp_set_warnings_on )
778 !$omp declare target(kmp_set_warnings_off )
779 !$omp declare target(omp_init_lock_with_hint )
780 !$omp declare target(omp_init_nest_lock_with_hint )
781 !DIR$ ENDIF
782 !DIR$ ENDIF