OpenMP* Options Quick Reference

These options are supported on IA-32, Intel® 64, and IA-64 architectures.

Linux* OS and Mac OS* X

Windows* OS

Description

-openmp

/Qopenmp

This option enables the parallelizer to generate multi-threaded code based on the OpenMP* directives. The code can be executed in parallel on both uniprocessor and multiprocessor systems.

IA-64 architecture only:

-openmp-report

/Qopenmp-report

This option controls the OpenMP parallelizer's level of diagnostic messages. To use this option, you must also specify -openmp (Linux and Mac OS X) or /Qopenmp (Windows).

-openmp-stubs

/Qopenmp-stubs

This option enables compilation of OpenMP programs in sequential mode. The OpenMP directives are ignored and a stub OpenMP library is linked.

-openmp-profile

/Qopenmp-profile

This option enables analysis of OpenMP* applications. To use this option, you must have previously installed Intel® Thread Profiler, which is one of the Intel® Threading Analysis Tools.

This option can adversely affect performance because of the additional profiling and error checking invoked to enable compatibility with the threading tools. Do not use this option unless you plan to use the Intel® Thread Profiler.

-openmp-lib

/Qopenmp-lib

This option lets you specify an OpenMP* run-time library to use for linking. The legacy OpenMP run-time library is not compatible with object files created using OpenMP run-time libraries supported in other compilers.

The compatibility OpenMP run-time library is compatible with object files created using the Microsoft* OpenMP run-time library (vcomp) and GNU OpenMP run-time library (libgomp).

-openmp-link

/Qopenmp-link

This option controls whether the compiler links to static or dynamic OpenMP run-time libraries. To link to the static OpenMP run-time library (RTL) and create a purely static executable, you must specify -openmp-link static (Linux and Mac OS X) or /Qopenmp-link (Windows). However, we strongly recommend you use the default setting, -openmp-link dynamic (Linux and Mac OS X) or /Qopenmp-link:dynamic (Windows).

-openmp-task

/Qopenmp-task

The option lets you choose an OpenMP tasking model. To use this option, you must also specify option -openmp (Linux and Mac OS X) or /Qopenmp (Windows).

-openmp-threadprivate

/Qopenmp-threadprivate

This option lets you specify an OpenMP* threadprivate implementation. The legacy OpenMP run-time library is not compatible with object files created using OpenMP run-time libraries supported in other compilers.

When both -openmp and -parallel (Linux OS and Mac OS X) or /Qopenmp and /Qparallel (Windows OS) are specified on the command line, the parallel option is only applied in loop nests that do not have OpenMP directives. For loop nests with OpenMP directives, only the openmp option is applied.

Refer to the following topics for information about OpenMP environment variable and run-time routines:

Refer to Quick Reference Lists for a complete listing of the quick reference topics.