Contents
2.5 Combined Parallel Work-sharing Constructs
2.5.2 parallel sections Construct
2.6 Master and Synchronization Directives
2.7.2 Data-Sharing Attribute Clauses
3.1 Execution Environment Functions
3.1.1 omp_set_num_threads Function
3.1.2 omp_get_num_threads Function
3.1.3 omp_get_max_threads Function
3.1.4 omp_get_thread_num Function
3.1.5 omp_get_num_procs Function
3.1.6 omp_in_parallel Function
3.1.7 omp_set_dynamic Function
3.1.8 omp_get_dynamic Function
3.1.10 omp_get_nested Function
3.2.1 omp_init_lock and omp_init_nest_lock Functions
3.2.2 omp_destroy_lock and omp_destroy_nest_lock Functions
3.2.3 omp_set_lock and omp_set_nest_lock Functions
3.2.4 omp_unset_lock and omp_unset_nest_lock Functions
3.2.5 omp_test_lock and omp_test_nest_lock Functions
A.1 Executing a Simple Loop in Parallel
A.2 Specifying Conditional Compilation
A.5 Using the critical Directive
A.6 Using the lastprivate Clause
A.7 Using the reduction Clause
A.8 Specifying Parallel Sections
A.10 Specifying Sequential Ordering
A.11 Specifying a Fixed Number of Threads
A.12 Using the atomic Directive
A.13 Using the flush Directive with a List
A.14 Using the flush Directive without a List
A.15 Determining the Number of Threads Used
A.19 Examples Showing Incorrect Nesting of Work-sharing Directives
A.20 Binding of barrier Directives
A.21 Scoping Variables with the private Clause
A.22 Using the default(none) Clause
A.23 Examples of the ordered Directive
A.24 Example of the private Clause
A.25 Examples of the copyprivate Data Attribute Clause
A.26 Using the threadprivate Directive
A.27 Use of C99 Variable Length Arrays
A.28 Use of num_threads Clause
A.29 Use of Work-Sharing Constructs Inside a critical Construct
A.31 Thread-Safe Lock Functions
B. Stubs for Run-time Library Functions
E. Implementation-Defined Behaviors in OpenMP C/C++
F. New Features and Clarifications in Version 2.0