Sun Studio 12 Update 1: OpenMP API User's Guide

Chapter 1 Introducing the OpenMP API

The OpenMPTM Application Program Interface is a portable, parallel programming model for shared memory multithreaded architectures, developed in collaboration with a number of computer vendors. The specifications were created and are published by the OpenMP Architecture Review Board.

The OpenMP API is the recommended parallel programming model for all Sun Studio compilers on SolarisTM OS platforms. See the Appendix for guidelines on converting legacy Fortran and C parallelization directives to OpenMP.

1.1 Where to Find the OpenMP Specifications

The material presented in this manual describes issues specific to the Sun Studio implementation of the OpenMP API. For complete details you must refer to the OpenMP specification documents. This manual makes direct references to sections in the OpenMP 3.0 API specification.

The OpenMP 3.0 specification for C, C++, and Fortran 95 can be found on the official OpenMP website,

Additional information about OpenMP including tutorials and other resources for developers can be found on the cOMPunity website at

Latest information about the Sun Studio compiler releases and their implementation of the OpenMP API can be found on the Sun Developer Network portal at

1.2 Special Conventions Used Here

In the tables and examples that follow, Fortran directives and source code are shown in upper case, but are case-insensitive.

The term structured-block refers to a block of Fortran or C/C++ statements having no transfers into or out of the block.

Constructs within square brackets, [...], are optional.

Throughout this manual, “Fortran” refers to the Fortran 95 language and compiler, f95.

The terms “directive” and “pragma” are used interchangeably in this manual. The OpenMP specification prefers the term “directive”.