Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

qopenmp, Qopenmp

Enables recognition of OpenMP* features and tells the parallelizer to generate multi-threaded code based on OpenMP* directives.

Syntax

Linux:

-qopenmp

-qno-openmp

macOS:

-qopenmp

-qno-openmp

Windows:

/Qopenmp

/Qopenmp-

Arguments

None

Default

-qno-openmp or /Qopenmp-

No OpenMP* multi-threaded code is generated by the compiler.

Description

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

If you use this option, multithreaded libraries are used, but option fpp is not automatically invoked.

This option sets option auto.

This option works with any optimization level. Specifying no optimization (-O0 on Linux* or /Od on Windows*) helps to debug OpenMP applications.

To ensure that a threadsafe and/or reentrant runtime library is linked and correctly initialized, option [q or Q]openmp should also be used for the link step and for the compilation of the main routine.

NOTE:

If you want to do offloading, specify option -fiopenmp. This option is only available for ifx.

NOTE:

To enable offloading to a specified GPU target, you must also specify option fopenmp-targets (Linux*) or /Qopenmp-targets (Windows). This option is only available for ifx.

NOTE:

Options that use OpenMP* API are available for both Intel® microprocessors and non-Intel microprocessors, but these options may perform additional optimizations on Intel® microprocessors than they perform on non-Intel microprocessors.

The list of major, user-visible OpenMP constructs and features that may perform differently on Intel® microprocessors versus non-Intel microprocessors include: locks (internal and user visible), the SINGLE construct, barriers (explicit and implicit), parallel loop scheduling, reductions, memory allocation, thread affinity, and binding.

Product and Performance Information

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.

Notice revision #20201201

IDE Equivalent

Visual Studio: Language > Process OpenMP Directives

Language > OpenMP Support (for ifx /Qiopenmp)

Alternate Options

Linux and macOS: -fopenmp (deprecated), -fiopenmp (ifx only)

Windows: /openmp (deprecated), /Qiopenmp (ifx only)

See Also