1! include/omp_lib.f90.var 2 3! 4!//===----------------------------------------------------------------------===// 5!// 6!// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 7!// See https://llvm.org/LICENSE.txt for license information. 8!// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 9!// 10!//===----------------------------------------------------------------------===// 11! 12 13 module omp_lib_kinds 14 15 use, intrinsic :: iso_c_binding 16 17 ! Set PRIVATE by default to explicitly only export what is meant 18 ! to be exported by this MODULE. 19 private 20 21 integer, parameter, public :: omp_integer_kind = c_int 22 integer, parameter, public :: omp_logical_kind = 4 23 integer, parameter, public :: omp_real_kind = c_float 24 integer, parameter, public :: kmp_double_kind = c_double 25 integer, parameter, public :: omp_lock_kind = c_intptr_t 26 integer, parameter, public :: omp_nest_lock_kind = c_intptr_t 27 integer, parameter, public :: omp_sched_kind = omp_integer_kind 28 integer, parameter, public :: omp_proc_bind_kind = omp_integer_kind 29 integer, parameter, public :: kmp_pointer_kind = c_intptr_t 30 integer, parameter, public :: kmp_size_t_kind = c_size_t 31 integer, parameter, public :: kmp_affinity_mask_kind = c_intptr_t 32 integer, parameter, public :: kmp_cancel_kind = omp_integer_kind 33 integer, parameter, public :: omp_sync_hint_kind = omp_integer_kind 34 integer, parameter, public :: omp_lock_hint_kind = omp_sync_hint_kind 35 integer, parameter, public :: omp_control_tool_kind = omp_integer_kind 36 integer, parameter, public :: omp_control_tool_result_kind = omp_integer_kind 37 integer, parameter, public :: omp_allocator_handle_kind = c_intptr_t 38 integer, parameter, public :: omp_memspace_handle_kind = c_intptr_t 39 integer, parameter, public :: omp_alloctrait_key_kind = omp_integer_kind 40 integer, parameter, public :: omp_alloctrait_val_kind = c_intptr_t 41 integer, parameter, public :: omp_interop_kind = c_intptr_t 42 integer, parameter, public :: omp_interop_fr_kind = omp_integer_kind 43 44 type omp_alloctrait 45 integer(kind=omp_alloctrait_key_kind) key 46 integer(kind=omp_alloctrait_val_kind) value 47 end type omp_alloctrait 48 public :: omp_alloctrait 49 50 integer, parameter, public :: omp_pause_resource_kind = omp_integer_kind 51 integer, parameter, public :: omp_depend_kind = c_intptr_t 52 integer, parameter, public :: omp_event_handle_kind = c_intptr_t 53 54 end module omp_lib_kinds 55 56 module omp_lib 57 58 use omp_lib_kinds 59 60 ! Set PRIVATE by default to explicitly only export what is meant 61 ! to be exported by this MODULE. 62 private 63 64 ! Re-export definitions in omp_lib_kinds 65 public :: omp_integer_kind 66 public :: omp_logical_kind 67 public :: omp_real_kind 68 public :: kmp_double_kind 69 public :: omp_lock_kind 70 public :: omp_nest_lock_kind 71 public :: omp_sched_kind 72 public :: omp_proc_bind_kind 73 public :: kmp_pointer_kind 74 public :: kmp_size_t_kind 75 public :: kmp_affinity_mask_kind 76 public :: kmp_cancel_kind 77 public :: omp_sync_hint_kind 78 public :: omp_lock_hint_kind 79 public :: omp_control_tool_kind 80 public :: omp_control_tool_result_kind 81 public :: omp_allocator_handle_kind 82 public :: omp_memspace_handle_kind 83 public :: omp_alloctrait_key_kind 84 public :: omp_alloctrait_val_kind 85 public :: omp_interop_kind 86 public :: omp_interop_fr_kind 87 public :: omp_alloctrait 88 public :: omp_pause_resource_kind 89 public :: omp_depend_kind 90 public :: omp_event_handle_kind 91 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_date 97 parameter( kmp_build_date = '@LIBOMP_BUILD_DATE@' ) 98 99 integer(kind=omp_sched_kind), parameter, public :: omp_sched_static = 1 100 integer(kind=omp_sched_kind), parameter, public :: omp_sched_dynamic = 2 101 integer(kind=omp_sched_kind), parameter, public :: omp_sched_guided = 3 102 integer(kind=omp_sched_kind), parameter, public :: omp_sched_auto = 4 103 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 = 0 106 integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_true = 1 107 integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_master = 2 108 integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_close = 3 109 integer (kind=omp_proc_bind_kind), parameter, public :: omp_proc_bind_spread = 4 110 111 integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_parallel = 1 112 integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_loop = 2 113 integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_sections = 3 114 integer (kind=kmp_cancel_kind), parameter, public :: kmp_cancel_taskgroup = 4 115 116 integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_none = 0 117 integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_uncontended = 1 118 integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_contended = 2 119 integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_nonspeculative = 4 120 integer (kind=omp_sync_hint_kind), parameter, public :: omp_sync_hint_speculative = 8 121 integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_none = omp_sync_hint_none 122 integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_uncontended = omp_sync_hint_uncontended 123 integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_contended = omp_sync_hint_contended 124 integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_nonspeculative = omp_sync_hint_nonspeculative 125 integer (kind=omp_lock_hint_kind), parameter, public :: omp_lock_hint_speculative = omp_sync_hint_speculative 126 integer (kind=omp_lock_hint_kind), parameter, public :: kmp_lock_hint_hle = 65536 127 integer (kind=omp_lock_hint_kind), parameter, public :: kmp_lock_hint_rtm = 131072 128 integer (kind=omp_lock_hint_kind), parameter, public :: kmp_lock_hint_adaptive = 262144 129 130 integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_start = 1 131 integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_pause = 2 132 integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_flush = 3 133 integer (kind=omp_control_tool_kind), parameter, public :: omp_control_tool_end = 4 134 135 integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_notool = -2 136 integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_nocallback = -1 137 integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_success = 0 138 integer (kind=omp_control_tool_result_kind), parameter, public :: omp_control_tool_ignored = 1 139 140 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_sync_hint = 1 141 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_alignment = 2 142 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_access = 3 143 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_pool_size = 4 144 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_fallback = 5 145 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_fb_data = 6 146 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_pinned = 7 147 integer (kind=omp_alloctrait_key_kind), parameter, public :: omp_atk_partition = 8 148 149 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_default = -1 150 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_false = 0 151 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_true = 1 152 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_contended = 3 153 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_uncontended = 4 154 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_serialized = 5 155 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_sequential = omp_atv_serialized 156 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_private = 6 157 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_all = 7 158 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_thread = 8 159 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_pteam = 9 160 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_cgroup = 10 161 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_default_mem_fb = 11 162 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_null_fb = 12 163 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_abort_fb = 13 164 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_allocator_fb = 14 165 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_environment = 15 166 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_nearest = 16 167 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_blocked = 17 168 integer (kind=omp_alloctrait_val_kind), parameter, public :: omp_atv_interleaved = 18 169 170 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_null_allocator = 0 171 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_default_mem_alloc = 1 172 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_large_cap_mem_alloc = 2 173 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_const_mem_alloc = 3 174 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_high_bw_mem_alloc = 4 175 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_low_lat_mem_alloc = 5 176 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_cgroup_mem_alloc = 6 177 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_pteam_mem_alloc = 7 178 integer (kind=omp_allocator_handle_kind), parameter, public :: omp_thread_mem_alloc = 8 179 integer (kind=omp_allocator_handle_kind), parameter, public :: llvm_omp_target_host_mem_alloc = 100 180 integer (kind=omp_allocator_handle_kind), parameter, public :: llvm_omp_target_shared_mem_alloc = 101 181 integer (kind=omp_allocator_handle_kind), parameter, public :: llvm_omp_target_device_mem_alloc = 102 182 183 integer (kind=omp_memspace_handle_kind), parameter, public :: omp_default_mem_space = 0 184 integer (kind=omp_memspace_handle_kind), parameter, public :: omp_large_cap_mem_space = 1 185 integer (kind=omp_memspace_handle_kind), parameter, public :: omp_const_mem_space = 2 186 integer (kind=omp_memspace_handle_kind), parameter, public :: omp_high_bw_mem_space = 3 187 integer (kind=omp_memspace_handle_kind), parameter, public :: omp_low_lat_mem_space = 4 188 integer (kind=omp_memspace_handle_kind), parameter, public :: llvm_omp_target_host_mem_space = 100 189 integer (kind=omp_memspace_handle_kind), parameter, public :: llvm_omp_target_shared_mem_space = 101 190 integer (kind=omp_memspace_handle_kind), parameter, public :: llvm_omp_target_device_mem_space = 102 191 192 integer (kind=omp_pause_resource_kind), parameter, public :: omp_pause_resume = 0 193 integer (kind=omp_pause_resource_kind), parameter, public :: omp_pause_soft = 1 194 integer (kind=omp_pause_resource_kind), parameter, public :: omp_pause_hard = 2 195 196 integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_cuda = 1 197 integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_cuda_driver = 2 198 integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_opencl = 3 199 integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_sycl = 4 200 integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_hip = 5 201 integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_level_zero = 6 202 integer (kind=omp_interop_fr_kind), parameter, public :: omp_ifr_last = 7 203 204 integer (kind=omp_interop_kind), parameter, public :: omp_interop_none = 0 205 206 interface 207 208! *** 209! *** omp_* entry points 210! *** 211 212 subroutine omp_set_num_threads(num_threads) bind(c) 213 use omp_lib_kinds 214 integer (kind=omp_integer_kind), value :: num_threads 215 end subroutine omp_set_num_threads 216 217 subroutine omp_set_dynamic(dynamic_threads) bind(c) 218 use omp_lib_kinds 219 logical (kind=omp_logical_kind), value :: dynamic_threads 220 end subroutine omp_set_dynamic 221 222 subroutine omp_set_nested(nested) bind(c) 223 use omp_lib_kinds 224 logical (kind=omp_logical_kind), value :: nested 225 end subroutine omp_set_nested 226 227 function omp_get_num_threads() bind(c) 228 use omp_lib_kinds 229 integer (kind=omp_integer_kind) omp_get_num_threads 230 end function omp_get_num_threads 231 232 function omp_get_max_threads() bind(c) 233 use omp_lib_kinds 234 integer (kind=omp_integer_kind) omp_get_max_threads 235 end function omp_get_max_threads 236 237 function omp_get_thread_num() bind(c) 238 use omp_lib_kinds 239 integer (kind=omp_integer_kind) omp_get_thread_num 240 end function omp_get_thread_num 241 242 function omp_get_num_procs() bind(c) 243 use omp_lib_kinds 244 integer (kind=omp_integer_kind) omp_get_num_procs 245 end function omp_get_num_procs 246 247 function omp_in_parallel() bind(c) 248 use omp_lib_kinds 249 logical (kind=omp_logical_kind) omp_in_parallel 250 end function omp_in_parallel 251 252 function omp_in_final() bind(c) 253 use omp_lib_kinds 254 logical (kind=omp_logical_kind) omp_in_final 255 end function omp_in_final 256 257 function omp_get_dynamic() bind(c) 258 use omp_lib_kinds 259 logical (kind=omp_logical_kind) omp_get_dynamic 260 end function omp_get_dynamic 261 262 function omp_get_nested() bind(c) 263 use omp_lib_kinds 264 logical (kind=omp_logical_kind) omp_get_nested 265 end function omp_get_nested 266 267 function omp_get_thread_limit() bind(c) 268 use omp_lib_kinds 269 integer (kind=omp_integer_kind) omp_get_thread_limit 270 end function omp_get_thread_limit 271 272 subroutine omp_set_max_active_levels(max_levels) bind(c) 273 use omp_lib_kinds 274 integer (kind=omp_integer_kind), value :: max_levels 275 end subroutine omp_set_max_active_levels 276 277 function omp_get_max_active_levels() bind(c) 278 use omp_lib_kinds 279 integer (kind=omp_integer_kind) omp_get_max_active_levels 280 end function omp_get_max_active_levels 281 282 function omp_get_level() bind(c) 283 use omp_lib_kinds 284 integer (kind=omp_integer_kind) omp_get_level 285 end function omp_get_level 286 287 function omp_get_active_level() bind(c) 288 use omp_lib_kinds 289 integer (kind=omp_integer_kind) omp_get_active_level 290 end function omp_get_active_level 291 292 function omp_get_ancestor_thread_num(level) bind(c) 293 use omp_lib_kinds 294 integer (kind=omp_integer_kind) omp_get_ancestor_thread_num 295 integer (kind=omp_integer_kind), value :: level 296 end function omp_get_ancestor_thread_num 297 298 function omp_get_team_size(level) bind(c) 299 use omp_lib_kinds 300 integer (kind=omp_integer_kind) omp_get_team_size 301 integer (kind=omp_integer_kind), value :: level 302 end function omp_get_team_size 303 304 subroutine omp_set_schedule(kind, chunk_size) bind(c) 305 use omp_lib_kinds 306 integer (kind=omp_sched_kind), value :: kind 307 integer (kind=omp_integer_kind), value :: chunk_size 308 end subroutine omp_set_schedule 309 310 subroutine omp_get_schedule(kind, chunk_size) bind(c) 311 use omp_lib_kinds 312 integer (kind=omp_sched_kind) kind 313 integer (kind=omp_integer_kind) chunk_size 314 end subroutine omp_get_schedule 315 316 function omp_get_proc_bind() bind(c) 317 use omp_lib_kinds 318 integer (kind=omp_proc_bind_kind) omp_get_proc_bind 319 end function omp_get_proc_bind 320 321 function omp_get_num_places() bind(c) 322 use omp_lib_kinds 323 integer (kind=omp_integer_kind) omp_get_num_places 324 end function omp_get_num_places 325 326 function omp_get_place_num_procs(place_num) bind(c) 327 use omp_lib_kinds 328 integer (kind=omp_integer_kind), value :: place_num 329 integer (kind=omp_integer_kind) omp_get_place_num_procs 330 end function omp_get_place_num_procs 331 332 subroutine omp_get_place_proc_ids(place_num, ids) bind(c) 333 use omp_lib_kinds 334 integer (kind=omp_integer_kind), value :: place_num 335 integer (kind=omp_integer_kind) ids(*) 336 end subroutine omp_get_place_proc_ids 337 338 function omp_get_place_num() bind(c) 339 use omp_lib_kinds 340 integer (kind=omp_integer_kind) omp_get_place_num 341 end function omp_get_place_num 342 343 function omp_get_partition_num_places() bind(c) 344 use omp_lib_kinds 345 integer (kind=omp_integer_kind) omp_get_partition_num_places 346 end function omp_get_partition_num_places 347 348 subroutine omp_get_partition_place_nums(place_nums) bind(c) 349 use omp_lib_kinds 350 integer (kind=omp_integer_kind) place_nums(*) 351 end subroutine omp_get_partition_place_nums 352 353 function omp_get_wtime() bind(c) 354 use omp_lib_kinds 355 real (kind=kmp_double_kind) omp_get_wtime 356 end function omp_get_wtime 357 358 function omp_get_wtick() bind(c) 359 use omp_lib_kinds 360 real (kind=kmp_double_kind) omp_get_wtick 361 end function omp_get_wtick 362 363 function omp_get_default_device() bind(c) 364 use omp_lib_kinds 365 integer (kind=omp_integer_kind) omp_get_default_device 366 end function omp_get_default_device 367 368 subroutine omp_set_default_device(device_num) bind(c) 369 use omp_lib_kinds 370 integer (kind=omp_integer_kind), value :: device_num 371 end subroutine omp_set_default_device 372 373 function omp_get_num_devices() bind(c) 374 use omp_lib_kinds 375 integer (kind=omp_integer_kind) omp_get_num_devices 376 end function omp_get_num_devices 377 378 function omp_get_num_teams() bind(c) 379 use omp_lib_kinds 380 integer (kind=omp_integer_kind) omp_get_num_teams 381 end function omp_get_num_teams 382 383 function omp_get_team_num() bind(c) 384 use omp_lib_kinds 385 integer (kind=omp_integer_kind) omp_get_team_num 386 end function omp_get_team_num 387 388 function omp_get_cancellation() bind(c) 389 use omp_lib_kinds 390 integer (kind=omp_integer_kind) omp_get_cancellation 391 end function omp_get_cancellation 392 393 function omp_is_initial_device() bind(c) 394 use omp_lib_kinds 395 logical (kind=omp_logical_kind) omp_is_initial_device 396 end function omp_is_initial_device 397 398 function omp_get_initial_device() bind(c) 399 use omp_lib_kinds 400 integer (kind=omp_integer_kind) omp_get_initial_device 401 end function omp_get_initial_device 402 403 function omp_get_device_num() bind(c) 404 use omp_lib_kinds 405 integer (kind=omp_integer_kind) omp_get_device_num 406 end function omp_get_device_num 407 408 function omp_pause_resource(kind, device_num) bind(c) 409 use omp_lib_kinds 410 integer (kind=omp_pause_resource_kind), value :: kind 411 integer (kind=omp_integer_kind), value :: device_num 412 integer (kind=omp_integer_kind) omp_pause_resource 413 end function omp_pause_resource 414 415 function omp_pause_resource_all(kind) bind(c) 416 use omp_lib_kinds 417 integer (kind=omp_pause_resource_kind), value :: kind 418 integer (kind=omp_integer_kind) omp_pause_resource_all 419 end function omp_pause_resource_all 420 421 function omp_get_supported_active_levels() bind(c) 422 use omp_lib_kinds 423 integer (kind=omp_integer_kind) omp_get_supported_active_levels 424 end function omp_get_supported_active_levels 425 426 subroutine omp_fulfill_event(event) bind(c) 427 use omp_lib_kinds 428 integer (kind=omp_event_handle_kind), value :: event 429 end subroutine omp_fulfill_event 430 431 subroutine omp_init_lock(svar) bind(c) 432#ifdef __INTEL_COMPILER 433!DIR$ IF(__INTEL_COMPILER.GE.1400) 434!DIR$ attributes known_intrinsic :: omp_init_lock 435!DIR$ ENDIF 436#endif 437 use omp_lib_kinds 438 integer (kind=omp_lock_kind) svar 439 end subroutine omp_init_lock 440 441 subroutine omp_destroy_lock(svar) bind(c) 442#ifdef __INTEL_COMPILER 443!DIR$ IF(__INTEL_COMPILER.GE.1400) 444!DIR$ attributes known_intrinsic :: omp_destroy_lock 445!DIR$ ENDIF 446#endif 447 use omp_lib_kinds 448 integer (kind=omp_lock_kind) svar 449 end subroutine omp_destroy_lock 450 451 subroutine omp_set_lock(svar) bind(c) 452#ifdef __INTEL_COMPILER 453!DIR$ IF(__INTEL_COMPILER.GE.1400) 454!DIR$ attributes known_intrinsic :: omp_set_lock 455!DIR$ ENDIF 456#endif 457 use omp_lib_kinds 458 integer (kind=omp_lock_kind) svar 459 end subroutine omp_set_lock 460 461 subroutine omp_unset_lock(svar) bind(c) 462#ifdef __INTEL_COMPILER 463!DIR$ IF(__INTEL_COMPILER.GE.1400) 464!DIR$ attributes known_intrinsic :: omp_unset_lock 465!DIR$ ENDIF 466#endif 467 use omp_lib_kinds 468 integer (kind=omp_lock_kind) svar 469 end subroutine omp_unset_lock 470 471 function omp_test_lock(svar) bind(c) 472#ifdef __INTEL_COMPILER 473!DIR$ IF(__INTEL_COMPILER.GE.1400) 474!DIR$ attributes known_intrinsic :: omp_test_lock 475!DIR$ ENDIF 476#endif 477 use omp_lib_kinds 478 logical (kind=omp_logical_kind) omp_test_lock 479 integer (kind=omp_lock_kind) svar 480 end function omp_test_lock 481 482 subroutine omp_init_nest_lock(nvar) bind(c) 483#ifdef __INTEL_COMPILER 484!DIR$ IF(__INTEL_COMPILER.GE.1400) 485!DIR$ attributes known_intrinsic :: omp_init_nest_lock 486!DIR$ ENDIF 487#endif 488 use omp_lib_kinds 489 integer (kind=omp_nest_lock_kind) nvar 490 end subroutine omp_init_nest_lock 491 492 subroutine omp_destroy_nest_lock(nvar) bind(c) 493#ifdef __INTEL_COMPILER 494!DIR$ IF(__INTEL_COMPILER.GE.1400) 495!DIR$ attributes known_intrinsic :: omp_destroy_nest_lock 496!DIR$ ENDIF 497#endif 498 use omp_lib_kinds 499 integer (kind=omp_nest_lock_kind) nvar 500 end subroutine omp_destroy_nest_lock 501 502 subroutine omp_set_nest_lock(nvar) bind(c) 503#ifdef __INTEL_COMPILER 504!DIR$ IF(__INTEL_COMPILER.GE.1400) 505!DIR$ attributes known_intrinsic :: omp_set_nest_lock 506!DIR$ ENDIF 507#endif 508 use omp_lib_kinds 509 integer (kind=omp_nest_lock_kind) nvar 510 end subroutine omp_set_nest_lock 511 512 subroutine omp_unset_nest_lock(nvar) bind(c) 513#ifdef __INTEL_COMPILER 514!DIR$ IF(__INTEL_COMPILER.GE.1400) 515!DIR$ attributes known_intrinsic :: omp_unset_nest_lock 516!DIR$ ENDIF 517#endif 518 use omp_lib_kinds 519 integer (kind=omp_nest_lock_kind) nvar 520 end subroutine omp_unset_nest_lock 521 522 function omp_test_nest_lock(nvar) bind(c) 523#ifdef __INTEL_COMPILER 524!DIR$ IF(__INTEL_COMPILER.GE.1400) 525!DIR$ attributes known_intrinsic :: omp_test_nest_lock 526!DIR$ ENDIF 527#endif 528 use omp_lib_kinds 529 integer (kind=omp_integer_kind) omp_test_nest_lock 530 integer (kind=omp_nest_lock_kind) nvar 531 end function omp_test_nest_lock 532 533 function omp_get_max_task_priority() bind(c) 534 use omp_lib_kinds 535 integer (kind=omp_integer_kind) omp_get_max_task_priority 536 end function omp_get_max_task_priority 537 538 subroutine omp_init_lock_with_hint(svar, hint) bind(c) 539 use omp_lib_kinds 540 integer (kind=omp_lock_kind) svar 541 integer (kind=omp_lock_hint_kind), value :: hint 542 end subroutine omp_init_lock_with_hint 543 544 subroutine omp_init_nest_lock_with_hint(nvar, hint) bind(c) 545 use omp_lib_kinds 546 integer (kind=omp_nest_lock_kind) nvar 547 integer (kind=omp_lock_hint_kind), value :: hint 548 end subroutine omp_init_nest_lock_with_hint 549 550 function omp_control_tool(command, modifier, arg) bind(c) 551 use omp_lib_kinds 552 integer (kind=omp_integer_kind) omp_control_tool 553 integer (kind=omp_control_tool_kind), value :: command 554 integer (kind=omp_control_tool_kind), value :: modifier 555 integer (kind=kmp_pointer_kind), optional :: arg 556 end function omp_control_tool 557 558 function omp_init_allocator(memspace, ntraits, traits) 559 use omp_lib_kinds 560 integer (kind=omp_allocator_handle_kind) omp_init_allocator 561 integer (kind=omp_memspace_handle_kind) :: memspace 562 integer (kind=omp_integer_kind) :: ntraits 563 type(omp_alloctrait), intent(in) :: traits(*) 564 end function omp_init_allocator 565 566 subroutine omp_destroy_allocator(allocator) bind(c) 567 use omp_lib_kinds 568 integer (kind=omp_allocator_handle_kind), value :: allocator 569 end subroutine omp_destroy_allocator 570 571 subroutine omp_set_default_allocator(allocator) bind(c) 572 use omp_lib_kinds 573 integer (kind=omp_allocator_handle_kind), value :: allocator 574 end subroutine omp_set_default_allocator 575 576 function omp_get_default_allocator() bind(c) 577 use omp_lib_kinds 578 integer (kind=omp_allocator_handle_kind) omp_get_default_allocator 579 end function omp_get_default_allocator 580 581 subroutine omp_set_affinity_format(format) 582 character (len=*) :: format 583 end subroutine omp_set_affinity_format 584 585 function omp_get_affinity_format(buffer) 586 use omp_lib_kinds 587 character (len=*) :: buffer 588 integer (kind=kmp_size_t_kind) :: omp_get_affinity_format 589 end function omp_get_affinity_format 590 591 subroutine omp_display_affinity(format) 592 character (len=*) :: format 593 end subroutine omp_display_affinity 594 595 function omp_capture_affinity(buffer, format) 596 use omp_lib_kinds 597 character (len=*) :: format 598 character (len=*) :: buffer 599 integer (kind=kmp_size_t_kind) :: omp_capture_affinity 600 end function omp_capture_affinity 601 602 subroutine omp_set_num_teams(num_teams) bind(c) 603 use omp_lib_kinds 604 integer (kind=omp_integer_kind), value :: num_teams 605 end subroutine omp_set_num_teams 606 607 function omp_get_max_teams() bind(c) 608 use omp_lib_kinds 609 integer (kind=omp_integer_kind) omp_get_max_teams 610 end function omp_get_max_teams 611 612 subroutine omp_set_teams_thread_limit(thread_limit) bind(c) 613 use omp_lib_kinds 614 integer (kind=omp_integer_kind), value :: thread_limit 615 end subroutine omp_set_teams_thread_limit 616 617 function omp_get_teams_thread_limit() bind(c) 618 use omp_lib_kinds 619 integer (kind=omp_integer_kind) omp_get_teams_thread_limit 620 end function omp_get_teams_thread_limit 621 622 subroutine omp_display_env(verbose) bind(c) 623 use omp_lib_kinds 624 logical (kind=omp_logical_kind), value :: verbose 625 end subroutine omp_display_env 626 627 function omp_target_alloc(size, device_num) bind(c) 628 use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int 629 type(c_ptr) omp_target_alloc 630 integer(c_size_t), value :: size 631 integer(c_int), value :: device_num 632 end function omp_target_alloc 633 634 subroutine omp_target_free(device_ptr, device_num) bind(c) 635 use, intrinsic :: iso_c_binding, only: c_ptr, c_int 636 type(c_ptr), value :: device_ptr 637 integer(c_int), value :: device_num 638 end subroutine omp_target_free 639 640 function omp_target_is_present(ptr, device_num) bind(c) 641 use, intrinsic :: iso_c_binding, only: c_ptr, c_int 642 integer(c_int) omp_target_is_present 643 type(c_ptr), value :: ptr 644 integer(c_int), value :: device_num 645 end function omp_target_is_present 646 647 function omp_target_memcpy(dst, src, length, dst_offset, src_offset, & 648 dst_device_num, src_device_num) bind(c) 649 use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int 650 integer(c_int) omp_target_memcpy 651 type(c_ptr), value :: dst, src 652 integer(c_size_t), value :: length, dst_offset, src_offset 653 integer(c_int), value :: dst_device_num, src_device_num 654 end function omp_target_memcpy 655 656 function omp_target_memcpy_rect(dst, src, element_size, num_dims, & 657 volume, dst_offsets, src_offsets, dst_dimensions, & 658 src_dimensions, dst_device_num, src_device_num) bind(c) 659 use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int 660 integer(c_int) omp_target_memcpy_rect 661 type(c_ptr), value :: dst, src 662 integer(c_size_t), value :: element_size 663 integer(c_int), value :: num_dims, dst_device_num, src_device_num 664 integer(c_size_t), intent(in) :: volume(*), dst_offsets(*), & 665 src_offsets(*), dst_dimensions(*), src_dimensions(*) 666 end function omp_target_memcpy_rect 667 668 function omp_target_memcpy_async(dst, src, length, dst_offset, & 669 src_offset, dst_device_num, src_device_num, depobj_count, & 670 depobj_list) bind(c) 671 use omp_lib_kinds 672 use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int 673 integer(c_int) omp_target_memcpy_async 674 type(c_ptr), value :: dst, src 675 integer(c_size_t), value :: length, dst_offset, src_offset 676 integer(c_int), value :: dst_device_num, src_device_num, & 677 depobj_count 678 integer(omp_depend_kind), optional :: depobj_list(*) 679 end function omp_target_memcpy_async 680 681 function omp_target_memcpy_rect_async(dst, src, element_size, & 682 num_dims, volume, dst_offsets, src_offsets, dst_dimensions, & 683 src_dimensions, dst_device_num, src_device_num, depobj_count, & 684 depobj_list) bind(c) 685 use omp_lib_kinds 686 use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int 687 integer(c_int) omp_target_memcpy_rect_async 688 type(c_ptr), value :: dst, src 689 integer(c_size_t), value :: element_size 690 integer(c_int), value :: num_dims, dst_device_num, src_device_num, & 691 depobj_count 692 integer(c_size_t), intent(in) :: volume(*), dst_offsets(*), & 693 src_offsets(*), dst_dimensions(*), src_dimensions(*) 694 integer (omp_depend_kind), optional :: depobj_list(*) 695 end function omp_target_memcpy_rect_async 696 697 function omp_target_memset(ptr, val, count, device_num) bind(c) 698 use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t 699 type(c_ptr) :: omp_target_memset 700 type(c_ptr), value :: ptr 701 integer(c_int), value :: val 702 integer(c_size_t), value :: count 703 integer(c_int), value :: device_num 704 end function 705 706 function omp_target_memset_async(ptr, val, count, device_num, & 707 depobj_count, depobj_list) bind(c) 708 use omp_lib_kinds 709 use, intrinsic :: iso_c_binding, only : c_ptr, c_int, c_size_t 710 type(c_ptr) :: omp_target_memset_async 711 type(c_ptr), value :: ptr 712 integer(c_int), value :: val 713 integer(c_size_t), value :: count 714 integer(c_int), value :: device_num 715 integer(c_int), value :: depobj_count 716 integer(omp_depend_kind), optional :: depobj_list(*) 717 end function 718 719 function omp_target_associate_ptr(host_ptr, device_ptr, size, & 720 device_offset, device_num) bind(c) 721 use, intrinsic :: iso_c_binding, only: c_ptr, c_size_t, c_int 722 integer(c_int) omp_target_associate_ptr 723 type(c_ptr), value :: host_ptr, device_ptr 724 integer(c_size_t), value :: size, device_offset 725 integer(c_int), value :: device_num 726 end function omp_target_associate_ptr 727 728 function omp_get_mapped_ptr(ptr, device_num) bind(c) 729 use, intrinsic :: iso_c_binding, only: c_ptr, c_int 730 type(c_ptr) omp_get_mapped_ptr 731 type(c_ptr), value :: ptr 732 integer(c_int), value :: device_num 733 end function omp_get_mapped_ptr 734 735 function omp_target_disassociate_ptr(ptr, device_num) bind(c) 736 use, intrinsic :: iso_c_binding, only: c_ptr, c_int 737 integer(c_int) omp_target_disassociate_ptr 738 type(c_ptr), value :: ptr 739 integer(c_int), value :: device_num 740 end function omp_target_disassociate_ptr 741 742 function omp_target_is_accessible(ptr, size, device_num) bind(c) 743 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t, c_int 744 integer(c_int) omp_target_is_accessible 745 type(c_ptr), value :: ptr 746 integer(c_size_t), value :: size 747 integer(c_int), value :: device_num 748 end function omp_target_is_accessible 749 750 function omp_alloc(size, allocator) bind(c) 751 use omp_lib_kinds 752 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t 753 type(c_ptr) omp_alloc 754 integer(c_size_t), value :: size 755 integer(omp_allocator_handle_kind), value :: allocator 756 end function omp_alloc 757 758 function omp_aligned_alloc(alignment, size, allocator) bind(c) 759 use omp_lib_kinds 760 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t 761 type(c_ptr) omp_aligned_alloc 762 integer(c_size_t), value :: alignment, size 763 integer(omp_allocator_handle_kind), value :: allocator 764 end function omp_aligned_alloc 765 766 function omp_calloc(nmemb, size, allocator) bind(c) 767 use omp_lib_kinds 768 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t 769 type(c_ptr) omp_calloc 770 integer(c_size_t), value :: nmemb, size 771 integer(omp_allocator_handle_kind), value :: allocator 772 end function omp_calloc 773 774 function omp_aligned_calloc(alignment, nmemb, size, allocator) bind(c) 775 use omp_lib_kinds 776 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t 777 type(c_ptr) omp_aligned_calloc 778 integer(c_size_t), value :: alignment, nmemb, size 779 integer(omp_allocator_handle_kind), value :: allocator 780 end function omp_aligned_calloc 781 782 function omp_realloc(ptr, size, allocator, free_allocator) bind(c) 783 use omp_lib_kinds 784 use, intrinsic :: iso_c_binding, only : c_ptr, c_size_t 785 type(c_ptr) omp_realloc 786 type(c_ptr), value :: ptr 787 integer(c_size_t), value :: size 788 integer(omp_allocator_handle_kind), value :: allocator 789 integer(omp_allocator_handle_kind), value :: free_allocator 790 end function omp_realloc 791 792 subroutine omp_free(ptr, allocator) bind(c) 793 use omp_lib_kinds 794 use, intrinsic :: iso_c_binding, only : c_ptr 795 type(c_ptr), value :: ptr 796 integer(omp_allocator_handle_kind), value :: allocator 797 end subroutine omp_free 798 799 function omp_in_explicit_task() bind(c) 800 use omp_lib_kinds 801 logical (kind=omp_logical_kind) omp_in_explicit_task 802 end function omp_in_explicit_task 803 804! *** 805! *** kmp_* entry points 806! *** 807 808 subroutine kmp_set_stacksize(size) bind(c) 809 use omp_lib_kinds 810 integer (kind=omp_integer_kind), value :: size 811 end subroutine kmp_set_stacksize 812 813 subroutine kmp_set_stacksize_s(size) bind(c) 814 use omp_lib_kinds 815 integer (kind=kmp_size_t_kind), value :: size 816 end subroutine kmp_set_stacksize_s 817 818 subroutine kmp_set_blocktime(msec) bind(c) 819 use omp_lib_kinds 820 integer (kind=omp_integer_kind), value :: msec 821 end subroutine kmp_set_blocktime 822 823 subroutine kmp_set_library_serial() bind(c) 824 end subroutine kmp_set_library_serial 825 826 subroutine kmp_set_library_turnaround() bind(c) 827 end subroutine kmp_set_library_turnaround 828 829 subroutine kmp_set_library_throughput() bind(c) 830 end subroutine kmp_set_library_throughput 831 832 subroutine kmp_set_library(libnum) bind(c) 833 use omp_lib_kinds 834 integer (kind=omp_integer_kind), value :: libnum 835 end subroutine kmp_set_library 836 837 subroutine kmp_set_defaults(string) bind(c) 838 use, intrinsic :: iso_c_binding 839 character (kind=c_char) :: string(*) 840 end subroutine kmp_set_defaults 841 842 function kmp_get_stacksize() bind(c) 843 use omp_lib_kinds 844 integer (kind=omp_integer_kind) kmp_get_stacksize 845 end function kmp_get_stacksize 846 847 function kmp_get_stacksize_s() bind(c) 848 use omp_lib_kinds 849 integer (kind=kmp_size_t_kind) kmp_get_stacksize_s 850 end function kmp_get_stacksize_s 851 852 function kmp_get_blocktime() bind(c) 853 use omp_lib_kinds 854 integer (kind=omp_integer_kind) kmp_get_blocktime 855 end function kmp_get_blocktime 856 857 function kmp_get_library() bind(c) 858 use omp_lib_kinds 859 integer (kind=omp_integer_kind) kmp_get_library 860 end function kmp_get_library 861 862 subroutine kmp_set_disp_num_buffers(num) bind(c) 863 use omp_lib_kinds 864 integer (kind=omp_integer_kind), value :: num 865 end subroutine kmp_set_disp_num_buffers 866 867 function kmp_set_affinity(mask) bind(c) 868 use omp_lib_kinds 869 integer (kind=omp_integer_kind) kmp_set_affinity 870 integer (kind=kmp_affinity_mask_kind) mask 871 end function kmp_set_affinity 872 873 function kmp_get_affinity(mask) bind(c) 874 use omp_lib_kinds 875 integer (kind=omp_integer_kind) kmp_get_affinity 876 integer (kind=kmp_affinity_mask_kind) mask 877 end function kmp_get_affinity 878 879 function kmp_get_affinity_max_proc() bind(c) 880 use omp_lib_kinds 881 integer (kind=omp_integer_kind) kmp_get_affinity_max_proc 882 end function kmp_get_affinity_max_proc 883 884 subroutine kmp_create_affinity_mask(mask) bind(c) 885 use omp_lib_kinds 886 integer (kind=kmp_affinity_mask_kind) mask 887 end subroutine kmp_create_affinity_mask 888 889 subroutine kmp_destroy_affinity_mask(mask) bind(c) 890 use omp_lib_kinds 891 integer (kind=kmp_affinity_mask_kind) mask 892 end subroutine kmp_destroy_affinity_mask 893 894 function kmp_set_affinity_mask_proc(proc, mask) bind(c) 895 use omp_lib_kinds 896 integer (kind=omp_integer_kind) kmp_set_affinity_mask_proc 897 integer (kind=omp_integer_kind), value :: proc 898 integer (kind=kmp_affinity_mask_kind) mask 899 end function kmp_set_affinity_mask_proc 900 901 function kmp_unset_affinity_mask_proc(proc, mask) bind(c) 902 use omp_lib_kinds 903 integer (kind=omp_integer_kind) kmp_unset_affinity_mask_proc 904 integer (kind=omp_integer_kind), value :: proc 905 integer (kind=kmp_affinity_mask_kind) mask 906 end function kmp_unset_affinity_mask_proc 907 908 function kmp_get_affinity_mask_proc(proc, mask) bind(c) 909 use omp_lib_kinds 910 integer (kind=omp_integer_kind) kmp_get_affinity_mask_proc 911 integer (kind=omp_integer_kind), value :: proc 912 integer (kind=kmp_affinity_mask_kind) mask 913 end function kmp_get_affinity_mask_proc 914 915 function kmp_malloc(size) bind(c) 916 use omp_lib_kinds 917 integer (kind=kmp_pointer_kind) kmp_malloc 918 integer (kind=kmp_size_t_kind), value :: size 919 end function kmp_malloc 920 921 function kmp_aligned_malloc(size, alignment) bind(c) 922 use omp_lib_kinds 923 integer (kind=kmp_pointer_kind) kmp_aligned_malloc 924 integer (kind=kmp_size_t_kind), value :: size 925 integer (kind=kmp_size_t_kind), value :: alignment 926 end function kmp_aligned_malloc 927 928 function kmp_calloc(nelem, elsize) bind(c) 929 use omp_lib_kinds 930 integer (kind=kmp_pointer_kind) kmp_calloc 931 integer (kind=kmp_size_t_kind), value :: nelem 932 integer (kind=kmp_size_t_kind), value :: elsize 933 end function kmp_calloc 934 935 function kmp_realloc(ptr, size) bind(c) 936 use omp_lib_kinds 937 integer (kind=kmp_pointer_kind) kmp_realloc 938 integer (kind=kmp_pointer_kind), value :: ptr 939 integer (kind=kmp_size_t_kind), value :: size 940 end function kmp_realloc 941 942 subroutine kmp_free(ptr) bind(c) 943 use omp_lib_kinds 944 integer (kind=kmp_pointer_kind), value :: ptr 945 end subroutine kmp_free 946 947 subroutine kmp_set_warnings_on() bind(c) 948 end subroutine kmp_set_warnings_on 949 950 subroutine kmp_set_warnings_off() bind(c) 951 end subroutine kmp_set_warnings_off 952 953 function kmp_get_cancellation_status(cancelkind) bind(c) 954 use omp_lib_kinds 955 integer (kind=kmp_cancel_kind), value :: cancelkind 956 logical (kind=omp_logical_kind) kmp_get_cancellation_status 957 end function kmp_get_cancellation_status 958 959 end interface 960 961 ! make the above routine definitions public 962 public :: omp_set_num_threads 963 public :: omp_set_dynamic 964 public :: omp_set_nested 965 public :: omp_get_num_threads 966 public :: omp_get_max_threads 967 public :: omp_get_thread_num 968 public :: omp_get_num_procs 969 public :: omp_in_parallel 970 public :: omp_in_final 971 public :: omp_get_dynamic 972 public :: omp_get_nested 973 public :: omp_get_thread_limit 974 public :: omp_set_max_active_levels 975 public :: omp_get_max_active_levels 976 public :: omp_get_level 977 public :: omp_get_active_level 978 public :: omp_get_ancestor_thread_num 979 public :: omp_get_team_size 980 public :: omp_set_schedule 981 public :: omp_get_schedule 982 public :: omp_get_proc_bind 983 public :: omp_get_num_places 984 public :: omp_get_place_num_procs 985 public :: omp_get_place_proc_ids 986 public :: omp_get_place_num 987 public :: omp_get_partition_num_places 988 public :: omp_get_partition_place_nums 989 public :: omp_get_wtime 990 public :: omp_get_wtick 991 public :: omp_get_default_device 992 public :: omp_set_default_device 993 public :: omp_get_num_devices 994 public :: omp_get_num_teams 995 public :: omp_get_team_num 996 public :: omp_get_cancellation 997 public :: omp_is_initial_device 998 public :: omp_get_initial_device 999 public :: omp_get_device_num 1000 public :: omp_pause_resource 1001 public :: omp_pause_resource_all 1002 public :: omp_get_supported_active_levels 1003 public :: omp_fulfill_event 1004 public :: omp_init_lock 1005 public :: omp_destroy_lock 1006 public :: omp_set_lock 1007 public :: omp_unset_lock 1008 public :: omp_test_lock 1009 public :: omp_init_nest_lock 1010 public :: omp_destroy_nest_lock 1011 public :: omp_set_nest_lock 1012 public :: omp_unset_nest_lock 1013 public :: omp_test_nest_lock 1014 public :: omp_get_max_task_priority 1015 public :: omp_init_lock_with_hint 1016 public :: omp_init_nest_lock_with_hint 1017 public :: omp_control_tool 1018 public :: omp_init_allocator 1019 public :: omp_destroy_allocator 1020 public :: omp_set_default_allocator 1021 public :: omp_get_default_allocator 1022 public :: omp_set_affinity_format 1023 public :: omp_get_affinity_format 1024 public :: omp_display_affinity 1025 public :: omp_capture_affinity 1026 public :: omp_set_num_teams 1027 public :: omp_get_max_teams 1028 public :: omp_set_teams_thread_limit 1029 public :: omp_get_teams_thread_limit 1030 public :: omp_display_env 1031 public :: omp_target_alloc 1032 public :: omp_target_free 1033 public :: omp_target_is_present 1034 public :: omp_target_memcpy 1035 public :: omp_target_memcpy_rect 1036 public :: omp_target_memcpy_async 1037 public :: omp_target_memcpy_rect_async 1038 public :: omp_target_memset 1039 public :: omp_target_memset_async 1040 public :: omp_target_associate_ptr 1041 public :: omp_get_mapped_ptr 1042 public :: omp_target_disassociate_ptr 1043 public :: omp_target_is_accessible 1044 public :: omp_alloc 1045 public :: omp_aligned_alloc 1046 public :: omp_calloc 1047 public :: omp_aligned_calloc 1048 public :: omp_realloc 1049 public :: omp_free 1050 public :: omp_in_explicit_task 1051 public :: kmp_set_stacksize 1052 public :: kmp_set_stacksize_s 1053 public :: kmp_set_blocktime 1054 public :: kmp_set_library_serial 1055 public :: kmp_set_library_turnaround 1056 public :: kmp_set_library_throughput 1057 public :: kmp_set_library 1058 public :: kmp_set_defaults 1059 public :: kmp_get_stacksize 1060 public :: kmp_get_stacksize_s 1061 public :: kmp_get_blocktime 1062 public :: kmp_get_library 1063 public :: kmp_set_disp_num_buffers 1064 public :: kmp_set_affinity 1065 public :: kmp_get_affinity 1066 public :: kmp_get_affinity_max_proc 1067 public :: kmp_create_affinity_mask 1068 public :: kmp_destroy_affinity_mask 1069 public :: kmp_set_affinity_mask_proc 1070 public :: kmp_unset_affinity_mask_proc 1071 public :: kmp_get_affinity_mask_proc 1072 public :: kmp_malloc 1073 public :: kmp_aligned_malloc 1074 public :: kmp_calloc 1075 public :: kmp_realloc 1076 public :: kmp_free 1077 public :: kmp_set_warnings_on 1078 public :: kmp_set_warnings_off 1079 public :: kmp_get_cancellation_status 1080 1081 end module omp_lib 1082