Documentation Home
> Sun Studio 12 Update 1: OpenMP API User's Guide
Sun Studio 12 Update 1: OpenMP API User's Guide
Book Information
Index
A
C
D
E
F
G
I
N
O
P
S
T
W
X
Preface
Chapter 1 Introducing the OpenMP API
1.1 Where to Find the OpenMP Specifications
1.2 Special Conventions Used Here
Chapter 2 Compiling and Running OpenMP Programs
2.1 Compiler Options To Use
2.2 OpenMP Environment Variables
2.3 Processor Binding
2.4 Stacks and Stack Sizes
2.5 Checking the Correctness of OpenMP Programs
Chapter 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
Chapter 4 Nested Parallelism
4.1 The Execution Model
4.2 Control of Nested Parallelism
4.2.1 OMP_NESTED
4.2.2 OMP_THREAD_LIMIT
4.2.3 OMP_MAX_ACTIVE_LEVELS
4.3 Using OpenMP Library Routines Within Nested Parallel Regions
4.4 Some Tips on Using Nested Parallelism
Chapter 5 Tasking
5.1 The Tasking Model
5.2 Data Environment
5.3 TASKWAIT Directive
5.4 Tasking Example
5.5 Programming Considerations
5.5.1 THREADPRIVATE and Thread-Specific Information
5.5.2 Locks
5.5.3 References to Stack Data
5.5.4 Data Scoping Attributes
Chapter 6 Automatic Scoping of Variables
6.1 The Autoscoping Data Scope Clause
6.1.1 __auto Clause
6.1.2 default(__auto) Clause
6.2 Autoscoping Rules
6.2.1 Autoscoping Rules For Scalar Variables
6.2.2 Autoscoping Rules for Arrays
6.3 General Comments About Autoscoping
6.4 Checking the Results of Autoscoping
6.5 Known Limitations of the Current Implementation
Chapter 7 Performance Considerations
7.1 Some General Recommendations
7.2 False Sharing And How To Avoid It
7.2.1 What Is False Sharing?
7.2.2 Reducing False Sharing
7.3 Solaris OS Tuning Features
7.3.1 Locality Groups
7.3.2 Multiple Page Size Support
7.4 Analyzing the Performance of an OpenMP Program
Appendix A Placement of Clauses on Directives
Appendix B Converting to OpenMP
B.1 Converting Legacy Fortran Directives
B.1.1 Converting Sun-Style Fortran Directives
B.1.1.1 Issues Between Sun-Style Fortran Directives and OpenMP
B.1.2 Converting Cray-Style Fortran Directives
B.1.2.1 Issues Between Cray-Style Fortran Directives and OpenMP Directives
B.2 Converting Legacy C Pragmas
B.2.1 Issues Between Legacy C Pragmas and OpenMP
© 2010, Oracle Corporation and/or its affiliates