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

ID 767251
Date 3/22/2024
Public

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

Document Table of Contents

fopenmp-targets, Qopenmp-targets

Enables offloading to a specified GPU target if OpenMP* features have been enabled. This feature is only available for ifx.

Syntax

Linux:

-fopenmp-targets=triple

Windows:

/Qopenmp-targets:triple

Arguments

triple

Is a target triple device name. The following triplets are supported.

spir64

Tells the compiler to enable offloading to SPIR64-based devices.

spir64_x86_64

Tells the compiler to enable offloading to Intel® CPUs.

spir64_gen

Tells the compiler to enable offloading to Intel® Processor Graphics.

For example, when you specify spir64, the compiler generates an x86 + SPIR64 (64-bit Standard Portable Intermediate Representation) fat binary for Intel® GPU devices.

Default

OFF

If this option is not specified, no fat binaries are created.

Description

This option enables offloading to a specified GPU target if OpenMP* features have been enabled.

To use this option, you must enable recognition of OpenMP* features by specifying one of the following options:

Linux

  • -qopenmp

  • -fiopenmp (ifx only)

  • -fopenmp

Windows

  • /Qopenmp

  • /Qiopenmp (ifx only)

The following shows an example:

  ifx -qopenmp -fopenmp-targets=spir64 matmul_offload.cpp -o matmul

When you specify -fopenmp-targets or /Qopenmp-targets, C++ exception handling is disabled for target compilations.

Linux

For host compilations, if you want to disable C++ exception handling, you must specify option -fno-exceptions.

CAUTION:

Files compiled with option -fopenmp-targets or /Qopenmp-targets should also be linked with the same option, or the link step may fail.

NOTE:

When OpenMP* offloading is enabled, this option only applies to device-specific compilation.

IDE Equivalent

Visual Studio: Code Generation > Enable OpenMP Offloading

Alternate Options

None

See Also