Skip Navigation Links | |
Exit Print View | |
Oracle Solaris Studio 12.3: OpenMP API User's Guide Oracle Solaris Studio 12.3 Information Library |
2. Compiling and Running OpenMP Programs
3. Implementation-Defined Behaviors
3.3 Internal Control Variables
3.4 Dynamic Adjustment of Threads
3.7.3 omp_set_max_active_levels()
3.7.4 omp_get_max_active_levels()
6. Automatic Scoping of Variables
The following issues apply to Fortran only.
If the conditions for values of data in the thread-private objects of threads (other than the initial thread) to persist between two consecutive active parallel regions do not all hold, then the allocation status of an allocatable array in the second region might be not currently allocated.
Passing a shared variable to a non-intrinsic procedure could result in the value of the shared variable being copied into temporary storage before the procedure reference, and back out of the temporary storage into the actual argument storage after the procedure reference. This copying into and out of temporary storage can occur only if the conditions found in the OpenMP 3.1 Specification shared clause section hold, namely:
The actual argument is one of the following:
A shared variable
A subobject of a shared variable
An object associated with a shared variable
An object associated with a subobject of a shared variable
The actual argument is also one of the following:
An array section
An array section with a vector subscript
An assumed-shape array
A pointer array
The associated dummy argument for this actual argument is an explicit-shape array or an assumed-size array.
Both the include file omp_lib.h and the module file omp_lib are provided in the implementation.
On Oracle Solaris platforms, the OpenMP runtime library routines that take an argument are extended with a generic interface so arguments of different Fortran KIND types can be accommodated.