Parallelization with OpenMP*

For shared memory parallel programming, the Intel® Fortran Compiler supports the OpenMP*, version 1.1 API. The OpenMP Fortran API has recently emerged as a standard for shared memory parallel programming. This feature relieves the user from having to deal with the low-level details of iteration partitioning, data sharing, and thread scheduling and synchronization. It also provides the benefit of the performance available from multiprocessor systems.

The Intel® Fortran Compiler supports OpenMP API version 1.1 and performs code transformation to automatically generate multithreaded codes based on the user's OpenMP directive annotations in the program. For more information on the OpenMP standard, visit the www.openmp.org web site.

The Intel Extensions to OpenMP topic describes the extensions to the version 1.1 standard that have been added by Intel in the Intel Fortran Compiler.

Note  
As with many advanced features of compilers, you must be sure to properly understand the functionality of the auto-parallelization options in order to use them effectively and avoid unwanted program behavior.

Command Line Options

The Parallelization capability of the Intel Fortran Compiler uses the following options:

Option

Description

Default

-openmp

Enables the parallelizer to generate multithreaded code based on the OpenMP directives. The code can be executed in parallel on both uniprocessor and multiprocessor systems.

OFF

-openmp
_report{0|1|2}

Controls the OpenMP parallelizer's diagnostic levels 0, 1, or 2 as follows:

-openmp_report0 = no diagnostic information is displayed.

-openmp_report1 = display diagnostics indicating loops, regions, and sections successfully parallelized (default).

-openmp_report2 = same as
-openmp_report1
plus diagnostics indicating master construct, single construct, critical sections, order construct, atomic directive, etc. successfully handled.

-openmp_
report1