brintos

brintos / llvm-project-archived public Read only

0
0
Text · 52.5 KiB · 90d7e49 Raw
1184 lines · plain
1! include/omp_lib.f90.var2 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-exception9!//10!//===----------------------------------------------------------------------===//11!12 13      module omp_lib_kinds14 15        use, intrinsic :: iso_c_binding16 17        ! Set PRIVATE by default to explicitly only export what is meant18        ! to be exported by this MODULE.19        private20 21        integer, parameter, public :: omp_integer_kind       = c_int22        integer, parameter, public :: omp_logical_kind       = 423        integer, parameter, public :: omp_real_kind          = c_float24        integer, parameter, public :: kmp_double_kind        = c_double25        integer, parameter, public :: omp_lock_kind          = c_intptr_t26        integer, parameter, public :: omp_nest_lock_kind     = c_intptr_t27        integer, parameter, public :: omp_sched_kind         = omp_integer_kind28        integer, parameter, public :: omp_proc_bind_kind     = omp_integer_kind29        integer, parameter, public :: kmp_pointer_kind       = c_intptr_t30        integer, parameter, public :: kmp_size_t_kind        = c_size_t31        integer, parameter, public :: kmp_affinity_mask_kind = c_intptr_t32        integer, parameter, public :: kmp_cancel_kind        = omp_integer_kind33        integer, parameter, public :: omp_sync_hint_kind     = omp_integer_kind34        integer, parameter, public :: omp_lock_hint_kind     = omp_sync_hint_kind35        integer, parameter, public :: omp_control_tool_kind  = omp_integer_kind36        integer, parameter, public :: omp_control_tool_result_kind = omp_integer_kind37        integer, parameter, public :: omp_allocator_handle_kind = c_intptr_t38        integer, parameter, public :: omp_memspace_handle_kind = c_intptr_t39        integer, parameter, public :: omp_alloctrait_key_kind = omp_integer_kind40        integer, parameter, public :: omp_alloctrait_val_kind = c_intptr_t41        integer, parameter, public :: omp_interop_kind = c_intptr_t42        integer, parameter, public :: omp_interop_fr_kind = omp_integer_kind43 44        type omp_alloctrait45          integer(kind=omp_alloctrait_key_kind) key46          integer(kind=omp_alloctrait_val_kind) value47        end type omp_alloctrait48        public :: omp_alloctrait49 50        integer, parameter, public :: omp_pause_resource_kind = omp_integer_kind51        integer, parameter, public :: omp_depend_kind = c_intptr_t52        integer, parameter, public :: omp_event_handle_kind = c_intptr_t53 54      end module omp_lib_kinds55 56      module omp_lib57 58        use omp_lib_kinds59 60        ! Set PRIVATE by default to explicitly only export what is meant61        ! to be exported by this MODULE.62        private63 64        ! Re-export definitions in omp_lib_kinds65        public :: omp_integer_kind66        public :: omp_logical_kind67        public :: omp_real_kind68        public :: kmp_double_kind69        public :: omp_lock_kind70        public :: omp_nest_lock_kind71        public :: omp_sched_kind72        public :: omp_proc_bind_kind73        public :: kmp_pointer_kind74        public :: kmp_size_t_kind75        public :: kmp_affinity_mask_kind76        public :: kmp_cancel_kind77        public :: omp_sync_hint_kind78        public :: omp_lock_hint_kind79        public :: omp_control_tool_kind80        public :: omp_control_tool_result_kind81        public :: omp_allocator_handle_kind82        public :: omp_memspace_handle_kind83        public :: omp_alloctrait_key_kind84        public :: omp_alloctrait_val_kind85        public :: omp_interop_kind86        public :: omp_interop_fr_kind87        public :: omp_alloctrait88        public :: omp_pause_resource_kind89        public :: omp_depend_kind90        public :: omp_event_handle_kind91 92        integer (kind=omp_integer_kind), parameter, public :: openmp_version    = @LIBOMP_OMP_YEAR_MONTH@93        integer (kind=omp_integer_kind), parameter, public :: kmp_version_major = @LIBOMP_VERSION_MAJOR@94        integer (kind=omp_integer_kind), parameter, public :: kmp_version_minor = @LIBOMP_VERSION_MINOR@95        integer (kind=omp_integer_kind), parameter, public :: kmp_version_build = @LIBOMP_VERSION_BUILD@96        character(*)               kmp_build_date97        parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' )98 99        integer(kind=omp_sched_kind), parameter, public :: omp_sched_static  = 1100        integer(kind=omp_sched_kind), parameter, public :: omp_sched_dynamic = 2101        integer(kind=omp_sched_kind), parameter, public :: omp_sched_guided  = 3102        integer(kind=omp_sched_kind), parameter, public :: omp_sched_auto    = 4103        integer(kind=omp_sched_kind), parameter, public :: omp_sched_monotonic = int(Z'80000000', kind=omp_sched_kind)104 105        integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_false = 0106        integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_true = 1107        integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_master = 2108        integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_close = 3109        integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_spread = 4110 111        integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_parallel = 1112        integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_loop = 2113        integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_sections = 3114        integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_taskgroup = 4115 116        integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_none           = 0117        integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_uncontended    = 1118        integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_contended      = 2119        integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_nonspeculative = 4120        integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_speculative    = 8121        integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_none = omp_sync_hint_none122        integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_uncontended = omp_sync_hint_uncontended123        integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_contended = omp_sync_hint_contended124        integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_nonspeculative = omp_sync_hint_nonspeculative125        integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_speculative = omp_sync_hint_speculative126        integer (kind=omp_lock_hint_kind), parameter, public :: kmp_lock_hint_hle         = 65536127        integer (kind=omp_lock_hint_kind), parameter, public :: kmp_lock_hint_rtm         = 131072128        integer (kind=omp_lock_hint_kind), parameter, public :: kmp_lock_hint_adaptive    = 262144129 130        integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_start = 1131        integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_pause = 2132        integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_flush = 3133        integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_end = 4134 135        integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_notool = -2136        integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_nocallback = -1137        integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_success = 0138        integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_ignored = 1139 140        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_sync_hint = 1141        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_alignment = 2142        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_access = 3143        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_pool_size = 4144        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_fallback = 5145        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_fb_data = 6146        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_pinned = 7147        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_partition = 8148        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_pin_device = 9149        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_preferred_device = 10150        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_device_access = 11151        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_target_access = 12152        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_atomic_scope = 13153        integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_part_size = 14154 155        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_default = -1156        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_false = 0157        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_true = 1158        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_contended = 3159        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_uncontended = 4160        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_serialized = 5161        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_sequential = omp_atv_serialized162        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_private = 6163        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_device = 7164        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_thread = 8165        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_pteam = 9166        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_cgroup = 10167        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_default_mem_fb = 11168        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_null_fb = 12169        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_abort_fb = 13170        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_allocator_fb = 14171        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_environment = 15172        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_nearest = 16173        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_blocked = 17174        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_interleaved = 18175        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_all = 19176        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_single = 20177        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_multiple = 21178        integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_memspace = 22179 180        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_null_allocator = 0181        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_default_mem_alloc = 1182        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_large_cap_mem_alloc = 2183        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_const_mem_alloc = 3184        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_high_bw_mem_alloc = 4185        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_low_lat_mem_alloc = 5186        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_cgroup_mem_alloc = 6187        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_pteam_mem_alloc = 7188        integer (kind=omp_allocator_handle_kind), parameter, public :: omp_thread_mem_alloc = 8189        integer (kind=omp_allocator_handle_kind), parameter, public :: llvm_omp_target_host_mem_alloc = 100190        integer (kind=omp_allocator_handle_kind), parameter, public :: llvm_omp_target_shared_mem_alloc = 101191        integer (kind=omp_allocator_handle_kind), parameter, public :: llvm_omp_target_device_mem_alloc = 102192 193        integer (kind=omp_memspace_handle_kind), parameter, public :: omp_null_mem_space = 0194        integer (kind=omp_memspace_handle_kind), parameter, public :: omp_default_mem_space = 99195        integer (kind=omp_memspace_handle_kind), parameter, public :: omp_large_cap_mem_space = 1196        integer (kind=omp_memspace_handle_kind), parameter, public :: omp_const_mem_space = 2197        integer (kind=omp_memspace_handle_kind), parameter, public :: omp_high_bw_mem_space = 3198        integer (kind=omp_memspace_handle_kind), parameter, public :: omp_low_lat_mem_space = 4199        integer (kind=omp_memspace_handle_kind), parameter, public :: llvm_omp_target_host_mem_space = 100200        integer (kind=omp_memspace_handle_kind), parameter, public :: llvm_omp_target_shared_mem_space = 101201        integer (kind=omp_memspace_handle_kind), parameter, public :: llvm_omp_target_device_mem_space = 102202 203        integer (kind=omp_pause_resource_kind), parameter, public :: omp_pause_resume = 0204        integer (kind=omp_pause_resource_kind), parameter, public :: omp_pause_soft = 1205        integer (kind=omp_pause_resource_kind), parameter, public :: omp_pause_hard = 2206        integer (kind=omp_pause_resource_kind), parameter, public :: omp_pause_stop_tool = 3207 208        integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_cuda = 1209        integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_cuda_driver = 2210        integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_opencl = 3211        integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_sycl = 4212        integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_hip = 5213        integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_level_zero = 6214        integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_last = 7215 216        integer (kind=omp_interop_kind), parameter, public :: omp_interop_none = 0217 218        interface219 220!         ***221!         *** omp_* entry points222!         ***223 224          subroutine omp_set_num_threads(num_threads) bind(c)225            use omp_lib_kinds226            integer (kind=omp_integer_kind), value :: num_threads227          end subroutine omp_set_num_threads228 229          subroutine omp_set_dynamic(dynamic_threads) bind(c)230            use omp_lib_kinds231            logical (kind=omp_logical_kind), value :: dynamic_threads232          end subroutine omp_set_dynamic233 234          subroutine omp_set_nested(nested) bind(c)235            use omp_lib_kinds236            logical (kind=omp_logical_kind), value :: nested237          end subroutine omp_set_nested238 239          function omp_get_num_threads() bind(c)240            use omp_lib_kinds241            integer (kind=omp_integer_kind) omp_get_num_threads242          end function omp_get_num_threads243 244          function omp_get_max_threads() bind(c)245            use omp_lib_kinds246            integer (kind=omp_integer_kind) omp_get_max_threads247          end function omp_get_max_threads248 249          function omp_get_thread_num() bind(c)250            use omp_lib_kinds251            integer (kind=omp_integer_kind) omp_get_thread_num252          end function omp_get_thread_num253 254          function omp_get_num_procs() bind(c)255            use omp_lib_kinds256            integer (kind=omp_integer_kind) omp_get_num_procs257          end function omp_get_num_procs258 259          function omp_in_parallel() bind(c)260            use omp_lib_kinds261            logical (kind=omp_logical_kind) omp_in_parallel262          end function omp_in_parallel263 264          function omp_in_final() bind(c)265            use omp_lib_kinds266            logical (kind=omp_logical_kind) omp_in_final267          end function omp_in_final268 269          function omp_get_dynamic() bind(c)270            use omp_lib_kinds271            logical (kind=omp_logical_kind) omp_get_dynamic272          end function omp_get_dynamic273 274          function omp_get_nested() bind(c)275            use omp_lib_kinds276            logical (kind=omp_logical_kind) omp_get_nested277          end function omp_get_nested278 279          function omp_get_thread_limit() bind(c)280            use omp_lib_kinds281            integer (kind=omp_integer_kind) omp_get_thread_limit282          end function omp_get_thread_limit283 284          subroutine omp_set_max_active_levels(max_levels) bind(c)285            use omp_lib_kinds286            integer (kind=omp_integer_kind), value :: max_levels287          end subroutine omp_set_max_active_levels288 289          function omp_get_max_active_levels() bind(c)290            use omp_lib_kinds291            integer (kind=omp_integer_kind) omp_get_max_active_levels292          end function omp_get_max_active_levels293 294          function omp_get_level() bind(c)295            use omp_lib_kinds296            integer (kind=omp_integer_kind) omp_get_level297          end function omp_get_level298 299          function omp_get_active_level() bind(c)300            use omp_lib_kinds301            integer (kind=omp_integer_kind) omp_get_active_level302          end function omp_get_active_level303 304          function omp_get_ancestor_thread_num(level) bind(c)305            use omp_lib_kinds306            integer (kind=omp_integer_kind) omp_get_ancestor_thread_num307            integer (kind=omp_integer_kind), value :: level308          end function omp_get_ancestor_thread_num309 310          function omp_get_team_size(level) bind(c)311            use omp_lib_kinds312            integer (kind=omp_integer_kind) omp_get_team_size313            integer (kind=omp_integer_kind), value :: level314          end function omp_get_team_size315 316          subroutine omp_set_schedule(kind, chunk_size) bind(c)317            use omp_lib_kinds318            integer (kind=omp_sched_kind), value :: kind319            integer (kind=omp_integer_kind), value :: chunk_size320          end subroutine omp_set_schedule321 322          subroutine omp_get_schedule(kind, chunk_size) bind(c)323            use omp_lib_kinds324            integer (kind=omp_sched_kind) kind325            integer (kind=omp_integer_kind) chunk_size326          end subroutine omp_get_schedule327 328          function omp_get_proc_bind() bind(c)329            use omp_lib_kinds330            integer (kind=omp_proc_bind_kind) omp_get_proc_bind331          end function omp_get_proc_bind332 333          function omp_get_num_places() bind(c)334            use omp_lib_kinds335            integer (kind=omp_integer_kind) omp_get_num_places336          end function omp_get_num_places337 338          function omp_get_place_num_procs(place_num) bind(c)339            use omp_lib_kinds340            integer (kind=omp_integer_kind), value :: place_num341            integer (kind=omp_integer_kind) omp_get_place_num_procs342          end function omp_get_place_num_procs343 344          subroutine omp_get_place_proc_ids(place_num, ids) bind(c)345            use omp_lib_kinds346            integer (kind=omp_integer_kind), value :: place_num347            integer (kind=omp_integer_kind) ids(*)348          end subroutine omp_get_place_proc_ids349 350          function omp_get_place_num() bind(c)351            use omp_lib_kinds352            integer (kind=omp_integer_kind) omp_get_place_num353          end function omp_get_place_num354 355          function omp_get_partition_num_places() bind(c)356            use omp_lib_kinds357            integer (kind=omp_integer_kind) omp_get_partition_num_places358          end function omp_get_partition_num_places359 360          subroutine omp_get_partition_place_nums(place_nums) bind(c)361            use omp_lib_kinds362            integer (kind=omp_integer_kind) place_nums(*)363          end subroutine omp_get_partition_place_nums364 365          function omp_get_wtime() bind(c)366            use omp_lib_kinds367            real (kind=kmp_double_kind) omp_get_wtime368          end function omp_get_wtime369 370          function omp_get_wtick() bind(c)371            use omp_lib_kinds372            real (kind=kmp_double_kind) omp_get_wtick373          end function omp_get_wtick374 375          function omp_get_default_device() bind(c)376            use omp_lib_kinds377            integer (kind=omp_integer_kind) omp_get_default_device378          end function omp_get_default_device379 380          subroutine omp_set_default_device(device_num) bind(c)381            use omp_lib_kinds382            integer (kind=omp_integer_kind), value :: device_num383          end subroutine omp_set_default_device384 385          function omp_get_num_devices() bind(c)386            use omp_lib_kinds387            integer (kind=omp_integer_kind) omp_get_num_devices388          end function omp_get_num_devices389 390          function omp_get_num_teams() bind(c)391            use omp_lib_kinds392            integer (kind=omp_integer_kind) omp_get_num_teams393          end function omp_get_num_teams394 395          function omp_get_team_num() bind(c)396            use omp_lib_kinds397            integer (kind=omp_integer_kind) omp_get_team_num398          end function omp_get_team_num399 400          function omp_get_cancellation() bind(c)401            use omp_lib_kinds402            logical (kind=omp_logical_kind) omp_get_cancellation403          end function omp_get_cancellation404 405          function omp_is_initial_device() bind(c)406            use omp_lib_kinds407            logical (kind=omp_logical_kind) omp_is_initial_device408          end function omp_is_initial_device409 410          function omp_get_initial_device() bind(c)411            use omp_lib_kinds412            integer (kind=omp_integer_kind) omp_get_initial_device413          end function omp_get_initial_device414 415          function omp_get_device_num() bind(c)416            use omp_lib_kinds417            integer (kind=omp_integer_kind) omp_get_device_num418          end function omp_get_device_num419 420          function omp_pause_resource(kind, device_num) bind(c)421            use omp_lib_kinds422            integer (kind=omp_pause_resource_kind), value :: kind423            integer (kind=omp_integer_kind), value :: device_num424            integer (kind=omp_integer_kind) omp_pause_resource425          end function omp_pause_resource426 427          function omp_pause_resource_all(kind) bind(c)428            use omp_lib_kinds429            integer (kind=omp_pause_resource_kind), value :: kind430            integer (kind=omp_integer_kind) omp_pause_resource_all431          end function omp_pause_resource_all432 433          function omp_get_supported_active_levels() bind(c)434            use omp_lib_kinds435            integer (kind=omp_integer_kind) omp_get_supported_active_levels436          end function omp_get_supported_active_levels437 438          subroutine omp_fulfill_event(event) bind(c)439            use omp_lib_kinds440            integer (kind=omp_event_handle_kind), value :: event441          end subroutine omp_fulfill_event442 443          subroutine omp_init_lock(svar) bind(c)444#ifdef __INTEL_COMPILER445!DIR$ IF(__INTEL_COMPILER.GE.1400)446!DIR$ attributes known_intrinsic :: omp_init_lock447!DIR$ ENDIF448#endif449            use omp_lib_kinds450            integer (kind=omp_lock_kind) svar451          end subroutine omp_init_lock452 453          subroutine omp_destroy_lock(svar) bind(c)454#ifdef __INTEL_COMPILER455!DIR$ IF(__INTEL_COMPILER.GE.1400)456!DIR$ attributes known_intrinsic :: omp_destroy_lock457!DIR$ ENDIF458#endif459            use omp_lib_kinds460            integer (kind=omp_lock_kind) svar461          end subroutine omp_destroy_lock462 463          subroutine omp_set_lock(svar) bind(c)464#ifdef __INTEL_COMPILER465!DIR$ IF(__INTEL_COMPILER.GE.1400)466!DIR$ attributes known_intrinsic :: omp_set_lock467!DIR$ ENDIF468#endif469            use omp_lib_kinds470            integer (kind=omp_lock_kind) svar471          end subroutine omp_set_lock472 473          subroutine omp_unset_lock(svar) bind(c)474#ifdef __INTEL_COMPILER475!DIR$ IF(__INTEL_COMPILER.GE.1400)476!DIR$ attributes known_intrinsic :: omp_unset_lock477!DIR$ ENDIF478#endif479            use omp_lib_kinds480            integer (kind=omp_lock_kind) svar481          end subroutine omp_unset_lock482 483          function omp_test_lock(svar) bind(c)484#ifdef __INTEL_COMPILER485!DIR$ IF(__INTEL_COMPILER.GE.1400)486!DIR$ attributes known_intrinsic :: omp_test_lock487!DIR$ ENDIF488#endif489            use omp_lib_kinds490            logical (kind=omp_logical_kind) omp_test_lock491            integer (kind=omp_lock_kind) svar492          end function omp_test_lock493 494          subroutine omp_init_nest_lock(nvar) bind(c)495#ifdef __INTEL_COMPILER496!DIR$ IF(__INTEL_COMPILER.GE.1400)497!DIR$ attributes known_intrinsic :: omp_init_nest_lock498!DIR$ ENDIF499#endif500            use omp_lib_kinds501            integer (kind=omp_nest_lock_kind) nvar502          end subroutine omp_init_nest_lock503 504          subroutine omp_destroy_nest_lock(nvar) bind(c)505#ifdef __INTEL_COMPILER506!DIR$ IF(__INTEL_COMPILER.GE.1400)507!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock508!DIR$ ENDIF509#endif510            use omp_lib_kinds511            integer (kind=omp_nest_lock_kind) nvar512          end subroutine omp_destroy_nest_lock513 514          subroutine omp_set_nest_lock(nvar) bind(c)515#ifdef __INTEL_COMPILER516!DIR$ IF(__INTEL_COMPILER.GE.1400)517!DIR$ attributes known_intrinsic :: omp_set_nest_lock518!DIR$ ENDIF519#endif520            use omp_lib_kinds521            integer (kind=omp_nest_lock_kind) nvar522          end subroutine omp_set_nest_lock523 524          subroutine omp_unset_nest_lock(nvar) bind(c)525#ifdef __INTEL_COMPILER526!DIR$ IF(__INTEL_COMPILER.GE.1400)527!DIR$ attributes known_intrinsic :: omp_unset_nest_lock528!DIR$ ENDIF529#endif530            use omp_lib_kinds531            integer (kind=omp_nest_lock_kind) nvar532          end subroutine omp_unset_nest_lock533 534          function omp_test_nest_lock(nvar) bind(c)535#ifdef __INTEL_COMPILER536!DIR$ IF(__INTEL_COMPILER.GE.1400)537!DIR$ attributes known_intrinsic :: omp_test_nest_lock538!DIR$ ENDIF539#endif540            use omp_lib_kinds541            integer (kind=omp_integer_kind) omp_test_nest_lock542            integer (kind=omp_nest_lock_kind) nvar543          end function omp_test_nest_lock544 545          function omp_get_max_task_priority() bind(c)546            use omp_lib_kinds547            integer (kind=omp_integer_kind) omp_get_max_task_priority548          end function omp_get_max_task_priority549 550          subroutine omp_init_lock_with_hint(svar, hint) bind(c)551            use omp_lib_kinds552            integer (kind=omp_lock_kind) svar553            integer (kind=omp_lock_hint_kind), value :: hint554          end subroutine omp_init_lock_with_hint555 556          subroutine omp_init_nest_lock_with_hint(nvar, hint) bind(c)557            use omp_lib_kinds558            integer (kind=omp_nest_lock_kind) nvar559            integer (kind=omp_lock_hint_kind), value :: hint560          end subroutine omp_init_nest_lock_with_hint561 562          function omp_control_tool(command, modifier, arg) bind(c)563            use omp_lib_kinds564            integer (kind=omp_integer_kind) omp_control_tool565            integer (kind=omp_control_tool_kind), value :: command566            integer (kind=omp_control_tool_kind), value :: modifier567            integer (kind=kmp_pointer_kind), optional :: arg568          end function omp_control_tool569 570          function omp_init_allocator(memspace, ntraits, traits)571            use omp_lib_kinds572            integer (kind=omp_allocator_handle_kind) omp_init_allocator573            integer (kind=omp_memspace_handle_kind) :: memspace574            integer (kind=omp_integer_kind) :: ntraits575            type(omp_alloctrait), intent(in) :: traits(*)576          end function omp_init_allocator577 578          subroutine omp_destroy_allocator(allocator) bind(c)579            use omp_lib_kinds580            integer (kind=omp_allocator_handle_kind), value :: allocator581          end subroutine omp_destroy_allocator582 583          subroutine omp_set_default_allocator(allocator) bind(c)584            use omp_lib_kinds585            integer (kind=omp_allocator_handle_kind), value :: allocator586          end subroutine omp_set_default_allocator587 588          function omp_get_default_allocator() bind(c)589            use omp_lib_kinds590            integer (kind=omp_allocator_handle_kind) omp_get_default_allocator591          end function omp_get_default_allocator592 593          subroutine omp_set_affinity_format(format)594            character (len=*) :: format595          end subroutine omp_set_affinity_format596 597          function omp_get_affinity_format(buffer)598            use omp_lib_kinds599            character (len=*) :: buffer600            integer (kind=kmp_size_t_kind) :: omp_get_affinity_format601          end function omp_get_affinity_format602 603          subroutine omp_display_affinity(format)604            character (len=*) :: format605          end subroutine omp_display_affinity606 607          function omp_capture_affinity(buffer, format)608            use omp_lib_kinds609            character (len=*) :: format610            character (len=*) :: buffer611            integer (kind=kmp_size_t_kind) :: omp_capture_affinity612          end function omp_capture_affinity613 614          subroutine omp_set_num_teams(num_teams) bind(c)615            use omp_lib_kinds616            integer (kind=omp_integer_kind), value :: num_teams617          end subroutine omp_set_num_teams618 619          function omp_get_max_teams() bind(c)620            use omp_lib_kinds621            integer (kind=omp_integer_kind) omp_get_max_teams622          end function omp_get_max_teams623 624          subroutine omp_set_teams_thread_limit(thread_limit) bind(c)625            use omp_lib_kinds626            integer (kind=omp_integer_kind), value :: thread_limit627          end subroutine omp_set_teams_thread_limit628 629          function omp_get_teams_thread_limit() bind(c)630            use omp_lib_kinds631            integer (kind=omp_integer_kind) omp_get_teams_thread_limit632          end function omp_get_teams_thread_limit633 634          subroutine omp_display_env(verbose) bind(c)635            use omp_lib_kinds636            logical (kind=omp_logical_kind), value :: verbose637          end subroutine omp_display_env638 639          function omp_target_alloc(size, device_num) bind(c)640            use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int641            type(c_ptr) omp_target_alloc642            integer(c_size_t), value :: size643            integer(c_int), value :: device_num644          end function omp_target_alloc645 646          subroutine omp_target_free(device_ptr, device_num) bind(c)647            use, intrinsic :: iso_c_binding, only: c_ptr, c_int648            type(c_ptr), value :: device_ptr649            integer(c_int), value :: device_num650          end subroutine omp_target_free651 652          function omp_target_is_present(ptr, device_num) bind(c)653            use, intrinsic :: iso_c_binding, only: c_ptr, c_int654            integer(c_int) omp_target_is_present655            type(c_ptr), value :: ptr656            integer(c_int), value :: device_num657          end function omp_target_is_present658 659          function omp_target_memcpy(dst, src, length, dst_offset, src_offset, &660              dst_device_num, src_device_num) bind(c)661            use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int662            integer(c_int) omp_target_memcpy663            type(c_ptr), value :: dst, src664            integer(c_size_t), value :: length, dst_offset, src_offset665            integer(c_int), value :: dst_device_num, src_device_num666          end function omp_target_memcpy667 668          function omp_target_memcpy_rect(dst, src, element_size, num_dims,    &669              volume, dst_offsets, src_offsets, dst_dimensions,                &670              src_dimensions, dst_device_num, src_device_num) bind(c)671            use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int672            integer(c_int) omp_target_memcpy_rect673            type(c_ptr), value :: dst, src674            integer(c_size_t), value :: element_size675            integer(c_int), value :: num_dims, dst_device_num, src_device_num676            integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),        &677                src_offsets(*), dst_dimensions(*), src_dimensions(*)678          end function omp_target_memcpy_rect679 680          function omp_target_memcpy_async(dst, src, length, dst_offset,       &681              src_offset, dst_device_num, src_device_num, depobj_count,        &682              depobj_list) bind(c)683            use omp_lib_kinds684            use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int685            integer(c_int) omp_target_memcpy_async686            type(c_ptr), value :: dst, src687            integer(c_size_t), value :: length, dst_offset, src_offset688            integer(c_int), value :: dst_device_num, src_device_num,           &689                depobj_count690            integer(omp_depend_kind), optional :: depobj_list(*)691          end function omp_target_memcpy_async692 693          function omp_target_memcpy_rect_async(dst, src, element_size,        &694              num_dims, volume, dst_offsets, src_offsets, dst_dimensions,      &695              src_dimensions, dst_device_num, src_device_num, depobj_count,    &696              depobj_list) bind(c)697            use omp_lib_kinds698            use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int699            integer(c_int) omp_target_memcpy_rect_async700            type(c_ptr), value :: dst, src701            integer(c_size_t), value :: element_size702            integer(c_int), value :: num_dims, dst_device_num, src_device_num, &703                depobj_count704            integer(c_size_t), intent(in) :: volume(*), dst_offsets(*),        &705                src_offsets(*), dst_dimensions(*), src_dimensions(*)706            integer (omp_depend_kind), optional :: depobj_list(*)707          end function omp_target_memcpy_rect_async708 709          function omp_target_memset(ptr, val, count, device_num) bind(c)710            use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t711            type(c_ptr) :: omp_target_memset712            type(c_ptr), value :: ptr713            integer(c_int), value :: val714            integer(c_size_t), value :: count715            integer(c_int), value :: device_num716          end function717 718          function omp_target_memset_async(ptr, val, count, device_num, &719                                           depobj_count, depobj_list) bind(c)720            use omp_lib_kinds721            use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t722            type(c_ptr) :: omp_target_memset_async723            type(c_ptr), value :: ptr724            integer(c_int), value :: val725            integer(c_size_t), value :: count726            integer(c_int), value :: device_num727            integer(c_int), value :: depobj_count728            integer(omp_depend_kind), optional :: depobj_list(*)729          end function730 731          function omp_target_associate_ptr(host_ptr, device_ptr, size,        &732              device_offset, device_num) bind(c)733            use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int734            integer(c_int) omp_target_associate_ptr735            type(c_ptr), value :: host_ptr, device_ptr736            integer(c_size_t), value :: size, device_offset737            integer(c_int), value :: device_num738          end function omp_target_associate_ptr739 740          function omp_get_mapped_ptr(ptr, device_num) bind(c)741            use, intrinsic :: iso_c_binding, only: c_ptr, c_int742            type(c_ptr) omp_get_mapped_ptr743            type(c_ptr), value :: ptr744            integer(c_int), value :: device_num745          end function omp_get_mapped_ptr746 747          function omp_target_disassociate_ptr(ptr, device_num) bind(c)748            use, intrinsic :: iso_c_binding, only: c_ptr, c_int749            integer(c_int) omp_target_disassociate_ptr750            type(c_ptr), value :: ptr751            integer(c_int), value :: device_num752          end function omp_target_disassociate_ptr753 754          function omp_target_is_accessible(ptr, size, device_num) bind(c)755            use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int756            integer(c_int) omp_target_is_accessible757            type(c_ptr), value :: ptr758            integer(c_size_t), value :: size759            integer(c_int), value :: device_num760          end function omp_target_is_accessible761 762          function omp_alloc(size, allocator) bind(c)763            use omp_lib_kinds764            use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t765            type(c_ptr) omp_alloc766            integer(c_size_t), value :: size767            integer(omp_allocator_handle_kind), value :: allocator768          end function omp_alloc769 770          function omp_aligned_alloc(alignment, size, allocator) bind(c)771            use omp_lib_kinds772            use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t773            type(c_ptr) omp_aligned_alloc774            integer(c_size_t), value :: alignment, size775            integer(omp_allocator_handle_kind), value :: allocator776          end function omp_aligned_alloc777 778          function omp_calloc(nmemb, size, allocator) bind(c)779            use omp_lib_kinds780            use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t781            type(c_ptr) omp_calloc782            integer(c_size_t), value :: nmemb, size783            integer(omp_allocator_handle_kind), value :: allocator784          end function omp_calloc785 786          function omp_aligned_calloc(alignment, nmemb, size, allocator) bind(c)787            use omp_lib_kinds788            use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t789            type(c_ptr) omp_aligned_calloc790            integer(c_size_t), value :: alignment, nmemb, size791            integer(omp_allocator_handle_kind), value :: allocator792          end function omp_aligned_calloc793 794          function omp_realloc(ptr, size, allocator, free_allocator) bind(c)795            use omp_lib_kinds796            use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t797            type(c_ptr) omp_realloc798            type(c_ptr), value :: ptr799            integer(c_size_t), value :: size800            integer(omp_allocator_handle_kind), value :: allocator801            integer(omp_allocator_handle_kind), value :: free_allocator802          end function omp_realloc803 804          subroutine omp_free(ptr, allocator) bind(c)805            use omp_lib_kinds806            use, intrinsic :: iso_c_binding, only : c_ptr807            type(c_ptr), value :: ptr808            integer(omp_allocator_handle_kind), value :: allocator809          end subroutine omp_free810 811          function omp_in_explicit_task() bind(c)812            use omp_lib_kinds813            logical (kind=omp_logical_kind) omp_in_explicit_task814          end function omp_in_explicit_task815 816          function omp_get_devices_memspace(ndevs, devs, memspace)817            use omp_lib_kinds818            integer(omp_memspace_handle_kind) :: omp_get_devices_memspace819            integer, intent(in) :: ndevs820            integer, intent(in) :: devs(*)821            integer(omp_memspace_handle_kind), intent(in) :: memspace822          end function omp_get_devices_memspace823 824          function omp_get_device_memspace(dev, memspace)825            use omp_lib_kinds826            integer(omp_memspace_handle_kind) :: omp_get_device_memspace827            integer, intent(in) :: dev828            integer(omp_memspace_handle_kind), intent(in) :: memspace829          end function omp_get_device_memspace830 831          function omp_get_devices_and_host_memspace(ndevs, devs, memspace)832            use omp_lib_kinds833            integer(omp_memspace_handle_kind) ::                               &834                omp_get_devices_and_host_memspace835            integer, intent(in) :: ndevs836            integer, intent(in) :: devs(*)837            integer(omp_memspace_handle_kind), intent(in) :: memspace838          end function omp_get_devices_and_host_memspace839 840          function omp_get_device_and_host_memspace(dev, memspace)841            use omp_lib_kinds842            integer(omp_memspace_handle_kind) ::                               &843                omp_get_device_and_host_memspace844            integer, intent(in) :: dev845            integer(omp_memspace_handle_kind), intent(in) :: memspace846          end function omp_get_device_and_host_memspace847 848          function omp_get_devices_all_memspace(memspace)849            use omp_lib_kinds850            integer(omp_memspace_handle_kind) :: omp_get_devices_all_memspace851            integer(omp_memspace_handle_kind), intent(in) :: memspace852          end function omp_get_devices_all_memspace853 854          function omp_get_devices_allocator(ndevs, devs, memspace)855            use omp_lib_kinds856            integer(omp_allocator_handle_kind) :: omp_get_devices_allocator857            integer, intent(in) :: ndevs858            integer, intent(in) :: devs(*)859            integer(omp_memspace_handle_kind), intent(in) :: memspace860          end function omp_get_devices_allocator861 862          function omp_get_device_allocator(dev, memspace)863            use omp_lib_kinds864            integer(omp_allocator_handle_kind) :: omp_get_device_allocator865            integer, intent(in) :: dev866            integer(omp_memspace_handle_kind), intent(in) :: memspace867          end function omp_get_device_allocator868 869          function omp_get_devices_and_host_allocator(ndevs, devs, memspace)870            use omp_lib_kinds871            integer(omp_allocator_handle_kind) ::                              &872                omp_get_devices_and_host_allocator873            integer, intent(in) :: ndevs874            integer, intent(in) :: devs(*)875            integer(omp_memspace_handle_kind), intent(in) :: memspace876          end function omp_get_devices_and_host_allocator877 878          function omp_get_device_and_host_allocator(dev, memspace)879            use omp_lib_kinds880            integer(omp_allocator_handle_kind) ::                              &881                omp_get_device_and_host_allocator882            integer, intent(in) :: dev883            integer(omp_memspace_handle_kind), intent(in) :: memspace884          end function omp_get_device_and_host_allocator885 886          function omp_get_devices_all_allocator(memspace)887            use omp_lib_kinds888            integer(omp_allocator_handle_kind) ::                              &889                omp_get_devices_all_allocator890            integer(omp_memspace_handle_kind), intent(in) :: memspace891          end function omp_get_devices_all_allocator892 893          function omp_get_memspace_num_resources(memspace)894            use omp_lib_kinds895            integer omp_get_memspace_num_resources896            integer(omp_memspace_handle_kind), intent(in) :: memspace897          end function omp_get_memspace_num_resources898 899          function omp_get_submemspace(memspace, num_resources, resources)900            use omp_lib_kinds901            integer(omp_memspace_handle_kind) omp_get_submemspace902            integer(omp_memspace_handle_kind), intent(in) :: memspace903            integer, intent(in) :: num_resources904            integer, intent(in) :: resources(*)905          end function omp_get_submemspace906 907!         ***908!         *** kmp_* entry points909!         ***910 911          subroutine kmp_set_stacksize(size) bind(c)912            use omp_lib_kinds913            integer (kind=omp_integer_kind), value :: size914          end subroutine kmp_set_stacksize915 916          subroutine kmp_set_stacksize_s(size) bind(c)917            use omp_lib_kinds918            integer (kind=kmp_size_t_kind), value :: size919          end subroutine kmp_set_stacksize_s920 921          subroutine kmp_set_blocktime(msec) bind(c)922            use omp_lib_kinds923            integer (kind=omp_integer_kind), value :: msec924          end subroutine kmp_set_blocktime925 926          subroutine kmp_set_library_serial() bind(c)927          end subroutine kmp_set_library_serial928 929          subroutine kmp_set_library_turnaround() bind(c)930          end subroutine kmp_set_library_turnaround931 932          subroutine kmp_set_library_throughput() bind(c)933          end subroutine kmp_set_library_throughput934 935          subroutine kmp_set_library(libnum) bind(c)936            use omp_lib_kinds937            integer (kind=omp_integer_kind), value :: libnum938          end subroutine kmp_set_library939 940          subroutine kmp_set_defaults(string)941            character (len=*) :: string942          end subroutine kmp_set_defaults943 944          function kmp_get_stacksize() bind(c)945            use omp_lib_kinds946            integer (kind=omp_integer_kind) kmp_get_stacksize947          end function kmp_get_stacksize948 949          function kmp_get_stacksize_s() bind(c)950            use omp_lib_kinds951            integer (kind=kmp_size_t_kind) kmp_get_stacksize_s952          end function kmp_get_stacksize_s953 954          function kmp_get_blocktime() bind(c)955            use omp_lib_kinds956            integer (kind=omp_integer_kind) kmp_get_blocktime957          end function kmp_get_blocktime958 959          function kmp_get_library() bind(c)960            use omp_lib_kinds961            integer (kind=omp_integer_kind) kmp_get_library962          end function kmp_get_library963 964          subroutine kmp_set_disp_num_buffers(num) bind(c)965            use omp_lib_kinds966            integer (kind=omp_integer_kind), value :: num967          end subroutine kmp_set_disp_num_buffers968 969          function kmp_set_affinity(mask) bind(c)970            use omp_lib_kinds971            integer (kind=omp_integer_kind) kmp_set_affinity972            integer (kind=kmp_affinity_mask_kind) mask973          end function kmp_set_affinity974 975          function kmp_get_affinity(mask) bind(c)976            use omp_lib_kinds977            integer (kind=omp_integer_kind) kmp_get_affinity978            integer (kind=kmp_affinity_mask_kind) mask979          end function kmp_get_affinity980 981          function kmp_get_affinity_max_proc() bind(c)982            use omp_lib_kinds983            integer (kind=omp_integer_kind) kmp_get_affinity_max_proc984          end function kmp_get_affinity_max_proc985 986          subroutine kmp_create_affinity_mask(mask) bind(c)987            use omp_lib_kinds988            integer (kind=kmp_affinity_mask_kind) mask989          end subroutine kmp_create_affinity_mask990 991          subroutine kmp_destroy_affinity_mask(mask) bind(c)992            use omp_lib_kinds993            integer (kind=kmp_affinity_mask_kind) mask994          end subroutine kmp_destroy_affinity_mask995 996          function kmp_set_affinity_mask_proc(proc, mask) bind(c)997            use omp_lib_kinds998            integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc999            integer (kind=omp_integer_kind), value :: proc1000            integer (kind=kmp_affinity_mask_kind) mask1001          end function kmp_set_affinity_mask_proc1002 1003          function kmp_unset_affinity_mask_proc(proc, mask) bind(c)1004            use omp_lib_kinds1005            integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc1006            integer (kind=omp_integer_kind), value :: proc1007            integer (kind=kmp_affinity_mask_kind) mask1008          end function kmp_unset_affinity_mask_proc1009 1010          function kmp_get_affinity_mask_proc(proc, mask) bind(c)1011            use omp_lib_kinds1012            integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc1013            integer (kind=omp_integer_kind), value :: proc1014            integer (kind=kmp_affinity_mask_kind) mask1015          end function kmp_get_affinity_mask_proc1016 1017          function kmp_malloc(size) bind(c)1018            use omp_lib_kinds1019            integer (kind=kmp_pointer_kind) kmp_malloc1020            integer (kind=kmp_size_t_kind), value :: size1021          end function kmp_malloc1022 1023          function kmp_aligned_malloc(size, alignment) bind(c)1024            use omp_lib_kinds1025            integer (kind=kmp_pointer_kind) kmp_aligned_malloc1026            integer (kind=kmp_size_t_kind), value :: size1027            integer (kind=kmp_size_t_kind), value :: alignment1028          end function kmp_aligned_malloc1029 1030          function kmp_calloc(nelem, elsize) bind(c)1031            use omp_lib_kinds1032            integer (kind=kmp_pointer_kind) kmp_calloc1033            integer (kind=kmp_size_t_kind), value :: nelem1034            integer (kind=kmp_size_t_kind), value :: elsize1035          end function kmp_calloc1036 1037          function kmp_realloc(ptr, size) bind(c)1038            use omp_lib_kinds1039            integer (kind=kmp_pointer_kind) kmp_realloc1040            integer (kind=kmp_pointer_kind), value :: ptr1041            integer (kind=kmp_size_t_kind), value :: size1042          end function kmp_realloc1043 1044          subroutine kmp_free(ptr) bind(c)1045            use omp_lib_kinds1046            integer (kind=kmp_pointer_kind), value :: ptr1047          end subroutine kmp_free1048 1049          subroutine kmp_set_warnings_on() bind(c)1050          end subroutine kmp_set_warnings_on1051 1052          subroutine kmp_set_warnings_off() bind(c)1053          end subroutine kmp_set_warnings_off1054 1055          function kmp_get_cancellation_status(cancelkind) bind(c)1056            use omp_lib_kinds1057            integer (kind=kmp_cancel_kind), value :: cancelkind1058            logical (kind=omp_logical_kind) kmp_get_cancellation_status1059          end function kmp_get_cancellation_status1060 1061        end interface1062 1063        ! make the above routine definitions public1064        public :: omp_set_num_threads1065        public :: omp_set_dynamic1066        public :: omp_set_nested1067        public :: omp_get_num_threads1068        public :: omp_get_max_threads1069        public :: omp_get_thread_num1070        public :: omp_get_num_procs1071        public :: omp_in_parallel1072        public :: omp_in_final1073        public :: omp_get_dynamic1074        public :: omp_get_nested1075        public :: omp_get_thread_limit1076        public :: omp_set_max_active_levels1077        public :: omp_get_max_active_levels1078        public :: omp_get_level1079        public :: omp_get_active_level1080        public :: omp_get_ancestor_thread_num1081        public :: omp_get_team_size1082        public :: omp_set_schedule1083        public :: omp_get_schedule1084        public :: omp_get_proc_bind1085        public :: omp_get_num_places1086        public :: omp_get_place_num_procs1087        public :: omp_get_place_proc_ids1088        public :: omp_get_place_num1089        public :: omp_get_partition_num_places1090        public :: omp_get_partition_place_nums1091        public :: omp_get_wtime1092        public :: omp_get_wtick1093        public :: omp_get_default_device1094        public :: omp_set_default_device1095        public :: omp_get_num_devices1096        public :: omp_get_num_teams1097        public :: omp_get_team_num1098        public :: omp_get_cancellation1099        public :: omp_is_initial_device1100        public :: omp_get_initial_device1101        public :: omp_get_device_num1102        public :: omp_pause_resource1103        public :: omp_pause_resource_all1104        public :: omp_get_supported_active_levels1105        public :: omp_fulfill_event1106        public :: omp_init_lock1107        public :: omp_destroy_lock1108        public :: omp_set_lock1109        public :: omp_unset_lock1110        public :: omp_test_lock1111        public :: omp_init_nest_lock1112        public :: omp_destroy_nest_lock1113        public :: omp_set_nest_lock1114        public :: omp_unset_nest_lock1115        public :: omp_test_nest_lock1116        public :: omp_get_max_task_priority1117        public :: omp_init_lock_with_hint1118        public :: omp_init_nest_lock_with_hint1119        public :: omp_control_tool1120        public :: omp_init_allocator1121        public :: omp_destroy_allocator1122        public :: omp_set_default_allocator1123        public :: omp_get_default_allocator1124        public :: omp_set_affinity_format1125        public :: omp_get_affinity_format1126        public :: omp_display_affinity1127        public :: omp_capture_affinity1128        public :: omp_set_num_teams1129        public :: omp_get_max_teams1130        public :: omp_set_teams_thread_limit1131        public :: omp_get_teams_thread_limit1132        public :: omp_display_env1133        public :: omp_target_alloc1134        public :: omp_target_free1135        public :: omp_target_is_present1136        public :: omp_target_memcpy1137        public :: omp_target_memcpy_rect1138        public :: omp_target_memcpy_async1139        public :: omp_target_memcpy_rect_async1140        public :: omp_target_memset1141        public :: omp_target_memset_async1142        public :: omp_target_associate_ptr1143        public :: omp_get_mapped_ptr1144        public :: omp_target_disassociate_ptr1145        public :: omp_target_is_accessible1146        public :: omp_alloc1147        public :: omp_aligned_alloc1148        public :: omp_calloc1149        public :: omp_aligned_calloc1150        public :: omp_realloc1151        public :: omp_free1152        public :: omp_in_explicit_task1153        public :: kmp_set_stacksize1154        public :: kmp_set_stacksize_s1155        public :: kmp_set_blocktime1156        public :: kmp_set_library_serial1157        public :: kmp_set_library_turnaround1158        public :: kmp_set_library_throughput1159        public :: kmp_set_library1160        public :: kmp_set_defaults1161        public :: kmp_get_stacksize1162        public :: kmp_get_stacksize_s1163        public :: kmp_get_blocktime1164        public :: kmp_get_library1165        public :: kmp_set_disp_num_buffers1166        public :: kmp_set_affinity1167        public :: kmp_get_affinity1168        public :: kmp_get_affinity_max_proc1169        public :: kmp_create_affinity_mask1170        public :: kmp_destroy_affinity_mask1171        public :: kmp_set_affinity_mask_proc1172        public :: kmp_unset_affinity_mask_proc1173        public :: kmp_get_affinity_mask_proc1174        public :: kmp_malloc1175        public :: kmp_aligned_malloc1176        public :: kmp_calloc1177        public :: kmp_realloc1178        public :: kmp_free1179        public :: kmp_set_warnings_on1180        public :: kmp_set_warnings_off1181        public :: kmp_get_cancellation_status1182 1183      end module omp_lib1184