Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 3/22/2024
Public
Document Table of Contents

fsycl-rdc

Determines whether the compiler generates relocatable device code during SYCL* offload target compilation.

Syntax

Linux:

-fsycl-rdc

-fno-sycl-rdc

Windows:

-fsycl-rdc

-fno-sycl-rdc

Arguments

None

Default

-fsycl-rdc

The compiler generates relocatable device code during SYCL offload target compilation.

Description

This option determines whether the compiler generates relocatable device code (RDC) during SYCL* offload target compilation.

Option -fno-sycl-rdc disables relocatable device code during SYCL offload target compilation. It allows the compiler to link device code on a per-translation-unit basis. When this option is specified, device code cannot use SYCL_EXTERNAL functions.

Option -fno-sycl-rdc may improve compile time and compiler memory usage.

If you specify both option -fno-sycl-rdc and option -c (Linux) or /c (Windows), the compiler will produce final device binaries within the generated fat object.

If you specify both option -fno-sycl-rdc and option -fsycl-max-parallel-link-jobs, it enables additional device linking parallelism for fat static archives.

Option -fno-sycl-rdc can affect option -fsycl-device-code-split. If you specify both options, -fsycl-device-code-split=off is equivalent to -fsycl-device-code-split=per_source.

NOTE:

When using this option, you must also specify option -fsycl.

For information about available SYCL drivers, refer to Invoke the Compiler.

NOTE:

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

IDE Equivalent

None

Alternate Options

None

See Also