JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Studio 12.2: OpenMP API User's Guide
search filter icon
search icon

Document Information

Preface

1.  Introducing the OpenMP API

2.  Compiling and Running OpenMP Programs

3.  Implementation-Defined Behaviors

3.1 Task Scheduling Points

3.2 Memory Model

3.3 Internal Control Variables

3.4 Dynamic Adjustment of Threads

3.5 Loop Directive

3.6 Constructs

3.6.1 SECTIONS

3.6.2 SINGLE

3.6.3 ATOMIC

3.7 Routines

3.7.1 omp_set_schedule()

3.7.2 omp_set_max_active_levels()

3.7.3 omp_get_max_active_levels()

3.8 Environment Variables

3.9 Fortran Issues

3.9.1 THREADPRIVATE Directive

3.9.2 SHARED Clause

3.9.3 Runtime Library Definitions

4.  Nested Parallelism

5.  Tasking

6.  Automatic Scoping of Variables

7.  Scope Checking

8.  Performance Considerations

A.  Placement of Clauses on Directives

B.  Converting to OpenMP

Index

3.4 Dynamic Adjustment of Threads

The implementation provides the ability to dynamically adjust the number of threads. Dynamic adjustment is enabled by default. Set the OMP_DYNAMIC environment variable to FALSE, or call the omp_set_dynamic() routine with the appropriate argument, to disable dynamic adjustment.

When a thread encounters a parallel construct, the number of threads delivered by this implementation is determined according to Algorithm 2.1 pp. 35-36 in the OpenMP 3.0 Specification. In exceptional situations, such as when there is a lack of system resources, the number of threads supplied will be less than described in Algorithm 2.1. In these situations, if SUNW_MP_WARN is set to TRUE or a callback function is registered via a call to sunw_mp_register_warn(), a warning message will be issued.