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

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

fsycl-targets

Tells the compiler to generate code for specified device targets.

Syntax

Linux:

-fsycl-targets=T1,...,Tn

Windows:

-fsycl-targets=T1,...,Tn

Arguments

T

Is a target triple device name. If you specify more than one T, they must be separated by commas. The following triplets are supported:

spir64

Tells the compiler to use default heuristics for SPIR64-based devices. This is the default. You can also specify this value as spir64-unknown-unknown.

spir64_x86_64

Tells the compiler to generate code for Intel® CPUs. You can also specify this value as spir64_x86_64-unknown-unknown.

x86_64

Tells the compiler to generate code ahead of time for x86_64 CPUs; it provides better debuggability. This triplet can also be specified as x86_64-unknown-unknown.

spir64_fpga

Tells the compiler to generate code for Intel® FPGA. You can also specify this value as spir64_fpga-unknown-unknown.

spir64_gen

Tells the compiler to generate code for Intel® Processor Graphics. You can also specify this value as spir64_gen-unknown-unknown.

Default

spir64

The compiler will use default heuristics for SPIR64-based devices.

Description

This option tells the compiler to generate code for specified device targets.

Normally, option -fsycl-targets is specified when linking an application, in which case the Ahead of Time (AOT) compiled device binaries are embedded within the application's fat executable.

However, this option can also be used in combination with option -c (Linux) or /c (Windows) and option -fno-sycl-rdc when compiling a source file. In this case, the AOT compiled device binaries are embedded within the fat object file.

NOTE:

The long syntax values that include -sycldevice, such as spir64-unknown-unknown-sycldevice, are still supported, but they are deprecated.

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

Visual Studio: C/C++ > General > Specify SYCL offloading targets for AOT compilation

DPC++ > General > Specify SYCL offloading targets for AOT compilation

Eclipse: Intel(R) C++ Compiler > General > DPC++ > Specify SYCL offloading targets for AOT compilation

Intel(R) oneAPI DPC++ Compiler > General > DPC++ > Specify SYCL offloading targets for AOT compilation

Alternate Options

None

See Also