# Offload Compilation Options, OpenMP* Options, and Parallel Processing Options

This section contains descriptions for compiler options that pertain to offload compilation, OpenMP*, or parallel processing.

Parent topic: Compiler Option Details

- Device Offload Compilation Considerations
- device-math-lib
  Enables or disables certain device libraries. This is a deprecated option that may be removed in a future release. This content is specific to C++; it does not apply to DPC++.
- fintelfpga
  Lets you perform ahead-of-time (AOT) compilation for the Field Programmable Gate Array (FPGA). This content is specific to DPC++.
- fiopenmp, Qiopenmp
  Enables recognition of OpenMP* features, such as parallel, simd, and offloading directives. This is an alternate Linux* option for compiler option qopenmp.
- fno-sycl-libspirv
  Disables the check for libspirv (the SPIR-V* tools library). This content is specific to DPC++.
- foffload-static-lib
  Tells the compiler to link with a fat (multi-architecture) static library. This is a deprecated option that may be removed in a future release. This content is specific to DPC++.
- fopenmp
  Option -fopenmp is a deprecated option that will be removed in a future release.
- fopenmp-device-lib
  Enables or disables certain device libraries for an OpenMP* target.
- 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-targets, Qopenmp-targets
  Enables offloading to a specified GPU target if OpenMP* features have been enabled.
- fsycl
  Enables a program to be compiled as a SYCL* program rather than as plain C++11 program.
- fsycl-add-targets
  Lets you add arbitrary device binary images to the fat SYCL* binary when linking. This is a deprecated option that may be removed in a future release. This content is specific to DPC++.
- fsycl-dead-args-optimization
  Enables elimination of DPC++ dead kernel arguments. This content is specific to DPC++.
- fsycl-device-code-split
  Specifies a SYCL* device code module assembly. This content is specific to DPC++.
- fsycl-device-lib
  Enables or disables certain device libraries for a SYCL* target.
- fsycl-device-only
  Tells the compiler to generate a device-only binary. This content is specific to DPC++.
- fsycl-early-optimizations
  Enables LLVM-related optimizations before SPIR-V* generation. This content is specific to DPC++.
- fsycl-enable-function-pointers
  Enables function pointers and support for virtual functions for DPC++ kernels and device functions. This is an experimental feature.This content is specific to DPC++.
- fsycl-explicit-simd
  Enables or disables the experimental "Explicit SIMD" SYCL* extension. This is a deprecated option that may be removed in a future release. This content is specific to DPC++.
- fsycl-help
  Causes help information to be emitted from the device compiler backend. This content is specific to DPC++.
- fsycl-host-compiler
  Tells the compiler to use the specified compiler for the host compilation of the overall offloading compilation that is performed. This content is specific to DPC++.
- fsycl-host-compiler-options
  Passes options to the compiler specified by option fsycl-host-compiler. This content is specific to DPC++.
- fsycl-id-queries-fit-in-int
  Tells the compiler to assume that SYCL ID queries fit within MAX_INT. This content is specific to DPC++.
- fsycl-link
  Tells the compiler to perform a partial link of device binaries to be used with Field Programmable Gate Array (FPGA). This content is specific to DPC++.
- fsycl-link-targets
  Tells the compiler to link only device code. This is a deprecated option that may be removed in a future release. This content is specific to DPC++.
- fsycl-targets
  Tells the compiler to generate code for specified device targets. This content is specific to DPC++.
- fsycl-unnamed-lambda
  Enables unnamed SYCL* lambda kernels. This content is specific to DPC++.
- fsycl-use-bitcode
  Tells the compiler to produce device code in LLVM IR bitcode format into fat objects. This content is specific to DPC++.
- nolibsycl
  Disables linking of the SYCL* runtime library. This content is specific to DPC++.
- qopenmp, Qopenmp
  Enables recognition of OpenMP* features and tells the parallelizer to generate multi-threaded code based on OpenMP* directives.
- qopenmp-lib, Qopenmp-lib
  Lets you specify an OpenMP* run-time library to use for linking.
- qopenmp-link
  Controls whether the compiler links to static or dynamic OpenMP* run-time libraries.
- qopenmp-simd, Qopenmp-simd
  Enables or disables OpenMP* SIMD compilation.
- qopenmp-stubs, Qopenmp-stubs
  Enables compilation of OpenMP* programs in sequential mode.
- qopenmp-threadprivate, Qopenmp-threadprivate
  Lets you specify an OpenMP* threadprivate implementation. This content is specific to C++; it does not apply to DPC++.
- reuse-exe
  Tells the compiler to speed up Field Programmable Gate Array (FPGA) target compile time by reusing a previously compiled FPGA hardware image. This option is useful only when compiling for hardware. This content is specific to DPC++.
- Wno-sycl-strict
  Disables warnings that enforce strict SYCL* language compatibility.
- Xs
  Passes options to the backend tool. This content is specific to DPC++.
- Xopenmp-target
  Enables options to be passed to the specified tool in the device compilation tool chain for the target. This compiler option supports OpenMP* offloading.
- Xsycl-target
  Enables options to be passed to the specified tool in the device compilation tool chain for the target. This compiler option supports SYCL* offloading. This content is specific to DPC++.