Offload Compilation, OpenMP*, and Parallel Processing Options
This section contains descriptions for compiler options that pertain to offload compilation, OpenMP*, or parallel processing. They are listed in alphabetical order.
device-math-lib
Enables or disables certain device libraries.
fiopenmp, Qiopenmp
Enables recognition of OpenMP* features and tells the parallelizer to generate multi-threaded code based on OpenMP* directives. Provides the ability to offload to a GPU when -fopenmp-targets (or /Qopenmp-targets) is also specified.
flink-huge-device-code
Tells the compiler to place device code later in the linked binary. This is to prevent 32-bit PC-relative relocations between surrounding Executable and Linkable Format (ELF) sections when the device code is larger than 2GB.
fopenmp, Qopenmp
Enables recognition of OpenMP* features and tells the parallelizer to generate multi-threaded code based on OpenMP* directives.
fopenmp-target-buffers, Qopenmp-target-buffers
Enables a way to overcome the problem where some OpenMP* offload SPIR-V* devices produce incorrect code when a target object is larger than 4GB.
fopenmp-target-loopopt, Qopenmp-target-loopopt
Enables the loop optimizer and auto-vectorization for OpenMP* offloading device compilation when option O2 or higher is set or specified.
fopenmp-target-simd, Qopenmp-target-simd
Enables OpenMP* SIMD loop vectorization for OpenMP offloading device compilation when option level O2 or higher is set or specified.
fsycl-device-lib
Enables or disables certain device libraries for a SYCL* target.
fsycl-instrument-device-code
Enables or disables linking of the Instrumentation and Tracing Technology (ITT) device libraries for VTune™.
fsycl-targets
Tells the compiler to generate code for specified device targets. This option is only valid for linking against SYCL-based objects.
ftarget-compile-fast
Tells the compiler to perform less aggressive optimizations to reduce compilation time at the expense of generating less optimal target code. This is an experimental feature.
nolibsycl
Disables linking of the SYCL* runtime library.
parallel, Qparallel
Tells the compiler to attempt to generate multithreaded code for DO CONCURRENT loops.
qopenmp, Qopenmp
You can substitute the option named -qopenmp for option -fopenmp or -fiopenmp, and you can substitute the option named /Qopenmp for option /Qiopenmp.
qopenmp-link
Controls whether the compiler links to static or dynamic OpenMP* runtime libraries.