Determines whether the compiler generates relocatable device code during SYCL* offload target compilation.
Linux: | -fsycl-rdc -fno-sycl-rdc |
Windows: | -fsycl-rdc -fno-sycl-rdc |
None
-fsycl-rdc |
The compiler generates relocatable device code during SYCL offload target compilation. |
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.
When using this option, you must also specify option -fsycl.
For information about available SYCL drivers, refer to Invoke the Compiler.
When SYCL offloading is enabled, this option only applies to device-specific compilation.
None