9.4 OpenMP Modules OMP_LIB and OMP_LIB_KINDS

Standard:

OpenMP Application Program Interface v4.5, OpenMP Application Program Interface v5.0 (partially supported), OpenMP Application Program Interface v5.1 (partially supported) and OpenMP Application Program Interface v5.2 (partially supported).

The OpenMP Fortran runtime library routines are provided both in a form of two Fortran modules, named OMP_LIB and OMP_LIB_KINDS, and in a form of a Fortran include file named omp_lib.h. The procedures provided by OMP_LIB can be found in the Introduction in GNU Offloading and Multi Processing Runtime Library manual, the named constants defined in the modules are listed below.

For details refer to the actual OpenMP Application Program Interface v4.5, OpenMP Application Program Interface v5.0, OpenMP Application Program Interface v5.1 and OpenMP Application Program Interface v5.2.

OMP_LIB_KINDS provides the following scalar default-integer named constants:

omp_allocator_handle_kind
omp_alloctrait_key_kind
omp_alloctrait_val_kind
omp_depend_kind
omp_lock_kind
omp_lock_hint_kind
omp_nest_lock_kind
omp_pause_resource_kind
omp_memspace_handle_kind
omp_proc_bind_kind
omp_sched_kind
omp_sync_hint_kind

OMP_LIB provides the scalar default-integer named constant openmp_version with a value of the form yyyymm, where yyyy is the year and mm the month of the OpenMP version; for OpenMP v4.5 the value is 201511.

The following derived type:

omp_alloctrait

The following scalar default-integer named constants:

omp_initial_device
omp_invalid_device

The following scalar integer named constants of the kind omp_sched_kind:

omp_sched_static
omp_sched_dynamic
omp_sched_guided
omp_sched_auto

And the following scalar integer named constants of the kind omp_proc_bind_kind:

omp_proc_bind_false
omp_proc_bind_true
omp_proc_bind_primary
omp_proc_bind_master
omp_proc_bind_close
omp_proc_bind_spread

The following scalar integer named constants are of the kind omp_lock_hint_kind:

omp_lock_hint_none
omp_lock_hint_uncontended
omp_lock_hint_contended
omp_lock_hint_nonspeculative
omp_lock_hint_speculative
omp_sync_hint_none
omp_sync_hint_uncontended
omp_sync_hint_contended
omp_sync_hint_nonspeculative
omp_sync_hint_speculative

And the following two scalar integer named constants are of the kind omp_pause_resource_kind:

omp_pause_soft
omp_pause_hard

The following scalar integer named constants are of the kind omp_alloctrait_key_kind:

omp_atk_sync_hint
omp_atk_alignment
omp_atk_access
omp_atk_pool_size
omp_atk_fallback
omp_atk_fb_data
omp_atk_pinned
omp_atk_partition

The following scalar integer named constants are of the kind omp_alloctrait_val_kind:

omp_alloctrait_key_kind:

omp_atv_default
omp_atv_false
omp_atv_true
omp_atv_contended
omp_atv_uncontended
omp_atv_serialized
omp_atv_sequential
omp_atv_private
omp_atv_all
omp_atv_thread
omp_atv_pteam
omp_atv_cgroup
omp_atv_default_mem_fb
omp_atv_null_fb
omp_atv_abort_fb
omp_atv_allocator_fb
omp_atv_environment
omp_atv_nearest
omp_atv_blocked

The following scalar integer named constants are of the kind omp_allocator_handle_kind:

omp_null_allocator
omp_default_mem_alloc
omp_large_cap_mem_alloc
omp_const_mem_alloc
omp_high_bw_mem_alloc
omp_low_lat_mem_alloc
omp_cgroup_mem_alloc
omp_pteam_mem_alloc
omp_thread_mem_alloc

The following scalar integer named constants are of the kind omp_memspace_handle_kind:

omp_default_mem_space
omp_large_cap_mem_space
omp_const_mem_space
omp_high_bw_mem_space
omp_low_lat_mem_space