Next: OpenACC Module OPENACC, Previous: IEEE modules, Up: Intrinsic Modules

### 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) and OpenMP Application Program Interface v5.1 (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 manual, the named constants defined in the modules are listed below.

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

`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 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`