fsycl-esimd-force-stateless-mem

Determines whether the compiler enforces stateless memory accesses within ESIMD kernels on the target device. This is an experimental feature.

Syntax

Linux:

-fsycl-esimd-force-stateless-mem

-fno-sycl-esimd-force-stateless-mem

Windows:

-fsycl-esimd-force-stateless-mem

-fno-sycl-esimd-force-stateless-mem

Arguments

None

Default

OFF

Memory accesses that are stateful are not converted to stateless.

Description

This option determines whether the compiler enforces stateless memory accesses within ESIMD kernels on the target device. This is an experimental feature.

Option -fsycl-esimd-force-stateless-mem uses SYCL* accessors to convert stateful memory to stateless memory. SIMD intrinsics that cannot be automatically converted are disabled and reported during the compilation phase.

In cases where a target does not support stateful accesses, option -fsycl-esimd-force-stateless-mem may be helpful to avoid issues caused by the 4Gb-per-surface limitation in programs written with SYCL accessors.

If you specify -fno-sycl-esimd-force-stateless-mem, the compiler does not enforce stateless memory accesses.

Note

When using the icx/icpx compiler driver for option -fsycl-esimd-force-stateless-mem, you must also specify option -fsycl.

When using the dpcpp compiler driver, option -fsycl is implied by default.

Note

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

IDE Equivalent

None

Alternate Options

None