The following table summarizes the OpenMP Fortran API run-time library routines you can use for directed parallel decomposition. These routines are all external procedures.
To use these routines, you must add a USE OMP_LIB statement to the program unit containing the routine.
Summary of OpenMP Fortran Parallel Routines
Name | Description | |
---|---|---|
OMP_SET_NUM_THREADS | Sets the number of threads to use for the next parallel region. | |
OMP_GET_NUM_THREADS | Gets the number of threads currently in the team executing the parallel region from which the routine is called. | |
OMP_GET_MAX_THREADS | Gets the maximum value that can be returned by calls to the OMP_GET_NUM_THREADS function. | |
OMP_GET_THREAD_NUM | Gets the thread number, within the team, in the range from zero to OMP_GET_NUM_THREADS minus one. | |
OMP_GET_NUM_PROCS | Gets the number of processors that are available to the program. | |
OMP_IN_PARALLEL | Informs whether or not a region is executing in parallel. | |
OMP_SET_DYNAMIC | Enables or disables dynamic adjustment of the number of threads available for execution of parallel regions. | |
OMP_GET_DYNAMIC | Informs whether or not dynamic thread adjustment is enabled. | |
OMP_SET_NESTED | Enables or disables nested parallelism. | |
OMP_GET_NESTED | Informs whether or not nested parallelism is enabled. | |
OMP_INIT_LOCK | Initializes a lock to be used in subsequent calls. | |
OMP_DESTROY_LOCK | Disassociates a lock variable from any locks. | |
OMP_SET_LOCK | Makes the executing thread wait until the specified lock is available. | |
OMP_UNSET_LOCK | Releases the executing thread from ownership of a lock. | |
OMP_TEST_LOCK | Tries to set the lock associated with a lock variable. | |
OMP_INIT_NEST_LOCK | Initializes a nested lock for use in subsequent calls. | |
OMP_DESTROY_NEST_LOCK | Disassociates a lock variable from a nested lock. | |
OMP_SET_NEST_LOCK | Makes the executing thread wait until the specified nested lock is available. | |
OMP_UNSET_NEST_LOCK | Releases the executing thread from ownership of a nested lock if the nesting count is zero. | |
OMP_TEST_NEST_LOCK | Tries to set the nested lock associated with a lock variable. | |
OMP_GET_WTIME | Returns a double-precision value equal to the elapsed wallclock time (in seconds) relative to an arbitrary reference time. | |
OMP_GETWTICK | Returns a double-precision value equal to the number of seconds between successive clock ticks. | |
Intel® Fortran Extensions: | ||
KMP_GET_STACKSIZE_S1 | Returns the number of bytes that will be allocated for each parallel thread to use as its private stack. | |
KMP_SET_STACKSIZE_S2 | Sets the number of bytes that will be allocated for each parallel thread to use as its private stack. | |
KMP_GET_BLOCKTIME | Returns the number of milliseconds that a thread should wait, after completing the execution of a parallel region, before sleeping. | |
KMP_SET_BLOCKTIME | Sets the number of milliseconds that a thread should wait, after completing the execution of a parallel region, before sleeping. | |
KMP_MALLOC | Allocates a memory block of a specified size (in bytes) from the thread-local heap. | |
KMP_CALLOC | Allocates an array of a specified number of elements and size from the thread-local heap. | |
KMP_REALLOC | Reallocates a memory block at a specified address and of a specified size from the thread-local heap. | |
KMP_FREE | Frees a memory block at a specified address from the thread-local heap. | |
1 For backwards compatibility, this can also be specified as KMP_GET_STACKSIZE. 2 For backwards compatibility, this can also be specified as KMP_SET_STACKSIZE. |
For more information on a specific routine, see the appropriate reference page; for example, for more information on OMP_SET_LOCK, see omp_set_lock(3f)
.
See Also: OpenMP Fortran Compiler Directives, Optimizing Applications: Intel Extension Routines/Functions